/*
Theme Name: David Fubini
Description: David Fubini WP theme.
Author: Target Marketing
Author URI: https://www.targetmktng.com/
Version: 1.0
*/

:root {
	--white: #fff;
	--black: #000;

	--primary: #000;

	--blue: #0165A3;
	--blue-light: #009DDF;
	--green: #009047;
	--yellow: #FFC200;
	--purple: #953383;
	--red: #FF0006;
	--gradient: linear-gradient(90deg, #009047 0%, #0165A3 100%);
	
	--transition1: all .3s ease;
	--pad: 0.5rem;
	--font-primary: inter-18pt, sans-serif; /* 400, 500, 600, 700 */
	--font-secondary: zuume, sans-serif; /* 400, 700 */
	--plyr-color-main: var(--blue);
}

html, body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote, a, em, img, q, strong, dl, dt, dd, ol, ul, li, fieldset, form, input, select, textarea, label, legend, table
{padding: 0; margin: 0; border: 0; list-style-type: none; line-height:100%; outline: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline;}

body, html {height: 100%;}
body {font: 1em var(--font-primary); color: var(--primary); background: var(--white); -webkit-text-size-adjust: none; font-optical-sizing: auto;}
a {color: var(--blue); text-decoration: none; transition: var(--transition1);}
a:hover {color: var(--blue-light);}
input, select, textarea, button {font: 1em var(--font-primary); color: var(--primary); 
	transition: var(--transition1); -webkit-border-radius: 0; border-radius: 0; -webkit-appearance: none;
}
input[type="submit"], input[type="reset"], button, label {cursor: pointer; padding: 0; border: 0;}
button, html input[type="button"], input[type="reset"], input[type="submit"] {-webkit-appearance: button;}
textarea {overflow: auto;}
table {border-collapse: separate; border-spacing: 0;}
a:active {outline: 0;} *:focus {outline: none;}
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }
header, section, nav, hgroup, footer, article { display: block; }
strong, b {font-weight: 700;}
em, i {font-style: italic;}
p {line-height: 150%;}
*, :before, :after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;	
}
.center {text-align: center !important;}
.tleft {text-align: left;}
.tright {text-align: right;}
.margin-0 {margin: 0 !important;}
.padding-0 {padding: 0 !important;}
.border-0 {border: 0 !important;}
.padding-bottom-0 {padding-bottom: 0 !important;}
.padding-top-0 {padding-top: 0 !important;}
.clear {clear: both;}
img, svg, video {max-width: 100%; height: auto; vertical-align: middle;}
.uppercase {text-transform: uppercase}
.no-case {text-transform: none !important;}
.relative {position: relative;}
.overflow-hidden {overflow: hidden !important;}
.overflow-visible {overflow: visible !important;}
.rounded {
	-webkit-border-radius: 100%;
	border-radius: 100%;
}
div.rounded {overflow: hidden;}
button::-moz-focus-inner {padding: 0; border: 0}
:required {-webkit-box-shadow: none; box-shadow: none;}
.element-hidden {display: none;}
.full-width {width: 100%; min-width: var(--pad) !important;}

/* WP Styles */
.alignleft {
	display: inline;
	float: left;
}
.alignright {
	display: inline;
	float: right;
}
.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
img.size-auto,
img.size-full,
img.size-large,
img.size-medium,
.attachment img,
.widget-area img {
	max-width: 100%;
	height: auto;
}
img.alignleft {
	margin: 0 calc(var(--pad) * 3) 0 0;
}
img.alignright {
	margin: 0 0 0 calc(var(--pad) * 3);
}
.wp-caption, .wp-video {
	width: auto !important;
	max-width: 100%;
	text-align: center;
	margin: 0 0 calc(var(--pad) * 3) 0;
}
.wp-caption:last-child, .wp-video:last-child {margin: 0;}
.wp-caption .wp-caption-text {
	padding: calc(var(--pad) * 2) 0 0 0; text-align: center; font-size: 1.125rem;
}
.wp-smiley {
	margin: 0;
}
img#wpstats{display: none}
/* WP Styles */

span.edit-link a {position: fixed; bottom: 0; left: 0; z-index: 99999; background: var(--red); color: var(--white) !important; font-size: 1em; padding: var(--pad);}
span.edit-link.static a {position: relative; bottom: auto; left: auto;}

::-moz-selection {background: var(--primary); color: var(--white);}
::selection {background: var(--primary); color: var(--white);}

*::-webkit-input-placeholder {color: var(--primary); transition: var(--transition1);}
*::-moz-placeholder {color: var(--primary); transition: var(--transition1);}
*:-ms-input-placeholder {color: var(--primary); transition: var(--transition1);}
*:-moz-placeholder {color: var(--primary); transition: var(--transition1);}
input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder {opacity: 0.25;}
input:focus:-moz-placeholder, textarea:focus:-moz-placeholder {opacity: 0.25;}
input:focus::-moz-placeholder, textarea:focus::-moz-placeholder {opacity: 0.25;}
input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder {opacity: 0.25;}

.wrapper {padding: 0 calc(var(--pad) * 6);}

