/*
Theme Name: Jen Hill
Author: EFishinsea Web Development
Author URI: https://efishinsea.com/?jenhill
Description: This is a child theme for The7 built for Jen-Hill Construction Materials
Version: 1.0.0
Template: dt-the7
*/

/* standard html elements */
html {
  scroll-behavior: smooth;
}

body,a,p,h1,h2,h3,h4,h5,h6,li,input, .menu-text {

}

* {
	box-sizing: border-box;
}

a, a:visited{
	color: #2aafb1;
	text-decoration:none;
}
a:hover,  a:active  {
	color: #89E4FF;
	text-decoration:none;
}


.all-products {
    position: relative;
    padding-left: 24px; /* space for the arrow */
    display: inline-block;
    text-decoration: none;
    color:#202E45 !important;
    font-size: inherit; /* keep the text size unchanged */
}

.all-products::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;  /* arrow width */
    height: 12px; /* arrow height */
    background-image: url('data:image/svg+xml;utf8,<svg width="16" height="8" viewBox="0 0 9 6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 0L0 3L6 6M3.5 3H9" stroke="%23202E45" stroke-width="1"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.all-products:hover {
	color:#89E4FF !important;
}
.all-products:hover::before {
	background-image: url('data:image/svg+xml;utf8,<svg width="16" height="8" viewBox="0 0 9 6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 0L0 3L6 6M3.5 3H9" stroke="%2389E4FF" stroke-width="1"/></svg>');
}

/* handle 404 pages */

body.error404 {
	height: 100%;
}

body.error404 {
	min-height: 100vh;
	background:	linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.3)),url('images/bg/bg-404.jpg');
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

body.error404 .masthead.shadow-decoration:not(.side-header-menu-icon):not(#phantom):not(.masthead-mobile-header) {
  box-shadow: none !important;
}
body.error404.transparent .masthead:not(.side-header):not(.sticky-on) ,
body.error404 .masthead:not(.mixed-header),
.error404 .page-title,
body.error404  #page {
  background: transparent !important;
}
.error404 .page-title-head,
.error404 .custom-global-footer-wrapper {
	 display:none;
}

.error404 .page-title.solid-bg.bg-img-enabled{
	background: transparent !important;
}

.error404  .page-title.overlay-bg::after{
  background: rgba(0,0,0,0.0) !important;
}


body.error404 .content {

}
body.error404 h1,
body.error404 .post {
	color:#fff !important;
	text-shadow: 0 0 4px #000;
}




.vc_row.inner-wrap {
	max-width:1500px;
	margin: 0 auto;
}

p {
  margin-bottom: 25px;
  line-height: 28px;
}

/* list heights */
.content ul {
  margin: -5px 0 15px 40px;
}
.content ul ul,
.content ul ul ul {
  margin-top:5px;
}
.content .standard-arrow ul {
  margin-top:-15px;
}

.content ul li {
  margin-bottom:5px;
}
.double-height-list li {
  margin-bottom: 10px;
}


.rtl {
 direction: rtl;
}
.clear {
    clear:both;
}

hr {
    border: none;
    height: 1px;
    /* Set the hr color */
    color: #D2AF51;
    background-color: #D2AF51;
    margin-bottom: 15px;
}

.uppercase,
.uppercase * {
	text-transform:uppercase;
}
.lowercase,
.lowercase * {
	text-transform: lowercase;
}
.capitalize,
.capitalize * {
	text-transform: capitalize;
}

sup.reg {
	font-size: 0.5em;
	top: -20px;
}

/* anchor tags */
a:hover {
	text-decoration:none;
}
.white a {
	font-weight:600;
}


/* header line */
.vc_separator-has-text h4 {
	font-family: "IBM Plex Mono", Helvetica, Arial, Verdana, sans-serif;
	font-size:12px;
	font-weight:600;
}

/* color classes, hovers, shadows  */

.white > *,.white, .white a,.white h1,.white h2,
.white h3,.white h4,.white h5,.white h6,
.footer .textwidget .footer-address a {
	color:#fff;
}
.ltblue h6,.ltblue h5,.ltblue h4,
.ltblue h3,.ltblue h2,.ltblue h1,.ltblue p, .ltblue h6 a {
	color: #89E4FF !important;
}

.shadow {
	text-shadow: 0 0 5px #000;
}
.hover-shadow:hover,
.box-shadow {
	box-shadow: 5px 5px 50px #666;
}

.cursor:hover {
	cursor:pointer;
}

.hover > div:hover {
	opacity:8;
}

.hover.blue-bg > div:hover,
 a.blue-bg.button {
	background-color:#202E45!important;
	border-color:#202E45 !important;
	transition: background-color .7s ease;
}
.hover.green-bg > div:hover,
 a.green-bg.button {
	background-color:#5A7D62!important;
	border-color:#5A7D62 !important;
	transition: background-color .7s ease;
}

.hover-shadow .vc_column-inner:hover {
	box-shadow:5px 5px 10px rgba(0,0,0,.35);
	transition: background-color .7s ease;
}

.hover .fa {
	opacity:.8;
}
.hover .fa:hover {
	opacity:1;
}


/* overlay search topbar widget */
.overlay-search-microwidget.open .searchform.mini-widget-searchform {
	max-width: 85%  !important;
	width: 800px !important;
}
.overlay-search-microwidget.open .searchform-s {
	padding: 12px 12px;
	font-size: 18px;
	line-height: 200%;
	color: #000;
	border-radius: 5px;
	width: 80%;
}
.overlay-search-microwidget input[type="text"] {
	padding: 10px 25px !important;
	font-size: 18px !important;
	width: 800px !important;
	max-width: 100% !important;
	background:#fff !important;
	color:#202E45 !important;
}

