a:1:{s:10:"bd_setting";a:99:{s:11:"bd_lazyload";s:1:"1";s:13:"bd_LiveSearch";s:1:"1";s:10:"responsive";s:1:"1";s:12:"bdTimeFormat";s:6:"modern";s:21:"woohoo_add_body_class";s:17:" wooho-tech-demo ";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:6:"F d, Y";s:21:"bdaia_tb_left_content";s:6:"social";s:22:"bdaia_tb_right_content";s:4:"menu";s:13:"bdaia_t_title";s:12:"Trending Now";s:13:"logo_displays";s:10:"logo_image";s:11:"logo_upload";s:77:"http://woo.bdayh.com/woo-tech/wp-content/uploads/2016/06/woohoo-tech-logo.png";s:11:"logo_retina";s:80:"http://woo.bdayh.com/woo-tech/wp-content/uploads/2016/06/woohoo-tech-logo@2x.png";s:17:"retina_logo_width";s:3:"136";s:22:"bdaia_head_bn_position";s:12:"below_header";s:13:"bdaia_head_bn";s:1:"1";s:18:"bdaia_head_bn_home";s:1:"1";s:19:"bdaia_head_bn_title";s:13:"Breaking News";s:22:"bdaia_head_bn_title_bg";s:4:"#222";s:17:"bdaia_head_bn_nop";s:2:"10";s:17:"bdaia_mn_position";s:12:"above_header";s:10:"header_fix";s:1:"1";s:18:"bdaia_new_articles";s:1:"1";s:20:"bdaia_random_article";s:1:"1";s:14:"bdaia_nav_logo";s:77:"http://woo.bdayh.com/woo-tech/wp-content/uploads/2016/06/woohoo-tech-logo.png";s:14:"mobile_topmenu";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:19:"bdaia_post_template";s:10:"postStyle8";s:22:"bdaia_p_featured_image";s:1:"1";s:25:"bdaia_p_featured_lightbox";s:8:"lightbox";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: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:13:"footerWidgets";s:1:"1";s:20:"footerWidgetsColumns";s:9:"col_three";s:18:"woohoo_footer_logo";s:77:"http://woo.bdayh.com/woo-tech/wp-content/uploads/2016/06/woohoo-tech-logo.png";s:25:"woohoo_footer_logo_retina";s:80:"http://woo.bdayh.com/woo-tech/wp-content/uploads/2016/06/woohoo-tech-logo@2x.png";s:31:"woohoo_footer_logo_retina_width";s:3:"136";s:23:"woohoo_footer_logo_mtop";s:2:"40";s:22:"woohoo_footer_about_us";s:451:"Woohoo is the ultimate News WordPress theme. It is clean, super flexible, responsive! This News, Newspaper WordPress theme sets the new standard with endless possibilities, and lifetime updates with newly requested features from our users. 
<br><br>
And its the most easy-to use theme on the market! Built with HTML5 & CSS3, The clean News design can be used for any type of website: News, Blog, Minimal, Personal, Magazin, Newspaper, Products, etc.";s:22:"woohoo_footer_top_tags";s:1:"1";s:23:"woohoo_footer_follow_us";s:1:"1";s:11:"footer_menu";s:1:"1";s:10:"bdayhGoTop";s:1:"1";s:22:"bdayhFooterSocialLinks";s:1:"1";s:21:"footer_copyright_text";s:174:"&#169; 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:15:"bdaia_header_ad";s:165:"<a href=\"http://themeforest.net/item/i/13570398?ref=bdaia\"><img src=\"http://woo.bdayh.com/woo-tech/wp-content/uploads/2016/06/tech-e3-728x90.jpg\" alt=\"\" /></a>";s:15:"bdaia_footer_ad";s:165:"<a href=\"http://themeforest.net/item/i/13570398?ref=bdaia\"><img src=\"http://woo.bdayh.com/woo-tech/wp-content/uploads/2016/06/tech-e3-728x90.jpg\" alt=\"\" /></a>";s:17:"bdaia_p_bottom_ad";s:165:"<a href=\"http://themeforest.net/item/i/13570398?ref=bdaia\"><img src=\"http://woo.bdayh.com/woo-tech/wp-content/uploads/2016/06/tech-e3-728x90.jpg\" alt=\"\" /></a>";s:7:"rss_url";s:34:"http://woo.bdayh.com/woo-tech/feed";s:19:"social_facebook_url";s:37:"https://www.facebook.com/Ra7ala.Shots";s:18:"social_twitter_url";s:25:"https://twitter.com/bdayh";s:22:"social_google_plus_url";s:33:"https://plus.google.com/+amrsadek";s:19:"social_dribbble_url";s:26:"https://dribbble.com/bdayh";s:18:"social_myspace_url";s:1:"#";s:17:"social_flickr_url";s:1:"#";s:16:"social_vimeo_url";s:23:"https://vimeo.com/bdayh";s:18:"social_behance_url";s:1:"#";s:20:"social_instagram_url";s:1:"#";s:18:"custom_theme_color";s:7:"#0A9E01";s:19:"background_displays";s:10:"bg_pattren";s:21:"custom_pattrens_color";s:7:"#FFFFFF";s:22:"bdaia_top_bar_bg_color";s:4:"#222";s:15:"bdaia_header_bg";a:1:{s:5:"color";s:7:"#FFFFFF";}s:10:"custom_css";s:497:".footer-logo-inner {text-align: center;}
.wooho-tech-demo {}
.wooho-tech-demo div#bdaia-breaking-news.breaking-news-items div.breaking-news-items-inner {
    background: transparent;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    box-shadow: none !important;
}
.wooho-tech-demo div#bdaia-breaking-news.breaking-news-items div.bd-container:after {    display: none;}
.wooho-tech-demo div#bdaia-breaking-news.breaking-news-items {
    margin: 0 auto;
}";s:15:"advanced_import";s:0:"";s:15:"advanced_export";s:0:"";}}