.padding-top-xl {padding-top: calc(var(--pad) * 12);}
.padding-bottom-xl {padding-bottom: calc(var(--pad) * 12);}
.padding-left-xl {padding-left: 12%;}
.padding-right-xl {padding-right: 12%;}

.padding-top-l {padding-top: calc(var(--pad) * 8);}
.padding-bottom-l {padding-bottom: calc(var(--pad) * 8);}
.padding-left-l {padding-left: 8%;}
.padding-right-l {padding-right: 8%;}

.padding-top-m {padding-top: calc(var(--pad) * 4);}
.padding-bottom-m {padding-bottom: calc(var(--pad) * 4);}
.padding-left-m {padding-left: 4%;}
.padding-right-m {padding-right: 4%;}

.half-content {width: 50%;}
.full-content {width: 100%;}

.flex-row {
	display: flex;	
}
.flex-row.align-center {
	justify-content: center;
	align-items: center;	
}
.flex-row.align-justify {
	justify-content: space-between;
}
.flex-row.align-center-justify {
	justify-content: space-between;
	align-items: center;	
}
.flex-row.wrap {flex-wrap: wrap;}

.bg-cover {background-repeat: no-repeat; background-position: center top; background-size: cover;}

.entry-content p, .entry-content .as-p {margin: 0 0 calc(var(--pad) * 3) 0; font-size: 1.125em;}
.entry-content p:last-child, .entry-content .as-p:last-child {margin: 0 !important;}
.entry-content center {line-height: 150%}
/* .entry-content blockquote {margin: 0 0 calc(var(--pad) * 3) 0; text-align: center; position: relative; padding: 25% 12%;}
.entry-content blockquote:before {content: " "; display: block; width: 100%; height: 100%; background: url(images/graphic-2.svg) no-repeat center center / contain; position: absolute; left: 0; top: 0;}
.entry-content blockquote:last-child {margin-bottom: 0;}
.entry-content blockquote p {position: relative;}
.entry-content blockquote p:first-child {font-size: 2.5em; font-weight: 700; line-height: 120%; text-transform: uppercase; margin: 0 0 var(--pad) 0;}
.entry-content blockquote p:last-child {font-size: 1em; margin-left: 25% !important; margin-right: 25% !important; text-align: left; position: relative; padding: 0 0 0 calc(var(--pad) * 3);}
.entry-content blockquote p:last-child:before {content: " "; display: block; width: calc(var(--pad) * 2); height: 1px; background: var(--primary); position: absolute; left: 0; top: 10px;} */
.entry-content hr {padding: 0; margin: 0 0 calc(var(--pad) * 3) 0; border: 0; width: 150px; height: 1px; background: var(--brown);}
.clear_column + hr {margin-top: calc(var(--pad) * 4);}
.entry-content ul, .entry-content ol {margin: 0 0 calc(var(--pad) * 3) 0;}
.entry-content ul:last-child, .entry-content ol:last-child {margin: 0;}
.entry-content li {margin: 0 0 calc(var(--pad) * 1.5) 0; line-height: 140%; position: relative; padding: 0 0 0 calc(var(--pad) * 3); font-size: 1.125em;}
.entry-content li:last-child {margin-bottom: 0;}
.entry-content ul li:before {content: " "; display: block; width: 6px; aspect-ratio: 1; border-radius: 100%; background: var(--red); position: absolute; left: 0; top: 9px;}
.entry-content ol li {list-style-type: decimal; list-style-position: outside; padding: 0; margin: 0 0 calc(var(--pad) * 3) calc(var(--pad) * 2);}
.entry-content ol ul {margin-top: calc(var(--pad) * 3) !important;}
.entry-content ol ul li:before {display: none;}
.entry-content iframe {max-width: 100%; margin: 0 0 calc(var(--pad) * 3) 0;}
.entry-content iframe:last-child {margin: 0 !important;}
.entry-content img + img {margin: 0 0 0 calc(var(--pad) * 4);}

.entry-content a:not([class]) {word-wrap: break-word; text-decoration: underline; color: var(--primary);}
.entry-content a:not([class]):hover {text-decoration: none;}
/* .bg-green .entry-content a:not([class]):hover {color: var(--primary);}
.bg-blue .entry-content a:not([class]) {color: var(--white);}
.bg-blue-light .entry-content a:not([class]) {color: var(--primary);} */

/* .entry-content span[style*="text-decoration: underline;"] {text-decoration-color: var(--blue) !important; text-decoration-thickness: 4px !important; text-underline-offset: 6px;} */

/* .entry-content .table {overflow: auto; -webkit-overflow-scrolling: touch; margin: 0 0 calc(var(--pad) * 3) 0;}
.entry-content table {margin: 0 0 calc(var(--pad) * 3) 0; background: var(--blue); border-spacing: 1px;}
.entry-content .table:last-child, .entry-content table:last-child {margin: 0 !important;}
.entry-content td, .entry-content th {background: var(--white); text-align: left; line-height: 140%; padding: calc(var(--pad) * 1.5);}
.entry-content th {background: var(--blue);}
.entry-content td p, .entry-content th p {font-size: 1em;} */

