/*-----// FONTS //-----*/


@font-face {
    font-family: 'Gotham';
    src: url('../fonts/Gotham-Book.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham';
    src: url('../fonts/GothamBold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham';
    src: url('../fonts/GothamMedium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Geogrotesque Rg It';
    src: url('../fonts/Geogrotesque-RegularItalic.woff2') format('woff2');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Geogrotesque Bd It';
    src: url('../fonts/Geogrotesque-BoldItalic.woff2') format('woff2');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}


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

:root {
	--black: #000;
	--lightgrey: #B2CCE6;
    --grey: #7995B0;
    --darkgrey: #496077;
	--white: #fff;
    
    --navy: #002447;
    --bluedark: #0154A4;
    --blue: #3A8ED8;
    --bluelight: #00aeef;
    --bluegrey: #688199;
    --bluewhite: #DDEEFE;
    
    --greenlight: #B3DFD9;
    --green: #72F184;
    
    --orange: #F47835;
    --peach: #F3EAD5;
    --coral: #FF9587;
    --red: #EF5A5E;
	
	--serif: Times, serif;
	--sans: 'Gotham', sans-serif;
    --slab: 'Geogrotesque Bd It', sans-serif;
    --slabr: 'Geogrotesque Rg It', sans-serif;
}

html {
    min-height: 100%;
    padding: 0px;
    margin: 0px;
    font-size: 62.5%;
	overflow-x: hidden;
    scroll-padding-top: 90px;
}
body {
    background: var(--navy);
    padding: 0px;
    font-family: var(--sans);
    font-style: normal;
    font-weight: 400;
    font-size: 1.6rem;
    letter-spacing: -0.01em; 
    color: var(--white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
p, li, .p, address {
	font-size: 1.6rem;
	font-style: normal;
	font-weight: 400;
}
a {
	color: var(--green);
}
a:hover, a:focus {
	color: var(--red);
}
main {
    overflow: hidden;
}
main p, main ul, main ol {
	margin: 0 0 20px;
}
main ul, main ol {
	padding-left: 20px;
}
main li {
	margin: 5px 0px;
}
main a {
	text-decoration: underline;
    text-underline-offset: 5px;
}
main a:hover, main a:focus {
	text-decoration: none !important;
}
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: 700;
}
.slab {
	font-family:  var(--slab) !important;
    font-weight: bold;
    font-style: italic;
    letter-spacing: 0;
}
.slabr {
	font-family:  var(--slabr) !important;
    font-weight: normal;
    font-style: italic;
    letter-spacing: 0;
}
.serif {
	font-family: var(--serif) !important;
}
.sans {
	font-family: var(--sans) !important;
}

.font-400 {
    font-weight: 400;
}
.font-500 {
    font-weight: 500;
}
.font-700 {
    font-weight: 700;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
    font-family:  var(--slab) !important;
    font-weight: bold;
    font-style: italic;
    letter-spacing: 0;
	margin: 0 0 15px;
    line-height: 1.2;
}

h1, .h1 {
	font-size: 6rem;
}
h2, .h2 {
	font-size: 4rem;
}
h3, .h3 {
	font-size: 3rem;
}
h4, .h4 {
	font-size: 2.4rem;
}
h5, .h5 {
	font-size: 2rem;
}
h6, .h6 {
	font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

@media (max-width : 767px) {
	h1, .h1 {
		font-size: 4rem;
	}
	h2, .h2 {
		font-size: 3rem;
	}
	h3, .h3 {
		font-size: 2.4rem;
	}
	h4, .h4 {
		font-size: 2rem;
	}
	h5, .h5 {
		font-size: 1.8rem;
	}
	h6, .h6 {
		font-size: 1.1rem;
	}
}

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(--bluegrey);
	opacity: 1;
}
.hr-bluedark {
    background-color: var(--bluedark);
}

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

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

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


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

.btn-check:focus + .btn, .btn:focus {
    outline: 0;
    box-shadow: none;
}
.btn {
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: 0.083em;
    text-transform: uppercase;
    padding: 5px 15px;
    border-radius: 2rem;
    margin: 0;
    text-decoration: none;
    filter: brightness(100%);
    transition: filter 0.3s ease; /* Smooth transition */
}
.btn:hover {
    filter: brightness(80%);
}
.btn-large {
    font-family:  var(--slab) !important;
    font-weight: bold;
    font-style: italic;
    letter-spacing: 0;
    font-size: 2rem;
    padding: 8px 25px;
    border-radius: 3px;
    text-decoration: none;
}
.btn-black, .btn-black:hover, .btn-black:focus, .btn-black:active {
	background-color: var(--black);
    border-color: var(--black);
	color: var(--white);
}
.btn-green, .btn-green:hover, .btn-green:focus, .btn-green:active {
	background-color: var(--green);
    border-color: var(--green);
	color: var(--bluedark);
}
.btn-blue, .btn-blue:hover, .btn-blue:focus, .btn-blue:active {
	background-color: var(--blue);
    border-color: var(--blue);
	color: var(--white);
}
.btn-bluedark, .btn-bluedark:hover, .btn-bluedark:focus, .btn-bluedark:active {
	background-color: var(--bluedark);
    border-color: var(--bluedark);
	color: var(--white);
}
.btn-bluelight, .btn-bluelight:hover, .btn-bluelight:focus, .btn-bluelight:active {
	background-color: var(--bluelight);
    border-color: var(--bluelight);
	color: var(--white);
}
.btn-bluegrey, .btn-bluegrey:hover, .btn-bluegrey:focus, .btn-bluegrey:active {
	background-color: var(--bluegrey);
    border-color: var(--bluegrey);
	color: var(--white);
}
.btn-coral, .btn-coral:hover, .btn-coral:focus, .btn-coral:active {
	background-color: var(--coral);
    border-color: var(--coral);
	color: var(--white);
}
.btn-red, .btn-red:hover, .btn-red:focus, .btn-red:active {
	background-color: var(--red);
    border-color: var(--red);
	color: var(--white);
}
.btn-orange, .btn-orange:hover, .btn-orange:focus, .btn-orange:active {
	background-color: var(--orange);
    border-color: var(--orange);
	color: var(--white);
}
.btn-lightgrey, .btn-lightgrey:hover, .btn-lightgrey:focus, .btn-lightgrey:active {
	background-color: var(--lightgrey);
    border-color: var(--lightgrey);
	color: var(--navy);
}
.btn-peach, .btn-peach:hover, .btn-peach:focus, .btn-peach:active {
	background-color: var(--peach);
    border-color: var(--peach);
	color: var(--orange);
}

.link--arrow-right {
    font-size: 1.6rem;
    font-weight: 700;
    display: inline-flex;
    gap: 10px;
    align-items: center;
    text-decoration: none;
    text-transform: uppercase;
    filter: brightness(1);
    transition: all 440ms ease;
}
.link--arrow-right:hover {
    filter: brightness(0.8);
}
.link--arrow-right svg {
    position: relative;
    transform: translateX(0);
    transition: all 440ms ease;
}
.link--arrow-right:hover svg {
    transform: translateX(10px);
}

.link-bluedark {
    color: var(--bluedark);
}
.link-bluedark:hover {
    color: var(--bluedark);
}
.link-nounderline {
    text-decoration: none;
}


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

.text-sm {
    font-size: 0.85em;
}
.text-white {
	color: var(--white);
}
.text-offwhite {
	color: var(--offwhite);
}
.text-black {
	color: var(--black);
}
.text-navy {
	color: var(--navy);
}
.text-green {
	color: var(--green);
}
.text-bluedark {
	color: var(--bluedark);
}
.text-blue {
	color: var(--blue);
}
.text-bluelight {
	color: var(--bluelight);
}
.text-bluewhite {
	color: var(--bluewhite);
}
.text-bluegrey {
	color: var(--bluegrey);
}
.text-coral {
	color: var(--coral);
}
.text-red {
	color: var(--red);
}
.text-orange {
	color: var(--orange);
}
.text-lightgrey {
	color: var(--lightgrey);
}
.text-grey {
	color: var(--grey);
}
.text-darkgrey {
	color: var(--darkgrey);
}
.text-peach {
	color: var(--peach);
}

.bg-transparent {
	background-color: transparent;
}
.bg-white {
    background-color: var(--white);
}
.bg-navy {
    background-color: var(--navy);
}
.bg-offwhite {
    background-color: var(--offwhite);
}
.bg-peach {
    background-color: var(--peach);
}
.bg-green {
    background-color: var(--green);
}
.bg-greenlight {
    background-color: var(--greenlight);
}

.gradient-bluedark-bluelight {
    background: linear-gradient(270deg,rgba(0, 174, 239, 1) 0%, rgba(1, 84, 164, 1) 100%);
}
.gradient-red-bluelight {
    background: linear-gradient(270deg,rgba(0, 174, 239, 1) 0%, rgba(239, 90, 94, 1) 100%);
}
.gradient-green-bluelight {
    background: linear-gradient(270deg,rgba(0, 174, 239, 1) 0%, rgba(114, 241, 132, 1) 100%);
}
.gradient-peach-coral {
    background: linear-gradient(90deg,rgba(243, 234, 213, 1) 0%, rgba(255, 149, 135, 1) 100%);
}
.gradient-text-red-bluelight {
    background: linear-gradient(270deg,rgba(0, 174, 239, 1) 0%, rgba(239, 90, 94, 1) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent; 
    color: transparent;
}


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);
}


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

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

.section--top-padding {
    padding-top: 100px;
}
.section--bottom-padding {
    padding-bottom: 100px;
}
.section--curved-top, .section--curved-bottom {
    position: relative;
}
.section--curved-top:before {
    content: '';
    width: 100vw;
    min-width: 1600px;
    height: 300px;
    background-color: inherit;
    clip-path: ellipse(55% 50% at 50% 50%);
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -30%);
    z-index: 1;
}
.section--curved-bottom:after {
    content: '';
    width: 100vw;
    min-width: 1600px;
    height: 300px;
    background-color: inherit;
    clip-path: ellipse(55% 50% at 50% 50%);
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 30%);
    z-index: 1;
}
.section--curved-top > *, .section--curved-bottom > * {
    z-index: 2;
    position: relative;
}

.container--wrapper {
    width: 100vw;
    max-width: 1520px;
    margin: auto;
    padding: 0 40px;
}

@media (max-width : 767px) {
    .container--wrapper {
        padding: 0 20px;
    }
    .section--top-padding {
        padding-top: 60px;
    }
    .section--bottom-padding {
        padding-bottom: 60px;
    }
}


/*-----// 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 {
	position: fixed;
	z-index: 99;
	top: 0;
	left: 0;
	width: 100vw;
	transition: top 440ms ease;
}
.header--top {
    padding: 10px 0;
}
.header--top-inner {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}
.header--top-countdown {
    width: 260px;
}
.header--top-alert {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-right: 20px;
}
.header--top-social {
    width: 220px;
}
.header--top-social {
    display: flex;
    gap: 12px;
    align-items: center;
}
.header--top-social-headline {
    color: var(--bluedark);
    font-family: var(--slab);
    font-weight: 700;
    font-style: italic;
    line-height: 1;
}

@media (max-width : 767px) {
    .header--top-social-icons {
        display: none;
    }
    .header--top-social {
        width: auto;
    }
}


/*-----// LAYOUT : COUNTDOWN //-----*/

.header--top-countdown {
    display: flex;
    gap: 20px;
    align-items: center;
}
.header--top-countdown-headline {
    color: var(--bluedark);
    font-family: var(--slab);
    font-weight: 700;
    font-style: italic;
    line-height: 1;
}
#countdown {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}
.time-container {
    font-family: var(--slab);
    font-size: 1.6rem;
    font-weight: 700;
    font-style: italic;
    color: var(--blue);
    position: relative;
    text-align: left;
    line-height: 1;  
}
.time-container span:after {
    color: var(--bluedark);
    display: block;
    font-family: 'Geogrotesque Rg It';
    font-size: 1.25rem;
    font-weight: 400;
    font-style: italic;
    line-height: 1;   
}
.time-container .weeks:after {
    content: 'WEEKS';
}
.time-container .days:after {
    content: 'DAYS';
}
.time-container .hours:after {
    content: 'HRS';
}
.time-container .minutes:after {
    content: 'MINS';
}
.time-container .seconds:after {
    content: 'SECS';
}


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

.header--top-alert {
    border-left: 1px solid var(--bluedark);
    padding-left: 20px;
    display: flex;
    position: relative;
}
/*.header--top-alert:before {
    content: '';
    background: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0Y2RjdGNiIgZD0iTTkgMS4zNzVhNy44NzUgNy44NzUgMCAxMTAgMTUuNzUgNy44NzUgNy44NzUgMCAwMTAtMTUuNzV6TTkgMTguMjVhOSA5IDAgMTAwLTE4IDkgOSAwIDAwMCAxOHptLTEuNjg3LTUuNjI1YS41NjQuNTY0IDAgMDAtLjU2My41NjNjMCAuMzA5LjI1My41NjIuNTYzLjU2MmgzLjM3NWEuNTY0LjU2NCAwIDAwLjU2Mi0uNTYzLjU2NC41NjQgMCAwMC0uNTYyLS41NjJIOS41NjNWOC42ODdBLjU2NC41NjQgMCAwMDkgOC4xMjZINy41OTRhLjU2NC41NjQgMCAwMC0uNTYzLjU2M2MwIC4zMDkuMjUzLjU2Mi41NjMuNTYyaC44NDR2My4zNzVINy4zMTN6TTkgNi43MTlBLjg0NC44NDQgMCAxMDkgNS4wM2EuODQ0Ljg0NCAwIDAwMCAxLjY5eiIvPjwvc3ZnPg==') no-repeat 50% 50% / 18px 19px;
    width: 18px;
    height: 19px;
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translate(0, -50%);
}*/
.header--top-alert-inner {
    /*padding-left: 20px;*/
    max-width: 100%;
    flex: 1;
    display: flex;
    align-items: center;
}
.header--top-alert-inner > * {
    font-size: 1.2rem;
    margin: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.header--top-alert-inner * {
    color: var(--bluedark);
}

@media (max-width : 991px) {
    .header--top-alert {
        display: none;
    }
}

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

.header--main {
    padding: 15px 0;
    background: linear-gradient(180deg,rgba(0, 36, 71, 1) 0%, rgba(0, 36, 71, 0) 100%);
}
.header--main-inner {
    display: flex;
    gap: 30px;
    align-items: center;
}
.header--main-logo {
    max-width: 265px;
    width: 17vw;
    min-width: 200px;
}
.header--main-logo a {
    display: block;
}
.header--main-search {
    margin-left: auto;
    padding-top: 25px;
    position: relative;
}
.search-bar {
    position: absolute;
    bottom: -3px;
    right: 35px;
    width: 200px;
    opacity: 0;
    transform: translateX(20px);
    pointer-events: none;
    transition: all 440ms ease;
}
.search-bar.active {
    opacity: 1;
    transform: translateX(0px);
    pointer-events: all;
}
.search-field {
    padding: 5px 15px;
    border: 1px solid var(--white);
    border-radius: 3px;
    font-size: 1.4rem;
    width: 100%;
}
.header--main-mobile {
    padding-top: 25px;
    display: none;
}
.header--main-language {
    padding-top: 35px;
    position: relative;
}
.gt_float_switcher .gt_options {
    position: absolute !important;
    right: 0 !important;
    width: 260px !important;
    max-height: 405px !important;
    background-color: var(--white) !important;
}
.gt_float_switcher .gt-selected .gt-current-lang {
    padding: 6px 10px !important;
    color: var(--bluedark) !important;
}
.gt_float_switcher img {
    width: 26px !important;
}
.gt_float_switcher {
    font-family: var(--slab) !important;
    font-size: 16px !important;
}
.gt_float_switcher .gt_options a {
    color: var(--bluedark) !important;
    transition: color 0s linear !important;
}
.gt_float_switcher .gt_options a:hover {
    background: var(--green) !important;
    color: var(--bluedark) !important;
}

@media (max-width : 1199px) {
    .header--main-inner {
        gap: 20px;
    }
    .header--main-mobile {
        display: block;
    }
}

@media (max-width : 767px) {
    .header--main-language {
        display: none;
    }
}


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

.header--main-menu {
    flex: 1;
    padding: 35px 30px 0px;
}
.header--main-menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.header--main-menu ul.menu {
    display: flex;
    gap: 2.9vw;
}
.header--main-menu ul.menu > li {
    position: relative;
}
.header--main-menu ul.menu > li > a {
    display: flex;
    align-items: center;
    font-family: var(--slab);
    font-size: 2.4rem;
    font-weight: 700;
    font-style: italic;
    line-height: 1;
    color: var(--white);
    text-decoration: none;
    white-space: normal;
}

.header--main-menu ul.sub-menu {
    position: absolute;
    top: 100%;
    left: -20px;
    border-radius: 6px;
    backdrop-filter: blur(12px) brightness(0.8);
    border: 1px solid rgba(255, 255, 255, 0.2);
    opacity: 0;
    pointer-events: none;
    transition: all 440ms ease;
}
.header--main-menu ul.menu > li:hover > ul.sub-menu {
    opacity: 1;
    pointer-events: all;
}
.header--main-menu ul.sub-menu > li > a {
    display: block;
    font-family: var(--slab);
    font-size: 1.8rem;
    font-weight: 700;
    font-style: italic;
    color: var(--white);
    text-decoration: none;
    white-space: nowrap;
    padding: 5px 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
}
.header--main-menu ul.sub-menu > li:first-child > a {
    border-top: none;
}
.header--main-menu ul.sub-menu > li > a:hover {
    color: var(--green);
}

@media (min-width : 1200px) {
    .header--main-menu .menu-item-has-children > a:after {
        content: '';
        width: 12.25px;
        height: 7px;
        display: block;
        background: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTQgOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjRkZGIiBkPSJNNi4zODIgNi44NjhhLjg3Ni44NzYgMCAwMDEuMjM5IDBsNS4yNS01LjI1QS44NzYuODc2IDAgMDAxMS42MzIuMzc5TDcgNS4wMTEgMi4zNjguMzgyYS44NzYuODc2IDAgMDAtMS4yMzkgMS4yMzlsNS4yNSA1LjI1LjAwMy0uMDAzeiIvPjwvc3ZnPg==') no-repeat 50% 50% / 12.25px 7px;
        margin-left: 10px;
    }
}

@media (max-width : 1199px) {
    .header--main-menu {
        display: none;
    }
}

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

.footer {
    background-color: var(--peach);
    padding: 40px 0;
}
.footer--nav {
    padding-top: 30px;
}
.footer--nav ul {
    margin: 0;
    padding: 0; 
    list-style: none;
    display: flex;
}
.footer--nav ul.menu {
    flex-direction: row;
    gap: 40px;
}
.footer--nav ul.menu > li {
    flex: 1;
}
.footer--nav ul.menu > li > a {
    font-family: var(--slab);
    font-size: 1.6rem;
    color: var(--bluedark);
    text-decoration: none;
    padding: 4px 0;
    display: block;
}
.footer--nav ul.sub-menu {
    flex-direction: column;
}
.footer--nav ul.sub-menu > li {
    flex: 1;
}
.footer--nav ul.sub-menu > li > a {
    font-family: var(--sans);
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--bluedark);
    text-decoration: none;
    padding: 4px 0;
    display: block;
}

.footer--logo {
    width: 100%;
    max-width: 265px;
}

.footer--subscribe {
    width: 100%;
    max-width: 400px;
}

.social--icons {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}
/*.header .social--icons img {
    filter: brightness(0) invert(1);
    transition: all 440ms ease;
}
.header .social--icons a:hover img {
    filter: brightness(1) invert(0);
}*/

@media (max-width : 991px) {
    .social--icons {
        justify-content: center;
    }
}

@media (max-width : 640px) {
    .footer--subscribe {
        width: 100%;
        max-width: 100%;
        text-align: center;
    }
    .footer--nav ul.menu {
        flex-direction: column;
        gap: 40px;
    }
    .footer--logo {
        margin: auto;
    }
    .footer--nav {
        text-align: center;
    }
}

.footer--divider {
    text-align: center;
    margin: 5px 0;
}
.footer--divider img{
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.footer--partners {
    padding: 60px 0;
}
.footer--partner-logos {
    display: flex;
    gap: 80px;
    align-items: center;
    justify-content: center;
    padding: 40px 0;
}

@media (max-width : 767px) {
    .footer--partner-logos {
        flex-wrap: wrap;
    }
    .footer--partner-logos {
        gap: 40px;
    }
}


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

.carousel-sport-today .owl-nav .owl-prev {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 80px;
    background: linear-gradient(270deg,rgba(114, 241, 132, 0) 0%, rgba(114, 241, 132, 1) 100%) !important;
    transition: all 0.2s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
}
.carousel-sport-today .owl-nav .owl-prev:before {
    content: '';
    display: block;
    background: url('data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjMDE1NGE0IiB2aWV3Qm94PSIwIDAgNDYgNDYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIzIDQxLjRjMTAuMiAwIDE4LjQtOC4yIDE4LjQtMTguNFMzMy4yIDQuNiAyMyA0LjYgNC42IDEyLjggNC42IDIzIDEyLjggNDEuNCAyMyA0MS40em0tOC43LTE5LjZsNS44LTUuOGMuNy0uNyAxLjgtLjcgMi40IDAgLjcuNy43IDEuOCAwIDIuNGwtMi44IDIuOGgxMC44YzEgMCAxLjcuOCAxLjcgMS43cy0uOCAxLjctMS43IDEuN0gxOS43bDIuOCAyLjhjLjcuNy43IDEuOCAwIDIuNHMtMS44LjctMi40IDBMMTQuMyAyNGMtLjctLjctLjctMS44IDAtMi40eiIvPjwvc3ZnPg==') no-repeat 50% 50% / contain;
    width: 46px;
    height: 46px;
}

.carousel-sport-today .owl-nav .owl-next {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 80px;
    background: linear-gradient(90deg,rgba(114, 241, 132, 0) 0%, rgba(114, 241, 132, 1) 100%) !important;
    transition: all 0.2s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
}
.carousel-sport-today .owl-nav .owl-next:before {
    content: '';
    display: block;
    background: url('data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjMDE1NGE0IiB2aWV3Qm94PSIwIDAgNDYgNDYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIzIDQxLjRDMTIuOCA0MS40IDQuNiAzMy4yIDQuNiAyM1MxMi44IDQuNiAyMyA0LjYgNDEuNCAxMi44IDQxLjQgMjMgMzMuMiA0MS40IDIzIDQxLjR6bTguNy0xOS42TDI1LjkgMTZjLS43LS43LTEuOC0uNy0yLjQgMC0uNy43LS43IDEuOCAwIDIuNGwyLjggMi44SDE1LjVjLTEgMC0xLjcuOC0xLjcgMS43cy44IDEuNyAxLjcgMS43aDEwLjhsLTIuOCAyLjhjLS43LjctLjcgMS44IDAgMi40czEuOC43IDIuNCAwbDUuOC01LjhjLjctLjcuNy0xLjggMC0yLjR6Ii8+PC9zdmc+') no-repeat 50% 50% / contain;
    width: 46px;
    height: 46px;
}

.carousel--banner.owl-carousel .owl-dots {
    position: absolute;
    left: 40px;
    bottom: 40px;
}
.carousel--banner.owl-carousel .owl-dots .owl-dot {
    display: inline-block;
}
.carousel--banner.owl-carousel .owl-dots .owl-dot span {
    width: 10px;
    height: 10px;
    margin: 5px;
    background: var(--white);
	border: 1px solid var(--white);
    display: block;
    transition: all 440ms ease;
}
.carousel--banner.owl-carousel .owl-dots .owl-dot.active span, .carousel--banner.owl-carousel .owl-dots .owl-dot:hover span {
    background: var(--green);
    border: 1px solid var(--green);
}

@media (max-width : 575px) {
    .carousel--banner.owl-carousel .owl-dots {
        position: absolute;
        left: 20px;
        bottom: 20px;
    }
}


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

.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(--bluegrey) !important;
    background-color: var(--white) !important;
    color: var(--navy) !important;
    padding: 10px 20px !important;
    border-radius: 3px !important;
    font-size: 1.4rem !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;
}

::placeholder {
    color: var(--bluegrey);
}

/* FORM 5 - FOOTER SUBSCRIBE */

.footer--subscribe .gform_wrapper.gravity-theme .gform_fields {
    grid-row-gap: 0 !important;
    grid-column-gap: 0 !important;
}
.footer--subscribe .gform_wrapper.gravity-theme .gform_body input {
    border-top-right-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
    border-top-left-radius: 3px !important;
    border-bottom-left-radius: 3px !important;
}
.footer--subscribe .gform_wrapper.gravity-theme #field_submit input, .footer--subscribe .gform_wrapper.gravity-theme .gform_footer input {
    font-family: var(--sans) !important;
    font-style: normal !important;
    font-size: 1.2rem !important;
    font-weight: 500 !important;
    padding: 12px 30px 11px !important;
    color: var(--white) !important;
    background-color: var(--bluedark) !important;
    border-top-right-radius: 3px !important;
    border-bottom-right-radius: 3px !important;
    border-top-left-radius: 0px !important;
    border-bottom-left-radius: 0px !important;
    border: 1px solid var(--bluedark) !important;
    box-shadow: none !important;
}