.overlay-search-microwidget .search-icon i {
	font-size: 24px !important;
	color:#202E45;
}
.overlay-search-microwidget .search-icon i:hover {
	color:#000;
}



/* Menu stuff */
.phone a .menu-text {
	color: #fff !important;
	font-weight:800 !important;
}
.phone:hover a .menu-text {
	color: #89E4FF !important;
}
.phone:hover .underline {
 	display:none;
 }

/* adjust Secondary Menu */
#primary-menu {
	justify-content: space-between;
}

#primary-menu a .menu-text {
	font-weight:600;
	font-size:18px !important;
}
#primary-menu li.has-children a .menu-text {
	color:#202E45;
}
#primary-menu li.has-children a:hover .menu-text {
	color:#fff  !important;
}

#primary-menu .sub-nav li a .menu-text {
	color:#fff;
}
#primary-menu .sub-nav li a:hover .menu-text {
	color:#89E4FF  !important;
}


.inline-header .branding  {
  margin-top:-60px;
}


#secondary-menu-wrapper {
  margin-bottom: -10px !important;
  margin-top: -25px;
  margin-left:25px;
  width: 82%;
}
@media (max-width: 1342px) {
	#secondary-menu-wrapper {
	  width: 82%;
	}
	.main-nav > li > a {
	  margin: 5px 5px 5px 5px !important;
	}
}
@media (max-width: 1200px) {
	#secondary-menu-wrapper {
	  width: 80%;
	}

}
@media (max-width: 1150px) {
	#secondary-menu-wrapper,
	.secondary-menu {
	  display:none !important;
	}
}
#secondary-mega-menu.main-nav > li {

}

.branding #secondary-menu-wrapper {
    flex: 1 1 auto !important;   /* allow shrinking */
    display: flex !important;    /* normalize */
    justify-content: flex-end !important;
    margin-left: auto !important; /* push it right */
    min-width: 0 !important;      /* prevents overflow pushing it down */
}

#secondary-menu.main-nav > li:not(.act) > a .menu-text {
	color:#fff;
}
#secondary-menu li.act a .menu-text,
#secondary-menu li a:hover .menu-text {
	color: #89E4FF !important;
}


.subfooter-menu,
.my-subfooter-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 20px; /* space between items */
}

/* Remove default link styling */
.subfooter-menu li a,
.my-subfooter-links li a {
    text-decoration: none;
    color: inherit;
    font-size: 12px;
}

/* Optional hover styling */
.subfooter-menu li a:hover {
    opacity: 0.7;
}


.subfooter-menu {
    justify-content: flex-end;
}
@media (max-width: 768px) {
	.subfooter-menu {
	     justify-content: center;
	}
}
.page-title {
  margin-top: 54px;
}
@media (max-width: 1380px) {
	.page-title {
	  margin-top: 80px;
	}
}
@media (max-width: 992px) {
	.page-title {
	  margin-top:0px;
	}
}




/* slide arrow */
.slide-arrow h3 a {
  position: relative;
  display: inline-block;
  padding: 0.6rem 2.4rem 0.6rem 0.8rem; /* space for right-side arrow */
  cursor: pointer;
  line-height: 1.3;
  color: #4f843c;
  text-decoration: none;
}

/* Arrow container */
.slide-arrow h3 a .arrow {
  position: absolute;
  top: 50%;
  right: 0.6rem; /* final resting position */
  width: 1.2em;
  height: 1.2em;
  transform: translateX(-100%) translateY(-50%); /* start off left of final spot */
  opacity: 0;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  color: currentColor;
  transition: transform 0.3s cubic-bezier(.2,.9,.3,1), opacity 0.3s ease;
}

.swap-on-mobile.arrow-box hr {
	margin-right:-30px;
}
/* blog posts */

.single .page-title-head {
	margin-bottom: 1em;
	padding-bottom: 1em;
	border-bottom: 1px solid #ccc;
	display:block;
	width:100%;
}
.page-title h1, #page .page-title .entry-title {
	text-align:left;
}

.fancy-categories a {
  background-color: #fff;
}

.widget_presscore-blog-posts br,
.widget_presscore-blog-posts time,
.single-post .related-item time {
	display:none;
	opacity:0;
	height:0px;
}


@media (max-width: 992px) {
    #top-row {
        top: -533px;
        margin-bottom: -520px
    }
    .single-dt_team   #top-row {
        top: -420px;
        margin-bottom: -425px
    }
}
@media (max-width: 778px) {
    #top-row {
        padding-top: 460px;
    }
   }

@media (max-width: 480px) {


}



/* Custom Button override for black outline accordion */
.vc_tta.vc_general .vc_tta-panel-title {
  margin: 13px 0 13px -20px !important;
}
.vc_tta.vc_general .vc_tta-panel-heading {
	border-right:0px !important;
	border-left:0px !important;
	border-bottom:0px !important;
	border-width:1px !important;
	border-color:#ccc !important
}
.vc_tta.vc_general .vc_tta-panels  {
    border-bottom: 1px solid #ccc !important;
}
.vc_tta.vc_general .vc_tta-panels > .vc_tta-panel.vc_active:last-of-type > .vc_tta-panel-heading {
  border-bottom: 0px solid #ccc !important;
}
.vc_tta-color-black.vc_tta-style-outline .vc_tta-panel .vc_tta-panel-heading:hover {
  background-color: transparent !important;
}
.vc_tta.vc_tta-accordion .vc_tta-panel:hover .vc_tta-controls-icon-position-right .vc_tta-color-black.vc_tta-style-outline .vc_tta-panel-heading:hover .vc_tta-controls-icon::before,
.vc_tta-color-black.vc_tta-style-outline .vc_tta-panel .vc_tta-panel-title > a:hover {
	color:#000 !important;
}
.vc_tta.vc_tta-accordion .vc_tta-panel.vc_active .vc_tta-controls-icon-position-right .vc_tta-controls-icon {
  transform: translateY(-50%) rotate(180deg);
  	color:#000 !important;
}