/* .entry-content ul[style*="list-style-type: circle;"] {display: flex; gap: calc(var(--pad) * 5);}
.entry-content ul[style*="list-style-type: circle;"] li {margin: 0; padding: calc(var(--pad) * 6) 0 0 0;}
.entry-content ul[style*="list-style-type: circle;"] li:before {display: none;}
.entry-content ul[style*="list-style-type: circle;"] li:after {content: " "; display: block; width: calc(var(--pad) * 4.5); aspect-ratio: 1; margin: 0 0 calc(var(--pad) * 2.5) 0; position: absolute; left: 0; top: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36' fill='none'%3E%3Cpath d='M17.875 0C8.00078 0 0 8.00078 0 17.875C0 27.7492 8.00078 35.75 17.875 35.75C27.7492 35.75 35.75 27.7492 35.75 17.875C35.75 8.00078 27.7492 0 17.875 0ZM15.1164 24.2086C14.9102 24.4148 14.618 24.5867 14.3602 24.5867C14.1023 24.5867 13.8102 24.4063 13.5953 24.2L8.78281 19.3875L10.3125 17.8578L14.3687 21.9141L25.0938 11.1117L26.5977 12.6672L15.1164 24.2086Z' fill='%23FF5151'/%3E%3C/svg%3E") no-repeat center center / cover;
}
.entry-content ul[style*="list-style-type: circle;"] em {display: block; line-height: 140%; margin: var(--pad) 0 0 0;}
.entry-content ul[style*="list-style-type: circle;"] strong {display: block; line-height: 140%; margin: var(--pad) 0 0 0; font-size: 1rem; font-weight: normal;} */

/* .one_half {padding: 0 6% 0 0;}
.one_half.last_column {padding: 0 0 0 6%;}
.one_third {padding: 0 6% 0 0;}
.one_third + .one_third {padding: 0 3%}
.one_third.last_column {padding: 0 0 0 6%;}
.content-column.full_width {padding: 0; margin: 0 0 6% 0;}
.clear_column {margin: 0 0 6% 0;}
.clear_column:last-child, .content-column.full_width:last-child {margin: 0 !important;} */

body.mce-content-body {margin: calc(var(--pad) * 2); height: auto;}
body.mce-content-body [data-effect*="fade"] {opacity: 1;}

/* SITE */

[data-effect*="fade"] {opacity: 0;}
[data-effect*="slide"] {transform: translate3d(0, 200%, 0);}

.button-group {display: flex; flex-wrap: wrap; align-items: center; gap: calc(var(--pad) * 4); margin: 0 0 calc(var(--pad) * 3) 0;}
.button-group:last-child {margin: 0;}
.button-group > div p {margin: 0 !important; padding: 0 !important;}
.button-group.center {justify-content: center;}

.gscrollbar-fixer {margin: 0 !important;}
.goverlay {-webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); background: rgba(0, 0, 0, 0.85) !important;}
.glightbox-clean .gslide-media.gslide-inline,
.glightbox-clean .gslide-media.gslide-external {box-shadow: none !important; background: var(--white); padding: calc(var(--pad) * 10) calc(var(--pad) * 5) calc(var(--pad) * 5) calc(var(--pad) * 5); border-radius: calc(var(--pad) * 2.5);}
.glightbox-clean .gslide-media.gslide-inline .ginlined-content,
.glightbox-clean .gslide-media.gslide-external .ginlined-content {padding: 0 !important;}
/* .glightbox-clean .gslide-media.bg-white {background: var(--white); color: var(--primary); padding: calc(var(--pad) * 5) calc(var(--pad) * 4) calc(var(--pad) * 4) calc(var(--pad) * 4);} */

/* .glightbox-container.white .goverlay {background: #0B2459 !important;}
.glightbox-container.white .gclose {opacity: 1 !important;} */

.lightbox-window-close {position: absolute !important; right: calc(var(--pad) * 6); top: 30px; width: calc(var(--pad) * 4); aspect-ratio: 1; font-size: 0; display: flex; align-items: center; justify-content: center;}
.lightbox-window-close g {transition: var(--transition1);}
.lightbox-window-close:hover g {fill: var(--red);}
.lightbox-window-wrapper {padding: 0 var(--pad) var(--pad) var(--pad);}

.grid {display: grid; grid-template-columns: var(--columns, repeat(1, 1fr)); gap: var(--gap, calc(var(--pad) * 8));}

.padding-from-header {padding-top: 120px;}

#header {position: fixed; left: 0; top: 0; z-index: 10000; width: 100%; transition: var(--transition1);}
#header .content {height: 120px; transition: var(--transition1); display: flex; align-items: center; justify-content: space-between; gap: calc(var(--pad) * 2.5);}
#header:before {content: " "; display: block; width: 100%; height: 100%; position: absolute; left: 0; bottom: 0; background: rgba(255, 255, 255, 0.85); pointer-events: none; opacity: 0;
	transition: var(--transition1);
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
}

.site-logo {width: 230px;}
.site-logo a {display: inline-flex; align-items: center; font-family: var(--font-secondary); font-size: 2.5rem; font-weight: 700; line-height: 80%; text-transform: uppercase; color: var(--white);
	background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #047ABA 27.66%, #01699B 42.91%, #009047 58.17%, #0199B5 79.09%, rgba(255, 255, 255, 0) 100%); padding: 0 calc(var(--pad) * 5);
}