@media (max-width : 640px) {
    .footer--subscribe .gform_wrapper.gravity-theme .gform_body input {
        border-top-right-radius: 3px !important;
        border-bottom-right-radius: 0px !important;
        border-top-left-radius: 3px !important;
        border-bottom-left-radius: 0px !important;
    }
    .footer--subscribe .gform_wrapper.gravity-theme #field_submit input, .footer--subscribe .gform_wrapper.gravity-theme .gform_footer input {
        
        border-top-right-radius: 0px !important;
        border-bottom-right-radius: 3px !important;
        border-top-left-radius: 0px !important;
        border-bottom-left-radius: 3px !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: 100vh;
}
section[class^="section--16-9"]::before {
	content: "";
	width: 1px;
	margin-left: -1px;
	float: left;
	height: 0;
	padding-bottom: 56.25vh;
}
section[class^="section--4-3"]::before {
	content: "";
	width: 1px;
	margin-left: -1px;
	float: left;
	height: 0;
	padding-bottom: 75vh;
}
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 {
	opacity: 0;
}


.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 {
	opacity: 0;
}


/*-----// LAYOUT : CARD //-----*/

.card--item {
    background-color: var(--white);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 10px rgba(0,0,0,0.4);
    margin-bottom: 30px;
    position: relative;
    height: calc(100% - 30px);
}
.card--item-image {
    padding-bottom: 66%;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    position: relative;
    overflow: hidden;
}
.card--item-image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    transform: scale(1);
    transition: all 440ms ease;
}
.card--item-image a:hover img {
    transform: scale(1.1);
}
.card--item-content {
    padding: 20px 30px 30px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    color: var(--navy);
    flex: 1;
    justify-content: space-between;
}
.card--item-title {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--bluedark);
    margin-bottom: 5px;
}
.card--item-text {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.card--item-description {
    color: var(--navy);
}
.card--item-description, .card--item-description * {
    font-size: 1.4rem;
}
.card--item-description p {
    margin-bottom: 5px;
}
.card--item-description *:last-child {
    margin-bottom: 0;
}
.card--item-business {
    padding-top: 5px;
}
.card--item-business-social {
    display: flex;
    gap: 5px;
}
.card--item-business-social a {
    width: 30px;
    height: 30px;
    display: block;
}
.card--item-business-social a img {
    width: 100%;
    height: auto;
}
.card--item-logo {
    float: right;
    width: 70px;
    height: 70px;
    position: relative;
    border: 1px solid var(--lightgrey);
    overflow: hidden;
    border-radius: 100px;
}
.card--item-logo img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.card--item-category {
    position: absolute;
    top: 20px;
    left: 40px;
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: 0.083em;
    text-transform: uppercase;
    padding: 5px 15px 5px 30px;
    border-radius: 2rem;
    margin: 0;
    text-decoration: none;
    background-color: var(--white);
    color: var(--bluedark);
    z-index: 2;
}
.card--item-category:before {
    content: '';
    width: 40px;
    height: 40px;
    position: absolute;
    top: 50%;
    right: 100%;
    transform: translate(50%, -50%);
    border-radius: 40px;
    background: var(--bluedark) url('data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjZGRlZWZlIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTYuNyAyLjZjLS41IDAtLjkuNC0uOS45djExLjljMCAuMyAwIC42LS4yLjloMTEuN2MuNSAwIC45LS40LjktLjlWMy42YzAtLjUtLjQtLjktLjktLjlINi43ek0zIDE4LjJjLTEuNiAwLTIuOC0xLjMtMi44LTIuOFYzLjljMC0uNS40LS45LjktLjlzLjkuNC45Ljl2MTEuNmMwIC41LjQuOS45LjlzLjktLjQuOS0uOVYzLjZDMy44IDIgNS4xLjggNi42LjhoMTAuNkMxOC44LjggMjAgMi4xIDIwIDMuNnYxMS45YzAgMS42LTEuMyAyLjgtMi44IDIuOEgzek03IDQuOGMwLS41LjQtLjkuOS0uOWgzLjdjLjUgMCAuOS40LjkuOXYzLjFjMCAuNS0uNC45LS45LjlINy45Yy0uNSAwLS45LS40LS45LS45VjQuOHptNy45LS45aDEuMmMuNSAwIC45LjQuOS45cy0uNC45LS45LjloLTEuMmMtLjUgMC0uOS0uNC0uOS0uOXMuNC0uOS45LS45em0wIDMuMWgxLjJjLjUgMCAuOS40LjkuOXMtLjQuOS0uOS45aC0xLjJjLS41IDAtLjktLjQtLjktLjlzLjQtLjkuOS0uOXpNOCAxMC4xaDguMWMuNSAwIC45LjQuOS45cy0uNC45LS45LjlIOGMtLjUgMC0uOS0uNC0uOS0uOXMuNC0uOS45LS45em0wIDMuMWg4LjFjLjUgMCAuOS40LjkuOXMtLjQuOS0uOS45SDhjLS41IDAtLjktLjQtLjktLjlzLjQtLjkuOS0uOXoiLz48L3N2Zz4=') no-repeat 50% 50% / 22px 20px;
    z-index: 2;
}

.card--item-name {
    color: var(--navy);
    font-size: 1.4rem;
    font-weight: 500;
}
.card--item-address {
    color: var(--navy);
    font-size: 1.4rem;
}
.card--item-buttons {
    padding-top: 10px;
}
.card--item-icons {
    display: flex;
    gap: 10px;
    align-items: center;
}
.card--item-facility {
    display: flex;
    gap: 10px;
}
.facility {

}
.facility img {
    width: auto;
    min-width: 20px;
    height: 100%;
    max-height: 22px;
}
.sport {
    width: 31px;
    height: 31px;
}
.sport img {
    width: 100%;
    height: auto;
}
.card--item-sports {
    display: flex;
    gap: 10px;
}
.tooltip {
    font-size: 1.2rem;
}

@media (max-width : 767px) {
    .card--item-content {
        padding: 20px;
        
    }
    .card--item-buttons {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }
}


/*-----// LAYOUT : CARD BULLETIN //-----*/

.bulletin--item {
    background-color: var(--peach);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 10px rgba(0,0,0,0.4);
    margin-bottom: 30px;
    position: relative;
}
.bulletin--item .card--item-header {
    display: flex;
}
.bulletin--item .card--item-text {
    flex: 1;
}
.bulletin--item .card--item-title {
    font-family: var(--slab);
    font-size: 1.8rem;
    font-weight: 700;
    font-style: italic;
    line-height: 1.2;
    color: var(--bluedark);
    margin-bottom: 0px;
}
.bulletin--item .card--item-sport {
    font-family: var(--slab);
    font-size: 1.6rem;
    font-weight: 700;
    font-style: italic;
    line-height: 1.2;
    color: var(--orange);
    margin-bottom: 5px;
}
.bulletin--item .card--item-seeking {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--navy);
}
.bulletin--item .card--item-description {
    color: var(--navy);
    display: none;
}
.bulletin--item .card--item-sport-icon {
    width: 50px;
    height: 50px;
    display: block;
    float: right;
}



