/*********************************************/
/* COLOURS                                   */
/*********************************************/
/*********************************************/
/* BUTTONS                                   */
/*********************************************/
.fmn-btn a { background: #97A98B; padding: 12px 30px !important; font-size: 15px; font-family: "Montserrat"; }
.fmn-btn a:hover { color: #FFFFFF; }

.wpcf7-form .wpcf7-submit { box-shadow: none !important; background: #97A98B !important; }
.wpcf7-form .wpcf7-submit:hover { background: #596552 !important; color: #FFFFFF !important; }

/*********************************************/
/* GENERAL                                   */
/*********************************************/
.bt_bb_masonry_portfolio_tiles .bt_bb_grid_item .bt_bb_grid_item_inner .bt_bb_grid_item_post_thumbnail:before, .bt_bb_masonry_post_tiles .bt_bb_grid_item .bt_bb_grid_item_inner .bt_bb_grid_item_post_thumbnail:before, .bt_bb_dash_top.bt_bb_headline .bt_bb_headline_content:before, .bt_bb_dash_top_bottom.bt_bb_headline .bt_bb_headline_content:before, .bt_bb_dash_bottom.bt_bb_headline .bt_bb_headline_content:after, .bt_bb_dash_top_bottom.bt_bb_headline .bt_bb_headline_content:after { background: #97A98B !important; }

.bt_bb_post_grid_filter .bt_bb_post_grid_filter_item:hover { color: #97A98B !important; }

/*********************************************/
/* HEADER                                    */
/*********************************************/
.fmn-header { min-height: 272px; /*background: $main-dark-grey url('./images/header-bg.jpg') no-repeat left center;*/ background: #97A98B; }
.fmn-header .port { max-width: 1280px; margin: 0 auto; }
.fmn-header .top { overflow: auto; height: 100px; }
.fmn-header .top .logo { float: left; margin-top: 10px; }
.fmn-header .top .logo img { height: 90px; }
.fmn-header .top .menu { float: right; list-style: none; margin-top: 35px; }
.fmn-header .top .menu li { display: inline-block; margin-right: 15px; }
.fmn-header .top .menu li:last-child { margin-right: 0; }
.fmn-header .top .menu li.current-menu-item a { color: #FFFFFF; }
.fmn-header .top .menu li a { color: #FFFFFF; font-size: 14px; font-family: "Montserrat"; font-weight: 700; text-transform: uppercase; }
.fmn-header .top .menu li a:hover { color: #FFFFFF; }
.fmn-header .page-title h1 { font-size: 50px; font-family: "Montserrat"; font-weight: 700; color: #FFFFFF; text-transform: uppercase; padding-bottom: 0; margin-top: 80px; line-height: 50px; }
.fmn-header.home { min-height: 100px; background: none; margin-bottom: -100px; z-index: 9; position: relative; }

/* Slider */
.home-header-slider_top-headline { font-size: 32px; font-weight: 300; font-family: "Fira Sans"; text-transform: uppercase; color: #FFFFFF; }

.home-header-slider_headline { font-size: 50px; font-family: "Montserrat"; font-weight: 700; color: #97A98B; text-transform: uppercase; padding-bottom: 0; margin: 10px 0; line-height: 50px; }

.watch-video-btn { font-size: 20px; font-family: "Montserrat"; color: #FFFFFF; font-weight: 300; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; margin: auto; cursor: pointer; }
.watch-video-btn .icon { width: 60px; height: 60px; background: url("./images/play-icon.svg") no-repeat center; background-size: contain; display: inline-block; margin-right: 15px; }
.watch-video-btn span { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; text-align: center; }

/*********************************************/
/* FOOTER                                    */
/*********************************************/
.btSiteFooter { /* SM links */ /* Footer Details */ /* Copyright */ }
.btSiteFooter .sm-links { padding: 60px 0; }
.btSiteFooter .sm-links .bt_bb_icon a { display: block; width: 80px; height: 80px; background: #97A98B; border-radius: 50px; position: relative; text-align: center; margin: 0 30px; }
.btSiteFooter .sm-links .bt_bb_icon a:before { color: #000000; font-size: 40px; line-height: 80px; box-shadow: 0 0 0 2em #97A98B inset; }
.btSiteFooter .footer-details { padding: 60px 0; color: #FFFFFF; }
.btSiteFooter .footer-details .footer-headline h5 { font-size: 24px; }
.btSiteFooter .footer-details .footer-headline .bt_bb_headline_subheadline { font-size: 16px; line-height: 25px; font-weight: 300; font-family: "Fira Sans"; margin-top: 30px; }
.btSiteFooter .footer-details .footer-phone { font-family: "Fira Sans"; font-size: 28px; font-weight: 900; margin: 30px 0; display: block; }
.btSiteFooter .footer-details .footer-phone:hover { text-decoration: underline; color: #FFFFFF; }
.btSiteFooter .footer-details .menu { margin-top: 30px; }
.btSiteFooter .footer-details .menu li { width: 100%; display: block; margin-bottom: 20px; }
.btSiteFooter .footer-details .menu li a { color: #FFFFFF; font-size: 16px; font-family: "Fira Sans"; text-decoration: underline; opacity: 1; }
.btSiteFooter .copyright { border-top: 1px solid #000000; color: #FFFFFF; font-size: 14px; font-family: "Montserrat"; font-weight: 300; }
.btSiteFooter .copyright .hype { position: relative; }
.btSiteFooter .copyright .hype:hover { color: #FFFFFF; text-decoration: underline; }
.btSiteFooter .copyright .hype img { max-width: 135px; top: 6px; position: relative; }

/*********************************************/
/* FAQ                                       */
/*********************************************/
.faq-item { margin-bottom: 40px; }
.faq-item h3 { font-size: 29px; font-weight: 600; }
.faq-item p { font-size: 16px; line-height: 24px; font-family: "Fira Sans"; }

/*********************************************/
/* CTA                                       */
/*********************************************/
.cta { font-family: "Fira Sans"; padding: 0px 0 60px; }
.cta .btn { font-family: "Montserrat"; font-size: 14px; color: #97A98B; display: inline-block; padding: 10px 20px; border-radius: 50px; border: 1px solid #97A98B; cursor: pointer; text-transform: uppercase; }
.cta .btn:hover { background: #97A98B; color: #FFFFFF; }
.cta .phone { font-size: 28px; font-family: "Fira Sans"; font-weight: 700; color: #97A98B; display: block; margin-top: 30px; }
.cta .phone:hover { text-decoration: underline; color: #97A98B; }

/*********************************************/
/* CONTACT PAGE                              */
/*********************************************/
.contact-details { display: block; clear: both; overflow: auto; }
.contact-details .title { color: #97A98B; font-size: 36px; font-weight: 400; font-style: italic; margin: 40px 0; }
.contact-details .phone { font-size: 28px; font-weight: 700; margin-bottom: 30px; }
.contact-details .phone a { color: #000000; }
.contact-details .phone a:hover { text-decoration: underline; }
.contact-details .email { font-size: 28px; }
.contact-details .email a { color: #000000; }
.contact-details .email a:hover { text-decoration: underline; }

/*********************************************/
/* SERVICES PAGE                             */
/*********************************************/
.services-step-one h2 { font-size: 29px; font-weight: 400; position: relative; z-index: 1; padding-left: 55px; }
.services-step-one h2:before { content: ''; width: 77px; height: 136px; background: url("./images/services-number-1.png") no-repeat center; background-size: contain; position: absolute; left: 0; top: 0; z-index: -1; }
.services-step-one h3 { font-size: 22px; font-weight: 400; text-align: center; }
.services-step-one p.subtitle { position: relative; z-index: 1; padding-left: 55px; }
.services-step-one .services-list { list-style: none; margin: 40px 0 0; padding: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; }
.services-step-one .services-list li { text-align: center; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; max-width: 20%; box-sizing: border-box; padding: 0 10px; }
.services-step-one .services-list li p { padding-left: 0; font-size: 16px; font-weight: 500; }
.services-step-one .services-list li .icon { width: 44px; height: 44px; background: url("./images/services-list-icon.svg") no-repeat center; background-size: contain; display: inline-block; margin-bottom: 20px; }

.services-step-two h2 { font-size: 29px; font-weight: 400; position: relative; z-index: 1; padding-left: 55px; }
.services-step-two h2:before { content: ''; width: 125px; height: 140px; background: url("./images/benefits-number-2-green.png") no-repeat center; background-size: contain; position: absolute; left: 0; top: 0; z-index: -1; }
.services-step-two p { position: relative; z-index: 1; padding-left: 55px; }

.services-step-three h2 { font-size: 29px; font-weight: 400; position: relative; z-index: 1; padding-left: 55px; }
.services-step-three h2:before { content: ''; width: 118px; height: 140px; background: url("./images/services-number-3.png") no-repeat center; background-size: contain; position: absolute; left: 0; top: 0; z-index: -1; }
.services-step-three p { position: relative; z-index: 1; padding-left: 55px; }

/*********************************************/
/* BENEFITS PAGE                             */
/*********************************************/
.benefits-step-one h2 { font-size: 29px; font-weight: 400; position: relative; z-index: 1; padding-left: 55px; }
.benefits-step-one h2:before { content: ''; width: 77px; height: 136px; background: url("./images/services-number-1.png") no-repeat center; background-size: contain; position: absolute; left: 0; top: -10px; z-index: -1; }
.benefits-step-one p { position: relative; z-index: 1; padding-left: 55px; }

.benefits-step-two h2 { font-size: 29px; font-weight: 400; position: relative; z-index: 1; padding-left: 55px; }
.benefits-step-two h2:before { content: ''; width: 125px; height: 140px; background: url("./images/benefits-number-2.png") no-repeat center; background-size: contain; position: absolute; left: 0; top: -10px; z-index: -1; }
.benefits-step-two p { position: relative; z-index: 1; padding-left: 55px; }

.benefits-step-three h2 { font-size: 29px; font-weight: 400; position: relative; z-index: 1; padding-left: 55px; }
.benefits-step-three h2:before { content: ''; width: 111px; height: 139px; background: url("./images/services-number-3.png") no-repeat center; background-size: contain; position: absolute; left: 0; top: -10px; z-index: -1; }
.benefits-step-three p { position: relative; z-index: 1; padding-left: 55px; }

.benefits-step-four h2 { font-size: 29px; font-weight: 400; position: relative; z-index: 1; padding-left: 55px; }
.benefits-step-four h2:before { content: ''; width: 120px; height: 136px; background: url("./images/services-number-4.png") no-repeat center; background-size: contain; position: absolute; left: 0; top: -10px; z-index: -1; }
.benefits-step-four p { position: relative; z-index: 1; padding-left: 55px; }

.benefits-step-five h2 { font-size: 29px; font-weight: 400; position: relative; z-index: 1; padding-left: 55px; }
.benefits-step-five h2:before { content: ''; width: 118px; height: 142px; background: url("./images/services-number-5.png") no-repeat center; background-size: contain; position: absolute; left: 0; top: -10px; z-index: -1; }
.benefits-step-five p { position: relative; z-index: 1; padding-left: 55px; }

.benefits-quote { font-size: 26px; font-style: italic; line-height: 40px; position: relative; z-index: 0; padding-left: 80px; }
.benefits-quote:before { content: ''; width: 122px; height: 84px; background: url("./images/quote-icon.svg") no-repeat center; background-size: contain; position: absolute; left: 0; top: -20px; z-index: -1; }
.benefits-quote p { font-weight: 600; }
.benefits-quote .author { font-weight: 100; }

/*********************************************/
/* ABOUT PAGE                                */
/*********************************************/
/* Content */
.about-content-title { margin-bottom: 30px; }
.about-content-title h2 { font-size: 39px !important; font-weight: 500; }
.about-content-title .bt_bb_headline_superheadline { font-family: "Montserrat" !important; font-size: 15px; text-transform: uppercase; }

/* Quote */
.about-quote { font-style: italic; font-weight: 500; font-size: 32px; line-height: 49px; position: relative; box-sizing: border-box; padding-left: 80px; }
.about-quote:before { content: ''; width: 122px; height: 84px; background: url("./images/about-quote-icon.svg") no-repeat center; background-size: contain; position: absolute; left: 0; top: -20px; z-index: -1; }

/* Testimonials */
.testimonials h2 { font-size: 50px !important; font-weight: 500; }
.testimonials .bt_bb_headline_subheadline { font-family: "Fira Sans" !important; font-size: 16px !important; }
.testimonials .btLightSkin .bt_bb_separator.bt_bb_border_style_solid { border-bottom-color: #F5EDDE !important; }
.testimonials .bt_bb_separator.bt_bb_border_style_solid { border-bottom: 1px solid #F5EDDE; }
.testimonials .testimonial-content { max-width: 70%; }
.testimonials button.slick-arrow { background: #000000; }
.testimonials button.slick-arrow:hover { background: #97A98B !important; }
.testimonials button.slick-arrow:hover:before { color: #FFFFFF !important; }
.testimonials .bt_bb_arrows_size_small button.slick-arrow.slick-prev { right: 340px !important; }
.testimonials .bt_bb_arrows_size_small button.slick-arrow.slick-next { right: 280px !important; }
.testimonials blockquote:before { color: #E9E1D2 !important; }
.testimonials .bt_bb_image { border-radius: 100%; box-shadow: 0 4px 14px rgba(151, 169, 139, 0.5); }
.testimonials .bt_bb_image img { max-width: 250px; }

/* Awards */
.awards-title span { font-size: 50px !important; font-weight: 500; }

.awards-list { list-style: none; margin: 0; padding: 0; }
.awards-list li { width: 285px; background: #FFFFFF; border-right: 2px; display: inline-block; box-sizing: border-box; padding: 25px 0; margin: 0 10px; }
.awards-list li .image { position: relative; z-index: 0; }
.awards-list li .image:before { content: ''; width: 253px; height: 122px; background: url("./images/awards-image-overlay.png") no-repeat center; background-size: contain; position: absolute; left: 0; bottom: -30px; }
.awards-list li .title { position: relative; z-index: 1; text-transform: uppercase; color: #97A98B; font-family: "Montserrat"; font-size: 22px; margin-top: -20px; }
.awards-list li .subtitle { position: relative; z-index: 1; color: #97A98B; font-family: "Montserrat"; font-size: 18px; font-weight: 300; margin-bottom: 15px; }
.awards-list.has-white-bg li { background: #E0E5DC; }
.awards-list.has-white-bg li .image:before { background: url("./images/awards-image-overlay_green.png") no-repeat center; }

/*********************************************/
/* BLOG                                      */
/*********************************************/
.bt_bb_post_grid_filter .bt_bb_post_grid_filter_item:after { display: none !important; }
.bt_bb_post_grid_filter .bt_bb_post_grid_filter_item.active { color: #97A98B; }

/*********************************************/
/* HOME PAGE                                 */
/*********************************************/
/* About section */
.home-about h1 { font-size: 50px !important; font-weight: 500; }

/* Services section */
.home-services h2 { font-size: 50px !important; font-weight: 500; }
.home-services .service { width: 100%; padding: 160px 30px 30px; box-sizing: border-box; text-align: center; border-radius: 2px; box-shadow: 0 2px 14px rgba(151, 169, 139, 0.5); }
.home-services .service .fmn-btn { background: #000000; color: #FFFFFF; padding: 7px 30px !important; font-size: 15px; font-family: "Montserrat"; text-transform: uppercase; transitiom: 0.2s; display: inline-block; border-radius: 50px; margin-top: 30px; }
.home-services .service .fmn-btn:hover { color: #FFFFFF; background: #97A98B; }
.home-services .service.one { background: #FFFFFF url("./images/home-service-1-bg.jpg") no-repeat top center; background-size: contain; }
.home-services .service.two { background: #FFFFFF url("./images/home-service-2-bg.jpg") no-repeat top center; background-size: contain; }
.home-services .service.three { background: #FFFFFF url("./images/home-service-3-bg.jpg") no-repeat top center; background-size: contain; }

/* Portfolio section */
.home-portfolio h2 { font-size: 50px !important; font-weight: 500; }
.home-portfolio .fmn-btn { text-align: center; }
.home-portfolio .fmn-btn a { color: #FFFFFF; background: #000000; border-radius: 50px; -webkit-transition: 0.2s; transition: 0.2s; text-transform: uppercase; padding: 10px 30px !important; }
.home-portfolio .fmn-btn a:hover { background: #97A98B; color: #FFFFFF; }
.home-portfolio .bt_bb_grid_item_post_thumbnail:before { background: #97A98B !important; }
.home-portfolio .bt_bb_post_grid_filter_item:hover { color: #97A98B !important; }

/* Instagram feed */
.inst-feed { position: relative; }
.inst-feed .inst-btn-wrapper { position: absolute; z-index: 2; text-align: center; width: 100%; padding-top: 100px; }
.inst-feed .inst-btn-wrapper .fmn-inst-btn { background: #97A98B; font-family: "Montserrat"; font-size: 18px; color: #FFFFFF; font-weight: 600; line-height: 48px; padding: 13px 25px 13px 55px; border-radius: 50px; position: relative; }
.inst-feed .inst-btn-wrapper .fmn-inst-btn:before { content: '\f16d'; color: #FFFFFF; font-size: 26px; position: absolute; left: 20px; font-family: 'FontAwesome'; }
.inst-feed .inst-btn-wrapper .fmn-inst-btn:hover { background: #596552; }
.inst-feed .int-feed-overlay { position: absolute; width: 100%; height: 100%; top: 0; left: 0; background: rgba(0, 0, 0, 0.25); z-index: 1; }
.inst-feed .elfsight-widget-instagram-feed { position: relative; z-index: 0; }

/* Blog section */
.bt_bb_latest_posts_item .bt_bb_latest_posts_item_image:before { background: #97A98B !important; }
.bt_bb_latest_posts_item .bt_bb_latest_posts_item_content { background: #E0E5DC; }
.bt_bb_latest_posts_item .bt_bb_latest_posts_item_content .bt_bb_latest_posts_item_title a { color: #596552 !important; font-size: 22px; font-weight: 400; font-family: "Montserrat"; }
.bt_bb_latest_posts_item .bt_bb_latest_posts_item_content .bt_bb_latest_posts_item_title:after { display: none !important; }
.bt_bb_latest_posts_item .bt_bb_latest_posts_item_content .bt_bb_latest_posts_item_excerpt { font-family: "Fira Sans"; font-size: 16px; line-height: 24px; }
.bt_bb_latest_posts_item .bt_bb_latest_posts_item_content .bt_bb_latest_posts_item_excerpt:before { display: none !important; }

/*********************************************/
/* MOBILE MENU                               */
/*********************************************/
.mobile-nav { padding: 30px 0; background: #222222; position: absolute; top: 0; left: 0; z-index: 9999; width: 100%; display: none; }
.mobile-nav .mobile-menu-close { color: #FFFFFF; font-size: 20px; position: absolute; top: 30px; right: 30px; background: url("./images/close-icon.svg") no-repeat center; background-size: contain; width: 20px; height: 20px; cursor: pointer; }
.mobile-nav .menu { list-style: none; margin: 0; padding: 0; }
.mobile-nav .menu li { padding: 10px 0; }
.mobile-nav .menu li a { color: #FFFFFF; }

.mobile-menu-open { margin-top: 30px; float: right; width: 40px; height: 40px; background: url("./images/open-menu.svg") no-repeat center; background-size: contain; display: none; }

/*********************************************/
/* VIDEO POPUP                               */
/*********************************************/
.video-popup { display: none; position: fixed; left: 0; top: 0; width: 100%; height: 100vh; background: rgba(0, 0, 0, 0.7); z-index: 9999; }
.video-popup.show { display: block; }

.video-popup_wrapper { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); padding-top: 40px; }

.video-popup_close-button { position: absolute; height: 30px; width: 30px; top: 0; right: -40px; cursor: pointer; background: url("./images/close-icon.svg") no-repeat center; background-size: cover; }

.video-popup_popup-body { width: 70vw; }

.video-popup_popup-body_video-wrapper { max-width: 100%; border-radius: 5px; overflow: hidden; position: relative; }

.video-popup_popup-body_video-wrapper_embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; }
.video-popup_popup-body_video-wrapper_embed-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/*********************************************/
/* RESPONSIVE                                */
/*********************************************/
@media only screen and (max-width: 1024px) { .fmn-header .top .menu { display: none; }
  .mobile-menu-open { display: block; }
  .btSiteFooter .footer-details .footer-phone { font-size: 24px; }
  .facebook-feed { margin-left: -90px; }
  .inst-feed .inst-btn-wrapper { padding-top: 80px; }
  .contact-details { overflow: hidden; }
  .contact-details .title { font-size: 28px; line-height: 34px; } }
@media only screen and (max-width: 1023px) { .cta .btn { text-align: center; }
  .cta .phone { font-size: 26px; }
  .home-services .service { margin-bottom: 30px; }
  .testimonials h2 { font-size: 44px !important; }
  .testimonials .testimonial-content { max-width: 100%; }
  .testimonials .bt_bb_arrows_size_small button.slick-arrow.slick-next { right: 0 !important; }
  .testimonials .bt_bb_arrows_size_small button.slick-arrow.slick-prev { left: 0 !important; }
  .bt_bb_arrows_size_small button.slick-arrow { bottom: 0 !important; }
  .awards-list li { margin-bottom: 30px; }
  .inst-feed .inst-btn-wrapper { padding-top: 180px; }
  .sm-links .bt_bb_icon { margin-bottom: 20px; }
  .facebook-feed { display: none; }
  .about-quote { padding-left: 0; font-size: 22px; line-height: 28px; }
  .benefits-quote { font-size: 22px; line-height: 28px; padding-left: 0; }
  .services-step-one .services-list { display: block; }
  .services-step-one .services-list li { max-width: none; width: 100%; margin-bottom: 30px; }
  .contact-details { margin-bottom: 30px; }
  .contact-details .phone { font-size: 26px; }
  .contact-details .email { font-size: 20px; } }
