/*
Theme Name: Ero-Guard
Author: EFishinsea Web Development
Author URI: https://efishinsea.com/?eroguard
Description: This is a child theme for The7 built for Ero-Guard
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: #1E844B;
	text-decoration:none;
}
a:hover,  a:active  {
	color: #1e844b;
	text-decoration:none;
}

ul.col3 {
	margin-top:15px;
	column-count: 3;
}
ul.col2 {
	margin-top:15px;
	column-count: 2;
}


.bg-green {
	background: #1E844B !important;
}
.bg-light-green {
	background: #D1DCCB !important;
}
.bg-gray {
	background: #1e844b !important;
}


/* 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 -{
  margin: -5px 0 15px 40px;
}
.content -ul,
.content ---{
  margin-top:5px;
}
.content .standard-arrow -{
  margin-top:-15px;
}

.content -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;
}
.ltgreen h6,.ltgreen h5,.ltgreen h4,
.ltgreen h3,.ltgreen h2,.ltgreen h1,.ltgreen p, .ltgreen h6 a {
	color: #D1DCCB !important;
}
.green h6,.green h5,.green h4,
.green h3,.green h2,.green h1,.green p, .green h6 a {
	color: #1E844B !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 .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:#312D28 !important;
}


.overlay-search-microwidget .search-icon i {
	font-size: 24px !important;
	color:#312D28 !important;

}
.overlay-search-microwidget .search-icon i:hover {
	color:#1E844B !important;
}

.overlay-search .submit i,
.masthead .mini-search {
	color:#312D28 !important;
}
.overlay-search .submit i:hover,
.masthead .mini-search:hover {
	color:#312D28 !important;
}

/* Menu stuff */
.phone a .menu-text {
	color: #fff !important;
	font-weight:800 !important;
}
.phone:hover a .menu-text {
	color: #D1DDCB !important;
}
.phone:hover .underline {
 	display:none;
 }

 #primary-menu > li:last-child {
	margin-right:50px;
	transition: transform .7s ease;
 }

/*
 #primary-menu li.current-menu-item .menu-text:before,
 #primary-menu li.current-menu-item .menu-text:after {
 	content: '+';
 	padding:0 2px;
 	font-size:12px;
 }
*/

@media (max-width: 1190px) {
	 #primary-menu li:last-child {
		margin-right:0px;
	 }
}


.menu-subfooter-menu,
.my-subfooter-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 20px; /* space between items */
}

/* Remove default link styling */
.menu-subfooter-menu li a,
.my-subfooter-links li a {
    text-decoration: none;
    color: inherit;
    font-size: 12px;
}

/* Optional hover styling */
.menu-subfooter-menu li a:hover,
.custom-global-footer-wrapper .white a:hover {
    opacity: 0.7;
}


.menu-subfooter-menu {
    justify-content: flex-end;
}
@media (max-width: 768px) {
	.menu-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) {


}

/* Tour (light green) */

.vc_tta-color-greeen.vc_tta-style-modern .vc_tta-tab.vc_active > a {
   background:#ECF3EC !important;
}
.vc_tta-color-green.vc_tta-style-modern .vc_tta-tab > a {
  background-color:#ECF3ED !important;
  border-color: #50C584 !important;
  color: #312D28 !important;
}
.vc_tta-color-green.vc_tta-style-modern .vc_tta-tab:hover > a,
.vc_tta-color-green.vc_tta-style-modern .vc_tta-tab.vc_active > a {
  background-color: #50C584!important;
}
.vc_tta-color-green.vc_tta-style-modern .vc_tta-tab:hover > a span,
.vc_tta-color-green.vc_tta-style-modern .vc_tta-tab.vc_active > a span {
  color: #fff !important;
}

.vc_tta.vc_tta-style-modern .vc_tta-panel-body,
.vc_tta.vc_tta-style-modern .vc_tta-panel-heading,
.vc_tta.vc_tta-style-modern .vc_tta-tab > a {
	background-image:none !important;
}
.vc_tta.vc_general .vc_tta-tab > a {
	padding: 0px 20px 15px 20px;
}
.vc_tta-color-greeen.vc_tta-style-modern .vc_tta-tab > a {
	min-width:300px;
}
.vc_tta.vc_tta-style-modern .vc_tta-tab.vc_active > a,
.vc_tta-color-greeen.vc_tta-style-modern .vc_tta-tab > a {
    color:#000 !important;
}