/*-----// LAYOUT : ENTERTAINMENT ROW //-----*/

.entertainment-row--header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 15px;
}

@media (max-width : 1199px) {
    .entertainment-row--header {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
}


/*-----// LAYOUT : ENTERTAINMENT PAST //-----*/

.entertainment-past--header {
    margin-bottom: 60px;
}
.artist--item {
    margin-left: -30px;
    margin-right: -30px;
}
.artist--item > * {
    border-top: 1px solid var(--bluewhite);
    padding: 5px 30px;
    font-weight: 500;
}
.artist--item > *:nth-child(odd) {
    background-color: #F4F9FC;
}

@media (max-width : 767px) {
    .artist--item {
        margin-left: -20px;
        margin-right: -20px;
    }
}


/*-----// LAYOUT : HEADER //-----*/

.header--media {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    overflow: hidden;
}
.section--page .header--media {
    height: 100dvh;
}
.section--16-9 .header--media {
    height: 56.25vh;
}
.section--4-3 .header--media {
    height: 75vh;
}

.header--media:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--navy);
    opacity: 0.4;
    z-index: 2;
}
.header--media:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 160px;
    background: linear-gradient(0deg,rgba(0, 36, 71, 1) 0%, rgba(0, 36, 71, 0) 100%);
    z-index: 2;
}
.layout--header .container--wrapper {
    padding-top: 240px;
    padding-bottom: 100px;
}
.header--text {
    max-width: 860px;
    margin: auto;
}



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