/* main content area */
#main {
	min-height: 160px !important;
}
#main > .wf-wrap {
	z-index: 3;
}
#main::before {
  /*background-image: url(images/bg/interior-dots.png);*/
  content: '';
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  width: 960px;
  height: 959px;
  pointer-events: none;
  z-index: 3;
}
@media (min-width: 1080px) {
 #main::before  {
    display: block;
  }
}

.branding a img,
.mobile-branding a img  {
	-webkit-transition: -webkit-transform .7s ease;
	transition: transform .7s ease;
}
.sticky-on .branding a img {
/*-webkit-transform: scale(.8);	transform: scale(.8); */
}


/* Products */


/* Case Studies */

.single-jhcm_case_study .page-title,
.single-jhcm_case_study .post-thumbnail {
	display:none;
}
.single-jhcm_case_study .page-title-head {
	margin-bottom: 2em;
	padding-bottom: 2em;
	border-bottom: 1px solid #ccc;
	display:block;
	width:100%;
}


.single-jhcm_case_study .page-title h1,
.single-jhcm_case_study  #page .page-title .entry-title {
	font-size:50px;
	line-height:60px;
	text-align:left !important;
}

/* cs-grid */

/* Parent: make 2 columns equal height + add gap */
#cs-grid .vc_grid-item .vc_grid-item-mini {
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 15px;           /* <-- MOVE GAP HERE */
}

/* Left text column */
#cs-grid .vc_grid-item .vc_gitem-zone-c {
    width: 48%;
     background-color: #202E45; /* solid base color */
	background-image: url('images/bg/bg-bottom-right-dots.png'); /* your transparent PNG */
	background-repeat: no-repeat;
	background-position: bottom right;
    background-size: contain;
}

/* Right animated image column */
#cs-grid .vc_grid-item .vc_gitem-animated-block {
	width: 50%;
	border-radius: 10px;
	background-color: #89E4FF;
	background-image: url('images/bg/panel-placeholder3.jpg'); /* image on top */
	background-repeat: no-repeat;
	background-position: 50% 30%;
	background-size: cover;
}

/* Make the top-right column cell a positioning context */
/* Make the top-right column cell a positioning context */
#cs-grid .vc_gitem-animated-block .vc_col-sm-6.vc_gitem-col:last-child {
    position: relative;
    overflow: visible;
    padding: 0;
}

/* Wrapper positioned in the top-left corner */
#cs-grid .vc_col-sm-6.vc_gitem-col:last-child .case-study-categories-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: row;
    z-index: 10;
    padding: 0;
}

/* Each icon link with spacing */
#cs-grid .case-study-categories-wrapper a {
    background: #2aafb1;
    padding: 7px;
    border-radius:5px 0 4px 4px;
    display: inline-block;
    width: 40px;
    height: 40px;
    text-indent: -9999px; /* hide fallback text */
    position: relative;
    margin-right: 5px;     /* horizontal gap between icons */
}
#cs-grid .case-study-categories-wrapper a:hover {
    background: #89E4FF;
}

/* Remove extra margin on last icon */
#cs-grid .case-study-categories-wrapper a:last-child {
    margin-right: 0;
}

/* Icon images */
#cs-grid .case-study-categories-wrapper a img {
    width: 100%;
    height: 100%;
    display: block;
}


/***********************
   MOBILE BEHAVIOR
************************/
@media (max-width: 768px) {

	#cs-grid .vc_grid-item .vc_grid-item-mini {
		flex-wrap: wrap;
	}

	/* Reverse the order on mobile */
	#cs-grid .vc_grid-item .vc_gitem-zone-c {
		order: 2;   /* text moves BELOW the image */
	}

	#cs-grid .vc_grid-item .vc_gitem-animated-block {
		order: 1;   /* image moves ABOVE the text */
	}

	/* Your existing mobile styles */
	#cs-grid .vc_grid-item .vc_gitem-zone-c,
	#cs-grid .vc_grid-item .vc_gitem-animated-block {
		float: none;
		width: 100% !important;
		gap: 0px;
		margin: 8px 0;
	}
}


/* Quotes */
blockquote:not(.shortcode-blockquote):not(.elementor-blockquote),
blockquote.shortcode-blockquote.block-style-widget,
blockquote {
    position: relative;
    padding-left: 50px;
    font-style: italic;
    color: #333;
    background:#E6E6E6 !important;
    background-color:#E6E6E6 !important;
}

blockquote p {
    margin: 0;
    font-size:26px;
    font-weight:500;
    line-height:1.2;

}

/* Large left quote mark */
blockquote p::before {
    content: "\201C"; /* same as “ */
    position: absolute;
    left: -10px;
	top: -15px;
  	font-size: 8rem;
    line-height: 1;
    color: #5A7D62;
    font-family: Georgia, "Times New Roman", Times, serif;
}
.all-products


/* Theme social icons and items */


/* search results */

.search-results .entry-meta {
  display:none !important;
}
#the7-search {
 color:#323232 !important;
}

.branding .overlay-search .submit i,
.branding .mini-contacts.multipurpose_2 {
  font-size: 16px;
  color: #202E45;
  background: #89E4FF;
  padding: 8px;
  border-radius: 5px;
}

.branding .mini-contacts.multipurpose_2:hover i,
.my-phone-icon:hover .multipurpose_2 i {
	opacity:.8;
}

