/*-----// LAYOUT //-----*/

:root {
	--black: #000;
	--lightgrey: #eee;
    --grey: #828FA7;
    --darkgrey: #3B3C3C;
	--white: #fff;
    --blue: #041F4E;
    --tan: #ECD8B7;
    --beige: #F6ECDB;
	
	--serif: Times, serif;
	--sans: "neue-haas-grotesk-display", sans-serif;
}

html {
    min-height: 100%;
    padding: 0px;
    margin: 0px;
    font-size: 62.5%;
	overflow-x: hidden;
}
body {
    background: var(--beige);
    padding: 0px;
    font-family: var(--sans);
    font-style: normal;
    font-weight: 500;
    font-size: 1.6rem;
    color: var(--blue);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
p, li, .p, address {
	font-size: 2rem;
	font-style: normal;
	font-weight: 500;
}
a {
	color: var(--blue);
}
a:hover, a:focus {
	color: var(--blue);
}
main p, main ul, main ol {
	margin: 0 0 20px;
}
main ul, main ol {
	padding-left: 16px;
}
main li {
	margin: 5px 0px;
}
main ul li {
    list-style-type: square;
}
main a {
	text-decoration: underline;
}
main a:hover, main a:focus {
	text-decoration: none !important;
    opacity: 0.5;
}
a, a:hover, button, .animate, .animate:hover, input[type="submit"], input[type="submit"]:hover {
	transition: all 0.6s ease;
}
*:focus {
	outline: none !important;
	box-shadow: none;
}
button {
	border: 0;
	padding: 0;
	background-color: transparent;
    outline: none;
}
b, strong {
	font-weight: 600;
}
.serif {
	font-family:  var(--serif) !important;
}
.sans {
	font-family: var(--sans) !important;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
	font-style: normal;
    font-weight: 500;
	margin: 0 0 20px;
    line-height: 1.2;
}

h1, .h1 {
	font-size: 5.5rem;
	font-weight: 600;
}
h2, .h2 {
	font-size: 4rem;
    letter-spacing: 0.025em;
}
h3, .h3 {
	font-size: 3.8rem;
}
h4, .h4 {
	font-size: 3rem;
}
h5, .h5 {
	font-size: 2.8rem;
}
h6, .h6 {
	font-size: 2.4rem;
}

@media (max-width : 767px) {
	h1, .h1 {
		font-size: 3.2rem;
	}
	h2, .h2 {
		font-size: 2.6rem;
	}
	h3, .h3 {
		font-size: 2.4rem;
	}
	h4, .h4 {
		font-size: 2.2rem;
	}
	h5, .h5 {
		font-size: 2rem;
	}
	h6, .h6 {
		font-size: 1.8rem;
	}
    p {
        font-size: 1.8rem;
    }
}

img, figure {
	max-width: 100%;
	height: auto;
}
.img-fit {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

blockquote, blockquote p {
	font-size: 2rem;
	margin: 0 0 20px;
	line-height: 3rem;
	padding: 0px;
	border-left: none;
	text-align: center;
}
.blockquote_caption {
	font-size: 2rem;
	font-weight: 400;
	font-style: normal;
	line-height: 3rem;
}
.blockquote_caption small {
	line-height: 1.3;
}
.clearfix:before, .clearfix:after {
	content: "";
	display: table;
}
.clearfix:after {
	clear: both;
}
hr {
	margin-top: 2rem;
	margin-bottom: 2rem;
	background-color: var(--black);
	opacity: 1;
}

/*-----// BOOTSTRAP ADDITIONS //-----*/

.container-fluid {
    max-width: 1360px;
    padding-left: 3rem;
    padding-right: 3rem;
}

.container--wrapper {
    padding-left: 57px;
    padding-right: 57px;
}

@media (max-width : 767px) {
	.container-fluid {
		padding-left: 2rem;
		padding-right: 2rem;
	}
    .container--wrapper {
        padding-left: 15px;
        padding-right: 15px;
    }
}


/*-----// BUTTON CLASSES //-----*/

.btn-check:focus + .btn, .btn:focus {
    outline: 0;
    box-shadow: none;
}
.btn {
	font-size: 1.8rem;
	font-weight: 400;
	padding: 12px 40px;
	border: 2px solid;
	border-radius: 3rem;
	margin: 0;
	text-decoration: none;
}
.btn:hover {
	opacity: 1;
}

.btn-blue {
	background-color: var(--blue);
	border-color: var(--blue);
	color: var(--white);
}
.btn-blue:hover,
.btn-blue:focus,
.btn-blue:active {
	background-color: transparent;
	border-color: var(--blue);
	color: var(--blue);
}
.btn-beige {
	background-color: var(--beige);
	border-color: var(--beige);
	color: var(--blue);
}
.btn-beige:hover,
.btn-beige:focus,
.btn-beige:active {
	background-color: transparent;
	border-color: var(--beige);
	color: var(--beige);
}
.btn-blue-o {
	background-color: transparent;
	border-color: var(--blue);
	color: var(--blue);
}
.btn-blue-o:hover,
.btn-blue-o:focus,
.btn-blue-o:active {
	background-color: var(--blue);
	border-color: var(--blue);
	color: var(--white);
}
.btn-blue-o-alt {
	background-color: transparent;
	border-color: var(--blue);
	color: var(--blue);
}
.btn-blue-o-alt:hover,
.btn-blue-o-alt:focus,
.btn-blue-o-alt:active {
	background-color: var(--tan);
	border-color: var(--tan);
	color: var(--blue);
}

.link-nounderline {
    text-decoration: none;
}

.link-beige {
    color: var(--beige);
}
.link-beige:hover {
    color: var(--tan);
}
.link-tan {
    color: var(--tan);
}
.link-tan:hover {
    color: var(--white);
}


/*-----// CUSTOM CLASSES //-----*/

.text-white {
	color: var(--white);
}
.text-blue {
	color: var(--blue);
}
.text-beige {
	color: var(--beige);
}
.text-tan {
	color: var(--tan);
}
.text-grey {
	color: var(--grey);
}

.bg-none {
	background-color: transparent;
}
.bg-white {
    background-color: var(--white);
}
.bg-black {
    background-color: var(--black);
}
.bg-blue {
    background-color: var(--blue);
}
.bg-beige {
    background-color: var(--beige);
}
.bg-tan {
    background-color: var(--tan);
}
.bg-grey {
    background-color: var(--grey);
}

hr.line {
    width: 100px;
	display: block;
    border-top-width: 2px;
    margin-left: 0;
	margin-top: 2rem;
    margin-bottom: 2rem;
}
hr.line-center {
	margin-left: auto;
	margin-right: auto;
}
hr.line-white {
    border-top-color: var(--white);
}

.text-sm {
    font-size: 1.2rem;
}


/*-----// MASTER LAYOUT //-----*/

.align-center,
.aligncenter {
    display: block;
    margin: 0 auto;
    text-align: center;
}
.align-left {
    float: left;
}
.align-right {
    float: right;
}


/*-----// ANIMATIONS //-----*/

.animate-up {
    transform: translateY(100px);
    opacity: 0;
}
.animate-stagger .col {
    opacity: 0;
    transform: translateY(30px);
}
.animate-up.in-view, 
.animate-stagger .col.in-view {
    transform: translateY(0px);
    opacity: 1;
}
.animate-delay-10 {
    transition-delay: 0.1s;
}
.animate-delay-15 {
    transition-delay: 0.15s;
}
.animate-delay-20 {
    transition-delay: 0.2s;
}


/*-----// HEADER //-----*/

header.header {
	padding: 48px 0;
	transition: top 440ms ease;
}
.header--fixed {
    position: absolute;
	z-index: 99;
	top: 0;
	left: 0;
	width: 100vw;
}
.header--stage {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.header--logo {
    max-width: 196px;
}
.logo {
    display: block
}
.logo svg {
    width: 100%;
    height: auto;
}
.header--register {
    padding-top: 15px;
}
.header .container--wrapper {
    position: relative;
    z-index: 1;
}

@media (max-width : 767px) {
    header.header {
        padding: 30px 0;
    }
    .header--logo {
        max-width: 116px;
    }
    header.header:after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 35dvh;
        background: linear-gradient(180deg,rgba(246, 236, 219, 1) 0%, rgba(246, 236, 219, 0) 100%);
    }
}


/*-----// NAVIGATION //-----*/



/*-----// PUSH NAVIGATION //-----*/



/*-----// FOOTER //-----*/

.footer {
    padding: 40px 0;
}
.footer--stage {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 20px 40px;
}
.footer--logo {}
.footer--menu {
    display: flex;
    gap: 0 40px
}
.footer--social {
    margin-left: auto;
    display: flex;
    gap: 0 15px
}
.footer--terms {
    flex: 0 0 100%;
}
.footer--menu a {
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--blue);
    text-decoration: none;
}
.footer--menu a:hover {
    opacity: 0.5;
}
.footer svg {
    fill: var(--blue);
}

/*-----// OWL CAROUSEL //-----*/

.owl-nav .owl-prev {
    color:  var(--white);
    position: absolute;
    top: 50%;
    margin-top: -20px;
    left: 20px;
    width: 30px;
    font-size: 40px;
    line-height: 1;
    text-align: left;
    transition: all 0.2s ease-in-out;
}
.owl-nav .owl-prev:hover {
    left: 10px;
    color: #ddd;
}
.owl-nav .owl-next {
    color:  var(--white);
    position: absolute;
    top: 50%;
    margin-top: -20px;
    right: 20px;
    width: 30px;
    font-size: 40px;
    line-height: 1;
    text-align: right;
    transition: all 0.2s ease-in-out;
}
.owl-nav .owl-next:hover {
    right: 10px;
    color: #ddd;
}
.owl-carousel .owl-dots {
    text-align: center;
    -webkit-tap-highlight-color: transparent;
    margin-top: 8px;
}
.owl-carousel .owl-dots .owl-dot {
    display: inline-block;
}
.owl-carousel .owl-dots .owl-dot span {
    width: 10px;
    height: 10px;
    margin: 5px 7px;
    background: var(--white);
	border: 1px solid var(--black);
    display: block;
    -webkit-backface-visibility: visible;
    transition: opacity 200ms ease;
    border-radius: 30px;
}
.owl-carousel .owl-dots .owl-dot.active span, .owl-carousel .owl-dots .owl-dot:hover span {
    background: var(--black);
}
.owl-thumbs {
    margin-top: 8px;
}
.owl-thumbs .owl-thumb-item {
    width: 20%;
    float: left;
    padding: 0px;
    margin: 0px;
    border: 0px;
    position: relative;
    z-index: 0;
}
.owl-thumbs .owl-thumb-item:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.4);
    z-index: 2;
    transition: all 0.2s ease-in-out;
}
.owl-thumbs .owl-thumb-item.active:before, .owl-thumbs .owl-thumb-item:hover:before {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0);
    z-index: 2;
}


