a:1:{s:10:"bd_setting";a:81:{s:11:"bd_lazyload";s:1:"1";s:13:"bd_LiveSearch";s:1:"1";s:10:"responsive";s:1:"1";s:12:"notify_theme";s:1:"1";s:12:"bdTimeFormat";s:6:"modern";s:16:"google_analytics";s:435:"<script>
  (function(i,s,o,g,r,a,m){i[\'GoogleAnalyticsObject\']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,\'script\',\'//www.google-analytics.com/analytics.js\',\'ga\');

  ga(\'create\', \'UA-69798673-1\', \'auto\');
  ga(\'send\', \'pageview\');

</script>";s:12:"bdaia_topbar";s:1:"1";s:15:"bdaia_ct_format";s:15:"l, F jS, Y g:ia";s:21:"bdaia_tb_left_content";s:6:"custom";s:18:"bdaia_tb_lc_custom";s:55:"<strong>Same-day dispatch before</strong> 7pm (Mon-Fri)";s:22:"bdaia_tb_right_content";s:6:"social";s:13:"bdaia_t_title";s:12:"Trending Now";s:17:"bdaia_logo_center";s:1:"1";s:13:"logo_displays";s:10:"logo_title";s:15:"logo_typography";a:6:{s:4:"font";s:47:"Raleway:100|200|300|regular|500|600|700|800|900";s:4:"size";s:2:"28";s:10:"lineheight";s:2:"28";s:6:"weight";s:3:"600";s:5:"style";s:6:"normal";s:13:"texttransform";s:9:"uppercase";}s:18:"bdaia_head_bn_home";s:1:"1";s:19:"bdaia_head_bn_title";s:13:"Breaking News";s:17:"bdaia_mn_position";s:12:"below_header";s:10:"header_fix";s:1:"1";s:13:"mobile_search";s:1:"1";s:13:"mobile_social";s:1:"1";s:19:"bdaia_p_breadcrumbs";s:1:"1";s:23:"bdaia_p_categories_tags";s:1:"1";s:19:"bdaia_p_author_name";s:1:"1";s:12:"bdaia_p_date";s:1:"1";s:17:"bdaia_p_time_read";s:1:"1";s:18:"bdaia_p_post_views";s:1:"1";s:17:"bdaia_p_post_like";s:1:"1";s:21:"bdaia_p_comment_count";s:1:"1";s:17:"bdaia_p_post_tags";s:1:"1";s:17:"bdaia_p_next_prev";s:1:"1";s:18:"bdaia_p_author_box";s:1:"1";s:31:"post_reading_position_indicator";s:1:"1";s:16:"words_per_minute";s:2:"90";s:22:"bdaia_p_featured_image";s:1:"1";s:19:"bdaia_p_top_sharing";s:1:"1";s:22:"bdaia_p_bottom_sharing";s:1:"1";s:16:"sharing_facebook";s:1:"1";s:15:"sharing_twitter";s:1:"1";s:16:"sharing_linkedin";s:1:"1";s:14:"sharing_reddit";s:1:"1";s:14:"sharing_tumblr";s:1:"1";s:14:"sharing_google";s:1:"1";s:17:"sharing_pinterest";s:1:"1";s:13:"bdaia_related";s:1:"1";s:20:"bdaia_related_author";s:1:"1";s:17:"bdaia_related_cat";s:1:"1";s:20:"article_related_numb";s:1:"3";s:10:"check_also";s:1:"1";s:19:"check_also_position";s:5:"right";s:16:"check_also_query";s:6:"author";s:18:"bdaia_blog_display";s:11:"blockStyle1";s:19:"author_blog_display";s:11:"blockStyle4";s:19:"bdaia_s_sidebar_pos";s:9:"sideRight";s:19:"bdaia_p_sidebar_pos";s:9:"sideRight";s:14:"sticky_sidebar";s:1:"1";s:20:"footerWidgetsColumns";s:9:"col_three";s:10:"bdayhGoTop";s:1:"1";s:22:"bdayhFooterSocialLinks";s:1:"1";s:21:"footer_copyright_text";s:170:"© Copyright 2016, All Rights Reserved Powered by <a href=\"http://www.wordpress.com\">WordPress</a> | Designed by <a href=\"http://themeforest.net/user/bdaia\">Bdaia</a>";s:19:"social_facebook_url";s:1:"#";s:18:"social_twitter_url";s:1:"#";s:22:"social_google_plus_url";s:1:"#";s:19:"social_dribbble_url";s:1:"#";s:18:"social_myspace_url";s:1:"#";s:18:"social_youtube_url";s:1:"#";s:16:"social_vimeo_url";s:1:"#";s:20:"social_wordpress_url";s:1:"#";s:20:"social_instagram_url";s:1:"#";s:18:"custom_theme_color";s:7:"#C99947";s:19:"background_displays";s:10:"bg_pattren";s:22:"bdaia_top_bar_bg_color";s:7:"#FFFFFF";s:24:"bdaia_top_bar_text_color";s:4:"#666";s:30:"bdaia_top_bar_text_hover_color";s:7:"#161616";s:15:"bdaia_footer_bg";a:1:{s:5:"color";s:7:"#161616";}s:27:"bdaia_typo_header_main_menu";a:1:{s:13:"texttransform";s:9:"uppercase";}s:10:"custom_css";s:2674:"/* Header */
.bdaia-header-default #navigation .primary-menu ul#menu-primary > li:hover > a:after, .bdaia-header-default #navigation .primary-menu ul#menu-primary > li.current-menu-item > a:after, .bdaia-header-default #navigation .primary-menu ul#menu-primary > li.current-menu-ancestor > a:after, .bdaia-header-default #navigation .primary-menu ul#menu-primary > li.current-menu-parent > a:after {display:none}

.bdaia-header-default #navigation .navigation-wrapper,
.bdaia-header-default #navigation {
    box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    border: 0 none;
    padding: 0;
    text-align: center;
}

.bdaia-header-default #navigation .navigation-wrapper {
    padding-bottom: 20px;
}
.bdaia-header-default #navigation.sticky-nav .navigation-wrapper {
    padding-bottom: 0;
}



.bdaia-nav-search .bdaia-ns-btn.bdaia-io {
    font-size: 15px;
}

.bdaia-header-default #navigation .primary-menu ul#menu-primary > li:hover > a, .bdaia-header-default #navigation .primary-menu ul#menu-primary > li.current-menu-item > a, .bdaia-header-default #navigation .primary-menu ul#menu-primary > li.current-menu-ancestor > a, .bdaia-header-default #navigation .primary-menu ul#menu-primary > li.current-menu-parent > a {
    background-color: transparent;
}

.bdaia-nav-search {
    background-color: transparent;
    border: none;
    color: initial;
}

.bdaia-header-default .header-wrapper {
    border: 0 none;
}

.bdaia-header-default .topbar .bdaia-social-io a {
    color: inherit;
}
.bdaia-header-default .topbar .bdaia-social-io a, .bdaia-header-default .topbar .bdaia-social-io a:hover,
.bdaia-header-default .topbar .bdaia-social-io a:hover .bdaia-io:before {
    background: none;
    color: inherit;
}

.bdaia-header-default .topbar .bd-container {
border-bottom: 1px #eaeaea solid;
    padding: 6px 0;
}

.bdaia-header-default .topbar {
    padding-bottom: 20px;
}

.bdaia-header-default .header-container .logo .site-name {
    border: 3px #161616 solid;
    padding: 10px 30px;
    display: inline-block;
}

.bdaia-header-default .header-container .logo .site-name,
.bdaia-header-default .header-container .logo .site-name:hover {
    color: inherit;
}

/* Sub Footer */
.bdaia-footer-area-l,
.bdaia-footer-area-r {
    float: none;
    width: 100%;
    text-align: center;
}

.bdaia-footer-area-r .bdaia-social-io {
    padding-top: 20px;
}

.bdaia-footer-area-r .bdaia-social-io a {
margin: 0 15px;
}

.last {
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 0 !important;
    clear: right;
}";s:11:"css_tablets";s:164:".bdaia-header-default .header-container .logo .site-name {
    border: 2px #161616 solid;
    padding: 10px 12px;
    font-size: 18px;
    line-height: 18px;
}";s:10:"css_phones";s:224:".one_half,
    .one_third,
    .two_third,
    .three_fourth,
    .one_fourth,
    .one_fifth,
    .two_fifth,
    .three_fifth,
    .four_fifth,
    .one_sixth,
    .five_sixth {
        margin-bottom: 4%;
    }";s:15:"advanced_import";s:0:"";s:15:"advanced_export";s:0:"";}}