.branding .mini-contacts.multipurpose_2 {
	padding: 0 10px 0 0px;
	font-size:12px !important;
	color:#202E45 !important;
	font-weight: 500;
 	font-family: 'ibm plex sans',courier;
}

.branding .mini-contacts.multipurpose_2 i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;         /* square icon block */
  height: 32px;
  background: #89E4FF;
  color: #202E45;
  margin-right: 3px;   /* 3px gap */
  font-size: 16px;
  border-right: 2px solid #202E45;
  border-radius: 4px;
}
.main-nav > li a.mini-contacts:hover {
	color:#202E45 !important;
}

@media (max-width: 1380px) {
	.mini-search.show-on-desktop {
		top: 5px !important;
	}
}
@media (max-width: 1280px) {
	.mini-search.show-on-desktop {
		top: 6px !important;
	}
}
@media (max-width: 1150px) {
	.mini-search.show-on-desktop {
		top: 0px !important;
	}
	.mobile-header-bar .mobile-mini-widgets .multipurpose_2 span {
		display:none;
	}
	.mobile-header-bar .mobile-mini-widgets .multipurpose_2 i {
	  color: #fff;
	}
	.mobile-header-bar .mobile-mini-widgets .overlay-search .submit i {
 	  color: #fff;
	}

}

@media (max-width: 312px) {
 .mini-search.show-on-desktop {
    top: 19px !important;
    left: -30px;
  }
 .mobile-header-bar .mobile-mini-widgets .multipurpose_2  {
	top: -18px !important;
	left: -20px
  }
}

.branding .overlay-search .submit i {
	transform: scaleX(-1);
	-webkit-transform: scaleX(-1);
	-moz-transform: scaleX(-1);
	-o-transform: scaleX(-1);
	-ms-filter: "FlipH"; /* IE6-9 */
	filter: FlipH; /* IE6-9 */
}

/* Forms (Contact Form 7) form fields */

.wpcf7-form .lbl {
	color:#fff;
	font-size:14px;
	position: absolute;
  	left: -5000px;
}

label.active,
label:hover {
    color: #48A946;
    cursor: pointer;
}


.wpcf7-response-output .wpcf7-valid-tip-text,
.wpcf7-response-output .wpcf7-not-valid-tip-text {
	font-family:  "acumin-variable", sans-serif !important;
	font-size:16px !important;
	font-weight: 600 !important;
	color:red;
}
#page .wpcf7-response-output.run-animation::before {
	color:red !important;
}

.wpcf7-form .myform.dt-default .wpb_text_column .wpb_wrapper {
	padding:0 5px;
}
@media (min-width: 768px) {
	.wpcf7-form .myform.dt-default .vc_column_container > .vc_column-inner{
		padding-left:0;
		padding-right:0;
	}
}

.wpcf7-form .wpb_content_element {
	margin-bottom:15px;
}
.wpcf7-form  textarea {
    height:125px;
    width:100%;
}

.wpcf7-form input[type=text],
.wpcf7-form input[type=tel],
.wpcf7-form input[type=email],
.wpcf7-form select,
.wpcf7-form textarea {
	border: 1px solid #4f843c;
	font-size: 16px;
	color:#323232;
}


.wpcf7-form input[type=text]:active,
.wpcf7-form input[type=text]:focus,
.wpcf7-form input[type=tel]:active,
.wpcf7-form input[type=tel]:focus,
.wpcf7-form input[type=email]:active,
.wpcf7-form input[type=email]:focus,
.wpcf7-form textarea:active,
.wpcf7-form textarea:focus {
	border: 1px solid #4f843c;
	background-color:#E1EBF4;
	color:#323232;
	font-size:14px;
}

input.wpcf7-not-valid,
.wpcf7-form select.wpcf7-not-valid,
textarea.wpcf7-validates-as-required.wpcf7-not-valid {
  border-color: #f55b5f;
  box-shadow: inset 0px 0px 15px rgba(255,0,0,0.2);
  margin-bottom:0px !important;
}

.searchform ::-ms-input-placeholder,
.wpcf7-form ::-ms-input-placeholder { /* Edge 12-18 */
  color:#202E45;
}

.field searchform-s::placeholder,
.wpcf7-form  ::placeholder {
  color:#202E45 !important;
}


/* Base button styles */

/* wf theme button override * and JS */
/* Turn Formidable submit button into NT layout * uses some JS too */
a.button,
.frm_button_submit.frm_final_submit {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    height: auto !important;
    line-height: normal !important;

    /* Match NT button */
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-start;
    cursor: pointer;

    /* Optional: remove browser button styles */
    appearance: none;
    -webkit-appearance: none;
}
/* Arrow block */
a.button .button-arrow,
.frm_button_submit.frm_final_submit .button-arrow {
    border: 1px solid #202E45;
    background-color: #202E45;
    width: 45px;
    height: 45px;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    margin-right:1px;
}

/* Text block */
a.button .button-text,
.frm_button_submit.frm_final_submit .button-text {
    border: 1px solid #202E45;
    background-color: #202E45;
    border-left: none; /* so border doesn’t double */
    height: 45px;
    display: flex;
    align-items: center;
    padding: 0 20px;
    border-radius: 4px;
    color: #89E4FF;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-size: .8rem;
	line-height: 1.2;
	font-weight: 600;
	font-family: 'IBM Plex Mono', courier,sans-serif;
}
a.button svg path,
.frm_button_submit.frm_final_submit svg path {
    stroke: #89E4FF;
}

.frm_submit {
    text-align: left !important;
}
a.button:hover,
.frm_submit:hover {
	opacity:.8;
}