.filter-controls {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 30px;
    padding: 0 0 60px 0;
}
.filter-control {
    width: 260px;
}
.filter-control--label label {
    padding-bottom: 5px;
    font-weight: 500;
    color: var(--green);
}
.filter-control select {
    border: 1px solid var(--bluegrey);
    background-color: var(--white);
    color: var(--bluegrey);
    padding: 10px 20px;
    border-radius: 3px;
    font-size: 1.4rem;
    font-weight: 500;
    width: 100%;
}

.filter--collapse {
    display: flex;
    flex-direction: column;
    margin: 60px 0;
}
.filter--collapse-button {
    order: 2;
    border-bottom: 1px solid var(--bluegrey);
    position: relative;
}
.filter--collapse-button button {
    position: absolute;
    left: 50%;
    top: 0;
    z-index: 2;
    transform: translate(-50%, -50%);
}
.filter--collapse-content {
    order: 1;
    display: none;
}

@media (max-width : 575px) {
    .filter-controls {
        flex-direction: column;
    }
    .filter-control {
        width: 100%;
    }
}


.post-grid {
    display: flex;
    flex-wrap: wrap;
}
.grid-item {
    transition: opacity 0.4s ease, transform 0.4s ease;
    opacity: 1;
    transform: scale(1);
    
}
.grid-item.is-hidden {
    opacity: 0;
    transform: scale(0.8);
    flex-basis: 0;
    transition-delay: 0s, 0s, 0.4s; 
    position: absolute;
    pointer-events: none;
}