/*-----// GRAVITY FORMS //-----*/

.gform_wrapper.gravity-theme .gform_fields {
    grid-row-gap: 25px !important;
}
[class*="gfield--type-handlfree"] {
    display: none;
}
.gform_wrapper.gravity-theme #field_submit input, .gform_wrapper.gravity-theme .gform_footer input {
    font-size: 15px;
    padding: 8px;
}
.gform_wrapper.gravity-theme .gfield_validation_message, .gform_wrapper.gravity-theme .validation_message {
    background: transparent !important;
    border: none !important;
    font-size: 1.4rem !important;
    margin-block-start: 5px !important;
    padding: 0 !important;
}
.gform_wrapper.gravity-theme input[type=color], .gform_wrapper.gravity-theme input[type=date], .gform_wrapper.gravity-theme input[type=datetime-local], .gform_wrapper.gravity-theme input[type=datetime], .gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=month], .gform_wrapper.gravity-theme input[type=number], .gform_wrapper.gravity-theme input[type=password], .gform_wrapper.gravity-theme input[type=search], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme input[type=time], .gform_wrapper.gravity-theme input[type=url], .gform_wrapper.gravity-theme input[type=week], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme textarea {
    border: 1px solid var(--white) !important;
    border-radius: 10px !important;
    color: var(--blue) !important;
    background-color: var(--white) !important;
    padding: 12px 25px !important;
    font-size: 1.8rem !important;
    font-weight: 400 !important;
}
select {
    background: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIC05NjAgOTYwIDk2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNDc5LjgtMzYyLjg1cS02LjEyIDAtMTEuNC0yLjQ2dC05LjQtNi43N0wyNzUuOTktNTU1LjA5cS04LjY0LTguNDUtOC4wOS0xNy40MS41Ni04Ljk2IDkuMDYtMTcuMTUgOC41LTguMiAxNy4xMi04LjIgOC42MSAwIDE2LjggOC4yTDQ4MC00MTkuNTRsMTcwLjEyLTE3MC4xMXE3LjgtNy44MSAxNi42MS03LjUgOC44MS4zIDE3LjMxIDguNSA4LjUgOC4xOSA4Ljc1IDE2Ljk2LjI1IDguNzctOC41OSAxNy41NUw1MDEuMTktMzcyLjA4cS00LjcxIDQuMzEtOS45OSA2Ljc3dC0xMS40IDIuNDZ6Ii8+PC9zdmc+') no-repeat top 50% right 10px / 24px;
    appearance: none;
    padding-right: 45px !important;
}
select[multiple="multiple"] {
    background: none;
    appearance: none;
}
.gfield_time_ampm select {
    min-width: 80px;
}
.gform_button {
    font-size: 1.8rem !important;
	font-weight: 400 !important;
	border: 2px solid var(--blue) !important;
    background-color: var(--blue) !important;
    color: var(--white) !important;
	border-radius: 3rem !important;
	margin: 0 !important;
	text-decoration: none !important;
	min-width: 215px !important;
    padding: 15px 30px !important;
    line-height: 1.5 !important;
}
.gform_button:hover {
    background-color: transparent !important;
    color: var(--blue) !important;
}
.gform_wrapper.gravity-theme .gfield_label {
    font-size: 1.8rem !important;
    font-weight: 700 !important;
}
input[type="checkbox"] {
    appearance: none !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 3px !important;
    background: #fff !important;
    cursor: pointer !important;
    border: 5px solid #fff !important;
}
input[type="checkbox"]:checked {
    background: var(--blue) !important;
}
.gfield_checkbox label {
    font-size: 1.8rem !important;
    padding-left: 10px !important;
    cursor: pointer !important;
}
.gfield_checkbox .gchoice {
    padding: 5px 0 !important;
}