.vc_btn3.vc_btn3-color-blue,
.vc_btn3.vc_btn3-color-blue.vc_btn3-style-flat {
    border: 1px solid #202E45 !important;
    background-color: #202E45 !important;
    padding: 16px 30px 16px 40px !important;;
    border-radius: 4px;
    color: #89E4FF;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-size: .8rem;
	line-height: 1.2;
	font-weight: 600;
	font-family: 'IBM Plex Mono', courier,sans-serif;
 }


a.button:hover .button-text_string {
	color:#89E4FF !important;
}

.vc_btn3.vc_btn3-color-blue:hover,
.vc_btn3.vc_btn3-color-blue.vc_btn3-style-flat:hover {
	opacity:.8;
}

a.nt-styled.green .button-arrow,
a.nt-styled.green .button-text,
.nt_button.green .button-arrow,
.nt_button.green .button-text {
	border: 1px solid #81B566;
	background-color:#81B566;
	color:#D1DCCB;
 }

a.nt-styled.green .icon-sm,
.nt_button.green .icon-sm {
  border-color: #D1DCCB;
}
a.nt-styled.green .button-arrow .icon-arrow_wrap svg path {
  stroke: #172D20 !important;
}

.nt_button.yellow .button-arrow,
.nt_button.yellow .button-text {
	border: 1px solid#EDE35D;
	background-color:#EDE35D;
	color:#fff;
 }
 .nt_button.yellow .icon-sm,
 .nt_button.yellow .button-text .button-text_string {
   border-color: #EDE35D;
   color: #172D20;
 }



.nt_button.black .button-arrow,
.nt_button.black .button-text {
  border: 1px solid #202E45;
  background-color:#202E45;
   color:#fff;
 }
.nt_button.black .icon-sm,
.nt_button.red .icon-sm {
  border-color: #fff;
}



/* Hero Slider */
#hero-slides {
    transition: height 0.5s ease;
}


#hero-slides .slide {
	position: relative !important;
}

#hero-slides .slide-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 1;
	pointer-events: none;
	width: 100% !important;
}

/* Keep content above overlay */
#hero-slides .slide > *:not(.slide-overlay) {
	position: relative;
	z-index: 2;
}


#hero-slides .slide div  {
    max-width:100%;
    width:1450px;
    margin:0 auto;
}

#hero-slides .slick-prev {
  left: 40px !important;
}
#hero-slides .slick-next {
  right: 40px !important;
}

#hero-slides ul.slick-dots {
    position: absolute;
    bottom: 40%;
    right: 15%;
    z-index: 20;
    width: auto !important;
    text-align: right !important;
    display: flex !important;
    justify-content: flex-end;
    gap: 10px;
}
#hero-slides .slick-dots li {
  margin: 0 10px;
  line-height: 0;
}

@media screen and (max-width: 768px) {
	#hero-slides ul.slick-dots {
	    bottom: 20% !important;
	}
}

.slick-dots li .ultsl-stop::before {
	content: "";
	display: inline-block;

	width: 40px;        /* length of the dash */
	height: 8px;        /* thickness */
	border-radius: 25px;

	background-color: #EDE35D;

	vertical-align: middle;
}



/* Custom NexTerra style button */

.nt_button_wrap {
	margin:10px auto;
	text-align:center;
}
.nt_button_wrap.left .nt_button {
	margin:10px auto 10px 0;
	text-align:left;
}

.nt_button_wrap.right .nt_button {
	margin:10px 0 10px auto;
	text-align:right;
}

.clickable .nt_button_wrap {
	padding:0px 15px;
}

.nt_button {
  grid-column-gap: 1px;
  grid-row-gap: 1px;
  color:#89E4FF;
  flex: none;
  justify-content: flex-start;
  align-items: center;
  transition: all .2s cubic-bezier(.215, .61, .355, 1);
  display: inline-flex;
  position: relative;
}

.nt_button:hover {
	opacity:.8;
}

.button-arrow {
  grid-column-gap: 0px;
  border-radius: 4px;
  flex: 0 auto;
  justify-content: center;
  align-items: center;
  width: 46px;
  height: 46px;
  padding: 10px;
  text-decoration: none;
  transition: all .2s;
  display: flex;
}
.icon-arrow_wrap {
  justify-content: center;
  align-items: center;
  display: flex;
  overflow: hidden;
}
.icon-sm {
  border-style: solid;
  border-width: 0;
  object-fit: cover;
  border-color: transparent;;
  width: 12px;
  height: auto;
}
.nt_button .button-arrow,
.nt_button .button-text {
  border: 1px solid #89E4FF;
  background-color:#89E4FF;
  color: #89E4FF;
 }
 .nt_button .button-text {
  cursor: pointer;
  border-radius: 4px;
  flex: 0 auto;
  justify-content: center;
  align-items: center;
  height: 45px;
  padding-left: 16px;
  padding-right: 16px;
  text-decoration: none;
  transition: all .2s;
  display: flex;
}


.button-text_string {
  letter-spacing: 1px;
  text-transform: uppercase;
  color: inherit;
  font-size: .8rem;
  line-height: 1.2;
  font-weight: 600;
  font-family: 'IBM Plex Mono', courier,sans-serif;
}

.nt_button.green .button-arrow,
.nt_button.green .button-text {
  border: 1px solid #7FF74B;
  background-color:#7FF74B;
   color:#202E45;
 }
.nt_button.green .icon-sm {
  border-color: #7FF74B;
}


.nt_button.red .button-arrow,
.nt_button.red .button-text {
  border: 1px solid #ff0000;
  background-color:#ff0000;
   color:#fff;
 }
.nt_button.black .button-arrow,
.nt_button.black .button-text {
  border: 1px solid #000;
  background-color:#000;
   color:#fff;
 }