tr.grid-item {
    transition: none;
    opacity: 1;
    transform: scale(1);
}
tr.grid-item.is-hidden {
    opacity: 0;
    transform: scale(1);
    flex-basis: 0;
    transition-delay: 0s; 
    position: absolute;
}

@media (max-width: 767px) {
    .grid-item {
        flex-basis: 50%;
    }
}

@media (max-width: 575px) {
    .grid-item {
        flex-basis: 100%;
    }
}


/*-----// SINGLE : VENUE //-----*/

.single--featured-image {
    max-width: 1200px;
    margin: 60px auto 40px;
}
.single--main {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 60px;
    max-width: 1200px;
    margin: auto;
}
.single--main-left {
    flex: 1;
}
.single--main-right {
    flex: 0 0 auto;
    width: 35%;
}
.single--main-address {
    margin-bottom: 30px;
}
.single--main-icons {
    display: flex;
    align-items: center;
}
.single--main-facility, .single--main-sports {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.single--main-facility h6, .single--main-sports h6 {
    width: 100%;
}
.single--main-facility img {
    filter: brightness(0) invert(1);
}
.single--main-map {
    width: 100%;
}

@media (max-width : 767px) {
    .single--main {
        flex-direction: column;
    }
    .single--main-right {
        flex: 0 0 auto;
        width: 100%;
    }
}



/*-----// LAYOUT : FAQS //-----*/

.faq--stage {
    max-width: 950px;
    margin: auto;
}
.faq--item {
    display: flex;
    flex-direction: column;
    margin-bottom: 15px;
}
.faq--question {
    background-color: var(--greenlight);
    border-radius: 3px;
    border: 1px solid var(--bluegrey);
    padding: 10px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.8rem;
    font-weight: 500;
    color: var(--bluedark);
    cursor: pointer;
}
.faq--question:after {
    content: '';
    background: url('data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjMDE1NGE0IiB2aWV3Qm94PSIwIDAgMTYgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTguOCAxLjVjMC0uNS0uNC0uOC0uOC0uOHMtLjguNC0uOC44djUuNkgxLjVjLS41IDAtLjguNC0uOC44cy40LjguOC44aDUuNnY1LjZjMCAuNS40LjguOC44cy44LS40LjgtLjhWOC43aDUuNmMuNSAwIC44LS40LjgtLjhzLS40LS44LS44LS44SDguN1YxLjV6Ii8+PC9zdmc+') no-repeat 50% 50% / contain;
    width: 16px;
    height: 16px;
    display: block;
}
.faq--question.active:after {
    background: url('data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjMDE1NGE0IiB2aWV3Qm94PSIwIDAgMTYgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE1LjMgOGMwIC41LS40LjgtLjguOGgtMTNDMSA4LjguNyA4LjQuNyA4cy40LS44LjgtLjhoMTIuOWMuNSAwIC44LjQuOC44eiIvPjwvc3ZnPg==') no-repeat 50% 50% / contain;
}
.faq--answer {
    display: none;
}
.faq--answer-inner {
    padding: 10px 20px;
    background-color: var(--white);
    color: var(--navy);
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    border: 1px solid var(--bluegrey);
    border-top: 1px solid var(--white);
}


/*-----// LAYOUT : SPORTS CAROUSEL //-----*/

.carousel-sport-today-wrapper {
    margin: 0;
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50vw);
}
.sport-carousel--item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}
.sport-carousel--icon {
    margin-bottom: 10px;
    max-width: 80px;
}
.sport-carousel--title a {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--bluedark);
    text-decoration: none;
}
.sport-carousel--suburb {
    font-size: 1.4rem;
    font-weight: 400;
    color: var(--navy);
}
.sport-carousel--cta {
    margin-top: 20px;
}


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

