a:268:{s:11:"use_bfa_seo";s:3:"Yes";s:25:"homepage_meta_description";s:139:"SEO Taoist is a marketing philosophy blog that tackles SEO, Social Media, Design and Usability, in a creative, simple, and meaningful way. ";s:22:"homepage_meta_keywords";s:0:"";s:13:"add_blogtitle";s:23:"Page Title - Blog Title";s:20:"title_separator_code";s:2:"13";s:15:"archive_noindex";s:2:"No";s:11:"cat_noindex";s:2:"No";s:11:"tag_noindex";s:2:"No";s:18:"h1_on_single_pages";s:3:"Yes";s:8:"nofollow";s:2:"No";s:10:"body_style";s:158:"font-family: verdana, arial, sans-serif;
font-size: 13px;
line-height: 1.4;
color: #000000;
background: #ffffff;
padding-top: 20px; padding-bottom: 20px;";s:10:"link_color";s:6:"365DA0";s:16:"link_hover_color";s:6:"365DA0";s:23:"link_default_decoration";s:4:"none";s:21:"link_hover_decoration";s:9:"underline";s:11:"link_weight";s:4:"bold";s:12:"layout_width";s:6:"1005px";s:16:"layout_min_width";s:0:"";s:16:"layout_max_width";s:0:"";s:12:"layout_style";s:339:"padding: 10px; /*This effectively only affects top/bottom padding */
background: #fff;

box-shadow: 0 0 15px #333;
-moz-box-shadow: 0 0 15px #333;
border: solid 7px #000000;
/* uncomment next block for round corners */
/* -moz-border-radius:10px;
-khtml-border-radius: 10px;
-webkit-border-radius:10px;
border-radius: 10px;
*/
";s:30:"layout_style_leftright_padding";s:2:"20";s:12:"favicon_file";s:13:"SEOTaoist.ico";s:16:"configure_header";s:24:"%pages %bar1 %logo %bar2";s:14:"logoarea_style";s:0:"";s:4:"logo";s:19:"SEO Taoist Logo.jpg";s:10:"logo_style";s:19:"margin: 0 10px 0 0;";s:15:"blog_title_show";s:2:"No";s:16:"blog_title_style";s:113:"margin: 0;
padding: 0;
letter-spacing: -1px;
line-height: 1.0em;
font-size: 200%;
text-transform: uppercase;";s:17:"blog_title_weight";s:6:"normal";s:16:"blog_title_color";s:6:"000000";s:22:"blog_title_color_hover";s:6:"AC161B";s:17:"blog_tagline_show";s:3:"Yes";s:18:"blog_tagline_style";s:106:"float: left;
margin: 0;
padding: 0;
font-size: 1.2em;
font: bebas;
font-weight: normal;
color: #444;";s:15:"show_search_box";s:2:"No";s:15:"searchbox_style";s:57:"border-bottom: 0;
width: 200px;
margin: 0;
padding: 0;";s:14:"searchbox_text";s:0:"";s:7:"horbar1";s:52:"border-top: solid 1px #cccccc;
margin-top: -15px;
";s:7:"horbar2";s:74:"background: #ffffff;
padding-top: 2px;
border-bottom: solid 1px #cccccc;";s:23:"header_image_javascript";s:1:"0";s:31:"header_image_javascript_preload";s:3:"Yes";s:22:"header_image_clickable";s:2:"No";s:18:"headerimage_height";s:3:"150";s:21:"headerimage_alignment";s:10:"top center";s:19:"header_opacity_left";s:1:"0";s:25:"header_opacity_left_width";s:3:"200";s:25:"header_opacity_left_color";s:6:"FFFFFF";s:20:"header_opacity_right";s:1:"0";s:26:"header_opacity_right_width";s:3:"200";s:26:"header_opacity_right_color";s:6:"FFFFFF";s:18:"overlay_blog_title";s:2:"No";s:20:"overlay_blog_tagline";s:2:"No";s:17:"overlay_box_style";s:37:"margin-top: 30px;
margin-left: 30px;";s:13:"rss_box_width";s:3:"280";s:15:"show_posts_icon";s:2:"No";s:14:"post_feed_link";s:8:"RSS Feed";s:20:"post_feed_link_title";s:27:"Subscribe to the POSTS feed";s:18:"show_comments_icon";s:2:"No";s:17:"comment_feed_link";s:8:"Comments";s:23:"comment_feed_link_title";s:30:"Subscribe to the COMMENTS feed";s:15:"show_email_icon";s:2:"No";s:20:"email_subscribe_link";s:8:"By Email";s:26:"email_subscribe_link_title";s:18:"Subscribe by EMAIL";s:19:"feedburner_email_id";s:0:"";s:18:"feedburner_old_new";s:30:"New - at feedburner.google.com";s:18:"home_page_menu_bar";s:4:"Home";s:21:"exclude_page_menu_bar";s:0:"";s:20:"levels_page_menu_bar";s:1:"0";s:21:"sorting_page_menu_bar";s:10:"menu_order";s:20:"titles_page_menu_bar";s:2:"No";s:30:"page_menu_1st_level_not_linked";s:2:"No";s:27:"anchor_border_page_menu_bar";s:17:"solid 1px #cccccc";s:30:"page_menu_bar_background_color";s:6:"EEEEEE";s:36:"page_menu_bar_background_color_hover";s:6:"DDDDDD";s:37:"page_menu_bar_background_color_parent";s:6:"FFFFFE";s:14:"page_menu_font";s:24:"12px Verdana, sans-serif";s:24:"page_menu_bar_link_color";s:6:"777777";s:30:"page_menu_bar_link_color_hover";s:6:"000000";s:19:"page_menu_transform";s:9:"uppercase";s:16:"page_menu_arrows";s:5:"black";s:23:"page_menu_submenu_width";s:2:"11";s:17:"home_cat_menu_bar";s:0:"";s:20:"exclude_cat_menu_bar";s:0:"";s:19:"levels_cat_menu_bar";s:1:"0";s:20:"sorting_cat_menu_bar";s:2:"ID";s:18:"order_cat_menu_bar";s:3:"ASC";s:19:"titles_cat_menu_bar";s:2:"No";s:24:"add_descr_cat_menu_links";s:2:"No";s:22:"default_cat_descr_text";s:42:"View all posts filed under<br />%category%";s:26:"anchor_border_cat_menu_bar";s:1:"0";s:29:"cat_menu_bar_background_color";s:6:"5A85C1";s:35:"cat_menu_bar_background_color_hover";s:6:"2968C1";s:36:"cat_menu_bar_background_color_parent";s:6:"000000";s:13:"cat_menu_font";s:24:"12px Verdana, sans-serif";s:23:"cat_menu_bar_link_color";s:6:"FFFFFF";s:29:"cat_menu_bar_link_color_hover";s:6:"FFFFFF";s:18:"cat_menu_transform";s:9:"uppercase";s:15:"cat_menu_arrows";s:5:"white";s:22:"cat_menu_submenu_width";s:2:"11";s:19:"center_column_style";s:19:"padding: 10px 10px;";s:18:"content_above_loop";s:298:"<?php /* For MULTI post pages if activated at ATO -> Next/Previous Navigation: */
bfa_next_previous_page_links('Top'); ?>

<?php /* For the plugin Page2Cat http://wordpress.org/extend/plugins/page2cat/ */
if( is_category() AND function_exists('page2cat_output')) { page2cat_output($cat); } ?>
";s:19:"content_inside_loop";s:2404:"<?php /* For SINGLE post pages if activated at ATO -> Next/Previous Navigation: */
bfa_next_previous_post_links('Top'); ?>

<?php /* Post Container starts here */
if ( function_exists('post_class') ) { ?>
<div <?php if ( is_page() ) { post_class('post'); } else { post_class("$odd_or_even"); } ?> id="post-<?php the_ID(); ?>">
<?php } else { ?>
<div class="<?php echo ( is_page() ? 'page ' : '' ) . $odd_or_even . ' post" id="post-'; the_ID(); ?>">
<?php } ?>

<?php bfa_post_kicker('<div class="post-kicker">','</div>'); ?>

<?php bfa_post_headline('<div class="post-headline">','</div>'); ?>

<?php bfa_post_byline('<div class="post-byline">','</div>'); ?>

<?php bfa_post_bodycopy('<div class="post-bodycopy clearfix">','</div>'); ?>

<?php /* For ADD THIS share functionalities on single posts */
if (is_single()) { ?>
--
<br/>
<br/>
<i>Sharing is Caring!</i>
<br/>
<br/>
<div class="addthis_toolbox addthis_default_style">
<a class="addthis_button_googlebuzz"><img src="http://www.seotaoist.com/wp-content/uploads/2010/05/Google-Buzz.png" alt="Google Buzz" title="Buzz This!"/></a>
<a class="addthis_button_facebook"><img src="http://www.seotaoist.com/wp-content/uploads/2010/05/Facebook.png" alt="Facebook" title="Share This!"/></a>
<a class="addthis_button_twitter"><img src="http://www.seotaoist.com/wp-content/uploads/2010/05/Twitter.png" alt="Twitter" title="Tweet This!"/></a>
<a class="addthis_button_digg"><img src="http://www.seotaoist.com/wp-content/uploads/2010/05/Digg.png" alt="Digg" title="Digg This!"/></a>
<a class="addthis_button_delicious"><img src="http://www.seotaoist.com/wp-content/uploads/2010/05/Delicious.png" alt="Delicious" title="Send to Delicious!"/></a>
<a class="addthis_button_stumbleupon"><img src="http://www.seotaoist.com/wp-content/uploads/2010/05/stumbleupon.png" alt="StumbleUpon" title="Send to StumbleUpon!"/></a>
<a class="addthis_button_reddit"><img src="http://www.seotaoist.com/wp-content/uploads/2010/05/Reddit.png" alt="Reddit" title="Send to Reddit!"/></a>
</div>
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#username=jurgenestanislao"></script>
<br/>
<br/>
<?php } ?>

<?php bfa_post_pagination('<p class="post-pagination"><strong>'.__('Pages:','atahualpa').'</strong>','</p>'); ?>

<?php bfa_post_footer('<div class="post-footer">','</div>'); ?>

</div><!-- / Post -->";s:18:"content_below_loop";s:408:"<?php /* Displayed on SINGLE post pages if activated at ATO -> Next/Previous Navigation: */
bfa_next_previous_post_links('Middle'); ?>

<?php /* Load Comments template (on single post pages, and static pages, if set on options page): */
bfa_get_comments(); ?>

<?php /* Displayed on SINGLE post pages if activated at ATO -> Next/Previous Navigation: */
bfa_next_previous_post_links('Bottom'); ?>
		
";s:17:"content_not_found";s:764:"<div style="padding-right: 20px;">
<h1><?php _e('OMG! What Did You Do!?','atahualpa'); ?></h1>

<h2><?php _e('Kidding! Something Actually Went Wrong...','atahualpa'); ?></h2>

<img alt="SEO Taoist 404" style="float:left;margin:0 20px 0 0;" src="http://www.seotaoist.com/wp-content/uploads/2010/05/SEO-Taoist-404.png"/>

<p><?php _e("The page you're looking for must've lost it's way, don't worry, you don't have to suffer the same fate.","atahualpa"); ?></p>

<p><?php _e("Find your way back by checking out my <b>most recent articles:</b>","atahualpa"); ?></p>

<?php wp_get_archives('title_li=&type=postbypost&limit=7'); ?>

<p><?php _e("You can also click on <b>home</b> to bring you back to the <b>SEO Taoist homepage</b>. ","atahualpa"); ?></p>
";s:21:"next_prev_orientation";s:23:"Older Left, Newer Right";s:20:"home_multi_next_prev";s:0:"";s:21:"home_single_next_prev";s:0:"";s:21:"multi_next_prev_newer";s:21:"&raquo; Newer Entries";s:21:"multi_next_prev_older";s:21:"Older Entries &laquo;";s:22:"single_next_prev_newer";s:13:"&raquo; %link";s:22:"single_next_prev_older";s:13:"%link &laquo;";s:25:"single_next_prev_same_cat";s:2:"No";s:24:"comments_next_prev_newer";s:22:"Newer Comments &raquo;";s:24:"comments_next_prev_older";s:22:"&laquo; Older Comments";s:27:"location_comments_next_prev";s:24:"Above and Below Comments";s:30:"next_prev_style_comments_above";s:41:"margin: 0 0 5px 0;
padding: 5px 0 5px 0;";s:30:"next_prev_style_comments_below";s:41:"margin: 0 0 5px 0;
padding: 5px 0 5px 0;";s:29:"next_prev_comments_pagination";s:3:"Yes";s:24:"location_multi_next_prev";s:6:"Bottom";s:25:"location_single_next_prev";s:6:"Bottom";s:19:"next_prev_style_top";s:44:"border-top: solid 4px #eee;
padding: 8px 0;";s:22:"next_prev_style_middle";s:100:"margin: 10px 0 20px 0;
padding: 8px 0;
border-top: solid 4px #eee;
border-bottom: solid 4px #eee;";s:22:"next_prev_style_bottom";s:76:"margin: 20px 20px 20px 0;
padding: 10px 0 0 0;
border-top: solid 4px #eee;";s:10:"leftcol_on";a:1:{s:19:"check-if-saved-once";s:5:"saved";}s:22:"left_col_pages_exclude";s:0:"";s:21:"left_col_cats_exclude";s:0:"";s:11:"leftcol2_on";a:1:{s:19:"check-if-saved-once";s:5:"saved";}s:23:"left_col2_pages_exclude";s:0:"";s:22:"left_col2_cats_exclude";s:0:"";s:11:"rightcol_on";a:12:{s:8:"homepage";s:2:"on";s:9:"frontpage";s:2:"on";s:6:"single";s:2:"on";s:4:"page";s:2:"on";s:8:"category";s:2:"on";s:4:"date";s:2:"on";s:3:"tag";s:2:"on";s:8:"taxonomy";s:2:"on";s:6:"search";s:2:"on";s:6:"author";s:2:"on";s:10:"attachment";s:2:"on";s:19:"check-if-saved-once";s:5:"saved";}s:23:"right_col_pages_exclude";s:0:"";s:22:"right_col_cats_exclude";s:0:"";s:12:"rightcol2_on";a:1:{s:19:"check-if-saved-once";s:5:"saved";}s:24:"right_col2_pages_exclude";s:0:"";s:23:"right_col2_cats_exclude";s:0:"";s:18:"left_sidebar_width";s:3:"200";s:19:"left_sidebar2_width";s:3:"200";s:19:"right_sidebar_width";s:3:"320";s:20:"right_sidebar2_width";s:3:"160";s:18:"left_sidebar_style";s:20:"padding-right: 10px;";s:19:"left_sidebar2_style";s:20:"padding-right: 10px;";s:19:"right_sidebar_style";s:31:"border-left: solid 1px #cccccc;";s:20:"right_sidebar2_style";s:51:"padding-left: 10px; border-left: solid 1px #cccccc;";s:16:"widget_container";s:207:"margin: 0 0 -10px 0;
padding: 10px 10px 10px 15px;
/* uncomment next block for round corners */
/*
-moz-border-radius:5px;
-khtml-border-radius: 5px;
-webkit-border-radius:5px;
border-radius: 5px;
*/";s:16:"widget_title_box";s:0:"";s:12:"widget_title";s:146:"font-size: 9px;
font-weight: normal;
text-transform: uppercase;
letter-spacing: 1px;
color: #333;
padding-bottom: 4px;
margin-bottom: 4px;
";s:14:"widget_content";s:16:"font-size: 10px;";s:12:"widget_lists";a:7:{s:14:"li-margin-left";s:1:"0";s:22:"link-border-left-width";s:1:"0";s:22:"link-border-left-color";s:6:"CCCCCC";s:28:"link-border-left-hover-color";s:6:"000000";s:17:"link-padding-left";s:1:"0";s:10:"link-color";s:6:"365DA0";s:16:"link-hover-color";s:6:"365DA0";}s:13:"widget_lists2";a:7:{s:14:"li-margin-left";s:1:"5";s:22:"link-border-left-width";s:1:"0";s:22:"link-border-left-color";s:6:"CCCCCC";s:28:"link-border-left-hover-color";s:6:"000000";s:17:"link-padding-left";s:1:"0";s:10:"link-color";s:6:"365DA0";s:16:"link-hover-color";s:6:"365DA0";}s:13:"widget_lists3";a:7:{s:14:"li-margin-left";s:1:"5";s:22:"link-border-left-width";s:1:"0";s:22:"link-border-left-color";s:6:"CCCCCC";s:28:"link-border-left-hover-color";s:6:"000000";s:17:"link-padding-left";s:1:"0";s:10:"link-color";s:6:"365DA0";s:16:"link-hover-color";s:6:"365DA0";}s:28:"category_widget_display_type";s:6:"inline";s:16:"select_font_size";s:7:"Default";s:16:"post_kicker_home";s:0:"";s:17:"post_kicker_multi";s:0:"";s:18:"post_kicker_single";s:0:"";s:16:"post_kicker_page";s:0:"";s:16:"post_byline_home";s:33:"By %author%, on %date('F jS, Y')%";s:17:"post_byline_multi";s:34:"By %author%, on %date('F jS, Y')%%";s:18:"post_byline_single";s:33:"By %author%, on %date('F jS, Y')%";s:16:"post_byline_page";s:0:"";s:16:"post_footer_home";s:256:"<image(comment-gray.gif)> %comments('Leave a comment', 'One comment', '% comments', 'Comments are closed')% &nbsp; <image(folder-gray.gif)> %categories-linked(', ')% %tags-linked('&nbsp; <image(tag-gray.gif)> ', ', ', ' &nbsp; ')% %edit(' | ', 'Edit', '')%";s:17:"post_footer_multi";s:256:"<image(comment-gray.gif)> %comments('Leave a comment', 'One comment', '% comments', 'Comments are closed')% &nbsp; <image(folder-gray.gif)> %categories-linked(', ')% %tags-linked('&nbsp; <image(tag-gray.gif)> ', ', ', ' &nbsp; ')% %edit(' | ', 'Edit', '')%";s:18:"post_footer_single";s:141:"<image(folder-gray.gif)> %categories-linked(', ')% %tags-linked('&nbsp; <image(tag-gray.gif)> ', ', ', ' &nbsp; ')% %edit(' | ', 'Edit', '')%";s:16:"post_footer_page";s:0:"";s:20:"post_container_style";s:19:"margin: 0 0 30px 0;";s:27:"post_container_sticky_style";s:145:"background: #eee url('<?php bloginfo('template_directory'); ?>/images/sticky.gif') 99% 5% no-repeat;
border: dashed 1px #cccccc;
padding: 10px;";s:17:"post_kicker_style";s:18:"margin: 0 0 5px 0;";s:23:"post_kicker_style_links";s:86:"color: #999;
text-decoration: none;
text-transform: uppercase;
letter-spacing: 1px;";s:29:"post_kicker_style_links_hover";s:15:"color: #cc0000;";s:19:"post_headline_style";s:0:"";s:24:"post_headline_style_text";s:42:"padding: 0;
margin: 0;
font-size: 1.7em;";s:25:"post_headline_style_links";s:0:"";s:31:"post_headline_style_links_hover";s:0:"";s:17:"post_byline_style";s:103:"margin: 5px 0 10px 0;
color: #999;
text-transform: uppercase;
letter-spacing: 1px;
font-size: 11px;";s:23:"post_byline_style_links";s:0:"";s:29:"post_byline_style_links_hover";s:0:"";s:19:"post_bodycopy_style";s:19:"padding-right: 20px";s:17:"post_footer_style";s:80:"color: #999;
text-transform: uppercase;
letter-spacing: 1px;
font-size: 11px;";s:23:"post_footer_style_links";s:58:"color: #999;
font-weight: normal;
text-decoration: none;";s:29:"post_footer_style_links_hover";s:63:"color: #333;
font-weight: normal;
text-decoration: underline;";s:14:"excerpt_length";s:3:"100";s:19:"dont_strip_excerpts";s:13:"<p><img><div>";s:16:"custom_read_more";s:72:"[...]<br/><br/><a href="%permalink%"><u>Read Full Article</u></a></span>";s:13:"excerpts_home";s:13:"Only Excerpts";s:19:"full_posts_homepage";s:1:"0";s:17:"excerpts_category";s:13:"Only Excerpts";s:16:"excerpts_archive";s:13:"Only Excerpts";s:12:"excerpts_tag";s:13:"Only Excerpts";s:15:"excerpts_search";s:13:"Only Excerpts";s:15:"excerpts_author";s:13:"Only Excerpts";s:20:"post_thumbnail_width";i:150;s:21:"post_thumbnail_height";i:150;s:19:"post_thumbnail_crop";s:2:"No";s:18:"post_thumbnail_css";s:76:"float: left;
border: 0;
padding: 0;
background: none;
margin: 0 10px 5px 0;
";s:8:"more_tag";s:29:"Continue Reading %post-title%";s:16:"author_highlight";s:3:"Yes";s:22:"author_highlight_color";s:6:"CCCCCC";s:29:"author_highlight_border_color";s:6:"CCCCCC";s:24:"comment_background_color";s:6:"FFFFFF";s:28:"comment_alt_background_color";s:6:"EEEEEE";s:14:"comment_border";s:17:"solid 1px #cccccc";s:19:"comment_author_size";s:4:"100%";s:23:"comment_reply_link_text";s:15:" &middot; Reply";s:22:"comment_edit_link_text";s:14:" &middot; Edit";s:23:"comment_moderation_text";s:36:"Your comment is awaiting moderation.";s:24:"comments_are_closed_text";s:27:"<p>Comments are closed.</p>";s:17:"comments_on_pages";s:2:"No";s:19:"separate_trackbacks";s:3:"Yes";s:11:"avatar_size";s:2:"65";s:12:"avatar_style";s:90:"margin: 0 8px 1px 0;
padding: 3px;
border: solid 1px #ddd;
background-color: #f3f3f3;
";s:15:"show_xhtml_tags";s:3:"Yes";s:18:"comment_form_style";s:68:"margin: 10px 20px 0 0;
padding: 10px 0 0 0;
background: #ffffff;
";s:19:"submit_button_style";s:82:"padding: 4px 10px 4px 10px;
font-size: 1.2em;
line-height: 1.5em;
height: 36px;";s:21:"comment_display_order";s:13:"Newest on top";s:12:"footer_style";s:123:"background-color: #f7f7f7;
border-top: solid 4px #eee;
padding: 10px;
text-align: right;
color: #888;
font-size: 11px;";s:18:"footer_style_links";s:61:"text-decoration: none;
color: #777777;
font-weight: normal;";s:24:"footer_style_links_hover";s:66:"text-decoration: underline;
color: #777777;
font-weight: normal;";s:20:"footer_style_content";s:102:"Copyright &copy; %current-year% Jurgen Estanislao | %home% | Manila, Philippines | All Rights Reserved";s:20:"sticky_layout_footer";s:2:"No";s:19:"footer_show_queries";s:2:"No";s:5:"table";s:42:"border-collapse: collapse;
margin: 10px 0;";s:13:"table_caption";s:71:"background: #eeeeee;
border: #999999;
padding: 4px 8px;
color: #666666;";s:8:"table_th";s:139:"background: #888888;
color: #ffffff;
font-weight: bold;
font-size: 90%;
padding: 4px 8px;

			border: solid 1px #ffffff;
text-align: left;";s:8:"table_td";s:96:"padding: 4px 8px;
background-color: #ffffff;
border-bottom: 1px solid #dddddd;
text-align: left;";s:14:"table_tfoot_td";s:0:"";s:19:"table_zebra_stripes";s:3:"Yes";s:14:"table_zebra_td";s:20:"background: #f4f4f4;";s:16:"table_hover_rows";s:3:"Yes";s:14:"table_hover_td";s:20:"background: #e2e2e2;";s:22:"form_input_field_style";s:145:"color: #000000;
border-top: solid 1px #333333;
border-left: solid 1px #333333;
border-right: solid 1px #999999;
border-bottom: solid 1px #cccccc;";s:27:"form_input_field_background";s:15:"inputbackgr.gif";s:15:"highlight_forms";s:3:"Yes";s:21:"highlight_forms_style";s:43:"background: #e8eff7;
border-color: #37699f;";s:12:"button_style";s:88:"background-color: #777777;
color: #ffffff;
border: solid 2px #555555;
font-weight: bold;";s:18:"button_style_hover";s:69:"background-color: #6b9c6b;
color: #ffffff;
border: solid 2px #496d49;";s:16:"blockquote_style";s:81:"color: #555555;
padding: 1em 1em;
background: #f4f4f4;
border: solid 1px #e1e1e1;";s:26:"blockquote_style_2nd_level";s:81:"color: #444444;
padding: 1em 1em;
background: #e1e1e1;
border: solid 1px #d3d3d3;";s:16:"post_image_style";s:0:"";s:24:"post_image_caption_style";s:0:"";s:18:"image_caption_text";s:110:"text-align: center;
font-size: 0.8em;
line-height: 13px;
padding: 2px 4px 5px;
margin: 0;
color: #666666;";s:19:"html_inserts_header";s:118:"<link rel=”image_src” href=”http://www.seotaoist.com/wp-content/uploads/2010/05/SEOTaoist-Image-Source.png” />";s:21:"html_inserts_body_tag";s:0:"";s:21:"html_inserts_body_top";s:0:"";s:24:"html_inserts_body_bottom";s:486:"<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-15439863-2']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>";s:16:"html_inserts_css";s:1069:"td#header { 
padding-bottom: 15px; 
}
/* removing the padding here and putting them on the sidebars instead. That way the middle column aligns nicely with the header when there are no sidebars */
td#middle {
padding: 0;
}
div.searchbox-form {
margin: 5px 0 15px 5px;
}
div#menu1 ul.rMenu {
background: transparent;
border: none;
}
div#imagecontainer { 
border-top: solid 5px #333; 
border-bottom: solid 5px #333; 
}
div.widget ul li {
padding: 1px 5px 1px 12px !important;
background: url('<?php bloginfo('template_directory'); ?>/images/bullets/round-gray.gif') no-repeat 0 7px;
}
/*Page menu bar*/
div#menu1 ul.rMenu {
	margin: 15px 0;
	border-width: 0 0 1px 0;
	letter-spacing: 1px;
	background-color: #ffffff;
}
div#menu1 ul.rMenu li a {
	border-width: 1px;
	padding: 5px;
}
/* active item = current page */
div#menu1 ul.rMenu li.current_page_item a, ul.rMenu li.current_page_item a:active, div#menu1 ul.rMenu li.current_page_item a:visited {
	background-color: #ffffff;
	border-bottom-width: 1;  
	border-bottom-color:white;
}";s:16:"archives_page_id";s:0:"";s:18:"archives_date_show";s:3:"Yes";s:19:"archives_date_title";s:17:"Archives by Month";s:18:"archives_date_type";s:7:"monthly";s:19:"archives_date_limit";s:0:"";s:19:"archives_date_count";s:3:"Yes";s:22:"archives_category_show";s:3:"Yes";s:23:"archives_category_title";s:20:"Archives by Category";s:23:"archives_category_count";s:3:"Yes";s:23:"archives_category_depth";s:1:"0";s:25:"archives_category_orderby";s:4:"name";s:23:"archives_category_order";s:3:"ASC";s:22:"archives_category_feed";s:2:"No";s:12:"css_external";s:6:"Inline";s:19:"javascript_external";s:6:"Inline";s:16:"pngfix_selectors";s:53:"a.posts-icon, a.comments-icon, a.email-icon, img.logo";s:12:"css_compress";s:3:"Yes";s:11:"allow_debug";s:3:"Yes";s:16:"bfa_widget_areas";b:0;s:11:"h_blogtitle";i:1;s:11:"h_posttitle";i:2;s:17:"page_post_options";s:3:"Yes";s:20:"animate_cat_menu_bar";s:2:"No";s:21:"animate_page_menu_bar";s:2:"No";}