.nt_button.black .icon-sm,
.nt_button.red .icon-sm {
  border-color: #fff;
}

 .nt_button.blue .button-arrow,
 .nt_button.blue .button-text {
   border: 1px solid #202E45;
   background-color:#202E45;
    color:#89E4FF;
 }
 .nt_button.blue .icon-sm {
   border-color: #89E4FF;
 }

/* Hover states */

button.wpcf7-submit.nt-styled {
	border:0px !important;
}

.wpcf7-form input[type="submit"]:not(.nt-styled):hover,
.wpcf7-form-control.wpcf7-submit:not(.nt-styled):hover,
#page .wpcf7-form input[type="submit"]:not(.nt-styled):hover,
.frm_style_formidable-style.with_frm_style .frm_submit button:hover,
.button:not(.nt-styled):hover,
.whitebg .button:hover {
    background: #89E4FF;
    border-color: #89E4FF;
    color: #202E45 !important;
}
.button:not(.nt-styled).light:hover{
    background: #202E45;
    border-color: #202E45;
    color:#89E4FF !important;
}

button.nt-styled:hover {
	background:transparent;
	padding:0px;
}
.wpcf7-submit .nt-btn-inner .button-arrow,
.wpcf7-submit .nt-btn-inner .button-text {
	background-color:#202E45 !important;
	border-color:#202E45 !important;
}
.wpcf7-submit:hover .nt-btn-inner {
	opacity:.7;
}



/* wf theme button override * and JS */
/* =========================================================
   NT BUTTON OVERRIDE (WF + Microwidget + Formidable)
   Requires .nt-styled on the outer element
   ========================================================= */
/* ---------------------------------------------------------
   Neutralize The7 pseudo-elements that add background/border
--------------------------------------------------------- */
a.nt-styled::before,
a.nt-styled.microwidget-btn-bg-on::before,
a.nt-styled.border-on::before {
    content: "" !important;          /* empty pseudo-element */
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}
.header-elements-button-1.hover-border-on::after {
  box-shadow: inset 0px 0px 0px 1px #9ca091;
  background: transparent !important;
}

/* ---------------------------------------------------------
   Outer button wrapper
--------------------------------------------------------- */
a.button.nt-styled,
a.microwidget-btn.nt-styled,
button.frm_button_submit.frm_final_submit.nt-styled {
    background: transparent !important;  /* remove container background */
    border: none !important;             /* remove container border */
    padding: 0 !important;
    display: inline-flex !important;
    align-items: stretch;
    position: relative;                  /* for z-index stacking */
    appearance: none;
    -webkit-appearance: none;
}

/* ---------------------------------------------------------
   Inner wrapper: flex container for arrow + text
--------------------------------------------------------- */
.nt-btn-inner {
    display: inline-flex;
    align-items: stretch;
    position: relative;
}

/* ---------------------------------------------------------
   LEFT ARROW BLOCK
--------------------------------------------------------- */
.button-arrow {
    width: 45px;
    height: 45px;
    background-color: #EDE35D;
    border: 1px solid #EDE35D;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    margin-right: 2px;
    box-sizing: border-box;

    z-index: 0;                 /* behind text if overlapping */
    transform: translateZ(0);
    backface-visibility: hidden;
}

.icon-arrow_wrap svg path {
    stroke: #89E4FF;
}

.nt_button.black .icon-arrow_wrap svg path,
.nt_button.red .icon-arrow_wrap svg path {
    stroke: #fff;
}
.nt_button.green .icon-arrow_wrap svg path {
    stroke: #202E45;
}


/* ---------------------------------------------------------
   RIGHT TEXT BLOCK
--------------------------------------------------------- */
.button-text {
    display: flex;
    align-items: center;
    height: 45px;
    padding: 0 20px;
    background-color: #EDE35D;
    border: 1px solid #EDE35D;
    border-radius: 4px;
    box-sizing: border-box;
    overflow: visible;
    z-index: 1;                  /* text above arrow */
}


.dt-mobile-header .mobile-mini-widgets-in-menu > * {
	margin: 5px 5px 5px 0
}



/* White button variant */
.button.white {
    color: #fff !important;
}

.button.white:hover {
    color: #202E45 !important;
}


.center-btn {
    margin: 0 auto 0 auto !important;
	width: 200px;
}

/* FOOTER */

.copyright,
.sub-footer-links a {
	font-size:12px;
	color:#fff;
}
.sub-footer-links a:hover {
	color:#89E4FF;
}

/* Custom Global Footer */

.custom-global-footer-wrapper {
    position: relative !important;
    width: 100vw !important; /* full viewport width */
    left: 0 !important; /* reset offsets */
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
}

.custom-global-footer-wrapper .vc_row, .custom-global-footer-wrapper .wpb_row {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    left:unset !important;
}


.custom-global-footer-wrapper .vc_column-inner > .wpb_wrapper {
    max-width: 1300px ;
    margin: 0 auto;
}
@media (min-width: 768px) {
	.custom-global-footer-wrapper .vc_column-inner > .wpb_wrapper {
		max-width: 1300px;
		margin: 0 auto;
		padding-left: 35px;
		padding-right: 35px;
	}
	.custom-global-footer-wrapper .lower-table .vc_column-inner > .wpb_wrapper {
		padding-left: 0px;
		padding-right: 0px;
	}
}
@media (max-width: 991px) {
  .lower-table {
    display: flex !important;
    flex-wrap: wrap;
  }

  .lower-table > .wpb_column {
    width: 33% !important;
  }

  .lower-table > .wpb_column:nth-child(1) {  width: 100% !important; order: 1; } /* A */
  .lower-table > .wpb_column:nth-child(2) { order: 1; } /* B */
  .lower-table > .wpb_column:nth-child(3) {order: 3 } /* C */
  .lower-table > .wpb_column:nth-child(4) { order: 3; } /* D */
}
@media (max-width: 600px) {
  .lower-table > .wpb_column {
    width: 100% !important;
  }
}