.sports-grid--header-divider {
    border-bottom: 1px solid var(--bluedark);
    padding-top: 30px;
    margin-bottom: 30px;
}


.sport--grid-item {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    height: 100%;
}
.sport--grid-image {
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 100%;
}
.sport--grid-image:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    background: linear-gradient(270deg,rgba(0, 36, 71, 0) 0%, rgba(0, 36, 71, 1) 100%);
}
.sport--grid-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.sport--grid-overlay {
    position: relative;
    height: 100%;
    z-index: 2;
    display: flex;
    flex-direction: column;
    padding: 30px;
    justify-content: flex-end;
}
.sport--grid-icon {
    margin-bottom: 15px;
    max-width: 80px;
}
.sport--grid-title {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--green);
    margin-bottom: 5px;
}
.sport--grid-suburb, .sport--grid-date, .sport--grid-age {
    font-size: 1.4rem;
    font-weight: 400;
    color: var(--lightgrey);
}
.sport--grid-date-age {
    display: inline-flex;
    gap: 10px;
    font-size: 1.4rem;
    font-weight: 400;
    color: var(--lightgrey);
}
.sport--grid-cta {
    margin-top: 15px;
}

@media (min-width : 1200px) {
    .sports-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(3, 1fr);
        gap: 20px;
    }
    .sports-grid--1 {
        grid-column: span 2 / span 2;
    }
    .sports-grid--2 {
        grid-column-start: 3;
    }
    .sports-grid--3 {
        grid-row-start: 2;
    }
    .sports-grid--4 {
        grid-row-start: 2;
    }
    .sports-grid--5 {
        grid-row-start: 2;
    }
    .sports-grid--7 {
        grid-column: span 2 / span 2;
        grid-row-start: 3;
    }
}

@media (min-width : 992px) and (max-width : 1199px) {
    .sports-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(4, 1fr);
        gap: 20px;
    }
    .sports-grid--1 {
        grid-column: span 2 / span 2;
    }
    .sports-grid--2 {
        grid-row-start: 2;
    }
    .sports-grid--3 {
        grid-row-start: 2;
    }
    .sports-grid--5 {
        grid-row-start: 3;
    }
    .sports-grid--7 {
        grid-row-start: 4;
    }
    
}

@media (max-width : 991px) {
    .sports-grid {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: repeat(7, 1fr);
        gap: 20px;
    }
}


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

@media (min-width : 1200px) {
    .venue-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(1, 1fr);
        gap: 20px;
    }
    .venue-grid--1 {
        grid-column: span 3 / span 3;
    }
    .venue-grid--2 {
        grid-row-start: 2;
    }
    .venue-grid--3 {
        grid-row-start: 2;
    }
    .venue-grid--4 {
        grid-row-start: 2;
    }
    .venue-grid--1 .card--item-content {
        position: absolute;
        bottom: 30px;
        left: 30px;
        z-index: 7;
        background: var(--white);;
        border-radius: 12px;
        width: 50%;
    }
}

