/*
Theme Name: CastleGrove Construction
Theme URI: https://proximatesolutions.com/professional-web-design-portfolio/
Author: Proximate Solutions
Author URI: https://proximatesolutions.com/
Description: Wordpress theme designed for CastleGrove Construction.
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: castlegroveconstruction
Tags: one-column, two-columns, custom-menu, featured-images, left-sidebar, right-sidebar
*/
:root {
  --primary:#fdbc11;
  --primary-dark:#f2b001;
  --grey:#f2f2f2;
  --dark:#1f2a2a;
  --black:#000;
  --white:#fff;
}
body{font-family: 'Sofia Pro'; color:#222;overflow-x:hidden; font-size: 18px; font-weight: 400;}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family: 'Zilla Slab', serif; font-weight: 700;}
.normal_font {font-family: 'Sofia Pro'; }
img{max-width:100%;height:auto}
p{margin-bottom:10px}
a{-webkit-transition:all linear .2s 0;transition:all linear .2s 0;color:var(--primary)}
a:hover,a:focus{outline:0;color:#000;text-decoration:none}

.form-control, .form-select {border-radius:0; font-family: 'Sofia Pro';}
.form-control:focus {border-color: var(--primary); box-shadow: none;}
.form-group { margin-bottom:1.2rem;}
option{font-family:Arial, Helvetica, sans-serif;}

.btn{border-radius:0;padding:10px 35px;text-transform:uppercase}
.btn_style{margin-top:15px}
.btn i{margin-right:5px}
.btn-primary{background:var(--primary); border-color:var(--primary);}
.btn-primary:hover,.btn-primary:focus{background:var(--primary-dark); border-color:var(--primary-dark); color: var(--white); text-decoration: none;}
.btn-outline-primary{color:var(--primary);border-color:var(--primary)}
.btn-outline-primary:hover,.btn-outline-primary:focus{color:var(--white);background:var(--primary);border-color:var(--primary)}
.btn-warning{background:var(--primary); border-color:var(--primary);  color: var(--white);}
.btn-warning:hover,.btn-warning:focus{background:var(--primary-dark); border-color:var(--primary-dark); color: var(--white); text-decoration: none;}
.btn-outline-warning{color:var(--primary);border-color:var(--primary)}
.btn-outline-warning:hover,.btn-outline-warning:focus{color:var(--white);background:var(--primary);border-color:var(--primary)}

.text-warning{color:var(--primary)!important}

label { margin:0;}
.alignleft { float:left; margin:0 25px 20px 0;}
.alignright { float:right; margin:0 0 20px 25px;}
.aligncenter { text-align:center; margin:0 auto 10px; display:block;}
.alignnone { float:none;}
.wp-caption { border:1px solid #ddd; text-align:center; background-color:#f3f3f3; margin-bottom:1rem; padding:4px; max-width:100%; border-radius:4px; -webkit-border-radius:4px;}
.wp-caption img { margin:0; padding:0; border:0;}
.wp-caption p.wp-caption-text { font-size:12px; padding:0 5px; margin:0;}
.sticky {}
.gallery-caption {}
.bypostauthor {}
.clear { clear:both;}
.clear1 { clear:both; padding:1px 0 0;}
.clear5 { clear:both; padding:3px 0 2px;}
.clear10 { clear:both; padding:5px 0;}
.mrb-10 { margin:0 10px 10px 0;}
.br-0 { border-radius:0; -webkit-border-radius:0;}

.page-loader{	width: 100%; height: 100vh; position: fixed;	background: var(--dark); z-index: 1000;}
.page-loader .txt{	color: #666; text-align: center;	top: 40%;width: 400px; margin: 0 auto; position: relative;	text-transform: uppercase;	letter-spacing: 0.3rem;	font-weight: bold;	line-height: 1.5;	}
.page-loader .spinner {position: relative;top: 40%; width: 120px; height: 120px;  margin: 0 auto;  -webkit-animation: sk-scaleout 2.5s infinite ease-in-out; animation: sk-scaleout 2.5s infinite ease-in-out;}

@-webkit-keyframes sk-scaleout {
  0% { -webkit-transform: scale(0) }
  100% {
    -webkit-transform: scale(1);
    opacity: 0;
  }
}

@keyframes sk-scaleout {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  } 100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0;
  }
}

.navigation{overflow:hidden}
.clear15{clear:both;padding:8px 0 7px}
.clear20{clear:both;padding:10px 0}
.clear30{clear:both;padding:15px 0}
.clear50{clear:both;padding:25px 0}
.red{color:red}

section{padding:80px 0; position: relative; z-index: 1;}
.btn{border-radius:0;box-shadow:none;padding:10px 25px}
.btn_big{font-size:18px;font-weight:600;padding:.5vw 1.7vw;border-width:2px;line-height:1.77em;text-transform:uppercase;min-width:166px}
.grey_bg{background:#f1f1f1; padding-top:0; overflow:hidden; display:block;}
.alignright{float:right;margin-left:25px}

.heading {margin-bottom: 20px; font-weight: 700;}
h1.heading, h2.heading {font-size: 3rem;}
/*! - GLOBAL: MENU */
#globalMenu {position: fixed; top: 0; left: 0; left: auto; right: 0px;  height: 100%; z-index: 999; will-change: transform;}
#globalMenu .menu-icon { position: absolute; left: 0; top: 0; left: auto; right: 0px; z-index: 99; width: 70px; height: 150px; -webkit-transform: translateZ(0); transform: translateZ(0);
  overflow: hidden; background-color: var(--dark); cursor: pointer; transition: all 0.3s cubic-bezier(0.42, 0, 0.58, 1);}
#globalMenu .menu-line { width: 24px; height: .15em; background-color: #fff; position: absolute; left: 23px; top: 30px;transition: all 0.3s ease-out;}
#globalMenu .menu-line.top { transform: translate3d(0, -10px, 0);}
#globalMenu .menu-line.mid { transform-origin: center center;}
#globalMenu .menu-line.bot { transform: translate3d(0, 10px, 0);}
#globalMenu .menu-hit { width: 100%; height: 100%; position: absolute; left: 0; top: 0;}
#globalMenu .menu-icon-text { position: absolute; left: 50%; top: 95px; margin-left: -20px; font: 700 12px/1 'Open Sans', sans-serif; color: #fff; letter-spacing: .1em;transform: rotate(90deg);transition: all 0.3s linear;}
#globalMenu.expanded { width: 100%; height: 100%; z-index: 22;}
#globalMenu.expanded .menu-wrap { display: block; visibility: hidden;}

.main_menu_wrapper .menu-scroller { width: 100%; height: 100vh; position: absolute; left: 0; top: 0; -webkit-overflow-scrolling: touch;}
.main_menu_wrapper .menu-contents { position: relative; max-width: 1040px; padding: 110px 70px 40px 0px; display: -webkit-flex; display: -ms-flexbox;  display: flex; -webkit-flex-direction: row;  -ms-flex-direction: row; flex-direction: row; -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-justify-content: flex-end; -ms-flex-pack: justify;  justify-content: flex-end; -webkit-align-items: flex-start; -ms-flex-align: flex-start; align-items: flex-start; -webkit-align-content: stretch; -ms-flex-line-pack: stretch; align-content: stretch;}
.main_menu_wrapper .menu-contents .row { width: 55%; max-width: 515px; max-width: 515px; justify-content: space-between; align-items: stretch;}
.main_menu_wrapper .menu-contents .col { max-width: 230px;}
.main_menu_wrapper .lockup { position: absolute; top: 52px; left: 78px; width: 244px; height: auto;}
.menu-nav ul {list-style: none; margin: 0; padding: 0;}
.main_menu_wrapper .menu-nav ul > li a { font: 700 28px/1 'Zilla Slab', serif; color: #495c4b;  margin-bottom: 16px;  display: block; text-decoration: none;}
.main_menu_wrapper .menu-nav ul > li ul {margin-left: 20px;}
.main_menu_wrapper .menu-nav ul > li ul li ~ li { margin-top: 11px;}
.main_menu_wrapper .menu-nav ul > li ul a {font: 400 18px/1.68 'Open Sans', sans-serif; color: #fff;}
.main_menu_wrapper .menu-nav ul > li ~ li { margin-top: 52px;}
.main_menu_wrapper .social { margin-top: 60px;}
#menu-sticky { position: fixed; top: 0; left: 0; width: 100%; z-index: 21; top: 62px; overflow: hidden; height: 0px; padding: 0;}
.menu-sticky-drop { position: relative; width: 100%; padding-left: 70px; padding-right: 70px; transform: translateY(-100%);}
.social { max-width: 175px;}
.social li {display: inline-block; vertical-align: middle; text-align: center; margin-right: 18px; width: 40px; height: 40px; border-radius: 40px; background-color: #fff;transition: opacity 0.3s linear; margin-bottom: 15px;}
.social li .icon {font-size: 18px;color: var(--dark);line-height: 40px;}
.social li a { display: block;}

.social li .icon-linkedin,.social li .icon-youtube-play { font-size: 16px;}
.social li .icon-google-plus { font-size: 14px;}
.social li:hover { opacity: .3;}
header {z-index:999; position: absolute; left: 0; right: 0; top: 0;}
header .container-fluid{padding-left:45px;padding-right:45px}
.top_sticky{position: absolute; left: 0; width: 100%; height: 72px; top: -80px; background-color: #fff; box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.05);}
 .logo {  width: 65%;max-width: 500px;  position: absolute;top: 35px; left: 40px; transition: transform 0.4s cubic-bezier(0.42, 0, 0.58, 1);}
.menu_toggler {color: #fff; font-size:18px; text-transform: uppercase; position: relative; padding-left:40px; font-weight: 500; display: inline-block;}
.menu_toggler:hover,.menu_toggler:focus {color: #fff;}
.menu_toggler .menu_icon {position: absolute; left:0; top: 3px;}
.menu_toggler .menu_icon span {height:2px; width: 28px; margin: 0 0 6px; background: #fff; display: block;}
.menu_toggler .menu_icon span:first-child {width: 17px;}
.menu_toggler .menu_icon span:last-child {width: 17px; float: right; margin: 0;}
.main_menu_wrapper {  z-index: 9;  max-width: 80%; width: 100%;  padding: 100px 40px 60px;-webkit-transform: translateX(100%); transform: translateX(100%); -webkit-transition: transform .55s cubic-bezier(0.785,0.135,0.15,0.86); transition: transform .55s cubic-bezier(0.785,0.135,0.15,0.86);  position: fixed; top:0; bottom:0; right:0; height: 100vh;}

.overlay{position:fixed;top:0;width:100%;height:100%;-webkit-transition:all .3s ease-in-out; transition:all .3s ease-in-out;background-color: #172f49;  opacity:0; visibility:hidden; left: -50%; z-index: 1;}
.overlay.show{opacity: .65;visibility:visible}
.main_menu_wrapper.show { -webkit-transform: translateX(0px);transform: translateX(0px);z-index: 99;text-align: left;  }
.menu_close_icon {position: absolute; top: 15px; max-width: 1560px; width: 100%; left: 50%; transform: translateX(-50%); text-align: right; color: #fff; font-size: 35px; z-index: 9; padding: 0 20px;}
.menu_close_icon img {max-width: 20px;}
.menu_close_icon:hover, .menu_close_icon:focus {color: var(--info);}
.menu_logo {text-align: center; width: 100%; padding:60px 0 0; top: -30px; position: relative; opacity: 0;}
.menu_logo img{ max-width: 280px;}
.menu_contents_wrapper { display: flex; flex-wrap: wrap; justify-content: center; height: 100%; opacity: 0; visibility: hidden;}
.menu_contents {align-self: center; max-width: 1300px; flex: auto; margin: -80px 0 0;}
.menu-wrap { width: 80%; max-width: 1260px; height: 100vh; position:fixed; left: 0; top: 0; bottom: 0; left: auto; right: 0px; z-index: 1;  display: none; background-color: var(--dark); }

.menu-bg, .menu-fill  {width: 0;}

.main_menu_wrapper.show .menu-wrap { display: block;}
.main_menu_wrapper.show  .menu-bg { position: absolute; left: -60%; top: 0; height: 100%; transform-origin: center left;  background-color: #172f49; opacity: .65; z-index: 0;  width: 60%;  transition:all 0ms 300ms; }
.main_menu_wrapper.show .menu_contents_wrapper  {opacity: 1; visibility: visible;}
.main_menu_wrapper.show .menu-scroller { width: 100%; height: 100vh; position: absolute; right: 0; top: 0;z-index: 1;}
.main_menu_wrapper.show .menu-fill { width: 100%; height: 100vh; position: absolute; left: 0; top: 0; }

#globalMenu .menu-icon.open { background-color: #fff;}
#globalMenu .menu-icon.open .menu-line.top { transform: rotate(45deg) translate3d(0, 0px, 0); background-color: var(--dark);}
#globalMenu .menu-icon.open .menu-line.mid { -webkit-transform: scaleX(0); -moz-transform: scaleX(0); -ms-transform: scaleX(0); -o-transform: scaleX(0);}
#globalMenu .menu-icon.open .menu-line.bot { transform: rotate(-45deg) translate3d(0, 0px, 0); background-color: var(--dark);}
#globalMenu .menu-icon.open .menu-icon-text { color: var(--dark);}

.main_menu_wrapper .menu-nav ul > li :first-child {transition: all linear 0.2s; transition-delay: 0.2s;}
.main_menu_wrapper .menu-nav ul > li :nth-child(2) {transition: all linear 0.2s; transition-delay: 0.3s;}
.main_menu_wrapper .menu-nav ul > li :nth-child(3) {transition: all linear 0.2s; transition-delay: 0.4s;}
.main_menu_wrapper .menu-nav ul > li :nth-child(4) {transition: all linear 0.2s; transition-delay: 0.5s;}
.main_menu_wrapper .menu-nav ul > li :nth-child(5) {transition: all linear 0.2s; transition-delay: 0.6s;}
.main_menu_wrapper .menu-nav ul > li :nth-child(6) {transition: all linear 0.2s; transition-delay: 0.7s;}
.main_menu_wrapper .menu-nav ul > li :nth-child(7) {transition: all linear 0.2s; transition-delay: 0.8s;}
.main_menu_wrapper .menu-nav ul > li :nth-child(8) {transition: all linear 0.2s; transition-delay: 0.9s;}
.main_menu_wrapper .menu-nav ul > li :nth-child(9) {transition: all linear 0.2s; transition-delay: 0.10s;}

.logo img{position: absolute;top: 0;left: 0;right: 0;width: 100%;height: auto;transition: all .3s ease .05s;}

.sticky_logo {display: none; opacity: 0;}

header.sticky{position: fixed;top: 0; left: 0;width: 100%; will-change: transform; transform: matrix(1, 0, 0, 1, 0, 0);}
header.sticky .normal_logo{display: none; opacity: 0;}
header.sticky .sticky_logo{  opacity: 1; display: block;}
header.sticky .top_sticky {top: -10px;}
header.sticky .logo {transform:scale(0.6) translate(-190px, -75px); top: 54px;}
header.sticky #globalMenu .menu-icon { height: 62px;}
header.sticky.open .menu-icon {height: 150px;}

#globalMenu .menu-icon:hover, header.sticky #globalMenu .menu-icon:hover { height: 165px;}

.top_info_list ul{list-style:none;padding:0;margin:0; overflow:hidden}
.top_info_list ul li{border-right:1px solid rgba(0,0,0,0.2);float:right;padding-left:30px;padding-right:30px;position:relative;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-ms-flex-align:center;align-items:center}
.top_info_list ul li:first-child{border-right:0;padding-right:0}

.hero_banner{position:relative;display:block;;background-repeat:no-repeat;background-size:cover;background-position:center;overflow:hidden;width:100%}

#home_slider .item {position: relative; height: 100vh;background-repeat:no-repeat;background-size:cover;background-position:center;}
#home_slider .item:before{position:absolute;left:0;right:0;top:0;bottom:0;background-color:rgba(0,0,0,0.5);content:"";}

#home_slider.owl-theme .owl-nav {margin: 0;}
#home_slider .owl-nav .owl-prev, #home_slider .owl-nav .owl-next {position: absolute; top:50%; transform: translateY(-50%); color: #fff; height:50px; width: 50px; background:rgba(0,0,0,0.70); font-size: 26px; line-height: 50px; margin: 0; border-radius:0;}
#home_slider .owl-nav .owl-prev {left:0;}
#home_slider .owl-nav .owl-next {right:0;}
@keyframes menu_sticky {
  0%   {margin-top:-100px;}
  50%  {margin-top: -90px;}
  100% {margin-top: 0;}
}
.home_banner_wrapper{position:relative;overflow:hidden}
.banner_caption { position: absolute; left: 3%; top: auto; bottom: 7%; color: #fff; z-index: 1; width: 80%;}
.banner_caption .banner_title {font-weight: 700; font-size: 80px; line-height: 1.25; margin: 0; padding: 0; color: #fff; text-decoration: none; font-family: 'Zilla Slab', serif;
   margin-left:-600px; -webkit-transition: all linear 0.5s 0s; transition: all linear 0.5s 0s; }
#home_slider .owl-item {overflow: hidden;}
#home_slider .owl-item.active .banner_caption h2 {margin-left:0;}
.services_wrapper article {margin-top: 40px;}
.services_wrapper article+article {margin-top: 70px;}

.banner_caption ul  {list-style: none; margin: 0; padding: 0;}
.banner_caption ul li {position: relative; font-size: 30px; font-weight: 100; padding-left: 40px; display: inline-block; margin-right: 25px;}
.banner_caption ul li:before {position: absolute; left: 0; top: 3px; font-weight:900;content:"\f14a";font-family: 'Line Awesome Free'; }

.about_text_box {background: #fff; padding:35px;box-shadow: 0 0 20px rgba(0,0,0,0.20); position: relative; }
.about_text_box .btn {margin-top: 20px;}

@media (min-width:992px) {
.services_wrapper article .about_text_box { margin-right: -150px; }
.services_wrapper article .row> [class*="col-"]:first-child {order: 2;}
.services_wrapper article .row> [class*="col-"]:last-child {order: 1;}
.services_wrapper article:nth-child(even) .row> [class*="col-"]:first-child {order: 1;}
.services_wrapper article:nth-child(even) .row> [class*="col-"]:last-child {order: 2;}
.services_wrapper article:nth-child(even) .about_text_box { margin-left: -150px; margin-right: 0; }
}

.services_sec { position: relative; overflow: hidden;}
.services_sec .container-fluid {max-width: 1600px; margin-top: -100px; margin-bottom: -100px;}
.black_bar {padding:150px 0 100px; background-color: var(--dark); display: block; color: var(--white); text-align: center;}
.services_shape_1 {position: absolute;top: 0;	left: 0;	mix-blend-mode: luminosity; -webkit-animation: rounds_aniation 5s linear infinite alternate both; animation: rounds_aniation 5s linear infinite alternate both;}
.services_shape_1 img {width: auto;	opacity: 0.1;}
.services_shape_2 {position: absolute; top: 0; left: 0;	mix-blend-mode: luminosity; -webkit-animation: rounds_aniation2 5s linear infinite alternate both; animation: rounds_aniation2 5s linear infinite alternate both;}
.services_shape_2 img {width: auto;	opacity: 0.2;}
@-webkit-keyframes rounds_aniation {
  0% {-webkit-transform: scale(1); transform: scale(1); opacity: 0.5;}
  100% {-webkit-transform: scale(1.2); transform: scale(1.2); opacity: 0.1;}
}
@keyframes rounds_aniation {
  0% {-webkit-transform: scale(1); transform: scale(1); opacity: 0.5;}
  100% {-webkit-transform: scale(1.2); transform: scale(1.2); opacity: 0.1;}
}
@-webkit-keyframes rounds_aniation2 {
  0% {-webkit-transform: scale(1); transform: scale(1); opacity: 0.3;}
  100% {-webkit-transform: scale(1.1); transform: scale(1.1); opacity: 0.5;}
}
@keyframes rounds_aniation2 {
  0% {-webkit-transform: scale(1); transform: scale(1); opacity: 0.3;}
  100% {-webkit-transform: scale(1.1); transform: scale(1.1); opacity: 0.5;}
}

.gallery-item { position: relative; overflow: hidden; margin-bottom: 30px;}
.gallery-item  a{color: var(--black);}
.gallery-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; transition: opacity ease 200ms; z-index: 9; background: var(--white); opacity: .64;}
.gallery-item .gallery-text {  position: absolute;  top: 0;  right: 0;  bottom: 0; left: 0; overflow: auto; display: flex; align-content: center; justify-content: center; flex-direction: column;  padding: 7%; text-align: center;  z-index: 100;  transition: opacity ease 200ms;   }
.gallery-item .gallery-text h3{font-weight: 600;}
.gallery-item:hover .gallery-overlay,  .gallery-item:hover .gallery-text { opacity: 0;}

.contact_form { background: #f2f2f2; color: var(--dark); padding:30px 50px 50px; margin-top: 60px; }
.contact_form .form-control { height: auto; padding: 12px 15px; color: #595c5f; }

footer{font-weight:400;font-size:14px}
.footer_wrapper{padding:50px 0;position:relative;color:var(--white);background:var(--dark);}
.footer_wrapper .container {position: relative;}
.footer_wrapper .sec_heading_left{font-weight:600;font-size:24px; margin-bottom: 20px;}
.footer_logo{margin-bottom:20px}
.footer_logo img{max-width:300px}
.bbb_logo {}
ul.footer_list{list-style:none;margin:0;padding:0}
ul.footer_list li{position:relative;display:block;font-size:14px;line-height:20px;color:var(--white);font-weight:400;padding-left:25px;margin-bottom:20px}
ul.footer_list li a{display:block;color:var(--white);-webkit-transition:all 200ms ease;transition:all 200ms ease; text-decoration: none;}
ul.footer_list li a:before{position:absolute;left:0;top:0;font-size:14px;line-height:20px;font-weight:900;content:"\f105";font-family:'FontAwesome';color:var(--primary)}
ul.footer_list li a:hover,ul.footer_list li.current_page_item > a,ul.footer_list li.current-menu-ancestor > a,ul.footer_list li.current-menu-item > a,ul.footer_list li.current-menu-parent > a{color:var(--primary)}

.footer_list2 ul{list-style:none;margin:0;padding:0}
.footer_list2 ul li{position:relative;display:block;font-size:14px;line-height:20px;color:var(--white);font-weight:400;padding-left:25px;margin-bottom:20px}
.footer_list2 ul li a{display:block;color:var(--white);-webkit-transition:all 200ms ease;transition:all 200ms ease; text-decoration: none; }
.footer_list2 ul li a:before{position:absolute;left:0;top:0;font-size:14px;line-height:20px;font-weight:900;content:"\f105";font-family:'FontAwesome';color:var(--primary)}

ul.footer_list li.current_page_item>a,
ul.footer_list li.current-menu-ancestor>a,
ul.footer_list li.current-menu-item>a,
ul.footer_list li.current-menu-parent>a{color:var(--primary)}

.footer_list2 ul li>ul{position:absolute;left:0;top:100%;z-index:999;min-width:220px;white-space:nowrap}
.footer_list2 ul ul li.active ul li a{color:#434446;background:#e4f1f5}
.footer_list2 ul li>ul li{background:var(--primary); border-bottom:1px solid rgba(0,0,0,0.09);display:block;position:relative;margin:0;text-align:left; padding-left: 0;}
.footer_list2 ul li>ul li:hover{background:var(--primary);border-bottom:1px solid rgba(0,0,0,0.09)}
.footer_list2 ul li>ul li a{color:#333;font-size:14px;padding:10px 15px;border-right:0; color: var(--white); padding-left: 35px;}
.footer_list2 ul li>ul li a:before {color: var(--white); left: 12px; top: 10px;}
.footer_list2 ul li>ul li a:hover,.footer_list2 ul li ul li.current_page_item>a,.footer_list2 ul li ul li.current-menu-ancestor>a,.footer_list2 ul li ul li.current-menu-item>a,.footer_list2 ul li ul li.current-menu-parent>a{color:var(--primary);background:var(--white);text-decoration:none}
.footer_list2 ul li>ul li a:hover:before,
.footer_list2 ul li.current_page_item>a:before,
.footer_list2 ul li.current-menu-ancestor>a:before,
.footer_list2 ul li.current-menu-item>a:before,
.footer_list2 ul li.current-menu-parent>a:before {color:var(--primary);}

.footer_list2 ul li>ul>li>ul{position:absolute;left:100%;top:0;transition:all linear .2s 0;-webkit-transition:all linear .2s 0;visibility:hidden;opacity:0}
.footer_list2 ul li>ul>li:hover>ul{visibility:visible;opacity:1;display:block}
.footer_list2 ul li>ul{transition:all linear .2s 0;-webkit-transition:all linear .2s 0;visibility:hidden;opacity:0}
.footer_list2 ul li:hover>ul{visibility:visible;opacity:1}

ul.contact_info_list{list-style:none;padding:0;margin:0;margin-bottom:20px}
ul.contact_info_list li{position:relative;line-height:1.8;padding:2px 0;padding-left:25px;color:var(--white);margin-bottom:15px; font-size:14px;}
ul.contact_info_list li a{display:block;color:var(--white);font-weight:400; text-decoration: none;}
ul.contact_info_list li i{position:absolute;left:0;top:8px}
ul.contact_info_list li a:hover{color:var(--primary);text-decoration:none}
.footer_text {color: var(--white); margin-bottom: 18px;}

.footer_social{margin-top:20px}
.footer_social ul{list-style:none;margin:0;padding:0}
.footer_social ul li{display:inline-block;margin-right:5px}
.footer_social ul li a {text-decoration:none;}
.footer_social ul li a i{font-size:14px;width:40px;height:40px;line-height:40px;text-align:center;-webkit-border-radius:100%;border-radius:100%;display:block;color:#000;background:var(--white)}
.footer_social ul li a:hover{text-decoration:none;color:var(--white)}
.footer_social ul li a:hover i{text-decoration:none!important;outline:0!important;border:0!important;color:var(--white)}
.footer_social ul li a:hover i.fa-facebook{background:#2e4473}
.footer_social ul li a:hover i.fa-twitter{background:#3acaff}
.footer_social ul li a:hover i.fa-instagram{background-image: linear-gradient(to right top, #f423b8, #d824a4, #bd2491, #a3237e, #89216b);}
.footer_social ul li a:hover i.fa-tumblr{background:#314358}
.footer_social ul li a:hover i.fa-pinterest-p{background:#e60018}
.footer_social ul li a:hover i.fa-youtube{background:#e60018}
.footer_social ul li a:hover i.fa-linkedin{background:#0074af}
.footer_social ul li a:hover i.fa-envelope{background:#acd373}
.footer_social ul li a:hover i.fa-stumbleupon{background:#eb4924}
.footer_social ul li a:hover i.fa-whatsapp{background:#2e943a}
.footer_social ul li a:hover i.fa-google-plus{background:#DA3518}
.contact_info i.fa{margin-right:10px}
.contact_info a{color:var(--white)}
.contact_info a:hover{color:var(--primary)}
.copyright_bar{padding-top:30px;color:var(--white);text-align:center;font-size:14px;  }
.copyright_bar p{margin:0}

.inner_section {padding-top: 230px; min-height: 700px;}
.inner_header .logo { max-width: 400px;}

header.inner_header.sticky .logo {max-width: 500px;}

.wpcf7-not-valid-tip { display:none;}
.wpcf7-not-valid { border:1px solid #F00 !important;}
.wpcf7-checkbox.wpcf7-not-valid { border:none !important;}
.wpcf7-checkbox.wpcf7-not-valid input[type=checkbox] { outline:1px solid #F00;}
.wpcf7-list-item { margin:0 15px 0 0;}
.wpcf7 form .wpcf7-response-output { margin:10px 0; padding:8px 12px 10px 12px; border:none !important;}
.wpcf7 form.invalid .wpcf7-response-output { background:#ffc107; color:#fff;}
.wpcf7 form.sent .wpcf7-response-output { background:#28a745; color:#fff;}
.captcha-image { border:1px solid #dee2e6 !important;}



.loader_logo_wrapper {position: absolute; left:50%; top:50%; -webkit-transform:translate(-50%,-50%) scale(0.85); transform:translate(-50%,-50%) scale(0.85); display: inline-block; text-align: center;}
.logo_up, .logo_down {z-index: 9; width: auto; position: absolute; left: 50%; transform: translateX(-50%); top:-200px; display: inline-block; }
.logo_up { -webkit-animation: logoup 2s 1 forwards; animation: logoup 2s 1 forwards; animation-delay: 0.5s;}
.logo_down {top:200px; margin-left: -5px; margin-top:4px; display: inline-block; -webkit-animation: logodown 2s 1 forwards; animation: logodown 2s 1 forwards; animation-delay: 0.5s;}
.logo_up svg {height:70px; width: auto; }
.logo_down svg {height:93px; width: auto; }
.logo_text {position: relative; display: inline-block; width: auto; padding-left:63px;}
.logo_overlay {background-color: #1f2a2a; position: absolute; left:0; top:-12px; bottom:-12px; width: 100%; -webkit-animation: logooverlay 2s 1 forwards; animation: logooverlay 2s 1 forwards; animation-delay: 0.5s;
z-index: 1;}
.logo_text img {height:81px; top:-10px; margin-left:5px; position: relative; z-index:0;}
@keyframes logoup {
  0%   {left:50%; top:-200px; opacity: 0;}
  45%   {left:50%; top:0; opacity:0.5;}
  70%  {left:50%; top:0px; opacity: 1;}
  100%  {left:0; top:0; opacity: 1;}
}
@keyframes logodown {
  0%   {left:51%; top:200px; opacity: 0;}
  45%   {left:51%; top:-15px; opacity: 0.5;}
  70%  {left:51%; top:-15px; opacity: 1;}
  100%  {left:5px; top:-15px; opacity: 1;}
}
@keyframes logooverlay {
  0%   {left:0; width: 100%;}
  70%  {left:0; width: 100%;}
  100%  {left:0; width: 0%;}
}

@media (max-width:575px) {
  .loader_logo_wrapper {-webkit-transform:translate(-50%,-50%) scale(1); transform:translate(-50%,-50%) scale(1);}
  .logo_text {position: relative; display: inline-block; width:auto;  padding-left:40px;}
  .logo_up svg {height:40px; width: auto; }
  .logo_down {margin-left: -3.5px; margin-top: 3px;}
  .logo_down svg {height:54px; width: auto; }
  .logo_text {position: relative;}
  .logo_text img {height:46px;top:-6px; margin-left:2px;}
  @keyframes logoup {
    0%   {left:50%; top:-200px; opacity: 0;}
    45%   {left:50%; top:0; opacity:0.5;}
    70%  {left:50%; top:0px; opacity: 1;}
    100%  {left:0; top:0; opacity: 1;}
  }
  @keyframes logodown {
    0%   {left:51%; top:200px; opacity: 0;}
    45%   {left:51%; top:-15px; opacity: 0.5;}
    70%  {left:51%; top:-10px; opacity: 1;}
    100%  {left:3px; top:-10px; opacity: 1;}
  }
  @keyframes logooverlay {
    0%   {left:0; width: 100%;}
    70%  {left:0; width: 100%;}
    100%  {left:0; width: 0%;}
  }
}

.contact_form_left { background: #f2f2f2; color: var(--dark); padding:30px 50px 20px;}
.contact_form_left .form-control { height: auto; padding: 12px 15px;  color: #595c5f; }
.contact_information {padding-left: 50px;}
.contact_form_left .captcha-image { background-color: #fff;}
.contact_information a { color: #000;}
.contact_information ul {list-style: none; margin: 0; padding: 0;}

.contact_information ul li{position:relative;line-height:1.8;padding-left:25px;color:var(--dark);margin-bottom:15px; }
.contact_information ul li a{display:block;color:var(--dark);font-weight:400; text-decoration: none;}
.contact_information ul li i{position:absolute;left:0;top:8px}
.contact_information ul li a:hover{color:var(--primary);text-decoration:none}
.about_col_text p {font-size: 18px;; font-weight: 400;}
.info_dark { padding: 50px 0; position: relative; color: var(--white); background: var(--dark); text-align: center; overflow: hidden;}
.info_dark p {font-size: 18px; font-weight: 300;}
.team_info{}
.team_info img {margin-bottom: 25px;}
.team_info h5 { font-size: 20px; font-weight: 600; margin-bottom: 15px; font-family: 'Sofia Pro';}
.team_info p {font-size: 20px; font-weight: 300;}
.team_info h3 {font-size: 15px; font-weight: 600;font-family: 'Sofia Pro';} 
.team_info h3 a {text-transform: uppercase; text-decoration: underline; color: var(--black);}
.team_info_top { margin-top: 100px;}
.team_info_block article{margin-top: 40px;}
.inner_project {min-height: 0;}

.gallary_block {position: relative; overflow: hidden;}
.gallary_block .gallery-overlay2 { position: absolute; top: 0; left: 0; width: 100%; height: 100%; transition: opacity ease 200ms;  z-index: 9;  background: var(--white); opacity: 0;}
.gallary_block:hover .gallery-overlay2{ opacity: .4;}

.gallery_wrapper article{margin-top: 80px;}

.gallery_wrapper article .row> [class*="col-"]:first-child .gallary_block img {height: 455px; object-fit: cover; width:100%;}
.gallery_wrapper article .row> [class*="col-"]:last-child .gallary_block img {height: 581px; object-fit: cover; width:100%;}
.gallery_wrapper article:nth-child(even) .row> [class*="col-"]:first-child .gallary_block img {height: 581px; object-fit: cover; width:100%;}
.gallery_wrapper article:nth-child(even) .row> [class*="col-"]:last-child .gallary_block img {height: 455px; object-fit: cover; width:100%;}

.team_info_block article .row> [class*="col-"]:first-child .team_info img {height: 366px; object-fit: cover;}
.team_info_block article .row> [class*="col-"]:last-child .team_info img {height: 366px; object-fit: cover;}
.team_info_block article:nth-child(even) .row> [class*="col-"]:first-child .team_info img {height: 366px; object-fit: cover;}
.team_info_block article:nth-child(even) .row> [class*="col-"]:last-child .team_info img {height: 366px; object-fit: cover;}

.grecaptcha-badge { z-index:1;}

.blog_heading a { color:var(--black); text-decoration:none;}
.blog_heading a:hover { color:var(--primary); text-decoration:none;}
.blog_date { font-size:16px; margin-bottom:5px;}
.blog_thumb img {object-fit: cover; height: 498px;}

.post-stats { margin-bottom: 10px; overflow: hidden;}
.post-stats div { float: left;}
.post-stats div, .post-stats span { font-size: 16px;  margin-right: 8px;}
.post-stats i.fa { font-size: 16px; margin-right:5px;}

.tags_list{margin-bottom:10px;}
.tags_list i{margin-right:5px;}
.tags_list a{word-break:break-word;white-space:normal;display:inline-block;padding:4px 8px;margin:0 8px 8px 0;font-size:12px;color:#000;border:1px solid #666;border-radius:4px;text-decoration:none;}
.tags_list a:hover{background:var(--primary);border-color:var(--primary);color:#fff;}
.tagcloud a{word-break:break-word;white-space:normal;display:inline-block;padding:4px 8px;margin:0 8px 8px 0;font-size:12px!important;color:#000;border:1px solid #666;border-radius:4px;text-decoration:none;}
.tagcloud a:hover{background:var(--primary);border-color:var(--primary);color:#fff;}

.comment_sec { margin-top:20px;}
.comment_sec ol.commentlist { list-style:none; margin:0 0 30px 0; padding:0;}
.comment_sec ol.commentlist li { margin:0 0 20px 0; position:relative;}
.comment_sec ol.commentlist li .comment-body { border:1px solid #ddd; padding:20px 20px 20px 60px;}
.comment_sec ol.commentlist li .comment-body .comment-meta { font-size:0.83em; float:left; margin:0 0 0 5px; color:#777; line-height:1;}
.comment_sec ol.commentlist li .comment-body .comment-author { float:left; font-size:12px; font-weight:700; margin:0 0 5px; color:#777; line-height:1;}
.comment_sec ol.commentlist li .comment-body .comment-author img { float:left; position:absolute; top:20px; left:15px; width:32px; height:auto; background:none; border:1px solid #e4e1e3;}
.comment_sec ol.commentlist li .comment-body .comment-author cite { font-style:normal;}
.comment_sec ol.commentlist li .comment-body p { clear:both;}
.comment_sec ol.commentlist li .comment-body .reply a { text-decoration:underline;}
.comment_sec ol.commentlist ul.children { list-style:none; margin:20px 0 0 0;}

.sidebar .widget { margin-bottom:30px;}
.sidebar ul { list-style:none; margin:0; padding:0;}
.sidebar ul li { border-bottom:1px dotted #ddd;}
.sidebar ul li:last-child { border-bottom:0;}
.sidebar ul li a { color:#000; display:block; padding:8px 5px 8px 20px; position:relative; text-decoration:none;}
.sidebar ul li a:before { content:"\f105"; font-family:'FontAwesome'; position:absolute; left:8px; top:7px;}
.sidebar ul li a:hover, .sidebar ul li.is-active a { background:var(--primary); color:#fff; text-decoration:none;}

.custom_pagination,.woocommerce-pagination{text-align:center; margin-top:30px;}
.page-numbers{display:inline-block;padding:0;margin:0}
.page-numbers>li{display:inline}
.page-numbers>li>a,.page-numbers>li>span{position:relative;float:left;padding:5px 15px;font-size:14px;margin-left:-1px;line-height:1.42857143;color:#333;text-decoration:none;background-color:#fff;border:1px solid #ddd}
.page-numbers>li:first-child>a,.page-numbers>li:first-child>span{border-top-left-radius:4px;border-bottom-left-radius:4px}
.page-numbers>li:last-child>a,.page-numbers>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}
.page-numbers>li>a:hover,.page-numbers>li>span:hover,.page-numbers>li>a:focus,.page-numbers>li>span:focus{color:var(--primary);background-color:#eee;border-color:#ddd}
.page-numbers>.active>a,.page-numbers>.active>span,.page-numbers>.active>a:hover,.page-numbers>.active>span:hover,.page-numbers>.active>a:focus,.page-numbers>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:var(--primary);border-color:var(--primary)}
.page-numbers .current,.page-numbers .current:hover{z-index:2;color:#fff;cursor:default;background-color:var(--primary);border-color:var(--primary)}
.page-numbers>.disabled>span,.page-numbers>.disabled>span:hover,.page-numbers>.disabled>span:focus,.page-numbers>.disabled>a,.page-numbers>.disabled>a:hover,.page-numbers>.disabled>a:focus{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}    
/* ===== Custom FAQ Accordion with Toggle + Smooth Animation ===== */
.myfaq-accordion {
  --faq-bg: #ffffff;
  --faq-border: #e5e7eb;
  --faq-text: #111827;
  --faq-muted: #6b7280;

  max-width: 99%;
  margin: 2rem auto;
  color: var(--faq-text);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.myfaq-item {
  background: #f9f9f9;
  border: 1px solid var(--faq-border);
  margin: 0.5rem 0;
  padding: 0.25rem 0.75rem;
  box-shadow: 0 1px 0 rgba(0,0,0,.02);
  position: relative;
  overflow: hidden;
}

/* hide checkbox */
.myfaq-checkbox {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.myfaq-question {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-weight: 300;
  line-height: 1.4;
  padding: 1rem;              /* give it a hit area */
  cursor: pointer;
  user-select: none;
  text-transform: uppercase;
  width: 100%;                /* stretch full width */
  box-sizing: border-box;     /* keep padding consistent */
}
.myfaq-question:hover {
  background-color: #f1f1f1;
}

.myfaq-question:focus-visible {
  outline: 2px dashed #3b82f6;
  outline-offset: 4px;
  border-radius: 10px;
}

/* plus/minus */
.myfaq-question::before {
  content: "+";
  display: inline-block;
  width: 1.25rem;
  min-width: 1.25rem;
  text-align: center;
  font-size: 1.25rem;
  line-height: 1;
  transition: transform .2s ease;
  aria-hidden: true;
}

.myfaq-answer {
  max-height: 0;
  overflow: hidden;
  padding: 0 0.25rem;
  color: var(--faq-muted);
  opacity: 0;
  transition: max-height .4s ease, opacity .3s ease, padding .3s ease;
}

.myfaq-checkbox:checked + label.myfaq-question::before {
  content: "−";
}

.myfaq-checkbox:checked ~ .myfaq-answer {
  max-height: 400px; /* big enough for typical content */
  opacity: 1;
  padding: 1.75rem 1.25rem;
}

.myfaq-answer p {
  margin: 0.5rem 0 1rem;
  border-top: 1px dashed var(--faq-border);
  padding-top: 0.75rem;
}

/* === Accordion behavior: only one open at a time === */
.myfaq-accordion .myfaq-checkbox:checked ~ .myfaq-answer {
  max-height: 400px;
  background-color: var(--faq-bg);
}

.myfaq-accordion .myfaq-item:not(:has(.myfaq-checkbox:checked)) .myfaq-answer {
  max-height: 0;
  opacity: 0;
  padding: 0 0.25rem;
}