.primary-menu {flex: 1; text-align: center;}
.secondary-menu {width: 230px; text-align: right;}
.secondary-menu > ul {gap: calc(var(--pad) * 4) !important;}
#header .secondary-menu .level-0.icon {display: none;}

.main-menu > ul {display: inline-grid; gap: calc(var(--pad) * 10); grid-auto-flow: column; align-items: center;}
.main-menu .level-0:not(.icon):not(.button) {position: relative; padding: var(--pad) 0;}
.main-menu .level-0:not(.icon):not(.button) > a {display: inline-block; vertical-align: middle; position: relative;
	font-weight: 700; color: var(--primary); line-height: 120%; text-align: center; padding: 2px 0; text-transform: uppercase; font-family: var(--font-secondary); font-size: 1.75rem;
}
.main-menu .level-0:not(.icon):not(.button) > a:after {
	content: '';
	position: absolute;
	width: 100%;
	transform: scaleX(0);
	height: 2px;
	bottom: 0;
	left: 0;
	background: var(--blue);
	transform-origin: bottom right;
	transition: transform 0.25s ease-out;
}
.main-menu .level-0:not(.icon):not(.button):not(.current-menu-item_):not(.current-menu-ancestor):hover > a:after {
	transform: scaleX(1);
	transform-origin: bottom left;
}
.main-menu .level-0:not(.icon):not(.button) > a:before {
	content: " "; display: block; width: 5px; aspect-ratio: 1; border-radius: 100%; background: var(--green); position: absolute; left: 50%; bottom: -4px; transform: translateX(-50%); opacity: 0; pointer-events: none;
}
.main-menu .level-0.current-menu-item:not(.icon):not(.button):not(.menu-item-object-custom) > a:before,
.main-menu .level-0.current-menu-ancestor:not(.icon):not(.button):not(.menu-item-object-custom) > a:before {opacity: 1;}


.menu-item.icon > a {display: inline-flex; align-items: center; justify-content: center; width: calc(var(--pad) * 6); aspect-ratio: 1; border: solid 2px var(--green); border-radius: 100%;}
.menu-item.icon > a img {transition: var(--transition1);}
.menu-item.icon:hover > a {background: var(--green);}
.menu-item.icon:hover > a img {filter: brightness(1) invert(1);}
.menu-image-title-after.menu-image-not-hovered img {padding: 0;}
.menu-image-title-after.menu-image-title {padding: 0; display: none;}

.main-menu .sub-menu-div {position: absolute; left: 50%; top: 100%; padding: calc(var(--pad) * 2.5) 0 0 0; z-index: 5;
	transform: translateX(-50%);
	opacity: 0; pointer-events: none;
	transition: var(--transition1);
}
.main-menu .level-0:hover .sub-menu-div, .main-menu .level-0.clicked .sub-menu-div {opacity: 1; pointer-events: auto; top: 70%;}
.main-menu .sub-menu {background: var(--blue); min-width: 200px; width: 100%; padding: calc(var(--pad) * 2.5); position: relative; text-align: center; border-radius: 5px;}
.main-menu .sub-menu li {position: relative;}
.main-menu .sub-menu li + li {margin: calc(var(--pad) * 1.5) 0 0 0;}
.main-menu .sub-menu a {display: inline-block; vertical-align: middle; position: relative;
	color: var(--white); line-height: 120%; padding: 2px 0; text-transform: uppercase; font-family: var(--font-secondary); font-size: 1.5rem;
}
.main-menu .sub-menu a:after {
	content: '';
	position: absolute;
	width: 100%;
	transform: scaleX(0);
	height: 2px;
	bottom: 0;
	left: 0;
	background: var(--yellow);
	transform-origin: bottom right;
	transition: transform 0.25s ease-out;
}
.main-menu .sub-menu a:hover:after {
	transform: scaleX(1);
	transform-origin: bottom left;
}

.fixed #header .content {height: 80px;}
.fixed #header:before {opacity: 1;}
.header-up #header {top: -80px !important;}

#footer .content {display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: calc(var(--pad) * 2.5); padding: calc(var(--pad) * 4) 0;}
#footer .site-logo,
#footer .secondary-menu {width: 280px;}