@media (min-width : 768px) and (max-width : 1199px) {
    .venue-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width : 767px) {
    .venue-grid {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: repeat(4, 1fr);
        gap: 0px;
    }
}


/*-----// LAYOUT : BANNER CAROUSEL //-----*/

.banner--item {
    position: relative;
}
.banner--overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    background: linear-gradient(270deg,rgba(0, 36, 71, 0) 0%, rgba(0, 36, 71, 1) 100%);
    padding: 40px 40px 80px 40px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
}
.banner--image {
    position: relative;
    z-index: 0;
}
.banner--text p {
    max-width: 450px;
}

@media (max-width : 767px) {
    .banner--image {
        aspect-ratio: 1 / 1.2;
    }
    .banner--image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

@media (max-width : 575px) {
    .banner--overlay {
        padding: 40px 20px 40px 20px;
    }
}


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

.news--item .card--item-title a {
    text-decoration: none;
    color: var(--bluedark);
}
.news--item .card--item-title a:hover {
    text-decoration: none;
    color: var(--coral);
}
.card--item-date {
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}


/*-----// LAYOUT : SINGLE SPORT //-----*/


.header--icon {
    width: 134px;
    margin: 0 auto 40px;
}
.header--live {
    text-align: center;
}
.sport--alert {
    background-color: var(--orange);
    color: var(--white);
    padding: 10px 20px;
    display: inline-flex;
    font-size: 1.6rem;
    font-weight: 500;
    border-radius: 12px;
    line-height: 1.3;
    margin: 40px 0 20px;
}
.sport--alert svg {
    width: 30px;
    height: 24px;
    display: block;
    margin-right: 10px;
    transform: translateY(2px);
}
.panel--key-information {
    backdrop-filter: blur(12px) brightness(85%);
    border: 5px solid var(--green);
    border-radius: 12px;
    padding: 30px;
    display: flex;
    gap: 30px;
}
.panel--key-information-left, .panel--key-information-right {
    flex: 1;
}
.panel--key-information-header {
    background-color: var(--green);
    color: var(--bluedark);
    padding: 8px 12px;
    border-radius: 6px;
    margin-bottom: 10px;
    font-size: 1.6rem;
    font-weight: 700;
}

@media (min-width : 768px) {
    .panel--additional-information-text {
        column-count: 2;
    }
}

@media (max-width : 767px) {
    .panel--key-information {
        flex-direction: column;
        gap: 0px;
    }
}

@media (max-width : 575px) {
    .panel--key-information {
        padding: 10px;
    }
}

.panel--draw-schedule-results {
    display: flex;
    gap: 30px;
    margin: 60px 0;
    padding-left: 35px;
    padding-right: 35px;
}
.panel--draw-schedule-results > * {
    flex: 1;
}
.panel--draw-schedule-results-col {
    color: var(--lightgrey);
}

@media (max-width : 767px) {
    .panel--draw-schedule-results {
        flex-direction: column;
        gap: 30px;
        padding-left: 0px;
        padding-right: 0px;
    }
}

.panel--event-information {
    display: flex;
    gap: 50px;
    margin: 60px 0;
    padding-left: 35px;
    padding-right: 35px;
}
.panel--event-information > * {
    flex: 1;
}
.panel--event-information-video a {
    position: relative;
    background-color: var(--lightgrey);
    overflow: hidden;
    border-radius: 6px;
}
.panel--event-information-video a:before {
    content: '';
    background: url('data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjMDAyNDQ3IiB2aWV3Qm94PSIwIDAgNDYgNTMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTkuMSAxLjFDNy4zIDAgNS4xIDAgMy40IDEgMS42IDIgLjUgMy44LjUgNS45djQxLjJjMCAyIDEuMSAzLjkgMi45IDQuOXMzLjkuOSA1LjctLjFsMzMuOC0yMC42YzEuNy0xIDIuNy0yLjggMi43LTQuOHMtMS0zLjgtMi43LTQuOEw5LjEgMS4xeiIvPjwvc3ZnPg==') no-repeat 50% 50% / contain;
    width: 46px;
    height: 53px;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}
.panel--event-information-video a img {
    opacity: 1;
    transform: scale(1);
    transition: all 440ms ease;
}
.panel--event-information-video a:hover img {
    opacity: 0.8;
    transform: scale(1.1);
}

@media (min-width : 768px) {
    .panel--event-information-video {
        order: 2;
        padding-top: 50px;
    }
    .panel--event-information-col {
        order: 1;
    }
}

@media (max-width : 767px) {
    .panel--event-information {
        flex-direction: column;
        gap: 30px;
        padding-left: 0px;
        padding-right: 0px;
    }
}

.expandable-panel {
    position: relative;
}
.content-wrapper {
    max-height: 280px; 
    overflow: hidden;
    transition: max-height 0.5s ease-in-out;
    box-sizing: border-box;
    border-bottom: 1px solid var(--bluegrey);
    padding-bottom: 40px;
    color: var(--lightgrey);
}

.expandable-panel::after {
    content: '';
    position: absolute;
    bottom: 30px; 
    left: 0;
    right: 0;
    height: 200px;
    background: linear-gradient(to bottom, transparent, #002447);
    pointer-events: none; 
    transition: opacity 0.3s ease-in-out;
}

.expandable-panel.expanded .content-wrapper {
    max-height: 2000px; 
}

.expandable-panel.expanded::after {
    opacity: 0; 
}
.content-wrapper-btn {
    text-align: center;
    z-index: 2;
    position: relative;
}
.content-wrapper-btn button {
    transform: translateY(-50%);
}

.panel--event-enter {
    text-align: center;
}

.panel--event-enter {
    margin: 60px 0;
    padding-left: 35px;
    padding-right: 35px;
    color: var(--lightgrey);
}

.panel--additional-information {
    margin: 60px 0;
    padding-left: 35px;
    padding-right: 35px;
    color: var(--lightgrey);
}

.panel--competition-rules {
    margin: 60px 0;
    padding-left: 35px;
    padding-right: 35px;
    color: var(--lightgrey);
}

.cta-banner {
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.4);
    display: flex;
    align-items: center;
    gap:  10px 60px;
}
.cta-text {
    flex: 1;
}
.cta-button {
    flex: 0 0 auto;
}

@media (max-width : 767px) {
    .cta-banner {
        flex-direction: column;
    }
    .cta-text ,
    .cta-button {
        text-align: center;
    }
}

.sport-locations {
    padding: 1px 0;
}
.locations-map,
.sport-venues {
    margin: 60px 0;
}
.sport-venues-grid {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 30px;
}


@media (min-width : 768px) {
    .sport-venue {
        flex: 1;
        max-width: calc(50% - 15px);
    }
}

@media (max-width : 767px) {
    .sport-venues-grid {
        flex-direction: column;
    }
}

.sport-contact {
    padding: 60px 0;
}
.sport-contact--stage {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    max-width: 1080px;
    margin: auto;
}
.sport-contact--header {
    width: 100%;
}
.sport-contact--left, .sport-contact--right {
    flex: 1;
}


.sport-signup--stage {
    display: flex;
    max-width: 1080px;
    margin: auto;
    background-color: var(--peach);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0,0,0,0.4) !important;
}
.sport-signup--image {
    width: 25%;
}
.sport-signup--content {
    flex: 1;
    padding: 30px;
}
.gform_required_legend {
    display: none;
}
.gform_wrapper.gravity-theme #field_submit input, .gform_wrapper.gravity-theme .gform_footer input {
    font-family:  var(--slab) !important;
    font-weight: bold !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
    font-size: 2rem !important;
    padding: 8px 25px !important;
    border-radius: 3px !important;
    text-decoration: none !important;
    color: var(--white) !important;
    background-color: var(--orange) !important;
    border: 1px solid var(--orange) !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.4) !important;
    transition: all 440ms ease;
}
.gform_wrapper.gravity-theme #field_submit input:hover, .gform_wrapper.gravity-theme .gform_footer input:hover {
    box-shadow: 0 0px 0px rgba(0,0,0,0.4) !important;
}