/**/


/*-----// VIDEO OVERLAYS //-----*/

.video-button {
	position: absolute;
    z-index: 99;
    top: 50%;
    left: 50%;
    background-color: #fff;
    font-family: 'callunaregular', serif;
    font-size: 2.4rem;
    font-weight: 400;
    line-height: 0.85;
    padding: 16px 40px;
    border-radius: 40px;
    color: #01151c;
    transform: translate(-50%, -50%);
}
.video-overlay {
	position: relative;
	overflow: hidden;
}
/*.video-fit {
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50.1%);
    z-index: 2;
    pointer-events: none;
    height: 100%;
    width: 177.77777778vh;
    min-width: 100%;
    min-height: 56.25vw;
}
.video-fit + img {
	opacity: 0;
}*/

section[class^="section--"] {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}
section[class^="section--page"]::before {
	content: "";
	width: 1px;
	margin-left: -1px;
	float: left;
	height: 0;
	padding-bottom: 100dvh;
}
section[class^="section--16-9"]::before {
	content: "";
	width: 1px;
	margin-left: -1px;
	float: left;
	height: 0;
	padding-bottom: 56.25vw;
}
section[class^="section--"]::after { 
	content: "";
	display: table;
	clear: both;
}
.section--inner {
	z-index: 2;
	position: relative;
}
.section--cover {
	object-fit: cover;
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 0;
}
.section--video-cover {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	pointer-events: none;
	height: 100%;
	width: 200vh;
	min-width: 100%;
	min-height: 56.25vw;
}
.section--video-cover + .section--cover {
	
}