.row-home-hero {overflow: hidden;}
.row-home-hero .cover {display: flex; justify-content: center; position: relative;}
.row-home-hero .cover:before {content: " "; display: block; width: 60%; aspect-ratio: 2000 / 899; background: url(images/graphic-1.png) no-repeat center / cover;
	position: absolute; left: 50%; top: 0; transform: translateX(-50%);
}
.row-home-hero .cover .image {width: 25%; position: relative;}
.row-home-hero .cover .image .img {width: 260%; margin-left: -80%;}
.row-home-hero .cover .badge {display: flex; flex-direction: column; align-items: center; justify-content: center; position: absolute; aspect-ratio: 1; border-radius: 100%; background: linear-gradient(141deg, #0165A3 22.24%, #009047 79.13%); color: var(--white);
	left: 80%; top: 0; width: 8vw; font-size: 0.8vw;
}
.row-home-hero .cover .badge p {line-height: 100%;}
.row-home-hero .cover .badge p:nth-child(1) {font-weight: 500; margin-top: 5%;}
.row-home-hero .cover .badge p:nth-child(2) {font-size: 3.25em; font-family: var(--font-secondary); font-weight: 700;}
.row-home-hero .tagline {position: absolute;
	bottom: 10%; left: 106%; width: 20vw;
}
.row-home-hero .tagline:before {content: " "; width: 42%; aspect-ratio: 154 / 91; background: url(images/graphic-2.svg) no-repeat center / cover; position: absolute; pointer-events: none;
	bottom: 110%; right: 82%;
}
.row-home-hero .tagline.mobile {display: none; position: relative; bottom: unset; left: unset; width: unset; text-align: center; margin: calc(var(--pad) * 4) 0 0 0;}
.row-home-hero .tagline.mobile:before {display: none;}
.row-home-hero .content {margin: calc(var(--pad) * 4) 0 0 0;}
.row-home-hero .cta {margin: calc(var(--pad) * 5) 0 0 0; display: flex; flex-wrap: wrap; gap: calc(var(--pad) * 4); align-items: center; justify-content: center;}
.row-home-hero .cta .title p {font-size: 0.875rem;}
.row-home-hero .cta ul {display: flex; flex-wrap: wrap; gap: calc(var(--pad) * 4); align-items: center;}

.row-large-quote {position: relative; overflow: hidden;}
.row-large-quote:before {content: " "; display: block; width: 30%; aspect-ratio: 912 / 747; background: url(images/g-2.png) no-repeat center / cover; position: absolute; pointer-events: none;
	right: -8%; bottom: -5%;
}
.row-large-quote .align {gap: calc(var(--pad) * 7.5); position: relative;}
.row-large-quote .media {width: 380px;}
.row-large-quote .quote {flex: 1; display: flex; flex-direction: column; justify-content: center; gap: calc(var(--pad) * 2.5);}
.row-large-quote .text:before {content: " "; display: block; width: calc(var(--pad) * 4); aspect-ratio: 1; background: url(images/quote-1.svg) no-repeat center / cover; margin: 0 0 calc(var(--pad) * 3) 0;}
.row-large-quote .text p {font-size: clamp(2.5rem, 2.25rem + 1.25vw, 3.75rem); font-family: var(--font-secondary); font-style: italic; line-height: 100%;}
.row-large-quote .author p {color: var(--green); font-size: 2.25rem; font-family: var(--font-secondary); line-height: 100%; font-weight: 700;}
.row-large-quote .author.mobile {display: none;}

.swiper-testimonials-wrap {width: 120%; margin-left: -10%;}

.swiper-slide {height: auto !important;}

.testimonial {display: flex; flex-direction: column; gap: calc(var(--pad) * 4); justify-content: space-between; min-height: 100%; overflow: hidden;
    background: var(--white); padding: calc(var(--pad) * 5); border-radius: 5px;
}
.testimonial .text:before {content: " "; display: block; width: calc(var(--pad) * 4); aspect-ratio: 1; background: url(images/quote-2.svg) no-repeat center / cover; margin: 0 0 calc(var(--pad) * 3) 0;}
.testimonial .text p {font-size: 1.75rem; font-weight: 500; line-height: 130%;}
/*
 display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
*/
.testimonial .text .more {font-size: 1.25rem; font-weight: 700; font-family: var(--font-secondary); color: var(--green); margin: calc(var(--pad) * 2) 0 0 0;}
.testimonial .text .more a {color: var(--green);}
.testimonial .meta {display: flex; gap: calc(var(--pad) * 2);}
.testimonial .meta .image {width: 75px;}
.testimonial .meta .img {aspect-ratio: 1; border-radius: 100%; overflow: hidden;}
.testimonial .meta img {width: 100%; height: 100%; object-fit: cover;}
.testimonial .meta .image-after {flex: 1; display: flex; flex-direction: column; justify-content: center;}
.testimonial .meta .name {font-size: 1.25rem; font-family: var(--font-secondary); line-height: 130%;}
.testimonial .meta .role p {
	line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: calc(1.3em * 3);
}

.testimonial-window .testimonial {padding: 0; border-radius: 0;}
.testimonial-window .testimonial .meta .role p {display: block; min-height: unset;}

.row-testimonials .nav {display: flex; align-items: center; justify-content: center; margin-top: calc(var(--pad) * 5); gap: calc(var(--pad) * 2.5);}
.row-testimonials .nav button {display: inline-flex; align-items: center; justify-content: center; width: calc(var(--pad) * 6); aspect-ratio: 1; background: var(--white); border-radius: 100%;}
.row-testimonials .nav button path {transition: var(--transition1);}
.row-testimonials .nav button:hover path {fill: var(--primary);}

.liner {width: 1px; height: 240px; margin: 0 auto; background: #EAEAEA; position: relative;}
.liner div {position: absolute; left: 0; top: 0; width: 100%; height: 0; background: var(--blue-light); transition: all 1s ease;}
.liner.animated div {height: 100%;}

.split-type {font-kerning: none;}
.split-type .word {color: #DBDBDB; transition: var(--transition1); will-change: color;}
.split-type .fill {color: var(--primary);}

.steps-grid {display: flex; justify-content: space-between; flex-wrap: wrap;}
.steps-grid .step {width: 30%; text-align: center; display: flex; flex-direction: column; gap: calc(var(--pad) * 3);}
.steps-grid .image {height: 250px;}
.steps-grid .image img {width: 100%; height: 100%; object-fit: contain;}

.sticky-boxes {margin: 0 0 200px 0; display: grid; grid-auto-rows: 1fr;}
.sticky-boxes .box {position: sticky; top: 20px;}
.sticky-boxes .box .align {display: flex; flex-direction: column; min-height: 100%; position: relative; border-radius: 5px; padding: calc(var(--pad) * 6); transition: var(--transition1); will-change: transform; transform-style: preserve-3d;}
.sticky-boxes .box .head {margin: 0 0 calc(var(--pad) * 14) 0; text-align: right; position: relative;}
.sticky-boxes .box .body {margin: 0 0 calc(var(--pad) * 14) 0; position: relative;}
.sticky-boxes .box .body p {font-size: 1.875rem; line-height: 120%;}
.sticky-boxes .box .number {position: absolute; left: calc(var(--pad) * 6); top: 50%; transform: translateY(-50%);
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: var(--white);
	font-family: var(--font-secondary);
	font-size: 500px;
	font-weight: 700;
	line-height: 100%;
	-webkit-text-fill-color: transparent;
  	-webkit-background-clip: text;
}
.sticky-boxes .box:nth-child(1) .align {background: var(--yellow);}
.sticky-boxes .box:nth-child(1) .head {color: var(--white);}
.sticky-boxes .box:nth-child(1) .number {-webkit-text-stroke-color: #FFE5AE;}
.sticky-boxes .box:nth-child(2) .align {top: 100px; background: var(--purple); color: var(--white);}
.sticky-boxes .box:nth-child(2) .head {color: #5E1851;}
.sticky-boxes .box:nth-child(2) .number {-webkit-text-stroke-color: #C25FAF;}
.sticky-boxes .box:nth-child(3) .align {top: 200px; background: var(--blue-light); color: var(--white);}
.sticky-boxes .box:nth-child(3) .head {color: #0075A6;}
.sticky-boxes .box:nth-child(3) .number {-webkit-text-stroke-color: #0075A6;}
.sticky-boxes .box:nth-child(1).is-stuck .align {transform: scale3d(0.93, 0.93, 1);}
.sticky-boxes .box:nth-child(2).is-stuck .align {transform: scale3d(0.95, 0.95, 1);}
.sticky-boxes .box:nth-child(3).is-stuck .align {transform: scale3d(0.97, 0.97, 1);}

.wpcf7 .field {position: relative;}
.wpcf7 .field p {line-height: unset;}
.wpcf7 .field br {display: none;}
/* .wpcf7 .select {position: relative;}
.wpcf7 .select:before {content: " "; display: block; width: 10px; aspect-ratio: 1; border: solid 2px var(--primary); 
	position: absolute; z-index: 20; pointer-events: none; right: 20px; top: 18px; border-top: 0; border-left: 0;
	transform: rotate(45deg);
}
.wpcf7 select {-moz-appearance: none; text-indent: 0.01px; text-overflow: ""; cursor: pointer; padding-right: calc(var(--pad) * 6) !important;}
.wpcf7 select::-ms-expand {display: none;} */
.wpcf7-form-control-wrap {position: unset;}
.wpcf7 .wpcf7-not-valid-tip {position: absolute; right: var(--pad); bottom: var(--pad); font-size: 0.75rem; pointer-events: none; color: var(--red) !important;}
.wpcf7 .wpcf7-not-valid {border-color: var(--red) !important;}
.wpcf7 .wpcf7-spinner {display: none;}
.wpcf7-response-output {display: none;}
.grecaptcha-badge {display: none !important;}
.wpcf7 .submitting .wpcf7-submit {background: #747474 !important; pointer-events: none;}
.wpcf7 .thank-you {display: none;}
.wpcf7 .sent .fields {display: none !important;}
.wpcf7 .sent .thank-you {display: block;}

.row-sign-up {position: relative;}
.row-sign-up:before {content: " "; display: block; width: 100%; height: 100%; position: absolute; inset: 0; background: url(images/graphic-4.jpg); opacity: 0.56; z-index: 2; mix-blend-mode: multiply;}
.row-sign-up:after {content: " "; display: block; width: 22%; aspect-ratio: 864 / 783; background: url(images/g-3.png) no-repeat center / cover; position: absolute; pointer-events: none;
	left: -7%; bottom: -3%;
}
.row-sign-up .align {gap: calc(var(--pad) * 12); align-items: center; position: relative; z-index: 3;}
.row-sign-up .content {flex: 1;}
.row-sign-up .form {flex: 1;}
.row-sign-up .fields {--gap: calc(var(--pad) * 2);}
.row-sign-up .input {width: 100%; background: var(--white); border: solid 2px var(--primary); border-radius: 5px; height: calc(var(--pad) * 9); padding: 0 calc(var(--pad) * 3); font-size: 1.125rem;}
.row-sign-up .input:focus {border-color: var(--blue);}

.row-book-promo .cover {width: 44%; position: relative; padding: 0 6%;}
.row-book-promo .cover:before {content: " "; display: block; width: 100%; aspect-ratio: 912 / 747; background: url(images/g-2.png) no-repeat center / cover; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
.row-book-promo .cover img {position: relative;}
.row-book-promo .content {flex: 1; display: flex; flex-direction: column; justify-content: center;}

.order-window {position: fixed; left: 0; top: 0; width: 100%; height: 100dvh; line-height: 100dvh; z-index: 12000; background: rgba(0, 0, 0, 0.85); text-align: center; font-size: 0;
	display: none; overflow: auto; -webkit-overflow-scrolling: touch;
}
.order-window .content {display: inline-block; vertical-align: middle; font-size: 1rem; margin: calc(var(--pad) * 8); padding: calc(var(--pad) * 8); position: relative;
	background: var(--white); border-radius: 5px;
}
.order-window .title {opacity: 0; top: 20px; position: relative; transition: all .3s .3s ease;}
.order-window.opened .title {opacity: 1; top: 0;}
.order-window .txt {margin: calc(var(--pad) * 2) 0 calc(var(--pad) * 4) 0; opacity: 0; top: 20px; position: relative; transition: all .3s .4s ease;}
.order-window.opened .txt {opacity: 1; top: 0;}
.order-window .close-button {text-align: right; margin: calc(var(--pad) * -5) calc(var(--pad) * -5) calc(var(--pad) * 2) 0; position: relative; opacity: 0; top: 20px; transition: all .3s .1s ease;}
.order-window.opened .close-button {opacity: 1; top: 0;}
.order-window .close {background: none; font-size: 0; width: calc(var(--pad) * 4); aspect-ratio: 1; display: inline-flex; align-items: center; justify-content: center;}
.order-window .close svg {width: 100%;}
.order-window .close path {transition: var(--transition1);}
.order-window .close:hover path {stroke: var(--green);}
.order-window .align {display: flex; flex-wrap: wrap; align-items: center;}
.order-window .book {flex: 1; opacity: 0; top: 20px; position: relative; transition: all .3s .2s ease;}
.order-window.opened .book {opacity: 1; top: 0;}
.order-window .book-after {flex: 1;}
.order-window .links {opacity: 0; top: 20px; position: relative; transition: all .3s .5s ease;}
.order-window .links ul {display: inline-grid; gap: calc(var(--pad) * 3); min-width: 250px;}
.order-window .links a {width: 100%;}
.order-window.opened .links {opacity: 1; top: 0;}

.order-window .cover {position: relative; padding: 0 6%;}
.order-window .cover:before {content: " "; display: block; width: 110%; aspect-ratio: 912 / 747; background: url(images/g-2.png) no-repeat center / cover; position: absolute; left: -5%; top: 50%; transform: translateY(-50%);}
.order-window .cover img {position: relative;}


/* MOBILE */
.hamburger {
	width: calc(var(--pad) * 5); aspect-ratio: 1; font-size: 0;
	display: none; background: none; border-radius: 5px;
	cursor: pointer;
	transition-property: opacity, filter;
	transition-duration: 0.15s;
	transition-timing-function: linear;
}
.hamburger-box {
	width: 24px;
	height: 20px;
	display: inline-block; vertical-align: middle;
	position: relative;
}
.hamburger-inner {
	display: block;
	top: 50%;
	margin-top: -1px; }
	.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
	width: 24px;
	height: 2px;
	background: var(--primary); will-change: opacity, transform;
	position: absolute;
	transition-property: transform;
	transition-duration: 0.15s;
	transition-timing-function: ease; }
	.hamburger-inner::before, .hamburger-inner::after {
	content: "";
	display: block; }
	.hamburger-inner::before {
	top: -7px; }
	.hamburger-inner::after {
	bottom: -7px; }
	.hamburger--spin .hamburger-inner {
	transition-duration: 0.22s;
	transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
	.hamburger--spin .hamburger-inner::before {
	transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
	.hamburger--spin .hamburger-inner::after {
	transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

	.hamburger--spin.opened .hamburger-inner {
	transform: rotate(225deg);
	transition-delay: 0.12s;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
	.hamburger--spin.opened .hamburger-inner::before {
	top: 0;
	opacity: 0;
	transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
	.hamburger--spin.opened .hamburger-inner::after {
	bottom: 0;
	transform: rotate(-90deg);
	transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

#mobile-menu {position: fixed; left: 0; top: 0; z-index: 9000; pointer-events: none; font-size: 0; opacity: 0;
	width: 100%; height: 100dvh; background: var(--white); text-align: right; padding: 80px 0 0 0;
	transition: all .5s ease;
}
#mobile-menu:before {content: " "; display: block; width: 50%; aspect-ratio: 912 / 747; background: url(images/g-2.png) no-repeat center / cover; position: absolute; pointer-events: none;
	right: -8%; bottom: -5%;
}
#mobile-menu-wrap {
	height: calc(100dvh - 80px); line-height: calc(100dvh - 80px);
	overflow: auto; -webkit-overflow-scrolling: touch;
}
#mobile-menu-wrap > ul:first-child {display: inline-block; width: 100%; vertical-align: middle; padding: 90px 0; margin: -90px 0 0 0;}
#mobile-menu.opened {opacity: 1; pointer-events: auto;}
#mobile-menu .level-0 {padding: 20px 50px 20px 20px; margin: 0 !important; font-size: 1rem;
	position: relative; top: 20px; opacity: 0; transition: opacity .3s .2s ease, top .3s .2s ease;
}
#mobile-menu.opened .level-0 {opacity: 1; top: 0;}
#mobile-menu .level-0:nth-child(1) {-webkit-transition-delay: .2s; transition-delay: .2s;}
#mobile-menu .level-0:nth-child(2) {-webkit-transition-delay: .25s; transition-delay: .25s;}
#mobile-menu .level-0:nth-child(3) {-webkit-transition-delay: .3s; transition-delay: .3s;}
#mobile-menu .level-0:nth-child(4) {-webkit-transition-delay: .35s; transition-delay: .35s;}
#mobile-menu .level-0:nth-child(5) {-webkit-transition-delay: .4s; transition-delay: .4s;}
#mobile-menu .level-0:nth-child(6) {-webkit-transition-delay: .45s; transition-delay: .45s;}
#mobile-menu .level-0:nth-child(7) {-webkit-transition-delay: .5s; transition-delay: .5s;}
#mobile-menu .level-0:nth-child(8) {-webkit-transition-delay: .55s; transition-delay: .55s;}
#mobile-menu .level-0:nth-child(9) {-webkit-transition-delay: .6s; transition-delay: .6s;}
#mobile-menu .level-0:nth-child(10) {-webkit-transition-delay: .65s; transition-delay: .65s;}
#mobile-menu .level-0:nth-child(11) {-webkit-transition-delay: .7s; transition-delay: .7s;}
#mobile-menu .level-0:nth-child(12) {-webkit-transition-delay: .75s; transition-delay: .75s;}
#mobile-menu .level-0:nth-child(13) {-webkit-transition-delay: .8s; transition-delay: .8s;}
#mobile-menu .level-0:nth-child(14) {-webkit-transition-delay: .85s; transition-delay: .85s;}
#mobile-menu .level-0:not(.icon):not(.button) > a {display: inline-block; vertical-align: middle;
	font-weight: 700; color: var(--primary); line-height: 120%; text-transform: uppercase; font-family: var(--font-secondary); font-size: 1.75rem;
}
#mobile-menu li:not(.icon):not(.button) > a span {position: relative;}
#mobile-menu li:not(.icon):not(.button) > a span:after {
	content: '';
	position: absolute;
	width: 100%;
	transform: scaleX(0);
	height: 2px;
	bottom: 0;
	left: 0;
	background: var(--blue);
	transform-origin: bottom right;
	transition: transform 0.25s ease-out;
}
#mobile-menu li:not(.icon):not(.button) > a:hover span:after {
	transform: scaleX(1);
	transform-origin: bottom left;
}
#mobile-menu .level-0:not(.menu-item-has-children) {padding: 0;}
#mobile-menu .level-0:not(.menu-item-has-children):not(.icon):not(.button) > a {width: 100%; padding: 20px 50px 20px 20px;}

#mobile-menu .level-0.menu-item-has-children {cursor: pointer;}
#mobile-menu .level-0.menu-item-has-children:before {content: " "; display: block; width: 100%; height: 74px; position: absolute; right: 0; top: 0; z-index: 20; cursor: pointer;}
#mobile-menu .level-0.menu-item-has-children:after {content: " "; display: block; width: 12px; height: 12px; 
	border: solid 2px var(--blue); border-top: 0; border-left: 0; position: absolute; right: 22px; top: 26px; z-index: 21; cursor: pointer;		
	transform: rotate(45deg);
	transition: var(--transition1);
}

#mobile-menu .level-0.menu-item-has-children.opened:after {
	top: 32px;
	transform: rotate(225deg);		
}

#mobile-menu .sub-menu {display: none; margin: 30px 0 0 0;}
#mobile-menu .sub-menu li {position: relative;}
#mobile-menu .sub-menu li + li {margin: 16px 0 0 0;}
#mobile-menu .level-1 > a {display: block;
	color: var(--primary); line-height: 120%; text-transform: uppercase; font-family: var(--font-secondary); font-size: 1.5rem;
}

#mobile-menu .level-0.icon {margin: 10px 50px 0 0 !important; width: auto; vertical-align: top;}
#mobile-menu .level-0.icon > a {width: calc(var(--pad) * 7);}
#mobile-menu .level-0.icon > a img {width: calc(var(--pad) * 2.5);}
#mobile-menu .level-0.icon + .icon {margin-left: -30px !important;}
#mobile-menu .level-0.icon.menu-item-has-children {display: none;}
#mobile-menu .level-0.icon:before, #mobile-menu .level-0.icon:after {display: none;}

#mobile-menu .level-0.button {margin: 30px 0 0 0 !important; padding: 0 50px;}
/* END MOBILE */