.vc_tta-container .vc_btn3 {
	color:#312D28 !important;
}
.vc_tta-container .vc_btn3:hover {
	color:#312D28 !important;
}

.vc_tta-tab .fa-plus,
.vc_tta-tab.vc_active .fa-plus {
    content: url('images/icons/plus.svg') !important;
    width: 1.5rem;
    height: 1.5rem;
    position: absolute;
    inset: 1.25rem 1.25rem auto auto;
    right: 10px;
	top:10px;
 }
.vc_tta-tab:hover .fa-plus,
.vc_tta-tab.vc_active .fa-plus {
    content: url('images/icons/minus.svg') !important;
    cursor:pointer;
 }
.vc_tta.vc_tta-spacing-2 .vc_tta-tab {
	margin-right:0px !important;
 }
.vc_tta-panel-body {
   background: #ECF3ED  !important;
   border:1px solid #50C584 !important;
   border-radius:10px !important;
   padding:15px 15px 15px 40px !important;
   font-size:16px;
}

.vc_tta-panel-body .wpb_text_column {
   min-height: 195px !important;
}

.vc_tta-color-greeen.vc_tta-style-modern .vc_tta-tab > a {
  background-color:#ECF3ED  !important;
   border:1px solid #ECF3ED  !important;
   border-radius:10px 0 0 10px !important;
  color: #312D28 !important;
}


/* 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  {

}
.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;
}

/* tour image overlay */
#product-tour .tour-icon-overlay {
	position: absolute;
	top: 25px;
	left: 25px;
	width: 100px;
	height: 100px;
	z-index: 5;

	background-image: url('images/badges/badge-journey-to-a-greener-world.png');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;

	pointer-events: none; /* safe over images */
}

@media (max-width: 768px) {

	.vc_tta.vc_tta-style-modern .vc_tta-panel.vc_active + .vc_tta-panel .vc_tta-panel-heading, .vc_tta.vc_tta-style-modern .vc_tta-panel:not(:first-child) .vc_tta-panel-heading {
	  margin-top: 5px !important;
	}
	.vc_tta.vc_general .vc_tta-panel-heading {
		margin-top:20px;
		background-color:#D1DCCB  !important;
		border:2px solid #DBE3D7 !important;
		padding-left:20px;
	}
	.vc_tta.vc_general .vc_tta-panel-heading:hover,
	.vc_tta-panel.vc_active .vc_tta-panel-heading {
		background-color:#DBE3D7  !important;
		border:2px solid #D1DCCB !important;
		padding-left:20px;
	}
	.vc_tta.vc_tta-style-modern .vc_tta-panel.vc_active:last-child .vc_tta-panel-heading {
		margin-bottom:-10px !important;
	}


	.vc_tta-panel .fa-plus,
	.vc_tta-panel.vc_active .fa-plus {
		content: url('images/icons/plus.svg') !important;
		width: 1.5rem;
		height: 1.5rem;
		position: absolute;
		inset: 1.25rem 1.25rem auto auto;
		right: 10px;
		top:10px;
	 }
	.vc_tta-panel:hover .fa-plus,
	.vc_tta-panel.vc_active .fa-plus {
		content: url('images/icons/minus.svg') !important;
		cursor:pointer;
	 }

}



/* main content area */
#main {
	min-height: 160px !important;
}
#main > .wf-wrap {
	z-index: 3;
}
#main::before {
  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); */
}


/* 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;
}

/* Left text column */
#cs-grid .vc_grid-item .vc_gitem-zone-c {
    width: 48%;
    background-color: #D1DDCB; /* solid base color */
	background-image: url('images/bg/bg-bottom-right-dots-medium.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-image: url('images/bg/panel-placeholder3.jpg');
	background-repeat: no-repeat;
	background-position: 50% 30%;
	background-size: cover;
}

/* 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;
}

#cs-grid .vc_btn3.vc_btn3-color-white.vc_btn3-style-outline {
  color:#312D28;
  background-color:  #EDE45C;
  border-color: #EDE45C;
}
#cs-grid .vc_btn3.vc_btn3-color-white.vc_btn3-style-outline:hover {
  opacity:.6;
}


/* Each icon link with spacing */
#cs-grid .case-study-categories-wrapper a {
    background: transparent;
    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 {

}