@media (max-width : 575px) {
    .sport-signup--stage {
        flex-direction: column;
    }
    .sport-signup--image {
        width: 100%;
        height: 200px;
    }
    .sport-signup--content {
        width: 100%;
        padding: 20px;
    }
}

#sport-anchor-wrapper {
    margin: 0 0 60px 0;
}
.panel--anchor {
    padding-left: 35px;
    padding-right: 35px;
    background-color: var(--navy);
    transform: translateY(0);
    transition: all 440ms ease;
}
.panel--anchor-stage {
    border-top: 1px solid var(--bluegrey);
    border-bottom: 1px solid var(--bluegrey);
    padding: 20px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: all 440ms ease;
}
.anchor-fixed {
    position: fixed;
    bottom: 100%;
    z-index: 99;
    width: 100vw;
    left: 0;
    margin: 0;
    transform: translateY(100%);
}
.panel--anchor-stage .btn {
    font-size: 1.3rem;
}

@media (max-width : 767px) {
    .panel--anchor {
        display: none;
    }
}



/*-----// LAYOUT : SCHEDULE //-----*/

.schedule {
    width: 100%;
    display: none;
    min-width: 728px;
    margin-bottom: 10px;
}
.schedule--body {
    overflow-x: scroll;
    width: 100%;
}
.schedule--body .schedule:first-child {
    display: table;
}
.schedule th {
    text-align: center;
    border-top: 1px solid var(--bluegrey);
    border-bottom: 1px solid var(--bluegrey);
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--lightgrey);
    padding: 10px 0;
    width: 5%;
}
.schedule td {
    text-align: center;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--white);
    padding: 15px 0;
    width: 5%;
}
.layout--entertainment-schedule .schedule td {
    width: 16%;
}
.schedule th:first-child, .schedule td:first-child {
    text-align: left;
    width: auto;
}
.schedule th:nth-child(even), .schedule td:nth-child(even) {
    background-color: rgba(255, 255, 255, 0.1); 
}
.schedule tbody tr {
    border-top: 1px solid var(--bluegrey);
}
.schedule-sport {
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: 0.083em;
    text-transform: uppercase;
    padding: 5px 15px;
    border-radius: 2rem;
    margin: 0;
    background-color: var(--green);
    color: var(--navy);
    position: absolute;
    top: 10px;
    left: 50%;
    z-index: 1;
    text-decoration: none;
    max-height: 38px;
    overflow: hidden;
    line-height: 1.4;
}

.schedule--header {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 0;
}
.schedule--header-dates {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.schedule--header-button {
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: 0.083em;
    text-transform: uppercase;
    padding: 5px 15px;
    border-radius: 2rem;
    margin: 0;
    background-color: var(--navy);
    color: var(--lightgrey);
    white-space: nowrap;
}
.schedule--header-button.active {
    background-color: var(--green);
    color: var(--navy);
}


/*-----// LAYOUT : TABLE //-----*/

.table {
    margin: 0 0 30px;
    border-color: rgba(0,0,0,0.5);
    color: currentColor;
}
.table td, .table th {
    font-weight: 500;
    padding: 10px;
    max-width: 0;
}
.table > :not(caption) > * > * {
    border-top-width: 1px;
        
}
.table-striped > tbody > tr:nth-of-type(odd) > * {
    box-shadow: inset 0 0 0 9999px rgba(0,0,0,0.1);
    color: currentColor;
}
.table-striped > tbody > tr:nth-of-type(even) > * {
    box-shadow: inset 0 0 0 9999px rgba(255,255,255,0.1);
    color: currentColor;
}
.layout--z {
    position: relative;
    z-index: 1;
}


/*-----// LAYOUT : FEES //-----*/

.fees--stage {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(1, 1fr);
    gap: 20px;
}

.fee--list {
    display: flex;
    flex-direction: column;
}
.fee--list-item {
    position: relative;
    padding: 10px 0 10px 25px;
    border-bottom: 1px solid var(--lightgrey);
}
.fee--list-item:last-child {
    border-bottom: none;
}
.fee--list-item > svg {
    position: absolute;
    left: 0;
    top: 18px;
}



@media (min-width : 992px) {
    .fees--stage > article:nth-child(4) {
        grid-column: span 3 / span 3;
    }
    .fees--stage > article:nth-child(4) .card--item-image {
        padding-bottom: 20%;
    }
}

@media (max-width : 991px) {
    .fees--stage {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(1, 1fr);
        gap: 20px;
    }
}

@media (max-width : 575px) {
    .fees--stage {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: repeat(1, 1fr);
        gap: 20px;
    }
}


/*-----// LAYOUT : SPORTS ICONS //-----*/

.sports-icons--stage {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}
.sports-icons--item {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: flex-start;
    align-items: center;
    text-decoration: none;
}
.sports-icons--icon {
    width: 150px;
}
.sports-icons--title {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--lightgrey);
    text-align: center;
    text-decoration: none;
    transition: all 440ms ease;
    height: 81px;
}
.sports-icons--item:hover .sports-icons--title {
    color: var(--green);
    text-decoration: none;
}


/*-----// LAYOUT : PAGINATION //-----*/

.pagination-container {
    margin-top: 40px;
    margin-bottom: 40px;
}
.page-item {
    min-width: 40px;
}
.page-link {
    color: var(--navy);
    background-color: var(--white); 
    border: 1px solid var(--lightgrey); 
    text-align: center;
    font-size: 1.4rem;
    font-weight: 500;
}
.page-link:hover {
    color: var(--navy); 
    background-color: var(--lightgrey);
    border-color: var(--lightgrey);
}
.page-link:focus {
    color: var(--green);
}
.page-item.active .page-link {
    z-index: 3;
    color: var(--bluedark); 
    background-color: var(--green); 
    border-color: var(--green); 
}


/*-----// LAYOUT : ENTERTAINMENT //-----*/

.entertainment-social {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: flex-start;
}
.entertainment-social a {
    display: block;
    width: 40px;
}
.entertainment-social a svg {
    display: block;
    width: 100%;
    height: auto;
    fill: var(--white);
}

/**/