@media (max-width : 991px) {
	section[class^="section--16-9"]::before {
		content: "";
		width: 1px;
		margin-left: -1px;
		float: left;
		height: 0;
		padding-bottom: 100vw;
	}
}


.col--inner {
	max-width: 585px;
	margin: auto;
}
.col--inner *:last-child {
	margin-bottom: 0;
}
.col--inner-img {
	position: relative;
	overflow: hidden;
}
.video-fit {
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    pointer-events: none;
    height: 100%;
    width: 177.77777778%;
    min-width: 100%;
    min-height: 56.25%;
}
.video-fit + img {
	
}


/*-----// LAYOUTS //-----*/

.layout--padding-top {
    padding-top: 100px;
}
.layout--padding-bottom {
    padding-bottom: 100px;
}

@media (max-width : 767px) {
    .layout--padding-top {
        padding-top: 50px;
    }
    .layout--padding-bottom {
        padding-bottom: 50px;
    }
}


/*-----// LAYOUT : SIMPLE //-----*/

.simple--stage {
    display: flex;
    justify-content: center;
}
.simple--content {
    max-width: 1030px;
    flex: 0 0 100%;
}


/*-----// LAYOUT : THANKS //-----*/

.thanks--stage {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 60px;
}
.thanks--text {
    flex: 1;
}
.thanks--video {
    flex: 0 0 60%;
}
.thanks--text-inner {
    margin-bottom: 60px;
}
.thanks--buttons {
    display: inline-flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 60px;
}
.thanks--contacts {
    display: inline-flex;
    flex-direction: column;
    gap: 40px;
}
.thanks--contact {
    border-bottom: 1px solid var(--blue);
    padding-bottom: 20px;
}
.thanks--video-image {
    position: relative;
    overflow: hidden;
}
.thanks--video-image a {
    display: block;
}
.thanks--video-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9;
    pointer-events: none;
    backdrop-filter: blur(2px);
    background-color: rgba(255, 255, 255, 0.2);
    color: var(--white);
    font-size: 1.8rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 25px;
    border-radius: 30px;
}
.thanks--video-button:before {
    content: '';
    background: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTIgMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEyIDZMMCAxMlYweiIgZGF0YS1uYW1lPSJQb2x5Z29uIDEiLz48L3N2Zz4=") no-repeat 50% 50% / contain;
    width: 12px;
    height: 12px;
}

