
/* Custom Template Overrides
--------------------------------------------------------------------------------------- */

.title-black .titles, .title-black .titles a, .title-black .wysiwyg h1, .title-black .wysiwyg h2, .title-black .wysiwyg h3, .title-black .wysiwyg h4, .title-black .wysiwyg h5, .title-black .wysiwyg h6,
.small-title-black .small-titles, .small-title-black .small-titles a,
.headline-black .titles.headline { color: #000 !important;}
.title-grey .titles, .title-grey .titles a, .title-grey .wysiwyg h1, .title-grey .wysiwyg h2, .title-grey .wysiwyg h3, .title-grey .wysiwyg h4, .title-grey .wysiwyg h5, .title-grey .wysiwyg h6,
.small-title-grey .small-titles, .small-title-grey .small-titles a,
.headline-grey .titles.headline { color: #999 !important;}

.button-white a.button { background: #fff !important; color: #000 !important;}
.button-black a.button { background: #000 !important; color: #fff !important;}
.button-grey a.button { background: #999 !important; color: #fff !important;}

.quicklink-panels {}
.quicklink-panels .panel { position: relative; }
.quicklink-panels .anchor-panel { display: block; position: absolute; top: 0; left: 0; z-index: 10; width: 100%; height: 100%; 
	background: rgb(0,0,0);
	background: -moz-linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 50%);
	background: -webkit-linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 50%);
	background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 50%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#000000",GradientType=1);	
}
.quicklink-panels .anchor-panel.overlay-gradient { background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 85%); }
.quicklink-panels .anchor-panel:hover { background-color: rgba(0,0,0,.65);}
.quicklink-panels h2 { position: absolute; width: 100%; padding-left: 40px; padding-right: 40px; bottom: 0; left: 0; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;}

.quicklink-panels .ql-text-centered { position: relative; }
.quicklink-panels .ql-text-centered .anchor-panel,
.quicklink-panels .ql-text-centered-btn-bottom .anchor-panel { background: rgba(0,0,0,.5) !important;}
.quicklink-panels .ql-text-centered-frame .anchor-panel { background: rgba(0,0,0,.2) !important;}
.quicklink-panels .ql-text-centered .anchor-panel:hover,
.quicklink-panels .ql-text-centered-btn-bottom .anchor-panel:hover { background: rgba(0,0,0,.8) !important;}
.quicklink-panels .ql-text-centered-frame .anchor-panel:hover { background: rgba(0,0,0,.5) !important;}
.quicklink-panels .ql-text-centered h2.pad-b-40,
.quicklink-panels .ql-text-centered-btn-bottom h2.pad-b-40,
.quicklink-panels .ql-text-centered-frame h2.pad-b-40 { position: absolute; top: 50%; left: 50%; width: 100%; transform: translate(-50%, -50%); padding-left: 40px; padding-right: 40px; box-sizing: border-box; text-align: center; bottom: auto !important; padding-bottom: 0 !important; text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.5);}
.quicklink-panels .ql-text-centered-btn-bottom h2.pad-b-40 { top: 44%;  transform: translate(-50%, -50%); }
.quicklink-panels .ql-text-centered-btn-bottom .button-wrap { position: absolute; z-index: 12; bottom: 0; left: 0; width: 100%; }
.quicklink-panels .ql-text-centered-btn-bottom .button-wrap a.button { width: 100% !important; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; padding-left: 0 !important; padding-right: 0 !important;}

.quicklink-panels .ql-text-centered-frame h2.pad-b-40 { text-shadow:none; width: 80%; padding-top: 16px !important; padding-bottom: 16px !important;}

.quicklink-panels .ql-text-bottom-frame h2.pad-b-40 { padding: 16px 0 !important;  width: 80%; margin: 0 auto; position: absolute; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); bottom: 40px; }

.overlay-content { display: none !important; align-items: flex-end; background-color: rgba(0,0,0,.6); position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 5;}
.panel:hover .overlay-content { display: flex !important;}
.overlay-content p { margin-bottom: 0 !important;}
.overlay-content-hide { display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; height: 100%; }
.overlay-content-hide h2 { width: 100%;}
.overlay-content-hide p, .overlay-content p { width: 100%; line-height: 1.4em; margin-bottom: 0 !important;}
.panel:hover .overlay-content-hide { display: none !important;}
.overlay-content p { text-decoration: none !important;}