/* 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;
}

.wpb_single_image.round-more  .vc_single_image-wrapper.vc_box_rounded img {
  border-radius:15px !important;
}


/***********************
   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:#D1DDCB !important;
    background-color:#D1DDCB !important;
}

blockquote p {
    margin: 0;
    font-size:26px;
    font-weight:500;
    line-height:1.2;
	padding-left: 35px;
}

/* Large left quote mark */
blockquote p::before {
    content: "\201C"; /* same as “ */
    position: absolute;
    left: -10px;
	top: -15px;
  	font-size: 8rem;
    line-height: 1;
    color: #312D28;
    font-family: Georgia, "Times New Roman", Times, serif;
}

/* Sidebar */
.solid-bg.sidebar-content .widget {
  background: #FAFFFA none repeat center center;
}

/* Theme social icons and items */


/* search results */

.search-results .entry-meta {
  display:none !important;
}
#the7-search {
 color:#323232 !important;
}

.overlay-search .submit i,
.mini-contacts.multipurpose_2 {
  font-size: 16px;
  color: #312D28;
  background: #1E844B;
  padding: 8px;
  border-radius: 5px;
}

.branding .mini-contacts.multipurpose_2:hover i,
.my-phone-icon:hover .multipurpose_2 i {
	opacity:.8;
}

.mini-contacts.multipurpose_2 {
	padding: 0 10px 0 0px;
	font-size:12px !important;
	color:#312D28 !important;
	font-weight: 500;
 	font-family: 'ibm plex sans',courier;
}

.mini-contacts.multipurpose_2 i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;         /* square icon block */
  height: 32px;
  background: #1E844B;
  color: #312D28;
  margin-right: 3px;   /* 3px gap */
  font-size: 16px;
  border-right: 2px solid #312D28;
  border-radius: 4px;
}
.main-nav > li a.mini-contacts:hover {
	color:#312D28 !important;
}

@media (max-width: 1380px) {
	.mini-search.show-on-desktop {

	}
}
@media (max-width: 1280px) {
	.mini-search.show-on-desktop {

	}
}
@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-mini-widgets-in-menu {
		flex-flow: column wrap;
		align-items: flex-start !important;
		gap: 24px;
	}
	.mobile-mini-widgets-in-menu .microwidget-btn mini-button {
		margin-bottom:15px;
	}

}

@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
  }
}

.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 */
}

.overlay-search .submit i,
.mini-contacts.multipurpose_2 {
  font-size: 16px;
  color: #312D28;
  background:#EDE45C;
  padding: 14px 14px 14px 14px;
  border-radius: 5px;
}

/* 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:#ff0000 !important;
}

.popup-message-style #page .wpcf7-mail-sent-ok::before,
.popup-message-style #page
.wpcf7-response-output.run-animation::before,
.popup-message-style #page .wpcf7-validation-errors::before {
	color:#ff0000 !important;
}

.wpcf7-form p {
	margin-bottom:5px;
}

.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:#312D28;
}

.field searchform-s::placeholder,
.wpcf7-form  ::placeholder {
  color:#312D28 !important;
}
.wpcf7-form-control.wpcf7-submit,
.wpcf7-form input[type="submit"],
.wpcf7-form-control.wpcf7-submit:hover,
.wpcf7-form input[type="submit"]:hover {
	background:unset;
	border:unset;
	color:unset;
	min-width:unset;
	padding: 0;
	background:unset !important;
}

.wpcf7-submit .nt-btn-inner .button-arrow,
.wpcf7-submit .nt-btn-inner .button-text {
	background-color:#50C584 !important;
	border-color:#50C584 !important;
}
.wpcf7-submit:hover .nt-btn-inner {
	opacity:.7;
}


/* Base button styles */

/* CF7 submit padding */
.wpcf7-form input[type="submit"] {
    padding: 15px 30px;
}





.frm_submit {
    text-align: left !important;
}
a.button:hover,
.frm_submit:hover {
	opacity:.8;
}