.custom-global-footer-wrapper .upb_row_bg {
	box-shadow: 0 -20px 90px -10px rgba(0, 0, 0, 0.25);
}

.custom-global-footer-wrapper .dt-shortcode-soc-icons a.single-soc-icon-ef2d3e382c0484b7833de7b5e76a9688 .soc-icon,
.custom-global-footer-wrapper .dt-shortcode-soc-icons a.single-soc-icon-2e896392a6d37aab46ae95d928f3d181 .soc-icon {
	padding-left: 4px !important;
}

.custom-global-footer-wrapper p,
.custom-global-footer-wrapper li a {
	font-size: 14px;
}

.custom-global-footer-wrapper a {
	font-weight: 400;
	text-decoration: none;
	font-family: arial, tahoma, verdana;
}

#the-footer {
	border-top: 0;
	overflow: visible;
	position: relative;
	z-index: 1;
}

.custom-global-footer-wrapper .footer-cta-gap {
	position: relative;
	z-index: 2;
	min-height: 0px;
	height: 0px;
	background:#E6E6E6;
	padding-top: 150px;
}

.custom-global-footer-wrapper .footer-cta {
	background: #fff ;
	background-size:cover;
	background-position:50% 50%;
	background-repeat: no-repeat;
	border-color:#E6E6E6;	position: relative;
	margin-bottom: 50px;
	z-index: 2;
	border-radius: 10px;
	box-shadow: 0 -5px 30px -5px rgba(0, 0, 0, 0.09),
		-5px 0 10px -5px rgba(0, 0, 0, 0.09),
		5px 0 10px -5px rgba(0, 0, 0, 0.09);
}

#the-footer::before {
	position: absolute;
	top: -30px;
	left: 0;
	width: 100%;
	z-index: 0;
	pointer-events: none;
	content: "";
	display: block;
	height: 300px;
	background: #E6E6E6;
}

.custom-global-footer-wrapper .footer-cta h2 {
	font-size: 4rem;
	line-height: 1.2;
}
@media (max-width: 992px) {
	.custom-global-footer-wrapper .left-then-center {
		text-align:center;
	}
}
@media (max-width: 767px) {

	#the-footer::before {
		background: #202E45;
	}
}
@media (max-width: 580px) {

}
@media (max-width: 360px) {
	.vc_row.wpb_row.lower-table {
		padding-top: 175px !important;
	}
}




/* utility */


.wpb_text_column.callout-line {
	padding-left:2rem;
}

.callout-line-inner {
  width: 24px;
  height: 100%;
  position: absolute;
  inset: 0 auto auto 0;
  left: 30px;
}

.callout-vert {
  background-color: #172D20;
  width: 1px;
  height: 100%;
  position: absolute;
  inset: 0% auto auto 0%;
}

.callout-angle {
  background-color: #172D20;
  transform-origin: 0 100%;
  width: 1px;
  height: 12px;
  position: absolute;
  inset: auto auto 0% 0%;
  transform: rotate(45deg);
}

@media (min-width: 768px) {
	.b-left {
		border-left:1px solid #ccc;
		padding-left:15px;
	}
	.b-right {
		border-right:1px solid #ccc;
		padding-right:15px;
	}
	.b-bottom {
		border-bottom:1px solid #ccc;
		padding-bottom:15px;
	}
	.b-top {
		border-top:1px solid #ccc;
		padding-top:15px;
	}
}

.flip-image img {
    transform: scaleX(-1);
  -webkit-transform: scaleX(-1);
  -moz-transform: scaleX(-1);
  -o-transform: scaleX(-1);
  -ms-filter: "FlipH"; /* IE6-9 */
  filter: FlipH; /* IE6-9 */
}

.wpb_single_image .vc_single_image-wrapper.vc_box_shadow img {
  	box-shadow: 5px 5px 1px #D2AF51;
}

.wpb_single_image.shadow-left .vc_single_image-wrapper.vc_box_shadow img {
  	box-shadow: -5px 5px 1px #D2AF51;
}

.img-center {

}

.text-center  {
	text-align:center;
}
.rotate90 {
      rotate: 90deg;
      display:block;
}
.rotateneg45 {
      rotate: -45deg;
      display:block;
}

.nowrap  {
  word-break: break-word;
}
.hide {display:none;}

.hide-until-break,
.show-on-mobile,
.show-on-med {
	display:none !important;
}

.hide-on-mobile {
	display:block;
}
.hide-on-mobile-inline {
	display:inline-block;
}

.float-right-then-left {
	float:right;
	display:inline-block;
}

.right-then-left,
.right-then-center,
.right-then-center .wpb_single_image.vc_align_center {
	text-align:right;
}
.left-then-right,
.left-then-center {
	text-align:left;
}

.center-content,
.center-then-left,
.center-then-right {
	text-align:center;
}
.swap-on-desktop {
	display: flex !important;
	flex-direction: row-reverse;
}

.show-at-break {
	display:block;
}


.image-spacer {
    height:245px !important;
}
.image-spacer-120 {
    height:120px !important;
}
.image-spacer-380 {
  height: 380px !important;
}
.image-spacer-400 {
  height: 400px !important;
}
.image-spacer-450 {
  height: 450px !important;
}

.main-nav > li > a {
	transition: transform .7s ease;
}

@media (max-width: 1380px) {

}

@media (max-width: 1280px) {

	.btnMenu a {
		top:9px;
		max-height:42px;
	}
}

/* the current mobile menu break*/

@media (max-width: 1080px) {

	.hide-until-break {
		display:block !important;
	}
}

@media (min-width: 768px) {

	.break-early  .vc_col-lg-3 {
		width: 50%;
	}
	.break-two-early  .vc_col-lg-6 {
		width: 100%;
	}
}