.thanks--icons {
    position: absolute;
    top: 0;
    right: 0;
    width: 36vw;
    height: 9vw;
    background-color: var(--blue);
}
.thanks--icons-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(1, 1fr);
    gap: 0px;
}
.thanks--icons-grid > div {
    width: 9vw;
    height: 9vw;
}
.thanks--icons-grid-2 {
    background-color: var(--tan);
}
.thanks--icons-grid-3 {
    background-color: var(--blue);
}
.thanks--icons-grid-4 {
    background-color: var(--tan);
}
.thanks--icons-grid-5 {
    background-color: var(--blue);
}

@media (max-width : 991px) {
    .thanks--stage {
        flex-direction: column;
    }
}

@media (max-width : 767px) {
    .layout--thanks {
        padding-top: 10vw;
    }
    .thanks--icons {
        width: 40vw;
        height: 10vw;
    }
    .thanks--icons-grid > div {
        width: 10vw;
        height: 10vw;
    }
}


/*-----// LAYOUT : HERO //-----*/

.hero--stage {
    position: absolute;
    z-index: 3;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
.hero--text {
    padding: 40px 57px;
    color: var(--beige);
    flex: 0 0 60%;
}
.hero--icons {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}
.hero--icons img {
    width: 100%;
    height: auto;
    max-width: 632px;
}
.hero--landing {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
    background-color: var(--beige);
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(0vw);
    opacity: 1;
}
.hero--landing-logo {
    width: 20vw;
    min-width: 260px;
}
.hero--landing-logo svg {
    width: 100%;
    height: auto;
}

.hero--landing.in-view {
    transform: translateY(100vh);
    transition: all 500ms ease-in 2000ms;
}

.hero--icons-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(4, 1fr);
    gap: 0px;
}
.hero--icons-grid > div {
    width: 9vw;
    height: 9vw;
}
    
.grid-1 {
    grid-column-start: 4;
    background-color: var(--beige);
}

.grid-2 {
    grid-column-start: 4;
    grid-row-start: 2;
    background-color: var(--blue);
}

.grid-3 {
    grid-column-start: 4;
    grid-row-start: 3;
    background-color: var(--beige);
}

.grid-4 {
    grid-column-start: 4;
    grid-row-start: 4;
    background-color: var(--blue);
}

.grid-5 {
    grid-column-start: 1;
    grid-row-start: 4;
    background-color: var(--beige);
}

.grid-6 {
    grid-column-start: 2;
    grid-row-start: 4;
    background-color: var(--blue);
}

.grid-7 {
    grid-column-start: 3;
    grid-row-start: 4;
    background-color: var(--beige);
}

.grid-8 {
    grid-column-start: 3;
    grid-row-start: 3;
    background-color: var(--blue);
}