.buttons-center-active .buttons-center { text-align: center;  }
.buttons-center-active .buttons-center a.button { display: inline-block; float: none; text-align: center; margin-right: 10px !important; margin-left: 10px !important; }
.buttons-center-active .panel a.button,
.buttons-center-active a.button { float: none; margin-left: auto !important; margin-right: auto !important; display: inline-block;}

.hero-right .buttons-center { text-align: right;  }
.hero-right .buttons-center a.button { display: inline-block; float: none; text-align: right; margin-right: 0 !important; margin-left: 20px !important; }

.page-template-page-custom-template .gform_heading,
.page-template-page-simple .gform_heading { display: none !important;}
.page-template-page-custom-template .titles a:hover { text-decoration: none !important;}

.content-medium { width: 75%; margin: 0 auto;}
.content-short { width: 50%; margin: 0 auto;}

.page-id-XXX .marg-t-60.loop-item-1 { margin-top: 0 !important;}

.question-wrap .question { border-bottom: 1px solid #ccc; position: relative; padding-right: 40px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;}


.full-panel .panel,
.full-panel .panel.last { width: 100% !important; margin-right: 0 !important;}

.ct-quote-bar { border: 0 !important; height: 2px; width: 40%; margin-left: auto; margin-right: auto;}
.quote-bar-white .ct-quote-bar { background: #fff; color: #fff;}
.quote-bar-black .ct-quote-bar { background: #000; color: #000;}
.quote-bar-grey .ct-quote-bar { background: #ddd; color: #ddd;}

.ct-quote-by { font-size: 2.4em}
.ct-quote-by span { font-size: .7em; font-weight: 400; font-style: italic;}

.image_normal { height: 75vh;}
.image_medium { height: 55vh;}
.image_short { height: 35vh;}

.titles-center .titles { text-align: center !important;}

.centered-image-style { height: 60vh; position: absolute; z-index: 4; }
.centered-image-left { width: 20%; left: 0;}
.centered-image-right { width: 20%; right: 0; }

.content-list-wrap .left, .content-list-wrap .right { width: 48%;}
.content-list-wrap .right { margin-top: 20px;}

.image-staggered-right .centered-image-right.center-v { top: 45% !important;}
.image-staggered-right .centered-image-left.center-v { top: 55% !important;}
.image-staggered-left .centered-image-right.center-v { top: 55% !important;}
.image-staggered-left .centered-image-left.center-v { top: 45% !important;}

.features-list .panel { position: relative; padding-left: 120px; text-align: left !important;}
.features-list img { max-width: 90px; position: absolute; top: 0; left: 0;}
.features-centered.features-list .panel { position: relative; padding-left: 0; text-align: center !important;}
.features-centered.features-list img { max-width: 90px; position: relative; top: auto; left: auto; margin-left: auto !important; margin-right: auto !important; margin-bottom: 40px;}
.features-centered a.button { margin: 0 auto; text-align: center; display: inline-block !important; float: none !important; text-align: center;}

.grid-two.owl-carousel-ct .panel,
.grid-three.owl-carousel-ct .panel,
.grid-four.owl-carousel-ct .panel { width: 100% !important; position: relative; float: none !important; margin: 0 !important; display: block !important;}
.grid-two.owl-carousel-ct .panel.marg-t-100,
.grid-three.owl-carousel-ct .panel.marg-t-100,
.grid-four.owl-carousel-ct .panel.marg-t-100 { margin-top: 0 !important;}
.show-overflow .owl-stage-outer { overflow: visible !important;}
.show-overflow.overflow { overflow: hidden !important;}

.owl-nav { position: absolute; bottom: 36px; width: 60px; right: 0; display: block; } 
.owl-nav button.owl-prev { left: 0; } 
.owl-nav button.owl-next { right: -7px; } 
.owl-nav button { width: 30px; height: 30px; background: transparent; border: none; position: absolute; padding: 0; } 
.owl-nav button span.custom-prev, .owl-nav button span.custom-next { position: absolute; top: 50%; left: 50%; width: 15px; height: 30px; transform: translate(-50%, -50%); display: inline-block; } 
.owl-nav button span.custom-prev svg, .owl-nav button span.custom-next svg { width: 15px; height: 30px; display: block; }
.owl-theme .owl-nav [class*='owl-'] { margin: 0 !important;}
.owl-theme .owl-nav .disabled { opacity: 0.2 !important;}

.owl-theme .owl-dots { text-align: center; -webkit-tap-highlight-color: transparent; margin-top: 50px; height: 30px; }
.owl-theme .owl-dots .owl-dot { display: inline-block; zoom: 1; *display: inline; }
.owl-theme .owl-dots .owl-dot span { width: 10px; height: 30px; margin: 5px 7px; background: #D6D6D6; display: block; -webkit-backface-visibility: visible; transition: opacity 200ms ease; border-radius: 30px; }
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span { background: #869791; }
.owl-theme .owl-nav [class*='owl-'] { background: transparent !important; }
.owl-arrow-color:hover { opacity: 0.6; }
.disabled .owl-arrow-color:hover { opacity: 1; }

.owl-carousel { opacity: 0; transition: opacity .3s ease;}
.owl-carousel.owl-loaded {  opacity: 1;}

.gallery-images { display: flex; flex-wrap: wrap; gap: 0; margin-top: 10px; justify-content: center; }
.gallery-images a { margin-top: 20px; }
.gallery_grid .gallery-images a { flex: 0 0 calc(25% - 10px); margin-left: 5px; margin-right: 5px; margin-top: 10px; box-sizing: border-box; }
.section.simple .gallery_grid .gallery-images a, .section.image-split-wrap .gallery_grid .gallery-images a, .section.image-content .gallery_grid .gallery-images a { flex: 0 0 calc(33.33% - 10px); }
.section-full .gallery_grid .gallery-images a { flex: 0 0 calc(16.666% - 10px); }
.gallery-images img { width: 100%; height: auto; object-fit: cover; }

.post-alt-owl .owl-nav,
.full-split-owl .owl-nav { position: absolute; height: 30px; margin-top: 0 !important; top: 50%; transform: translateY(-50%); width: 100%; right: 0; display: block; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;}
.post-alt-owl .owl-nav button.owl-next,
.full-split-owl .owl-nav button.owl-next { right: 0 !important;}
.post-alt-owl .owl-nav button span.custom-prev svg,
.post-alt-owl .owl-nav button span.custom-next svg,
.full-split-owl .owl-nav button span.custom-prev svg,
.full-split-owl .owl-nav button span.custom-next svg { width: 10px; height: 20px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.owl-theme.post-alt-owl .owl-nav [class*='owl-'] span,
.full-split-owl .owl-nav [class*='owl-'] span { background: rgba(0, 0, 0, 0.6) !important; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0;}
.owl-theme.post-alt-owl .owl-dots { width: 100%; margin-top: 0; position: absolute; bottom: -40px; left: 50%; transform: translateX(-50%); }
.owl-theme.full-split-owl .owl-dots { width: 100%; margin-top: 0; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }

.full-split-owl { width: 100%; height: 100%;}
  
.full-split-owl .owl-stage-outer,
.full-split-owl .owl-stage,
.full-split-owl .owl-item,
.full-split-owl .item,
.full-split-owl .bg-image {
height: 100%;
width: 100%;
}

.image-split {
	overflow: hidden;
	height: 100%;
}

.image-split-image-wrap {
	position: absolute;
	width: 100%;
	height: 100%;
	overflow: hidden;
	inset: 0;
	z-index: 1;
}

.image-split-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.video-wrap,
.full-split-owl {
	position: relative;
	z-index: 2;
}

 
.post-alt-owl .owl-stage-outer,
.full-split-owl .owl-stage-outer { overflow: hidden !important;}

.hero-second-image { width: 26%;height: 65vh;}
.hero-image-border { border: 20px solid #fff; }
.hero-image-border-black { border: 20px solid #000;}
.hero-text-shadow h2, .hero-text-shadow h3, .hero-text-shadow p { text-shadow: 0px 0px 30px rgba(0, 0, 0, 1);}
.hero-image-left { left: 10vw;}
.hero-image-right { right: 10vw;}
.hero-image-content-width {  width: 61% !important;}
.hero-reset-positioning.center-v { margin-top: -5%; height: 100% !important; position: static !important; top: auto !important; left: auto !important; -webkit-transform: none !important; -ms-transform: none !important; transform: none !important; }
.hero-content-float.hero-left { float:left; display:inline;}
.hero-content-float.hero-right { float:right; display:inline;}
.hero-reset-postioning.hero-image-right { float:right; display:inline; margin-right: 10%}
.hero-reset-postioning.hero-image-left { float:left; display:inline; margin-left: 10%;}
.hero-reset-postioning.hero-second-image {height: 53vh; margin-top: -4%;}

.message-status { padding: 10px !important; background-color: #fff4d1;  -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; margin: 30px 15px 10px 15px !important; transition: opacity 1s ease-in-out; opacity: 1;}
.message-status.success { background-color: #39b54a !important; color: #fff;}
.message-status p { margin: 0 !important; text-align: center; font-size: 1.6em !important;}
.message-status.show { opacity: 1; }
.page-template-page-login .message-status { margin-left: 0 !important; margin-right: 0 !important;}
.message-status.error-message { background-color: #ffe8e9 !important; color: #000;}
.message-status.error-message p { line-height: 1.3em !important; padding: 10px 20px;}

.section.section-custom-email-template { padding-bottom: 0 !important;}

.vertical-titles { position: relative; z-index: 4;}
.vertical-titles .panel.marg-t-100 { margin-top: 0 !important;}
.vertical-titles .quicklink-panels a { background: rgba(0,0,0,.5) !important;}
.vertical-titles .quicklink-panels a:hover { background: rgba(0,0,0,.1) !important;}
.vertical-titles .quicklink-panels h2 { position: absolute; width: auto; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-90deg); white-space: nowrap; }
.vertical-titles .quicklink-panels a:hover h2 { text-shadow: 0px 0px 40px rgba(0, 0, 0, 0.5);}
.vertical-titles .quicklink-panels h2 { margin-bottom: 250px; }

.retain-section-width .image-content-more.image-split-wrap .right {
  width: 65%;
  padding-right: calc((100vw - 1240px) / 2) !important;
}

.retain-section-width .image-content-more.image-split-wrap.flip .right {
  padding-left: calc((100vw - 1240px) / 2)  !important;
}

.section-list-wrap li { font-size: 2em; margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid #fff; }
.section-list-wrap li:last-child { border-bottom: 0; padding-bottom: 0; margin-bottom: 0;}

.data-divider { height: 6px; max-width: 60px; margin: 0 auto; background: currentColor; border: 0 !important;}

/* Image Sizes
--------------------------------------------------------------------------------------- */

.image-wrapper-portrait, .image-wrapper-rectangle, .image-wrapper-square, .image-wrapper-video { position: relative; width: 100%; overflow: hidden; }
.image-wrapper-portrait img, .image-wrapper-rectangle img, .image-wrapper-square img, .image-wrapper-video img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }


/* Testomonials
--------------------------------------------------------------------------------------- */

h2.ct-testimonials-name { font-size: 2.4em; margin-top: 24px;}
h3.ct-testimonials-subtitle { font-size: 1.8em; margin-top: 6px; font-weight: 400 !important;}
.ct-testimonial-headshot { max-width: 100px; }
.image-top .ct-testimonial-headshot { margin-bottom: 40px;}
.image-bottom .ct-testimonial-headshot { margin-top: 40px; margin-bottom: 24px;}
.panel.ta-center .ct-testimonial-headshot { margin-left: auto !important; margin-right: auto;}
.panel.ta-right .ct-testimonial-headshot { margin-left: auto !important; margin-right: 0;}

.ct-testimonial-image-side-wrap { display: flex; align-items: center; position: relative; margin-top: 40px; padding-left: 100px; box-sizing: border-box; } 
.ct-testimonial-image-side { position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 70px; max-width: 70px; } 
.ct-testimonial-image-side-content { display: flex; flex-direction: column; justify-content: center; gap: 5px; } 
.ct-testimonial-image-side-wrap h2.ct-testimonials-name { font-size: 2em; margin: 0 !important; line-height: 1em !important; } 
.ct-testimonial-image-side-wrap h3.ct-testimonials-subtitle { font-size: 1.6em; margin: 0 !important; font-weight: 400 !important; line-height: 1em !important; }
.headshot-round img { -webkit-border-radius: 100%; -moz-border-radius: 100%; border-radius: 100%;}

.panel.white h2.ct-testimonials-name,
.panel.white h3.ct-testimonials-subtitle { color: #fff !important;}
.panel.black h2.ct-testimonials-name,
.panel.black h3.ct-testimonials-subtitle { color: #000 !important;}
.panel.grey h2.ct-testimonials-name,
.panel.grey h3.ct-testimonials-subtitle { color: #ddd !important;}

.full-images .section.section-full,
.section-no-pad .section.section-full { padding-left: 0 !important; padding-right: 0 !important;}

/* Tabs
--------------------------------------------------------------------------------------- */

.gallery-tabs { text-align: center; width: 100%; margin-top: 40px; margin-bottom: 30px; display: block !important; }
.gallery-tabs li { font-size: 1.6em; text-transform: uppercase; letter-spacing: 0; text-align: center; margin: 0 4px; display: inline; position: relative; }
.gallery-tabs li a { color: #333; font-weight: 500; height: 34px; line-height: 34px; background: #eee; padding: 6px 20px; text-decoration: none; display: inline-block; transition: background 0.3s ease; }
.gallery-tabs li a:hover, .gallery-tabs li a.active { background: #333; color: #fff; }

.gallery-content { display: none; }
.gallery-content.visible { display: block; }


/* Media Queries
--------------------------------------------------------------------------------------- */

@media only screen
and (max-width : 1800px) {

.page-template-page-custom-template .image-split-wrap .pad-200 { padding: 140px !important;}

}



@media only screen
and (max-width : 1770px) {


}

@media only screen
and (max-width : 1600px) {

	.page-template-page-custom-template .image-split-wrap .pad-200 { padding: 120px !important;}

	.section-double-images.section.simple { max-width: 640px !important;}

	.section-full .gallery_grid .gallery-images a {
		flex: 0 0 calc(20% - 10px); /* 5 columns for smaller screens */
	  }
	
	.hero-second-image { height: 58vh;}
	.hero-reset-postioning.hero-second-image{ height: 50vh;}
}


@media only screen
and (max-width : 1500px) {

	.hero-second-image { height: 50vh;}

}

@media only screen
and (max-width : 1350px) {

	.page-template-page-custom-template .image-split-wrap .pad-200 { padding: 100px !important;}

}


@media only screen
and (max-width : 1300px) {

	.section-double-images.section.simple { width: 35% !important; max-width: 100%;}
	.centered-image-style { height: 60vh; position: absolute; z-index: 4; }
	.centered-image-left { width: 25%; left: 0;}
	.centered-image-right { width: 25%; right: 0; }
	

}



@media only screen
and (max-width : 1350px) {

	.hero-content-float.center-v { position: relative !important; top: auto !important; -webkit-transform: none !important; -ms-transform: none !important; transform: none !important; }

}

@media only screen
and (max-width : 1200px) {

	.page-template-page-custom-template .image-split-wrap .pad-200 { padding: 80px !important;}
	
	.quicklink-panels h2 { padding-left: 30px; padding-right: 30px; }

	.gallery_grid .gallery-images a {
		flex: 0 0 calc(33.333% - 10px); /* Adjust to 3 columns */
	  }
	.section-full .gallery_grid .gallery-images a {
		flex: 0 0 calc(25% - 10px); /* 5 columns for smaller screens */
	}

	.section.image-split-wrap .gallery_grid .gallery-images a,
	.section.image-content .gallery_grid .gallery-images a {
		flex: 0 0 calc(50% - 10px); /* 5 columns for smaller screens */
	}

    .custom-div {
        padding-top: 160px !important;
        padding-bottom: 160px !important;
    }

	.ql-text-centered-btn-bottom .button-wrap.pad-40 { padding-left: 16px !important; padding-right: 16px !important; padding-bottom: 16px !important;}
	.ql-text-centered-btn-bottom .button-wrap.pad-40 a.button { font-size: 16px !important; padding-left: 0 !important; padding-right: 0 !important; width: 100%;}
	.anchor-panel .titles.medium { font-size: 2.8em;}

	.quicklink-panels .ql-text-bottom-frame h2.pad-b-40 { bottom: 24px; }
	.ql-text-bottom-frame .anchor-panel .titles.medium { font-size: 2em;}

}

@media only screen
and (max-width : 1150px) {


}

@media only screen
and (max-width : 1100px) {

	.section-double-images.section.simple { width: 50% !important; max-width: 100%;}
	.centered-image-style { height: 45vh; position: absolute; z-index: 4; }
	.centered-image-left { width: 16%; left: 0;}
	.centered-image-right { width: 16%; right: 0; }

}

@media only screen
and (max-width : 1000px) {

	.page-template-page-custom-template .image-split-wrap .pad-200 { padding: 60px !important;}

	.owl-theme .owl-nav.disabled + .owl-dots { margin-top: 30px !important; }
	.owl-carousel-ct.pad-b-80 { padding-bottom: 0 !important;}

	.section-full .gallery_grid .gallery-images a {
		flex: 0 0 calc(33.33% - 10px); /* 5 columns for smaller screens */
	}

}

@media only screen
and (max-width : 880px) {

	.quicklink-panels h2 { padding-left: 20px; padding-right: 20px; }

	.hero-image-content-width {  width: 58% !important;}

}


/* iPads (portrait and landscape) ----------- */
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px) {


}

@media screen and (min-width:320px) and (max-width:780px) and (orientation:landscape) {

}

@media only screen
and (max-width : 501px) and (orientation:portrait)  {
	
	.page-template-page-custom-template .image-split-wrap .pad-200 { width: 100%; padding-left: 8% !important; padding-right: 8% !important;}

	.section-double-images.section.simple { width: 82% !important; max-width: 100%;}
	.centered-image-style { height: 280px; position: relative; z-index: 4; }
	.centered-image-left.center-v { width: 100%; left: 0; position: relative !important; top: auto; -webkit-transform: none; -ms-transform: none; transform: none;}
	.centered-image-right.center-v { width: 100%; right: 0; position: relative !important; top: auto; -webkit-transform: none; -ms-transform: none; transform: none;}

	.ct-wrapper.show-overflow .owl-stage-outer { overflow: hidden !important;}

	.owl-theme .owl-dots { margin-top: 30px; }
	.owl-carousel-ct.pad-b-80 {padding-bottom: 66px !important;}
	.dots-off .owl-nav { left: 50%; right: auto; transform: translateX(-50%); }

	.gallery_grid .gallery-images a,
	.section-full .gallery_grid .gallery-images a {
		flex: 0 0 calc(50% - 10px); /* Adjust to 3 columns */
	  }

	.hero-image-content-width,
	.hero-image-content-width,
	.hero-content-float.hero-left,
	.hero-content-float.hero-right { width: 100% !important; float: none; display: block;}
	.hero-reset-postioning.hero-image-right,
	.hero-reset-postioning.hero-image-left { float:none; display:block; margin: 40px auto 0 auto !important; width: 84% !important;}


	.gallery-tabs { display: none !important; }
	.gallery-dropdown { display: block !important; width: 100%; margin: 20px auto; text-align: center; }
	.gallery-dropdown select { height: 48px; border: 1px solid #999; font-size: 1.8em !important; font-family: 'proxima-nova', Helvetica, Arial, sans-serif; color: #000; font-weight: 400 !important; margin-top: 0; line-height: 48px; padding: 0 20px !important; width: 100%; box-sizing: border-box; display: block !important; border-radius: 3px; -webkit-appearance: none; -moz-appearance: none; appearance: none; background: #fff url(../images/arrow-select-black.png) no-repeat !important; background-position: calc(100% - 18px) 50% !important; background-size: 14px 10px !important; }

	.gallery-images { width: 100% ; display: block !important; gap: 0 !important; margin: 10px 0 0 0 !important;}
	.gallery-images a:first-child img { margin-top: 0 !important;}
	.gallery-images a img { margin-top: 10px !important;}

	.buttons-center-active .buttons-center a.button { margin-left: 0 !important; margin-right: 0 !important;}

	.headshot-round.panel.marg-t-60 { width: 100% !important; margin-right: 0 !important; margin-top: 20px !important;}

	.owl-theme.post-alt-owl .owl-dots {bottom: -34px;}

	.content-list-wrap .left, .content-list-wrap .right { width: 100%;}
	.content-list-wrap .right { margin-top: 40px;}

	.retain-section-width .image-content-more.image-split-wrap .right {
	padding-right: 40px !important;
	}

	.retain-section-width .image-content-more.image-split-wrap.flip .right {
	padding-left: 40px !important;
	}

	.quicklink-panels .ql-text-bottom-frame h2.pad-b-40 { bottom: 20px; width: 88%;  }

}

/* Smartphones (portrait and landscape) ----------- */
@media only screen
and (min-device-width : 320px)
and (max-device-width : 480px) {


}

/* Popup Content Modal (Grids → Informational) */
.ct-modal { position: relative; max-width: 760px; margin: 40px auto; background: #fff; border-radius: 12px; overflow: hidden; box-sizing: border-box; }
.ct-modal-image { display: block; width: 100%; height: auto; border-radius: 0 !important; }
.ct-modal-body { padding: 50px; }
.ct-modal .mfp-close { color: #fff; text-shadow: 0 0 10px rgba(0,0,0,.6); }
.ct-modal:not(:has(.ct-modal-image)) .mfp-close { color: #333; text-shadow: none; }
@media screen and (max-width: 600px) { .ct-modal { margin: 20px 16px; } .ct-modal-body { padding: 30px 24px; } }

/* Two stacked sections with the same solid background: halve the second one's top padding */
.section.ct-same-bg { padding-top: calc(var(--section-padding, 160px) / 2) !important; }

/* Grid carousels: arrows at the grid's two edges on the dots row (symmetrical with the centered dots);
   centered together when dots are off */
.owl-carousel-ct .owl-nav { width: 100%; left: 0; right: 0; }
.owl-carousel-ct .owl-nav button.owl-prev { left: 0; }
.owl-carousel-ct .owl-nav button.owl-next { right: 0; }
.owl-carousel-ct.dots-off .owl-nav { width: 60px; left: 50%; right: auto; transform: translateX(-50%); }
.owl-carousel-ct.dots-off .owl-nav button.owl-next { right: -7px; }

/* Email CTA: title/content left, form right (same 40/58 split as the footer sign-up); stacks under 1000px.
   The small note sits directly under the form instead of a second full-padding section. */
.section-custom-email-template .footer-email-signup-title { float: left; width: 40%; padding-right: 40px; box-sizing: border-box; }
.section-custom-email-template .footer-email-signup-form { float: right; width: 58%; }
.section.ct-email-note { padding-top: 0 !important; }
.section.ct-email-note .small-note-wrapper { margin-top: 0 !important; }
@media screen and (max-width: 1000px) {
	.section-custom-email-template .footer-email-signup-title,
	.section-custom-email-template .footer-email-signup-form { float: none; width: 100%; padding-right: 0; }
	.section-custom-email-template .footer-email-signup-title { margin-bottom: 30px; }
	.section.ct-email-note .small-note-wrapper { width: 100%; }
}

/* Informational cards with a Panel Background: image runs edge to edge across the top of the card */
.grid-flex > .panel.panel-same-height-div { overflow: hidden; }
.grid-flex > .panel.panel-same-height-div > .panel-image-wrap { margin: -40px -40px 0; }
.grid-flex > .panel.panel-same-height-div > .panel-image-wrap img,
.grid-flex > .panel.panel-same-height-div > .panel-image-wrap [class*="image-wrapper-"] { border-radius: 0 !important; }

/* Image/Div Offset: keep the negative margin inside this wrapper (no margin collapse), so the wrapper's
   own background stays put and only the content overlaps into the neighbouring section. */
.ct-wrapper.ct-has-offset { display: flow-root; }
.ct-wrapper.ct-has-offset > .section, .ct-wrapper.ct-has-offset > .overlay { position: relative; z-index: 3; }

/* Grid panels may shrink below their content width, so a long word/number never breaks the row */
.grid-flex > .panel { min-width: 0; }

/* Data Boxes: size the big number to its own box (container query), never larger than the site setting */
.ct-data-panel { container-type: inline-size; }
.ct-data-panel .big-numbers { font-size: min(var(--size-data-numbers), 34cqi) !important; line-height: 1.05; }

/* Autoplay carousels: seamless marquee (pauses on hover, still for reduced-motion users) */
.ct-marquee { display: block !important; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); }
.ct-marquee-track { display: flex; align-items: center; width: max-content; will-change: transform; animation: ct-marquee var(--ct-marquee-duration, 40s) linear infinite; }
.ct-marquee-ltr .ct-marquee-track { animation-direction: reverse; }
.ct-marquee:hover .ct-marquee-track, .ct-marquee:focus-within .ct-marquee-track { animation-play-state: paused; }
.ct-marquee-track > .panel { margin-top: 0 !important; }
@keyframes ct-marquee { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(calc(-1 * var(--ct-marquee-distance, 50%)), 0, 0); } }
@media (prefers-reduced-motion: reduce) { .ct-marquee-track { animation: none; } }

/* FAQs: full-width button, plus icon that turns into a minus when open */
.ct-faq-toggle { all: unset; box-sizing: border-box; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; width: 100%; cursor: pointer; font: inherit; color: inherit; text-align: left; }
.ct-faq-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; border-radius: 2px; }
.ct-faq-item.is-open .ct-faq-toggle, .ct-faq-toggle:hover { color: var(--color-main); }
.ct-faq-icon { position: relative; flex: 0 0 14px; width: 14px; height: 14px; margin-top: .35em; }
.ct-faq-icon::before, .ct-faq-icon::after { content: ""; position: absolute; left: 0; top: 6px; width: 14px; height: 2px; background: currentColor; transition: transform .25s ease; }
.ct-faq-icon::after { transform: rotate(90deg); }
.ct-faq-item.is-open .ct-faq-icon::after { transform: rotate(0deg); }
.question-wrap .question.ct-faq-item { padding-right: 0; }
@media (prefers-reduced-motion: reduce) { .ct-faq-icon::before, .ct-faq-icon::after { transition: none; } }

/* Two-up grids (Features, FAQs with 2 Columns): an odd last item is centered */
.features-list, .questions-two-column { display: flex; flex-wrap: wrap; justify-content: center; column-gap: 4%; }
.features-list > .panel, .questions-two-column > .panel { float: none; margin-right: 0 !important; }
.features-list > .push, .questions-two-column > .push { display: none; }

/* ── Premium polish ──────────────────────────────────────────────────────────
   Carded panels lift slightly on hover; linked images zoom slowly inside their frame.
   Zoom uses the `scale` property (not `transform`) so it stacks on images that are
   positioned with transform: translate(-50%, -50%) instead of replacing it. */
.grid-flex > .panel.panel-same-height-div { transition: translate .35s ease, box-shadow .35s ease; }
.grid-flex > .panel.panel-same-height-div:hover { translate: 0 -4px; box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .28); }
/* The frame that crops the zoom carries the same radius as the image (and isolates, so the clip holds mid-transition) */
.panel-image-wrap [class*="image-wrapper-"], .quicklink-panels .panel, .grid-flex .panel .video-wrap, .grid-flex .panel .responsive-container { overflow: hidden; border-radius: var(--img-radius, 0); isolation: isolate; }
/* Video thumbnails fill their frame, so no translate centering (it would skew the zoom origin) */
.grid-flex .panel .responsive-container img, .video-wrap .responsive-container img { top: 0; left: 0; transform: none; }
.panel-image-wrap a img, .quicklink-panels .panel img, .grid-flex .panel .video-wrap img { transition: scale .8s cubic-bezier(.2, .6, .2, 1); }
.panel-image-wrap a:hover img, .quicklink-panels .panel:hover img, .grid-flex .panel .video-wrap:hover img { scale: 1.045; }
.btn-play svg { transition: scale .3s ease; }
.video-wrap:hover .btn-play svg { scale: 1.08; }
@media (prefers-reduced-motion: reduce) {
	.grid-flex > .panel.panel-same-height-div, .panel-image-wrap a img, .quicklink-panels .panel img, .grid-flex .panel .video-wrap img, .btn-play svg { transition: none; }
	.grid-flex > .panel.panel-same-height-div:hover { translate: none; }
	.panel-image-wrap a:hover img, .quicklink-panels .panel:hover img, .grid-flex .panel .video-wrap:hover img, .video-wrap:hover .btn-play svg { scale: none; }
}

/* Logo / image-only grids: each image centered in its cell */
.panel.panel-image-only img, .grid-flex > .panel.ta-center > [class*="image-wrapper-"] img { margin-left: auto; margin-right: auto; }

/* Quicklinks (Title & Sentence Within): resting text sits on the same 40px inset as the hover text */
.quicklink-panels .quicklinks-title { margin-bottom: 10px; }
.quicklink-panels .quicklinks-sentence { margin-bottom: 0 !important; }

/* "Light Grey" text colour (Email sign-up title/sentence options) */
.light-grey, .light-grey p, .light-grey a { color: #d3d3d3 !important; }

/* Carousel slides are as tall as the tallest slide, like a normal grid row (cards line up). */
.owl-carousel-ct .owl-stage { display: flex; }
.owl-carousel-ct .owl-item { display: flex; float: none; }
.owl-carousel-ct .owl-item > .panel { width: 100%; }
/* Buttons inside centered grid panels (steps, centered cards) are centered too, not floated left. */
.grid-flex > .panel.ta-center a.button,
.grid-flex .owl-item > .panel.ta-center a.button { float: none; display: inline-block; }