@media (min-width: 1400px) {
	.break-two-early  .vc_col-lg-6 {
		width: 50%;
	}
	.show-at-break {
		display:none;
	}
	.pad-right-header {
	     padding-right: 29%;
	  }
	  .pad-left-header {
	     padding-left: 29%;
  }
}
@media (max-width: 1400px) {
	.show-on-med {
		display:block  !important;;
	}
}

@media (min-width: 1624px) {

	.break-early  .vc_col-lg-3 {
		width: 25%;
	}


}

@media (max-width: 980px) {
	.hide-on-mobile-inline {
		display:none;
	}

}

@media screen and (max-width: 768px) {
    .text-over-image {
        left:0;
        z-index:1;
    }
    .text-over-image .vc_column-inner {
        padding:0px !important;
    }
    .text-over-image .overlap-text {
        min-height:200px;
        margin-top: -5px !important;
    }
    .image-under-text {
        right:0;
        z-index:1;
        min-height: 300px;
    }
     .ubtn-small,
     .ubtn-small .ubtn {
      min-width: 145px;
      padding: 15px 6px !important;
    }
	.image-spacer,
	.image-spacer-120,
	.image-spacer-380,
	.image-spacer-400,
	.image-spacer-450 {
		height:175px !important;
	}

	.ubtn-normal.flush-left {
		padding-left: 0px !important;
	}

}
@media (max-width: 767px) {

	.wpcf7-form input,
	.wpcf7-form select,
	.wpcf7-form textarea {
		height: 50px !important;
		font-size: 16px !important;
		line-height: 20px !important;
		font-weight: bold;
	}

	.center-on-mobile {
		text-align:center !important;
	}

	.swap-on-mobile {
		display: flex !important;
		flex-direction: column-reverse;
	}

	.center-then-left,
	.right-then-left {
		text-align:left;
	}

	.center-then-right,
	.left-then-right {
		text-align:right;
	}

	.left-then-center,
	.right-then-center,
	.right-then-center .wpb_single_image.vc_align_center{
		text-align:center;
	}




	.float-right-then-left {
		float:none;
	}

	.show-on-mobile {
		display:block  !important;
	}

	.hide-on-mobile {
		display:none;
	}
	.big-80 {
		width:100%;
	}


}

@media only screen and (max-width: 576px) {
 .pad-mobile {
     padding: 0 15% 0 0;
 }
}


/* NEW GRID */

/* Wrapper around the image */
.ntgrid-wrapper {
  position: relative;
  display: inline-block;
  overflow:hidden;
}

.ntgrid-debug-number {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: clamp(2rem, 10vw, 3rem);
  font-weight: 800;
  color: rgba(255,255,255,0.7);
  pointer-events: none;
}

/* Ensure image scales correctly */
.ntgrid-wrapper img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* The SVG overlay of the grid */
.ntgrid-svg,
.ntgrid-content-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

/* Base grid cell */
.ntgrid-cell {
  position: absolute;
  pointer-events: auto;
  /*overflow: hidden; */
  transition: background-color 0.3s ease;
}

/* Blur-only cells */
.ntgrid-cell.ntgrid-blur-cell::before {
  content: "";
  position: absolute;
  inset: 0;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  pointer-events: none;
  z-index: 1;
  background-color: rgba(255,255,255,0.01); /* tiny alpha triggers blur */
  will-change: backdrop-filter;
  border-radius: 5px; /* match cell corners */
}

/* Content cell */
.ntgrid-sg_cell {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 5px;
  background: rgba(0,0,0,0.3);
  overflow: hidden;
}

/* Container for eyebrow and heading */
.ntgrid-sg_cell_content {
  position: absolute;
  bottom: 10%;
  left: 10px;
  /*
  display: flex;
   flex-direction: column;
  align-items: flex-start;
  */
 text-align: left;

}

/* Eyebrow text */
.ntgrid-text-eyebrow {
	margin: 0;
	font-weight: bold;
	color: white;
	font-family: "IBM Plex Mono", courier, Helvetica, Arial, Verdana, sans-serif;
	font-size:12px;
}

.ntgrid-cell[data-url] {
	cursor:pointer;
}
.ntgrid-cell[data-url]:hover {
	background-color: rgba(0,0,0,0.3);
}

/* Heading text */
.ntgrid-heading-style-h5 {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
  color: white;
  margin: 10px 0 0 0;
  text-align: left;
}
@media screen and (max-width: 768px) {
	.ntgrid-heading-style-h5 {
	  font-size: .6rem;
	}
}

/* Optional icon in top-right */
.ntgrid-sg-cell_icon {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 24px;
  height: 24px;
  color: white;
}

/* Overlay inside content cell for hover/effects if needed */
.ntgrid-sg_cell_overlay {
  position: absolute;
  inset: 0;
}

.ntgrid-cell-ltblue { background-color: rgba(137,239,255,1); }
.ntgrid-cell-green { background-color: rgba(90,125,98,.8); }
.ntgrid-cell-darkblue { background-color: rgba(32,46,69,0.8); }
.ntgrid-cell-yellow { background-color: rgba(235,223,92,0.8); }

/* resize overlay banner to square on mobile */
@media (max-width: 650px) {

    .ntgrid-wrapper {
        width: 100%;
        aspect-ratio: 1 / 1;
        position: relative;
        overflow: hidden;
    }

    .ntgrid-wrapper img {
        width: 100%;
        height: 100% !important;
        aspect-ratio: 1 / 1;
        object-fit: cover;
        object-position: center center;
        display: block;
    }

    .ntgrid-svg,
    .ntgrid-content-overlay {
        position: absolute;
        inset: 0;
    }
}