@media (max-width : 1199px) {
    .hero--icons-grid {
        grid-template-rows: repeat(1, 1fr);
    }
    .grid-3,
    .grid-8,
    .grid-2,
    .grid-1 {
        display: none !important;
        height: 0 !important;
    }

    .hero--stage {
        flex-direction: column;
    }
    .hero--text {
        flex: 0 0 100%;
        width: 100%;
    }
    .hero--icons {
        flex: 0 0 100%;
        width: 100%;
    }
    .hero--icons img {
        display: none;
    }
}

@media (max-width : 991px) {
    .hero--icons-grid > div {
        width: 12.5vw;
        height: 12.5vw;
    }
}

@media (max-width : 767px) {
    .hero--text {
        padding: 40px 15px;
        
    }
}

@media (max-width : 575px) {
    .hero--icons-grid > div {
        width: 20vw;
        height: 20vw;
    }
}




@keyframes animation-gg1 {
  0% {
    transform: translateY(0) scale(0) rotate(0deg);
  }
  20% {
    transform: translateY(0) scale(1.2) rotate(0deg);
  }
  50%, 100% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
}

.hero--icons-grid > div {
    transform: translateY(0) scale(0) rotate(0deg);
    display: inline-block; /* Ensures transform property works correctly */
    animation-name: animation-gg1;
    animation-duration: 1s;
    animation-iteration-count: 1;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
}

.grid-4 {
    animation-delay: 3s;
}
.grid-7 {
    animation-delay: 3.2s;
}
.grid-3 {
    animation-delay: 3.35s;
}
.grid-6 {
    animation-delay: 3.55s;
}
.grid-8 {
    animation-delay: 3.6s;
}
.grid-2 {
    animation-delay: 3.7s;
}
.grid-5 {
    animation-delay: 3.9s;
}
.grid-1 {
    animation-delay: 4.15s;
}

@keyframes animation-g1 {
  0% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
  30% {
    transform: translateY(-6px) scale(1.1) rotate(3deg);
  }
  60%, 100% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
}

.grid-1 svg {
    display: inline-block; /* Ensures transform property works correctly */
    animation-name: animation-g1;
    animation-duration: 8s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
}

@keyframes animation-g2 {
  0% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
  25% {
    transform: translateY(0) scale(1.08) rotate(180deg);
  }
  50%, 100% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
}

.grid-2 svg {
    display: inline-block; /* Ensures transform property works correctly */
    animation-name: animation-g3;
    animation-duration: 7.5s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
}

@keyframes animation-g3 {
  0% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
  40% {
    transform: translateY(0) scale(0.95) rotate(90deg);
  }
  80%, 100% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
}

.grid-3 svg {
    display: inline-block; /* Ensures transform property works correctly */
    animation-name: animation-g3;
    animation-duration: 8.5s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
}

@keyframes animation-g4 {
  0%, 10% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
  30% {
    transform: translateY(-6px) scale(1.1) rotate(3deg);
  }
  60%, 100% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
}

.grid-4 svg {
    display: inline-block; /* Ensures transform property works correctly */
    animation-name: animation-g4;
    animation-duration: 6s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
}

@keyframes animation-g5 {
  0% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
  25% {
    transform: translateY(0) scale(1.08) rotate(180deg);
  }
  50%, 100% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
}

.grid-5 svg {
    display: inline-block; /* Ensures transform property works correctly */
    animation-name: animation-g5;
    animation-duration: 10s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
}

@keyframes animation-g6 {
  0% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
  25% {
    transform: translateY(-6px) scale(1.08) rotate(-3deg);
  }
  50%, 100% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
}

.grid-6 svg {
    display: inline-block; /* Ensures transform property works correctly */
    animation-name: animation-g6;
    animation-duration: 6s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
}

@keyframes animation-g7 {
  0% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
  15% {
    transform: translateY(-6px) scale(0.9) rotate(-3deg);
  }
  20% {
    transform: translateY(-6px) scale(0.9) rotate(2deg);
  }
  25% {
    transform: translateY(-6px) scale(0.9) rotate(-3deg);
  }
  30% {
    transform: translateY(-6px) scale(0.9) rotate(2deg);
  }
  35% {
    transform: translateY(-6px) scale(0.9) rotate(-3deg);
  }
  55%, 100% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
}

.grid-7 svg {
    display: inline-block; /* Ensures transform property works correctly */
    animation-name: animation-g7;
    animation-duration: 7s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
}