.vc_btn3.vc_btn3-color-green,
.vc_btn3.vc_btn3-color-green.vc_btn3-style-flat {
    border: 1px solid #312D28 !important;
    background-color: #312D28 !important;
    padding: 16px 30px 16px 40px !important;
    border-radius: 4px;
    color: #1E844B;
	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:#1E844B !important;
}

.vc_btn3.vc_btn3-color-green:hover,
.vc_btn3.vc_btn3-color-green.vc_btn3-style-flat:hover {
	opacity:.8;
}

/* 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;
}

#hero-slides .white a:hover {
	color:#f8f8f8 !important;
	text-decoration:underline !important;
}

@media screen and (max-width: 768px) {
	#hero-slides ul.slick-dots {
	    bottom: 25% !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: #EDE45C;

	vertical-align: middle;
}



/* flush right or left containers */
.flush-right .vc_column-inner {
	border-radius: 15px 0 0 15px !important;
	margin-right:-15px;
	padding-right:40% !important;
}
.flush-left .vc_column-inner {
	border-radius: 0 15px 15px 0 !important;
	margin-left:-15px;
	padding-left:40% !important;
}

#left-flush .min300,
#right-flush .min300 {
	min-height:300px;
}


.wpb_single_image:not('ntgrid-overlay') .vc_single_image-wrapper.vc_box_rounded img {
	border-radius: 15px !important;
}
.wpb_single_image.ntgrid-overlay .vc_single_image-wrapper.vc_box_rounded img {
	border-radius: 5px !important;
}
.rounded-more .vc_column-inner {
	border-radius: 15px !important;
	padding:25px !important;
}
#right-flush .rounded-more .vc_column-inner {
	margin-left:20px !important;
}


.bottom-left .vc_column-inner {
	background-position: bottom left;
}
.bottom-right .vc_column-inner {
	background-position: bottom right;
}


@media (max-width: 1400px) {
	.flush-right .vc_column-inner {
		padding-right:25% !important;
	}
	.flush-left .vc_column-inner {
		padding-left:25% !important;
	}
}
@media (max-width: 1200px) {
	.flush-right .vc_column-inner {
		padding-right:15% !important;
	}
	.flush-left .vc_column-inner {
		padding-left:15% !important;
	}
	.wpb_single_image.badge img {
		max-width:150px !important;
	}

}
@media (max-width: 768px) {
	.flush-right .vc_column-inner {
		padding-right:35px !important;
	}
	.flush-left .vc_column-inner {
		padding-left:35px !important;
	}
	#right-flush .rounded-more .vc_column-inner {
		margin-left:0px !important;
	}

}

/* Custom NexTerra style button */

.nt_button_wrap {
	margin:10px auto;
	text-align:center;
}
.nt_button_wrap.left,
.nt_button_wrap.left .nt_button {
	margin:10px auto 10px 0;
	text-align:left;
}

.nt_button_wrap.right,
.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:#1E844B;
  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:.6;
}

.button-arrow {
  grid-column-gap: 0px;
  border-radius: 4px;
  flex: 0 auto;
  justify-content: center;
  align-items: center;
  width: 45px;
  height: 45px;
  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 #312D28;
  background-color:#312D28;
  color: #D1DDCB;
 }
 .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;
  color: #D1DDCB;
}


.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 #1E844B;
  background-color:#1E844B;
   color:#D1DDCB;
 }
.nt_button.green .icon-sm {
  border-color: #D1DCCB;
}

.nt_button.ltgreen .button-arrow,
.nt_button.ltgreen .button-text {
  border: 1px solid #50C584; /* slightly less lt green*/
  background-color:#D1DDCB;
   color:#312D28;
 }
.nt_button.ltgreen .icon-sm {
  border-color: #D1DDCB;
}

.nt_button.yellow .button-arrow,
.nt_button.yellow .button-text {
  border: 1px solid #EDE45C;
  background-color:#EDE45C;
   color:#312D28;
 }
 .nt_button.yellow .icon-sm,
 .nt_button.yellow .button-text .button-text_string {
   border-color: #EDE45C;
   color: #312D28;
 }

.nt_button.brown .button-arrow,
.nt_button.brown .button-text {
  border: 1px solid #312D28;
  background-color:#312D28;
   color:#D1DDCB !important;
 }
