a:1:{s:10:"bd_setting";a:117:{s:18:"bdaia_theme_layout";s:5:"boxed";s:10:"responsive";s:1:"1";s:12:"notify_theme";s:1:"1";s:12:"bdTimeFormat";s:11:"traditional";s:9:"trim_type";s:5:"words";s:11:"bd_lazyload";s:1:"1";s:19:"bdaia_has_lazy_load";s:1:"1";s:18:"bdaia_jpeg_quality";s:15:"jpeg_quality_70";s:13:"bd_LiveSearch";s:1:"1";s:27:"bdaia_options_header_layout";s:5:"boxed";s:25:"bdaia_options_header_skin";s:5:"light";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:13:"bdaia_mn_skin";s:5:"light";s:35:"disable_shadow_from_main_mavigation";s:1:"1";s:16:"bdaia_mn_dd_skin";s:5:"light";s:20:"bdaia_hamburger_menu";s:1:"1";s:9:"nav_boxed";s:1:"1";s:18:"bd_center_nav_menu";s:1:"1";s:15:"bdaia_mn_search";s:1:"1";s:24:"bdaia_new_articles_npost";s:2:"12";s:28:"bdaia_options_nav_typography";a:5:{s:4:"font";s:100:"Source Sans Pro:200|200italic|300|300italic|regular|italic|600|600italic|700|700italic|900|900italic";s:6:"weight";s:6:"normal";s:5:"style";s:6:"normal";s:13:"texttransform";s:9:"uppercase";s:4:"size";s:2:"13";}s:12:"bdaia_topbar";s:1:"1";s:11:"topbar_skin";s:5:"light";s:18:"bdaia_current_time";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:6:"search";s:13:"bdaia_t_title";s:12:"Trending Now";s:20:"bdaia_mobile_menu_bg";a:4:{s:6:"repeat";s:9:"no-repeat";s:3:"hor";s:6:"center";s:3:"ver";s:3:"top";s:3:"img";s:107:"https://kolyoum.bdaia.com/ky-copper-hill/wp-content/uploads/sites/16/2015/05/img-copper-hill-post175-04.jpg";}s:13:"mobile_search";s:1:"1";s:22:"mobile_search_position";s:6:"before";s:13:"mobile_social";s:1:"1";s:17:"bdaia_logo_center";s:1:"1";s:13:"logo_displays";s:10:"logo_image";s:11:"logo_upload";s:94:"//kolyoum.bdaia.com/ky-copper-hill/wp-content/uploads/sites/16/2018/08/ky-copper-hill-logo.svg";s:7:"favicon";s:97:"//kolyoum.bdaia.com/ky-copper-hill/wp-content/uploads/sites/16/2018/08/ky-copper-hill-favicon.png";s:16:"iphoneIconUpload";s:97:"//kolyoum.bdaia.com/ky-copper-hill/wp-content/uploads/sites/16/2018/08/ky-copper-hill-favicon.png";s:22:"iphoneIconRetinaUpload";s:97:"//kolyoum.bdaia.com/ky-copper-hill/wp-content/uploads/sites/16/2018/08/ky-copper-hill-favicon.png";s:14:"ipadIconUpload";s:97:"//kolyoum.bdaia.com/ky-copper-hill/wp-content/uploads/sites/16/2018/08/ky-copper-hill-favicon.png";s:20:"ipadIconRetinaUpload";s:97:"//kolyoum.bdaia.com/ky-copper-hill/wp-content/uploads/sites/16/2018/08/ky-copper-hill-favicon.png";s:19:"bdaia_p_breadcrumbs";s:1:"1";s:12:"bdaia_p_date";s:1:"1";s:17:"bdaia_p_post_tags";s:1:"1";s:18:"bdaia_p_post_share";s:1:"1";s:32:"bdaia_p_commetns_posts_click_btn";s:1:"1";s:16:"words_per_minute";s:2:"90";s:18:"bdaia_all_lightbox";s:1:"1";s:19:"bdaia_post_template";s:10:"postStyle2";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:13:"bdaia_related";s:1:"1";s:20:"article_related_numb";s:1:"6";s:10:"check_also";s:1:"1";s:19:"check_also_position";s:4:"left";s:16:"check_also_query";s:6:"author";s:31:"bdaia_blog_display_content_only";s:1:"1";s:18:"bdaia_blog_display";s:12:"blockStyle18";s:15:"blog_pagination";s:7:"numeric";s:32:"author_blog_display_content_only";s:1:"1";s:19:"author_blog_display";s:12:"blockStyle18";s:18:"author_sidebar_pos";s:9:"sideRight";s:17:"author_pagination";s:7:"numeric";s:29:"tag_blog_display_content_only";s:1:"1";s:16:"tag_blog_display";s:12:"blockStyle18";s:15:"tag_sidebar_pos";s:9:"sideRight";s:14:"tag_pagination";s:7:"numeric";s:33:"archive_blog_display_content_only";s:1:"1";s:20:"archive_blog_display";s:12:"blockStyle18";s:18:"archive_pagination";s:7:"numeric";s:25:"search_exclude_post_types";a:2:{i:0;s:4:"page";i:1;s:7:"product";}s:32:"search_blog_display_content_only";s:1:"1";s:19:"search_blog_display";s:12:"blockStyle18";s:17:"search_pagination";s:7:"numeric";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:"bdaia_footer_styling";s:5:"light";s:37:"bdaia_options_footer_bottom_area_skin";s:5:"light";s:20:"footerWidgetsColumns";s:9:"col_three";s:21:"second_footer_columns";s:9:"col_three";s:20:"third_footer_columns";s:9:"col_three";s:10:"bdayhGoTop";s:1:"1";s:22:"bdayhFooterSocialLinks";s:1:"1";s:21:"footer_copyright_text";s:52:"© Copyright 2018 - Kolyoum WordPress Theme by Bdaia";s:19:"social_facebook_url";s:1:"#";s:18:"social_twitter_url";s:1:"#";s:22:"social_google_plus_url";s:1:"#";s:18:"social_youtube_url";s:1:"#";s:25:"bdaia_widgets_title_style";s:6:"style5";s:26:"bdaia_widgets_content_only";s:1:"1";s:19:"background_displays";s:10:"bg_pattren";s:21:"custom_pattrens_color";s:7:"#f5f5f5";s:18:"custom_theme_color";s:7:"#000000";s:22:"bdaia_top_bar_bg_color";s:7:"#ffffff";s:21:"typo_body_font_family";a:1:{s:4:"font";s:100:"Source Sans Pro:200|200italic|300|300italic|regular|italic|600|600italic|700|700italic|900|900italic";}s:25:"typo_headings_font_family";a:1:{s:4:"font";s:55:"Crimson Text:regular|italic|600|600italic|700|700italic";}s:24:"typo_buttons_font_family";a:1:{s:4:"font";s:55:"Crimson Text:regular|italic|600|600italic|700|700italic";}s:27:"typo_blockquote_font_family";a:1:{s:4:"font";s:16:"Pacifico:regular";}s:22:"typo_single_post_title";a:5:{s:4:"size";s:2:"28";s:10:"lineheight";s:2:"28";s:6:"weight";s:6:"normal";s:5:"style";s:6:"normal";s:13:"texttransform";s:4:"none";}s:28:"typo_post_titles_in_homepage";a:2:{s:6:"weight";s:6:"normal";s:5:"style";s:6:"normal";}s:35:"typo_medium_post_titles_in_homepage";a:2:{s:6:"weight";s:6:"normal";s:5:"style";s:6:"normal";}s:34:"typo_small_post_titles_in_homepage";a:2:{s:6:"weight";s:6:"normal";s:5:"style";s:6:"normal";}s:19:"typo_widgets_titles";a:5:{s:4:"size";s:2:"13";s:10:"lineheight";s:2:"21";s:6:"weight";s:3:"700";s:5:"style";s:6:"normal";s:13:"texttransform";s:9:"uppercase";}s:10:"custom_css";s:9360:"@media (min-width: 1180px) {
     body.bdaia-boxed div.inner-wrapper {
         box-shadow: 0 0 5px 5px rgba(200,200,200,.05);
         margin-top: 30px;
         margin-bottom: 30px;
         border-radius: 10px;
         overflow: hidden;
    }
}
 .bdaia-header-default .topbar {
     padding: 30px 0 0;
}
 div.bdaia-footer div.bdaia-footer-area.bd-footer-light {
     color: #999;
}
 div.bdaia-footer div.bdaia-footer-area {
     font-size: 11px;
     line-height: 1.2;
     color: #999;
}
 div.bdaia-footer .bdaia-social-io .bdaia-io {
     padding: 0;
     margin: 0 10px;
}
 div.topbar .bdaia-social-io .bdaia-io {
     margin: 0 4px;
}
 div.topbar .bdaia-social-io a .bdaia-io::before, div.bdaia-footer div.bdaia-footer-area.bd-footer-light .bdaia-social-io a .bdaia-io::before {
     width: auto;
     height: auto;
     font-size: inherit;
     line-height: inherit;
     font-size: 14px;
     line-height: 1;
}
 .bdaia-footer-area-l .copyright {
     line-height: 25px;
}
 div.widget-box-title.widget-box-title-s7 {
     border-bottom: 0 none 
}
 div.widget-box-title.widget-box-title-s6 {
     text-align: center;
}
 div.widget-box-title.widget-box-title-s6 h3 {
     float: none;
}
 div.widget-box-title.widget-box-title-s6:after {
     content: \"\";
     display: inline-block;
     width: 32px;
     padding-top: 20px;
     border-bottom: 4px solid #333;
     overflow: hidden;
     z-index: 0;
     position: relative;
}
 .bd_header_single ._title {
     margin: 0 auto 0;
}
 .bdaia-crumb-container {
     margin-bottom: 20px;
}
 #disqus_thread {
     margin: 48px auto 0;
}
 #disqus_thread iframe {
     margin: 0 auto !important;
}
 .bdaia-post-content a {
     text-decoration: none;
     color: #8db392;
}
 .bdaia-post-content a:hover {
     text-decoration: underline;
}
 div.bdaia-instagram-footer {
     background: #FFF;
}
 div.bdaia-instagram-footer li {
     width: 16.66666666666667%;
     display: none;
}
 div.bdaia-instagram-footer li:nth-child(1), div.bdaia-instagram-footer li:nth-child(2), div.bdaia-instagram-footer li:nth-child(3), div.bdaia-instagram-footer li:nth-child(4), div.bdaia-instagram-footer li:nth-child(5), div.bdaia-instagram-footer li:nth-child(6) {
     display: inline-block;
}
 @media only screen and (max-width: 960px) and (min-width: 767px) {
     div.bdaia-instagram-footer li {
         width: 25%;
    }
     div.bdaia-instagram-footer li:nth-child(5), div.bdaia-instagram-footer li:nth-child(6) {
         display: none;
    }
}
 @media only screen and (max-width: 766px){
     div.bdaia-instagram-footer li {
         width: 33.3%;
    }
}
 div.bdaia-instagram-footer h4 {
     position: absolute;
     top: 50%;
     left: 50%;
     text-transform: uppercase;
     letter-spacing: 2px;
     font-size: 11px;
     background: #fff;
     background: rgba(255,255,255,0.8);
     padding: 22px 30px;
     z-index: 999;
     -webkit-transform: translate(-50%,-50%);
     -moz-transform: translate(-50%,-50%);
     -o-transform: translate(-50%,-50%);
     transform: translate(-50%,-50%);
}
 .bdaia-wb-wrap .bdaia-wb-article.bdaia-wba-big .block-exb {
     display: none;
}
 div.widget.bdaia-widget .widget-inner div.bdaia-post-cat-list {
     display: none;
}
 @media (min-width: 990px) {
 div.widget.bdaia-widget.widget_mc4wp_form_widget div.widget-inner {
     padding: 5px 0;
     box-shadow: 0 5px 10px rgba(0,0,0,.12);
     border-radius: 10px;
     overflow: hidden;
     background-image: repeating-linear-gradient(135deg,#ff6969,#ff6969 10px,#FFF 0,#FFF 20px,#85adff 0,#85adff 30px,#FFF 0,#FFF 40px);
     background-image: repeating-linear-gradient(135deg,#ff6969,#ff6969 10px,#FFF 0,#FFF 20px,#85adff 0,#85adff 30px,#FFF 0,#FFF 40px);
     background-image: repeating-linear-gradient(135deg,#ff6969,#ff6969 10px,#FFF 0,#FFF 20px,#85adff 0,#85adff 30px,#FFF 0,#FFF 40px);
}
 div.widget.bdaia-widget.widget_mc4wp_form_widget .mc4wp-form {
     background: #fff;
     border: 0 none !important;

}
 }
 div.widget.bdaia-widget.widget_mc4wp_form_widget .bdaia-mc4wp-bform-p4, div.widget.bdaia-widget.widget_mc4wp_form_widget .bdaia-mc4wp-bform-p3, div.bdaia-mc4wp-form-icon {
     display: none;
}
 div.widget.bdaia-widget.widget_mc4wp_form_widget p.bdaia-mc4wp-bform-p2.bd2-font {
     opacity: 1;
}
 .bd-push-menu div.widget.bdaia-widget.widget_mc4wp_form_widget .mc4wp-form-fields {
     display: block;
     width: 100%;
     max-width: 100%;
}
 div.widget.bdaia-widget.widget_mc4wp_form_widget .mc4wp-form-fields p:first-child {
     width: 100%;
     max-width: 100%;
     margin-bottom: 15px;
}
 .bdaia-wb-wrap .bdaia-wb-article.bdaia-wba-small .bwb-article-content-wrapper header .entry-title span {
     line-height: 26px;
     font-size: 18px;
}
 span.meta-author.meta-item, span.views.meta-item, span.meta-comment.meta-item {
     display: none;
}
 .bdaia-header-default #navigation .primary-menu ul#menu-primary > li >.bd_mega.sub-menu, .bdaia-header-default #navigation .primary-menu ul#menu-primary > li > .sub-menu, .bdaia-header-default #navigation .primary-menu ul#menu-primary .sub_cats_posts {
     border: 0 none !important;
     -webkit-box-shadow: none !important;
     -moz-box-shadow: none !important;
     box-shadow: none !important;
}
 .articles-box.articles-box-block640 .articles-box-items>li:nth-child(n) .article-excerpt, .articles-box.articles-box-block640 .articles-box-items>li:nth-child(n) .article-more-link, .articles-box.articles-box-block640 .articles-box-items>li:nth-child(n) .article-more-link2 {
     display: none;
}
 .articles-box.articles-box-block640 .articles-box-items>li:first-child .article-excerpt, .articles-box.articles-box-block640 .articles-box-items>li:first-child .article-more-link2 {
     display: block;
}
 section.slider-area.cover-grid .cover-item h3.cover-overlay-title {
     font-family: \"Pacifico\" !important;
     font-size: 27px !important;
     font-style: normal !important;
     font-weight: 400 !important;
     line-height: 1.27407 !important;
     -webkit-text-size-adjust: 100%;
     -webkit-font-smoothing: antialiased;
     resize: none;
     word-wrap: break-word;
     -webkit-transition-duration: 350ms;
     transition-duration: 350ms;
     -webkit-transition-property: opacity,transform;
     transition-property: opacity,transform;
     -webkit-transition-timing-function: cubic-bezier(0.4,0,0.2,1);
     transition-timing-function: cubic-bezier(0.4,0,0.2,1);
}
 .justified-gallery a .caption {
     font-size: 11px;
     line-height: 1;
}
 .ilightbox-caption a, .justified-gallery a .caption a {
     position: initial !important;
     opacity: 1 !important;
     display: initial !important;
     font-style: italic;
     color: #FFF;
     text-decoration: underline;
}
 #bdCheckAlso {
     border: 0 none !important;
     -webkit-box-shadow: 0 0 20px 0 rgba(0,0,0,.1) !important;
     -moz-box-shadow: 0 0 20px 0 rgba(0,0,0,.1) !important;
     box-shadow: 0 0 20px 0 rgba(0,0,0,.1) !important;
}
 #bdCheckAlso:after {
     display: none;
}
@media (max-width: 900px) {
     div.bdaia-header-default.bdaia-logo-center .bdaia-header-e3-desktop, 
     div.bdaia-header-default.bdaia-logo-center header.header-container .logo {
            display: block;
            overflow: hidden;
            clear: both;
            width: auto;
            margin: 0 auto;
            line-height: 1;
            max-height: 100%;
     }
     div.bdaia-header-default.bdaia-logo-center header.header-container div.bd-container, 
     div.bdaia-header-default header.header-container div.bd-container {
         padding: 32px 0 0 0;
     }
     div.bdaia-header-default.bdaia-logo-center header.header-container div.logo h1.site-title a,
     div.bdaia-header-default.bdaia-logo-center header.header-container div.logo h2.site-title a {
          line-height: 1;
         overflow: hidden;
         display: inline-block;

     }
     div.bdaia-header-default header.header-container .logo img, 
     div.bdaia-header-default div.header-wrapper.bdaia-hibryd-menu .logo img {
          width: auto;
          max-width: none;
          max-height: 60px;
     }
     div.bdaia-header-default header.header-container {
          border: 0 none;
     }
     div.bd-mob-menu-btn {
          top: 0;
          margin: 50px 0 0 0;
     }
     section.slider-area.cover-grid .cover-item h3.cover-overlay-title {
          font-size: 19px !important;
     }
     aside.bd-push-menu div.widget-box-title.widget-box-title-s6:after {
         border-bottom: 4px solid #FFF;
     }

     .bd-push-menu-open aside.bd-push-menu {
        transform: translate3d(0,0,0);
        -webkit-transform: translate3d(0,0,0);
        -moz-transform: translate3d(0,0,0);
        -ms-transform: translate3d(0,0,0);
        -o-transform: translate3d(0,0,0);
        left: 0;
        visibility: visible;
        -webkit-transition: transform .5s cubic-bezier(.79,.14,.15,.86);
        -moz-transition: transform .5s cubic-bezier(.79,.14,.15,.86);
        -o-transition: transform .5s cubic-bezier(.79,.14,.15,.86);
        transition: transform .5s cubic-bezier(.79,.14,.15,.86);
    }
}";s:15:"advanced_export";s:0:"";s:15:"advanced_import";s:0:"";}}