@keyframes animation-g8 {
  0% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
  15% {
    transform: translateY(-6px) scale(1.08) rotate(-3deg);
  }
  20% {
    transform: translateY(-6px) scale(1.08) rotate(2deg);
  }
  25% {
    transform: translateY(-6px) scale(1.08) rotate(-3deg);
  }
  30% {
    transform: translateY(-6px) scale(1.08) rotate(2deg);
  }
  35% {
    transform: translateY(-6px) scale(1.08) rotate(-3deg);
  }
  55%, 100% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
}

.grid-8 svg {
    display: inline-block; /* Ensures transform property works correctly */
    animation-name: animation-g8;
    animation-duration: 4s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
}


/*-----// LAYOUT : REGISTER //-----*/

.layout--register {
    background-color: var(--blue);
    color: var(--tan);
}
.register--stage {
    display: flex;
}
.register--text {
    max-width: 1478px;
    flex: 1;
}
.layout--register .gform_button {
	border: 2px solid var(--beige) !important;
    background-color: var(--beige) !important;
    color: var(--blue) !important;
}
.layout--register .gform_button:hover {
    border: 2px solid var(--beige) !important;
    background-color: transparent !important;
    color: var(--beige) !important;
}


/*-----// LAYOUT : SUN ICON //-----*/

.sun-icon--stage {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.sun-icon--text {
    flex: 0 0 50%;
    max-width: 660px;
}
.sun-icon--icon {
    flex: 1;
    display: flex;
    justify-content: center;
}

@media (max-width : 991px) {
    .sun-icon--stage {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 60px;
    }
    .sun-icon--text,
    .sun-icon--icon {
        flex: 0 0 100%;
        width: 100%;
    }
    .sun-icon--text {
        order: 2;
    }
    .sun-icon--icon {
        order: 1;
        justify-content: flex-end;
    }
}

.sun-icon--icon .icon {
    display: inline-block;

}
.sun-icon--icon svg {
    max-width: 334px;
    width: 100%;
    height: auto;
}


/*-----// LAYOUT : GRID //-----*/

.grid--stage {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.grid--top-text {
    flex: 0 0 40%;
    padding: 0 10vw 0 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}
.grid--top-image {
    flex: 0 0 60%;
    margin-bottom: -10vw;
    display: flex;
    position: relative;
}
.grid--bottom-text {
    flex: 0 0 60%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 17vw 0 0 10vw;
}
.grid--bottom-image {
    flex: 0 0 40%;
    display: flex;
    position: relative;
    overflow: hidden;
}
.grid--top-text-inner {
    max-width: 566px;
    width: 100%;
    padding-bottom: 10vw;
}
.grid--bottom-text-inner {
    max-width: 566px;
    width: 100%;
    border-bottom: 4px solid var(--blue);
    padding-bottom: 40px;
}
.grid--top-image-inner {
    position: relative;
    display: flex;
    height: 100%;
    overflow: hidden;
}
.grid--top-image-icons {
    position: absolute;
    bottom: 0;
    left: -10vw;
    background-color: var(--blue);
    width: 30vw;
    height: 10vw;
    z-index: 9;
}

.grid--icons {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(1, 1fr);
    gap: 0px;
}
.grid--icons > div {
    width: 10vw;
    height: 10vw;
}

@media (max-width : 1300px) {
    .grid--top-text,
    .grid--top-image,
    .grid--bottom-text,
    .grid--bottom-image {
        flex: 0 0 50%;
    }
}

@media (max-width : 991px) {
    .grid--top-text,
    .grid--top-image,
    .grid--bottom-text,
    .grid--bottom-image {
        flex: 0 0 100%;
    }
    .grid--top-image {
        display: none;
    }
    .grid--bottom-text {
        padding: 50px 0 0 0;
    }
    .grid--top-text-inner {
        padding-bottom: 40px;
    }
    .grid--bottom-image-icons {
        position: absolute;
        top: 0;
        right: 0;
        background-color: var(--blue);
        width: 20vw;
        height: 20vw;
        z-index: 9;
    }
    .grid--top-text {
        padding: 0;
    }
}


/*-----// LAYOUT : AERIAL //-----*/

.layout--aerial {
    background-color: var(--blue);
    padding: 10px;
}
.aerial--image-desktop {
    display: block;
}
.aerial--image-mobile {
    display: none;
}

@media (max-width : 767px) {
    .aerial--image-desktop {
        display: none;
    }
    .aerial--image-mobile {
        display: block;
    }
}


/*-----// LAYOUT : IMAGE //-----*/

.layout--image {
    position: relative;
}
.image--image-desktop {
    display: block;
}
.image--image-mobile {
    display: none;
}
.image-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 9;
    padding: 10px 20px;
    color: var(--tan);
    font-size: 1.4rem;
    font-weight: 500;
}
.image--icons {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}

.image--icons-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(4, 1fr);
    gap: 0px;
}
.image--icons-grid > div {
    width: 9vw;
    height: 9vw;
}