.nt_button.brown .icon-sm,
.nt_button.red .icon-sm {
  border-color: #D1DDCB !important ;
}

.nt_button.black .button-arrow,
.nt_button.black .button-text {
  border: 1px solid #000;
  background-color:#000;
   color:#D1DDCB;
 }
.nt_button.black .icon-sm {
  border-color: #D1DDCB;
}

.nt_button.red .button-arrow,
.nt_button.red .button-text {
  border: 1px solid #ff0000;
  background-color:#ff0000;
   color:#fff;
 }



/* 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 #1e844b;
  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
--------------------------------------------------------- */
.nt-styled .button-arrow {
    width: 45px;
    height: 45px;
    background-color: #EDE45C;
    border: 1px solid #EDE45C;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    margin-right: 2px;
    box-sizing: border-box;

    z-index: 0;
    transform: translateZ(0);
    backface-visibility: hidden;
}

.nt-styled .icon-arrow_wrap svg path {
    stroke: #312D28
}

.nt-styled .icon-arrow_wrap svg path {
    stroke: #312D28
}

/* ---------------------------------------------------------
   RIGHT TEXT BLOCK
--------------------------------------------------------- */
.nt-styled .button-text {
    display: flex;
    align-items: center;
    height: 45px;
    padding: 0 20px;
    background-color: #EDE45C;
    border: 1px solid #EDE45C;
    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
}



.nt-styled .button-text_string {
    color: #312D28 !important;
    display: inline-block !important;
    font-family: 'IBM Plex Mono', Courier, monospace !important;
    font-weight: 600 !important;
    font-size: 0.8rem !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
}

/* ---------------------------------------------------------
   Hover effect for both blocks simultaneously
--------------------------------------------------------- */
a.microwidget-btn.nt-styled:hover .button-arrow,
a.microwidget-btn.nt-styled:hover .button-text,
a.nt-styled:hover .button-arrow,
a.nt-styled:hover .button-text{
   opacity:.8;
	box-shadow: none !important;
}

.header-elements-button-1.hover-border-on::after {
	background: transparent !important;
	border:0px !important;
	box-shadow: none !important;
}

/* ---------------------------------------------------------
   Prevent children from stealing hover
--------------------------------------------------------- */
a.nt-styled .button-arrow,
a.nt-styled .button-text {
    pointer-events: none;
}





/* Hover states */
.wpcf7-form input[type="submit"]:hover,
.wpcf7-form-control.wpcf7-submit:hover,
#page .wpcf7-form input[type="submit"]:hover,
.frm_style_formidable-style.with_frm_style .frm_submit button:hover,
.button:hover,
.button.light:hover {
	background:unset;
    border-color:unset;
    color:unset;
}


/* White button variant */
.button.white {
    color: #fff !important;
}

.button.white:hover {
    color: #312D28 !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:#1E844B;
}


/* 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 .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:#312D28;
	padding-top: 150px;
}

.custom-global-footer-wrapper .footer-cta {
	background-size: cover;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	border-color:#D1DDCB;
	background: #D1DDCB;
	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 {
	content: "";
	position: absolute;
	top: -30px;
	left: 0;
	width: 100%;
	z-index: 0;
	pointer-events: none;
	display: block;
	height: 300px;
	background: #ECF3ED;
}

.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) {
	.vc_row.wpb_row.lower-table {
		padding-top: 550px !important;
	}
}
@media (max-width: 580px) {
	.vc_row.wpb_row.lower-table {
		padding-top: 700px !important;
	}
}
@media (max-width: 360px) {
	.vc_row.wpb_row.lower-table {
		padding-top: 850px !important;
	}
}

/* utility */

.text-smaller {
	font-size: 75%;
}
.wpb_text_column.callout-line {
	padding-left:2rem;
	margin-bottom:10px;
}

.callout-line-inner {
  width: 24px;
  height: 100%;
  position: absolute;
  inset: 0 auto auto 0;
  left: 30px;
}

.callout-vert {
  background-color: #312D28;
  width: 1px;
  height: 100%;
  position: absolute;
  inset: 0% auto auto 0%;
}

.callout-angle {
  background-color: #312D28;
  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 {
    transform: rotate(90deg);
    display: block;
}
.rotateneg45 {
    transform: 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;
	}

}


