:root {
  --p: 22px;
  --p-small: 17px;
  --dark: #1F3A66;
  --dark-2: #142644;
  --orange: #FB7345;
  --grey: #F3F3F3;
}

body {line-height: 1; font-family: 'Galano-Grotesque', sans-serif; font-weight: normal;}
h1 {line-height: 1;font-family: "brothers", sans-serif; font-weight: 700; text-transform: uppercase;}
h2 {line-height: 5vw; font-family: "brothers", sans-serif; font-size: 6.2vw; font-weight: 700; text-transform: uppercase;}
h3 {line-height: 5vw; font-family: "brothers", sans-serif; font-size: 6.2vw; font-weight: 700; color: var(--dark); text-transform: uppercase;}
h4 {line-height: 1;}
h5 {line-height: 1;  font-size: 13px; color: #CBCBCB; text-transform: uppercase; display: block; margin-bottom: 10px; font-weight: 400; letter-spacing: 1px;}
p {line-height: 1.5; font-size: var(--p); margin-bottom: 20px; font-weight: 300;}
p strong {font-weight: 500; line-height: 1;}
p:last-child {margin-bottom: 0;}

/* General */
.no-scroll {height: 100vh; overflow-y: hidden;}

.close-icon {padding: 25px; background: #004684; left: 0px; top: 0; position: absolute; z-index: 9999; overflow: hidden; transition: 0.5s; transform: rotate(180deg); cursor: pointer;}
.close-icon::before {content: ''; position: absolute; width: 2px; height: 30px; background: #fff; transform: rotate(45deg); top: 10px; transition: 0.5s;}
.close-icon::after {content: ''; position: absolute; width: 2px; height: 30px; background: #fff; transform: rotate(-45deg); top: 10px; transition: 0.5s;}

.close-icon:hover {background: #ff7866;}
.close-icon:hover::before {transform: rotate(-135deg) !important;}
.close-icon:hover::after {transform: rotate(-225deg)!important;}

.hamburger {display: none; align-items: center; z-index: 1;}
.menu-icon { display: flex; flex-direction: column; width: 25px; cursor: pointer; padding: 0px 17px 0 14px; position: relative;}
.menu-icon::after {content: ""; display: block; position: absolute; top: 45%; left: 50%; transform: translate(-50%,-50%);width: 55px; height: 55px; background: var(--orange);border-radius: 50vw; z-index: -1;}
.menu-icon span { background: #fff; border-radius: 5px; height: 4px; margin: 3px 0; transition: 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6); }
.menu-icon span:nth-of-type(1) { width: 50%; }
.menu-icon span:nth-of-type(2) { width: 100%; }
.menu-icon span:nth-of-type(3) { width: 75%; }
.hamburger.active .menu-icon span:nth-of-type(1) { transform-origin: bottom; transform: rotateZ(45deg) translate(4px, 2px); }
.hamburger.active .menu-icon span:nth-of-type(2) { transform-origin: top; transform: rotateZ(-45deg); }
.hamburger.active .menu-icon span:nth-of-type(3) { transform-origin: bottom; width: 50%; transform: translate(11px, -6px) rotateZ(45deg);}

.mobile-nav {background: #142644; height: 100dvh; opacity: 1; top: 0px; left: 0px; transform: none; margin-top: 0px; border: 0; position: fixed; z-index: -1; max-height: 0vh; padding: 0px; box-sizing: border-box; overflow: hidden; width: 100vw; max-width: 100%; transition: 0.5s;}
.mobile-nav.active {max-height: 100dvh;}

.mobile-nav .nav-wrapper {padding: 167px 20px 25px; z-index: 0; position: relative;}

.mobile-nav .nav-wrapper > ul {list-style: none; margin: 0;}
.mobile-nav .nav-wrapper > ul li span, .mobile-nav .nav-wrapper > ul li a {margin-bottom: 10px; font-size: 20px; color: #fff; display: inline-block; cursor: pointer; position: relative; font-weight: 600; line-height: 1.5;}
.mobile-nav .nav-wrapper > ul a, .mobile-nav p a {display: block; position: relative;}
.mobile-nav .nav-wrapper > ul a .contact {position: relative;}
.mobile-nav .nav-wrapper > ul a .contact::after {content: ''; display: block; position: absolute; background: #fff; mask-image: url('/img/arrow.svg'); mask-size: contain; mask-repeat: no-repeat; height: 12px; width: 14px; top: 48%; transform: translateY(-50%); right: -25px; mask-position: center;}

.mobile-nav .nav-wrapper > ul .parent.active span::after {transform: translateY(-50%) rotate(90deg);}
.mobile-nav .nav-wrapper > ul ul {margin: 0; list-style: none;}

.mobile-nav .nav-wrapper > a {font-size: 16px; color: #000; display: inline-block; cursor: pointer; position: relative;}

/* .mobile-nav .nav-wrapper > ul:nth-child(2) {margin-top: 10px; padding-top: 30px; border-top: 1px solid #fff7;} */
.mobile-nav .nav-wrapper a p {line-height: 1; font-size: 13px; color: #fff8; text-transform: uppercase; display: block; margin-bottom: 5px; letter-spacing: 1px; font-weight: 600;}

.mobile-nav .nav-grid {margin: 10px 20px; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #0001; padding-top: 40px;}
.mobile-nav .nav-grid ul {margin: 0; list-style: none;}
.mobile-nav .nav-grid ul li {display: block; margin-bottom: 15px;}
.mobile-nav .nav-grid ul li a {font-size: 15px; color: #0008;}
.mobile-nav .nav-grid ul:nth-of-type(2) li a {text-align: right; display: block;}

.mobile-nav .parent > ul {height: auto; max-height: 0; overflow: hidden; transition: 0.5s;}
.mobile-nav .parent > ul li a {padding-left: 15px; position: relative;}
.mobile-nav .parent > ul li a::before {content: ''; display: block; position: absolute; top: 50%; transform: translateY(-50%); left: 0; width: 10px; height: 1px; background: var(--blue);}
.mobile-nav .parent > ul li a {color: #000; font-size: 15px;}
.mobile-nav .parent.active > ul {max-height: 500px;}

.grey-bg {background: var(--grey);}
.dark-bg {background: var(--dark); color: #fff;}
.orange-bg {background: var(--orange)!important; color: #fff;}
.orange-bg h3 {color: #fff;}

.content {margin: 7vw 0;}
.content.padding {margin: 0; padding: 7vw 0;}

.wrapper-sml {width: 85%; max-width: 1300px; margin: 0 auto;}
.wrapper {width: 85%; max-width: 1620px; margin: 0 auto;}
.wrapper-med {width: 85%; margin: 0 auto;}
.wrapper-lrg {width: auto; margin: 0 60px;}

.overflow {overflow: hidden;}

.center {text-align: center;}

.grid {display: grid; grid-template-columns: 1fr 1fr; grid-gap: 3vw; align-items: center;}
.grid-3 {display: grid; grid-template-columns: repeat(3,1fr); grid-gap: 3vw;}
.grid.no-gap {grid-gap: 0;}

.button.orange {font-size: var(--p-small); font-weight: 500; display: inline-block; padding: 20px 30px; background: var(--orange); border-radius: 50vw; transition: 0.5s; color: #fff;}
.button.orange:hover {background: var(--grey); color: var(--dark-2);}

.grey-bg .button.orange:hover {background: var(--dark-2); color: #fff;}

.custom-navigation {display: flex; align-items: center; gap: 10px; z-index: 9;}
.custom-navigation .custom-prev, .custom-navigation .custom-next {width: 50px; height: 50px; box-sizing: border-box; position: relative; border: 1px solid #fff2; display: block; border-radius: 50vw; cursor: pointer; background: #fff0; transition: 0.3s;}
.custom-navigation .custom-prev::after, .custom-navigation .custom-next::after {content:''; display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); height: 20px; width: 15px; background: #fff; mask-image: url('/img/arrow.svg'); mask-size: contain; mask-repeat: no-repeat;}
.custom-navigation .custom-next::after {transform: translate(-50%,-50%) rotate(180deg);}
.custom-navigation .custom-prev:hover, .custom-navigation .custom-next:hover {background: #fff2;}



/* Header */

header {position: sticky; z-index: 999; width: 100%; color: #fff; top: 0; transition: 0.5s; opacity: 0;}
header.loaded {opacity: 1;}

.header-top {background: #142644; display: flex; justify-content: space-between; width: 100%; box-sizing: border-box; padding: 8px 2.5%; border-bottom: 3px solid #fff;}
.header-top .menu-top-left, .header-top .menu-top-right {display: flex; align-items: center; gap: 20px;}
.header-top .menu-top-left a {display: flex; align-items: center;}
.header-top .menu-top-left a, .header-top .menu-top-right a {font-size: 15px; color: #fff5; position: relative; font-weight: normal; transition: 0.3s;}
.header-top .menu-top-left a:hover, .header-top .menu-top-right a:hover {color: #fff}
.header-top .menu-top-right a:first-child::after {content: ''; display: block; position: absolute; top: 50%; transform: translateY(-50%); right: -10px; width: 1px; height: 15px; background: #fff5;}
.header-top .menu-top-left img {height: 34px; margin-right: 20px;}


.header-bottom {background: var(--dark); width: 100%; box-sizing: border-box; padding: 0 2.5%; display: flex; justify-content: space-between;}
.header-bottom .menu-left {display: flex; flex: 1;}
.header-bottom .menu-left ul {margin: 0; list-style: none; display: flex;}
.header-bottom .menu-left ul li a {color: #fff; padding: 55px 10px; font-size: var(--p-small); line-height: 20px; font-weight: 500; display: block; transition: 0.3s;}
.header-bottom .menu-left ul li a:hover {color: var(--orange);}
.header-bottom .menu-right {display: flex; flex: 1; justify-content: flex-end; align-items: center;}
.header-bottom .menu-right ul {margin: 0 20px; list-style: none; display: flex;}
.header-bottom .menu-right ul li a {color: #fff; padding: 55px 10px; font-size: var(--p-small); line-height: 20px; font-weight: 500; display: block; transition: 0.3s;}
.header-bottom .menu-right ul li a:hover {color: var(--orange);}
.header-bottom .logo {margin: auto; position: relative; width: 192px; z-index: 1;}
.header-bottom .logo img {position: absolute; width: 192px; height: 192px; top: 50%; left: 50%; transform: translate(-50%,-50%); display: block;}
.header-bottom .logo::after {content: ''; display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 200px; height: 200px; background: var(--orange); opacity: 0; transition: 0.5s; border-radius: 50vw; z-index: -1;}
.header-bottom .logo:hover::after {opacity: 1;}

.home-banner, .inner-banner {position: relative; height: calc(100dvh - 183px); background: #000;}
.home-banner figure, .inner-banner figure {height: 100%; width: 100%; opacity: 0; transition: 0.5s ease;}
.home-banner article {position: absolute; top: 55%; left: 50%; transform: translate(-50%,-50%); max-width: 1620px; width: 90%; transition: 0.5s; opacity: 0;}
.home-banner article h1 {font-size: var(--p-small); font-style: italic; font-weight: bold; color: var(--orange); font-family: 'Galano-Grotesque', sans-serif; text-transform: uppercase; margin-bottom: 20px;}
.home-banner article h2 {color: #fff; max-width: 55vw; font-size: 5.2vw; line-height: 1;}

.inner-banner article {position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); max-width: 1620px; width: 90%; transition: 0.5s; opacity: 0; text-align: center;}
.inner-banner article h1 {color: #fff; max-width: 85vw; font-size: 5.2vw; line-height: 1; margin: 0 auto 1vw;}
.inner-banner article p {color: #fff; font-style: italic; font-weight: bold; padding: 10px 15px; background: var(--orange); margin-top: 10px; display: inline-block; font-size: var(--p-small);}

.home-banner.loaded figure, .inner-banner.loaded figure {opacity: 1; transition-delay: 0.5s;}
.home-banner.loaded article, .inner-banner.loaded article {opacity: 1; top: 50%; transition-delay: 0.5s;}
.home-banner.loaded .flex-row {bottom: 2vw; opacity: 1; transition-delay: 0.5s;}

.inner-banner.small {background: var(--dark); border-top: 1px solid #fff; height: 35vh;}
.inner-banner.small h1 {line-height: 1; margin: 0 auto;}
.inner-banner.small::after { content: ''; display: block; position: absolute; bottom: -4vw; right: 4vw; background: url('/img/extras-2.svg') no-repeat center / contain; height: 180px; width: 265px; transform: rotate(-10deg);}

.training .inner-banner.small::after { content: ''; display: block; position: absolute; bottom: -4vw; right: 4vw; background: url('/img/extras-3.svg') no-repeat center / contain; height: 180px; width: 265px; transform: rotate(-10deg);}

.intro .diag-container {display: grid; grid-template-columns: 1fr 1.1fr; align-items: center; position: relative;}
.intro .diag-container figure {position: relative; z-index: 2;  }
.intro .diag-container figure img {clip-path: polygon(0 0, 100% 0, 60% 100%, 0% 100%);}
.intro .diag-container figure::after {content:''; display: block; position: absolute; z-index: -1; width: 100%; height: calc(100% + 1px); background: #fff;  clip-path: polygon(0 0, 100% 0, 60% 100%, 0% 100%); left: 10px; top: 0;}
.intro .diag-container article {position: relative; z-index: 0; max-width: 585px; margin-left: 2vw;}
.intro .diag-container article h3 {max-width: 90%; margin-bottom: 20px;}
.intro .diag-container::after {content: ''; display: block; position: absolute; bottom: -4vw; right: -4vw; background: url('/img/extras.svg') no-repeat center / contain;
; height: 180px; width: 265px; transform: rotate(-10deg);}

.tagline {color: #fff; font-style: italic; font-weight: bold; padding: 10px 15px; background: var(--orange); margin-top: 10px; display: inline-block; font-size: var(--p-small);}
.tagline.dark {background: var(--dark);}

.coaching .custom-navigation .custom-prev, .coaching .custom-navigation .custom-next {border: 1px solid #DEDEDE50}
.coaching .custom-navigation .custom-prev:hover, .coaching .custom-navigation .custom-next:hover {background: #DEDEDE50;}
.coaching .custom-navigation .custom-prev::after, .coaching .custom-navigation .custom-next::after {background: #363636;}

.coaching .flex-row {align-items: flex-end;}

.coachingSwiper {margin-left: 7.5%; margin-top: 3vw;}
.coachingSwiper .swiper-slide {margin-top: 30px; transition: 0.5s; position: relative;}
.coachingSwiper .swiper-slide figure {position: relative; height: 0; padding-bottom: 125%;}
.coachingSwiper .swiper-slide figure img {position: absolute;}
.coachingSwiper .swiper-slide article {position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #14264400; box-sizing: border-box; padding: 30px 30px 10px; transition: 0.3s ease; display: flex; justify-content: flex-end; align-items: flex-start; flex-direction: column;}
.coachingSwiper .swiper-slide article h4 {font-size: 1.8vw; color: #fff; font-weight: bold; font-style: italic;}
.coachingSwiper .swiper-slide article p {margin: 0; font-weight: 300; line-height: 0px; overflow: hidden; color: #fff; margin: 20px 0; transition: 0.5s; opacity: 0;}
.coachingSwiper .swiper-slide:hover {margin-top: 0;}
.coachingSwiper .swiper-slide:hover article {background: #142644;}
.coachingSwiper .swiper-slide:hover article p {line-height: 26px; opacity: 1;}

.full-width.diag-container {position: relative; height: calc(100dvh - 183px);}
.full-width.diag-container > article {position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 90%; max-width: 65vw; text-align: center; z-index: 3;}
.full-width.diag-container > article h3 {color: #fff; margin-bottom: 30px;}
.full-width.diag-container figure {width: 60%; position: absolute; top: 0; left: 0; background: #fff; z-index: 1; height: 100%;}
.full-width.diag-container figure p {font-size: var(--p-small); color: #fff; font-style: italic; font-weight: bold; position: absolute; left: 40px; bottom: 30px; text-transform: uppercase; z-index: 4;}
.full-width.diag-container figure:nth-child(3) {clip-path: polygon(0 0, 100% 0, 70% 100%, 0% 100%);}
.full-width.diag-container figure:nth-child(3) img {clip-path: polygon(0 0, 100% 0, 70% 100%, 0% 100%); left: -5px; position: relative;}
.full-width.diag-container figure::after {content:''; display: block; position: absolute; z-index: 1; width: 100%; height: calc(100%); background: #0003; left: 0; top: 0;}
.full-width.diag-container figure:last-child {left: auto; right: 0; z-index: 0;}
.full-width.diag-container figure:last-child p {left: auto; right: 40px;}
.full-width.diag-container figure > span {position: absolute; font-size: var(--p-small); color: #fff; font-style: italic; font-weight: bold; position: absolute; left: 40px; top: 30px; text-transform: uppercase; z-index: 4;}

.learn-more {display: block; position: absolute; width: 182px; height: 182px; z-index: 5; background: #fff; border-radius: 50vw; transition: 0.5s; left: 7vw; top: 60%; transform: translateY(-50%);}
.learn-more::before {content: ''; display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 20px; height: 20px; background: #000; border-radius: 50vw; mask-image: url('/img/cross.svg'); transition: 0.5s;}
.learn-more::after {content: ''; display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 175px; height: 175px; background: #000; border-radius: 50vw; mask-image: url('/img/learn-more.svg'); animation: slowSpin 20s linear infinite; transition: 0.5s;}

.learn-more:hover {background: var(--orange);}
.learn-more:hover::before, .learn-more:hover::after {background: #fff;}

@keyframes slowSpin {
  from {
    transform: translate(-50%,-50%) rotate(0deg);
  }
  to {
    transform: translate(-50%,-50%) rotate(360deg);
  }
}


.diag-container.dark-bg {display: flex; position: relative; height: calc(95dvh - 183px);}
.diag-container.dark-bg .orange-bg {height: 100%;}
.diag-container.dark-bg .orange-bg article {width: 691px; margin: auto auto auto 4vw;}
.diag-container.dark-bg .orange-bg article .tagline {margin-bottom: 30px; margin-left: 5px;}
.diag-container.dark-bg .content-wrapper {position: absolute; height: 100%; z-index: 2; clip-path: polygon(0 0, 100% 0, 70% 100%, 0% 100%); width: 65%;}
.diag-container.dark-bg .content-wrapper .orange-bg {clip-path: polygon(0 0, 100% 0, 70% 100%, 0% 100%); z-index: 2; position: relative; left: -10px; display: flex;}
.diag-container.dark-bg .content-wrapper::before {content:''; display: block; position: absolute; z-index: -1; width: 100%; height: calc(100% + 1px); background: #fff;  clip-path: polygon(0 0, 100% 0, 70% 100%, 0% 100%); left: 10px; top: 0;}
.diag-container.dark-bg .overflow {width: 60%; position: absolute; right: 0; z-index: 1; height: 100%;}
.diag-container.dark-bg .overflow .custom-navigation {position: absolute; top: 3vw; right: 3vw;}
.diag-container.dark-bg .overflow .swiper {height: 100%;}
.diag-container.dark-bg .overflow .swiper-slide {text-align: right; display: flex; justify-content: flex-end; align-items: flex-end; box-sizing: border-box; padding: 3vw;}
.diag-container.dark-bg .overflow .swiper-slide h4 {font-size: 2.1vw; font-weight: bold; font-style: italic; max-width: 30vw;}

.inner-banner .social {display: flex; align-items: center; gap: 10px;}
.inner-banner .social img {width: 50px; height: 50px;}
.inner-banner .social p {margin: 0; padding: 0; font-weight: normal; font-style: normal; font-size: 22px}

.contact .inner-banner {opacity: 0; transition: 0.5s ease;}
.contact .inner-banner .diag-container.dark-bg {height: calc(100dvh - 183px); box-sizing: border-box; border-top: 1px solid #fff;}
.contact .inner-banner .diag-container.dark-bg .content-wrapper {width: 60%;}
.contact .inner-banner .diag-container.dark-bg .orange-bg article {left: 7.5%; transform: translateY(-50%); margin: 0; text-align: left;}
.contact .inner-banner .diag-container.dark-bg .orange-bg article .tagline {margin: 0 0 10px;}
.contact .inner-banner article h1 {line-height: 3vw;}
.contact .inner-banner article h2 {font-family: 'Galano-Grotesque', sans-serif; font-size: 1.4vw; font-weight: 400; line-height: 1.4; text-transform: none; margin-bottom: 1vw; max-width: 30vw;}
.contact .inner-banner article a {display: block; margin: 5px 0 30px; font-size: 22px}
.contact .inner-banner .form {position: absolute; right: 0; width: 40%; display: flex; height: 100%;}
.contact .inner-banner .form-wrapper {margin: auto;}

.contact .inner-banner.loaded {opacity: 1;}

.coach-item {background: #F3F3F3; display: grid; grid-template-columns: 1fr 1.5fr; margin-bottom: 4vw; align-items: center;}
.coach-item .tagline {margin-bottom: 0.5vw; margin-top: 0;}
.coach-item article {padding: 5vw;}
.coach-item article h2 {font-family: 'Galano-Grotesque', sans-serif; font-size: 3.2vw; font-style: italic; margin-bottom: 1vw; line-height: 1;}
.coach-item figure {position: relative; height: 100%;}
.coach-item figure img {position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}

.coach-small {background: #f3f3f3;}
.coach-small article {padding: 5vw;}
.coach-small article h3 {font-family: 'Galano-Grotesque', sans-serif; font-size: 2vw; font-style: italic; margin-bottom: 1vw; line-height: 1; color: #1E2F3C;}

.inner-content .intro .center h2 {font-family: 'Galano-Grotesque', sans-serif; font-size: 3.2vw; font-style: italic; max-width: 85%; margin: 0 auto 1vw; line-height: 1; color: #1E2F3C;}

.holiday-programs.inner-content .intro .center h2 {max-width: 100%;}
.holiday-programs .banner {}

.holiday-programs.inner-content .content figure {padding-bottom: 50%; height: 0; position: relative; overflow: hidden; margin-bottom: 3vw;}
.holiday-programs.inner-content .content figure img {position: absolute;}
.holiday-programs.inner-content .grid {grid-template-columns: 1fr 1.5fr; align-items: flex-start;}
.holiday-programs.inner-content .grid article {max-width: 100%;}
.holiday-programs.inner-content .grid article h2 {font-family: 'Galano-Grotesque', sans-serif; font-size: 25px; line-height: 1.2; font-weight: 500; text-transform: none; margin-bottom: 20px;}
.holiday-programs.inner-content .grid .details {box-sizing: border-box; padding: 50px; background: var(--grey);}
.holiday-programs.inner-content .grid .details h4 {display: block; margin-bottom: 20px; font-weight: 500; line-height: 1.3; font-size: 20px;}
.holiday-programs.inner-content .grid .details p {font-size: 16px; margin-bottom: 10px;}
.holiday-programs.inner-content .grid .details p:last-child {margin-bottom: 0;}

.inner-content .grid {margin-bottom: 3vw;}
.inner-content .grid article {max-width: 600px; margin: auto;}
.inner-content .grid article p {font-size: 20px; line-height: 1.5;}
.inner-content .grid article p strong {font-weight: 500; font-size: 25px; line-height: 1;}
.inner-content .grid figure {position: relative; height: 0; padding-bottom: 100%;}
.inner-content .grid figure img {position: absolute; top: 0;}

.inner-content .grid:nth-child(2) figure {order: 2;}

.campus .intro .diag-container {grid-template-columns: 2fr 1fr;}
.campus .intro .diag-container article {max-width: 445px; margin: auto;}
.campus .intro .diag-container::after {display: none;}

.content .wrapper > img {max-width: 350px; width:65%; margin: 0 auto;}

.training-item {display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 4vw; align-items: center;}
.training-item article p {margin-bottom: 10px;}
.training-item article .button {margin-top: 20px;}
.training-item article .tagline {margin-top: 0;}
.training-item figure {clip-path: polygon(0 0, 100% 0, 60% 100%, 0% 100%); height: 50vh;}
.training-item h3 {font-family: 'Galano-Grotesque', sans-serif; font-size: 2.5vw; font-style: italic; margin: 0.5vw 0 1vw; line-height: 1; color: #1E2F3C;}

.holiday-programs.inner-content .grid-4 {display: grid; grid-template-columns: repeat(4,1fr); grid-gap: 20px;}
.holiday-programs.inner-content .grid-4 figure {position: relative; height: 0; padding-bottom: 120%; margin: 0; border-radius: 20px;}
.holiday-programs.inner-content .grid-4 figure img {position: absolute;}

.holiday-programs .orange-notice {background:var(--orange);font-family: 'Galano-Grotesque', sans-serif; font-size: 22px; line-height: 1.2; font-weight: 500; text-transform: none; margin-bottom: 20px;}
.holiday-programs .orange-notice article p {margin-bottom: 0px;color: #fff;font-weight: bold; padding: 10px 15px; background: var(--orange);font-size: var(--p-small);text-align: center}

footer {background: var(--dark)}
footer a {font-size: var(--p-small); color: #fff!important; font-weight: 500; transition: 0.3s;}
footer a:hover {color: var(--orange)!important;}
footer .button:hover {color: var(--dark)!important;}
.footer-middle {text-align: center; padding: 0 2.5%;}
.footer-middle ul {display: flex; justify-content: space-between; list-style: none; margin: 30px 0;}
.footer-bottom {display: flex; justify-content: center; margin-top: 60px; padding: 30px 0; border-top: 1px solid #fff3; border-bottom: 1px solid #fff3;}
.footer-bottom a {padding: 0 20px; position: relative;}
.footer-bottom a:first-child::after {content: ''; display: block; position: absolute; top: 50%; transform: translateY(-50%); right: 0px; width: 1px; height: 15px; background: #fff;}

.footer-top {padding-top: 60px;}
.footerSwiper {width: 130vw; left: 50%; transform: translateX(-50%);}
.footerSwiper .swiper-wrapper {transition-timing-function: linear !important;}
.footerSwiper h3 {color: #fff;}

.copyright {display: flex; justify-content: center; padding: 30px 0;}
.copyright p, .copyright a {color: #fff3!important; font-weight: 500; font-size: 12px; transition: 0.3s;}
.copyright a:hover {color: #fff!important}

.grecaptcha-badge {display: none;}

/* Page Sections */

#loader {display: none; position: absolute; left: 50%; top: 50%; z-index: 1; width: 30px; height: 30px; transform: translate(-50%, -50%); border: 5px solid #f3f3f3; border-radius: 50%; border-top: 5px solid #3498db; -webkit-animation: spin 2s linear infinite; animation: spin 2s linear infinite; transition: 0.3s; opacity: 1;}

@-webkit-keyframes spin { 0% { -webkit-transform: translate(-50%, -50%) rotate(0deg); } 100% { -webkit-transform: translate(-50%, -50%) rotate(360deg); }}

@keyframes spin { 0% { transform: translate(-50%, -50%) rotate(0deg); } 100% { transform: translate(-50%, -50%) rotate(360deg); }}

.animate-bottom { position: relative; -webkit-animation-name: animatebottom; -webkit-animation-duration: 1s; animation-name: animatebottom; animation-duration: 1s}

@-webkit-keyframes animatebottom { from { bottom:-100px; opacity:0 } to { bottom:0px; opacity:1 }}
@keyframes animatebottom { from{ bottom:-100px; opacity:0 } to{ bottom:0; opacity:1 }}

/* Footer */