.image--icons-grid-1 {
    background-color: var(--blue);
}
.image--icons-grid-2 {
    background-color: var(--beige);
}
.image--icons-grid-3 {
    background-color: var(--blue);
}
.image--icons-grid-4 {
    background-color: var(--beige);
}
.image--icons-grid-5 {
    background-color: var(--beige);
}
.image--icons-grid-6 {
    grid-column-start: 1;
    grid-row-start: 3;
    background-color: var(--blue);
}
.image--icons-grid-7 {
    grid-column-start: 1;
    grid-row-start: 4;
    background-color: var(--beige);
}

.image--icons-grid-8 {
    grid-column-start: 2;
    grid-row-start: 2;
    background-color: var(--blue);
}

@media (max-width : 767px) {
    .image--image-desktop {
        display: none;
    }
    .image--image-mobile {
        display: block;
    }
    .image--icons-grid-5,
    .image--icons-grid-6,
    .image--icons-grid-7,
    .image--icons-grid-8 {
        display: none;
        height: 0
    }
    .image--icons-grid > div {
        width: 20vw;
        height: 20vw;
    }
}


/*-----// LAYOUT : LOCATION //-----*/


.layout--location {
    background-color: var(--blue);
    color: var(--tan);
}
.location--stage {
    display: flex;
    justify-content: space-between;
    gap: 60px;
}
.location--text {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
}
.location--text-inner {
    max-width: 720px;
    padding-bottom: 10vw;
    padding-right: 10vw;
    border-bottom: 4px solid var(--tan);
}
.location--image {
    flex: 0 0 50%;
}

@media (max-width : 991px) {
    .location--stage {
        flex-direction: column;
    }
    .location--image {
        flex: 1;
    }
    .location--text-inner {
        padding-bottom: 40px;
        padding-right: 0;
    }
}


/*-----// LAYOUT : REGISTER NOW //-----*/

.layout--register-now {
    position: relative;
    padding-top: 9vw;
}
.register-now--icons {
    position: absolute;
    top: 0;
    right: 0;
    width: 45vw;
    height: 9vw;
    background-color: var(--blue);
}
.register-now--stage {
    display: flex;
    justify-content: space-between;
    gap: 60px;
    padding-top: 9vw;
}
.register-now--text {
    flex: 1;
    max-width: 720px;
    display: flex;
    flex-direction: column;
}
.register-now--form {
    flex: 0 0 50%;
}

.register-now--form .register-now--icon {
    display: none;
    margin-top: 40px;
}
.register-now--text .register-now--icon {
    margin-top: auto;
    margin-bottom: 100px;
}
.register-now--text .register-now--icon svg,
.register-now--form .register-now--icon svg {
    width: 194px;
    height: auto;
}

@media (max-width : 991px) {
    .register-now--text .register-now--icon {
        display: none;
    }
    .register-now--form .register-now--icon {
        display: block;
    }
}

.register-now--icons-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(1, 1fr);
    gap: 0px;
}
.register-now--icons-grid > div {
    width: 9vw;
    height: 9vw;
}
.register-now--icons-grid-1 {
    background-color: var(--blue);
}
.register-now--icons-grid-2 {
    background-color: var(--beige);
}
.register-now--icons-grid-3 {
    background-color: var(--blue);
}
.register-now--icons-grid-4 {
    background-color: var(--beige);
}
.register-now--icons-grid-5 {
    background-color: var(--blue);
}

@media (max-width : 991px) {
    .register-now--stage {
        flex-direction: column;
    }
}

@media (max-width : 767px) {
    .layout--register-now {
        padding-top: 20vw;
    }
    .register-now--icons {
        width: 60vw;
        height: 20vw;
    }
    .register-now--icons-grid > div {
        width: 20vw;
        height: 20vw;
    }
    .register-now--icons-grid-4 ,
    .register-now--icons-grid-5 {
        display: none;
        height: 0
    }
}


/**/