/* =========================================================
   PRODUCT GRID – PATH A: RESPONSIVE COMPACT LAYOUT
   ========================================================= */

/* ---------------------------
   1. Neutralize WPBakery absolute positioning
   --------------------------- */
.product-grid .vc_gitem-zone-a .vc_gitem-row-position-top,
.product-grid .vc_gitem-zone-a .vc_gitem-row-position-middle,
.product-grid .vc_gitem-zone-a .vc_gitem-row-position-bottom {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    margin: 0;
}

/* ---------------------------
   2. Card container
   --------------------------- */
.product-grid .vc_gitem-zone-mini {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 8px 10px;
    box-sizing: border-box;
    height: auto;
    overflow: hidden; /* clip anything beyond */
}

/* assign colors per category and 'plus-links' */
.plus-link.light p,
.product-grid {
	background-color: #ECF3EC !important;
	border-color: #ECF3EC !important;
}
.plus-link p {
	border-radius:10px;
	padding:10px 20px;
	background-color: #D1DDCB;
	border-color: #D1DDCB;
}

.plus-link p:after {
	content: url('images/icons/plus.svg');
    width: 1.5rem;
    height: 1.5rem;
    position: absolute;
	inset: 2.6rem 1.6rem auto auto;
}
.plus-link p  a {
	text-decoration:none;
	font-weight:600;
	color:#312D28;
	min-height: 75px;
}
.cat-packaging {
	background-color: #EDE45C !important;
	border-color: #EDE45C !important;
}
.cat-long-term-blankets,
.cat-short-term-blankets {
	background-color: #1e844b !important;
	border-color: #1e844b !important;
}
.cat-extended-term-blankets,
.cat-straw-wattles {
	background-color: #D1DCCB !important;
	border-color: #D1DCCB !important;
}
.plus-link:hover,
.product-grid:hover {
	opacity:.8;
}

/* ---------------------------
   3. Title styling
   --------------------------- */
.product-grid .vc_gitem-post-data-source-post_title h4 {
    font-size: 15px;
    text-transform: none !important;
    line-height: 1.2;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ---------------------------
   4. Excerpt styling
   --------------------------- */
.product-grid .vc_gitem-row-position-middle p {
    font-size: 14px;
    line-height: 1.2;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ---------------------------
   5. Bottom icon
   --------------------------- */
.product-grid .vc_gitem-row-position-bottom {
    display: flex;
    justify-content: flex-end;
}

.product-grid .vc_gitem-row-position-bottom .vc_single_image-img {
    width: 20px;
    height: 20px;
}

/* ---------------------------
   6. Clip outer boxes
   --------------------------- */
.product-grid .vc_grid-item,
.product-grid .vc_grid-item-mini,
.product-grid .vc_gitem-zone {
    overflow: hidden;
}


/* large product grid */
.prod-grid-lg .vc_gitem-zone-a {
	border:1px solid transparent!important;
	border-radius:15px 15px 0 0  !important;
    position:relative !important;
    z-index:2 !important;
}
.prod-grid-lg .lower {
	border:6px solid #312D28 !important;
	border-radius:0 0 15px 15px !important;
	position: relative;
    background-color: #312D28 ; /* solid base color */
	background-image: url('images/bg/bg-bottom-right-dots-white.png'); /* your transparent PNG */
	background-repeat: no-repeat;
	background-position: bottom right;
    background-size: cover;
    min-height:140px;
    position:relative;
    z-index:1;
    margin-top:-15px;
}
.prod-grid-lg .lower h5 {
	font-size:22px;
}
.prod-grid-lg .lower .vc_gitem_row .vc_gitem-col {
  padding: 10px 0px;
}

.prod-grid-lg .vc_btn3.vc_btn3-color-inverse,
.prod-grid-lg .vc_btn3.vc_btn3-color-inverse.vc_btn3-style-flat {
  background-color: transparent !important;
  color: #fff;
  border:2px solid rgba(237,228,92,.5)
}
.prod-grid-lg .vc_btn3.vc_btn3-color-inverse:hover,
.prod-grid-lg .vc_btn3.vc_btn3-color-inverse.vc_btn3-style-flat:hover {
	background: rgba(237,228,92,.5)!important;
}

/* =========================================================
   RESPONSIVE SETTINGS
   ========================================================= */

/* Medium screens (~980px) - allow more height and push middle row down */
@media (max-width: 1100px) and (min-width: 769px) {
    .product-grid .vc_gitem-zone-mini {
        min-height: 90px;  /* slightly taller */
        padding-top: 10px;
        padding-bottom: 10px;
    }

    /* Add small push for middle row */
    .product-grid .vc_gitem-row-position-middle {
        margin-top: 15px;
    }
}

/* Narrow screens (769–980px) - avoid squishy cards */
@media (max-width: 980px) {
    .product-grid .vc_gitem-zone-mini {
        min-height: 80px;
        gap: 8px;
    }
}

@media (max-width: 768px) {

    /* Shrink the card container */
    .product-grid.vc_gitem-zone {
	  max-height: 200px !important;
	}

    .product-grid .vc_gitem-zone-mini,
    .product-grid .vc_grid-item,
    .product-grid .vc_grid-item-mini,
    .product-grid .vc_gitem-zone {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 8px 10px !important;
        box-sizing: border-box;
        overflow: visible !important;
    }

    .product-grid .vc_gitem-post-data-source-post_title h4 {
	    font-size: 18px;
	}

	.product-grid .vc_gitem-row-position-middle p {
	    font-size: 16px;
	}




    /* Disable absolute positioning for all rows */
    .product-grid .vc_gitem-zone-a .vc_gitem-row-position-top,
    .product-grid .vc_gitem-zone-a .vc_gitem-row-position-middle,
    .product-grid .vc_gitem-zone-a .vc_gitem-row-position-bottom,
    .product-grid .vc_gitem-zone-b .vc_gitem-row-position-top,
    .product-grid .vc_gitem-zone-b .vc_gitem-row-position-middle,
    .product-grid .vc_gitem-zone-b .vc_gitem-row-position-bottom {
        position: static !important;
        top: auto !important;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        margin: 0 !important;
    }

    /* Disable the full-height link overlay */
    .product-grid .vc_gitem-link.vc-zone-link {
        position: static !important;
        height: auto !important;
        width: auto !important;
    }

    /* Let text expand naturally */
    .product-grid .vc_gitem-post-data-source-post_title h4,
    .product-grid .vc_gitem-row-position-middle p {
        display: block;
        -webkit-line-clamp: unset;
        overflow: visible;
    }

    /* Bottom icon alignment */
    .product-grid .vc_gitem-row-position-bottom {
        justify-content: flex-end;
        margin-top: 4px;
    }
}


/* GRID OVERLAY SHORTCODE */


/* Overlay container */
/* Limit the overall overlay height */
.img-grid-overlay {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
    gap: 2px;
    height: 100%; /* ensure overlay fills the slider */
}

.img-grid-overlay .grid-square {
		position: relative;           /* needed for the + icon */
		display: flex;                /* flex for bottom-left text alignment */
		flex-direction: column;       /* stack content vertically */
		justify-content: flex-end;    /* push text to bottom */
		align-items: flex-start;      /* push text to left */
		box-sizing: border-box;       /* includes padding in size */
		background-color: rgba(255,255,255,0.1);
		border: 1px solid rgba(255,255,255,0.2);
		cursor: pointer;
		border-radius: 5px;
		overflow: hidden;
		color: #fff;
		text-shadow:0px 0px 3px #666;
		font-weight: bold;
		font-size: 1.2rem;
		line-height:1.2;
		text-decoration: none;
		transition: background-color 0.5s ease, opacity 0.5s ease;
		opacity: 1;
		padding: 10px 40% 20px 20px;
}

/* Optional: scale text to fit inside the square */
.img-grid-overlay .grid-square h2 {
    font-size: clamp(12px, 2vw, 24px); /* scales between 12px and 24px */
    margin: 0;
}

/* Links inside squares */
.img-grid-overlay .grid-square a {
    color: inherit;
    text-decoration: underline;
}

/* + icon for has-plus squares */
.grid-square.has-plus::after {
    content: url('images/icons/plus.svg');
    width: 1.5rem;
    height: 1.5rem;
    position: absolute;
    inset: 1.25rem 1.25rem auto auto;
}

/* Blur effect for squares */
.img-grid-overlay .grid-square.blur {
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    background-color: rgba(255,255,255,0.1);
}
.img-grid-overlay .grid-square.blur:hover {
    backdrop-filter: blur(0);
    -webkit-backdrop-filter: blur(0);
    background-color: rgba(255,255,255,0.5);
}

/* Highlighted squares */
.img-grid-overlay .grid-square:hover,
.img-grid-overlay .grid-square.highlight {
    background-color: rgba(255,255,255,0.5) !important;
    transition: background-color 0.5s;
}

/* yellow */
.img-grid-overlay .grid-square.yellow {
    background-color: rgba(237,227,93,0.8);
    color:#000 !important;
    text-shadow:none !important;
}
/* lt green */
.img-grid-overlay .grid-square.ltgreen {
    background-color: rgba(209,220,203,0.8);
    color:#000 !important;
    text-shadow:none !important;
}
/* green */
.img-grid-overlay .grid-square.green {
    background-color: rgba(129,181,102,0.8);
    color:#000 !important;
    text-shadow:none !important;
}

/* Responsive adjustments */
@media screen and (max-width: 820px) {
    .img-grid-overlay .grid-square {
        font-size: 12px;
        padding: 10px 40% 10px 10px;
          aspect-ratio: 1 / 1; /* Only force squares on mobile */

    }

	.img-grid-overlay .grid-square.has-plus::after {
	  inset: .6rem .6rem auto auto;
	}
}
@media screen and (max-width: 600px) {
    .img-grid-overlay .grid-square {
        font-size: 10px;
        padding: 10px 10% 10px 10px;
    }
    .img-grid-overlay .grid-square {
        aspect-ratio: 1 / 1; /* Only force squares on mobile */
    }
    .img-grid-overlay .grid-square {
        font-size: 10px;
        padding: 10px 10% 10px 10px;
    }
}


/* 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-yellow { background-color: rgba(237,227,93,1); }
.ntgrid-cell-green { background-color: rgba(171,208,186,1); }
.ntgrid-cell-dark { background-color: rgba(0,0,0,0.3); }

/* 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;
    }
}

/* Pivot Table CSS */
table.pivot th,
table.pivot td,
table.pivot a {
    font-size: 14px;
}

table.pivot td em {
    font-size:12px;
    position:absolute;
    margin:5px 0 0 10px;
}


.prod-grid-lg .vc_gitem-zone-a {
	border:1px solid transparent!important;
	border-radius:15px 15px 0 0  !important;
    position:relative !important;
    z-index:2 !important;
}

table.pivot td, table.pivot th, table.pivot div,table.pivot p,table.pivot a {
    font-size: 14px;
    line-height:1.2;
}
table.pivot thead td {
    white-space: nowrap;
}

@media (max-width: 1150px) {

  /* Each product row */
  .pivot-row {
      display: flex;
      margin-bottom: 3px;
      border-top: 3px solid #D1DDCB;
  }
    table.pivot thead td {
        white-space: wrap;
    }

  /* Left and right columns stacked */
  .pivot-head,
  .pivot-body {
      display: flex;
      flex-direction: column;
      flex: 1 1 0; /* equal height columns */
  }

  /* First left div (image moved from right) */
  .pivot-head div:first-child {
      height: 108px;
      display: flex;
      align-items: center;  /* vertical center image */
      justify-content: left;
      border-bottom: 1px solid #D1DDCB; /* 1px line between detail rows */
  }

  /* First right div (now empty) */
  .pivot-body div:first-child {
      height: 108px;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      border-bottom: 1px solid #D1DDCB; /* 1px line between detail rows */
  }

  /* Other divs (all remaining detail rows) */
  .pivot-head div:not(:first-child),
  .pivot-body div:not(:first-child) {
      padding: 4px 0;
      display: flex;
      align-items: center;      /* vertical center content */
      justify-content: flex-start;
      min-height: 60px;
      border-bottom: 1px solid #D1DDCB; /* 1px line between detail rows */
  }

  /* Remove bottom border on last div of each column */
  .pivot-head div:last-child,
  .pivot-body div:last-child {
      border-bottom: none;
  }

}