html {
  scroll-behavior: smooth;
}

.wrapper {
  max-width: 1440px;
}

.logo img,
.logo svg {
  max-width: 105px;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 640px) {
  .logo img,
  .logo svg {
    max-width: 150px;
  }
}
@media screen and (min-width: 1024px) {
  .logo img,
  .logo svg {
    max-width: 177px;
  }
}
.logo svg path {
  transition: fill 0.5s ease 0.75s;
}

.copy-block p a,
.copy-block li a,
.plain-text--copy p a,
.plain-text--copy li a {
  text-decoration: underline;
}
.copy-block p a:hover,
.copy-block li a:hover,
.plain-text--copy p a:hover,
.plain-text--copy li a:hover {
  text-decoration: none;
}
.copy-block p:last-child,
.plain-text--copy p:last-child {
  margin-bottom: 0;
}

.mobile-menu {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 30;
  overflow: hidden;
  pointer-events: none;
  border-bottom: 20px solid #fff;
  transition: all 0.5s ease-in 1s;
  opacity: 0;
}
.mobile-menu .mobile-menu--inner {
  transition: all 0.5s ease-out 0.5s;
  max-height: 0;
  background: #c4e1ff;
  overflow: hidden;
  margin: 0;
  pointer-events: none;
  position: absolute;
  left: 0;
  right: 0;
  height: 0;
}
.mobile-menu .mobile-menu--inner nav {
  opacity: 0;
  transition: all 0.25s ease-in 0s;
}
.mobile-menu .mobile-menu--inner nav li {
  -webkit-animation: fade-out 1s ease-out both;
  animation: fade-out 1s ease-out both;
}
.mobile-menu .mobile-menu--inner form {
  -webkit-animation: fade-out 1s ease-out both;
  animation: fade-out 1s ease-out both;
}

.burger-top {
  transform: rotate(0);
  position: relative;
  top: 0;
  transition-timing-function: ease, ease-in, ease;
  transition-duration: 0.5s, 0.3s, 0.3s, 0.3s;
  transition-property: background-color, transform, top, width;
  transition-delay: 0.75s, 0.75s, 0.75s, 0.75s;
}

.burger-middle {
  opacity: 1;
  transition-duration: 0.5s;
  transition-property: opacity;
  transition-delay: 0.75s;
}

.burger-bottom {
  transform: rotate(0);
  position: relative;
  top: 0;
  transition-timing-function: ease, ease-in, ease;
  transition-duration: 0.5s, 0.3s, 0.3s, 0.3s;
  transition-property: background-color, transform, top, width;
  transition-delay: 0.75s, 0.75s, 0.75s, 0.75s;
}

.desktop-search {
  position: absolute;
  top: 64px;
  right: 0;
  width: 0px;
  height: auto;
  z-index: 30;
  overflow: hidden;
  pointer-events: none;
  transition: all 0.5s ease-in;
  opacity: 0;
}

#control--desktop-search {
  transition: all 0.5s ease-in;
  opacity: 1;
}

body.menu-open .mobile-menu {
  pointer-events: auto;
  opacity: 1;
  transition: all 0.1s ease-in;
}
body.menu-open .mobile-menu .mobile-menu--inner {
  max-height: 1500px;
  transition: all 0.5s ease-in 0s;
  pointer-events: auto;
  height: 100%;
}
body.menu-open .mobile-menu .mobile-menu--inner nav {
  opacity: 1;
  transition: all 0.1s ease-in;
}
body.menu-open .mobile-menu .mobile-menu--inner nav li {
  opacity: 1;
  transition: opacity 0.5s ease-in;
  -webkit-animation: fade-in-bottom 0.8s ease-out 1s both;
  animation: fade-in-bottom 0.8s ease-out 1s both;
}
body.menu-open .mobile-menu .mobile-menu--inner form {
  opacity: 1;
  transition: opacity 0.5s ease-in;
  -webkit-animation: fade-in-bottom 0.8s ease-out 1s both;
  animation: fade-in-bottom 0.8s ease-out 1s both;
}
body.menu-open .burger-top {
  transform: rotate(45deg);
  width: 30px;
  position: relative;
  top: 10px;
  background-color: #000;
  transition-duration: 0.5s, 0.3s, 0.3s;
  transition-property: background-color, transform, top;
  transition-delay: 0.75s, 0s, 0s;
}
body.menu-open .burger-top:hover {
  width: 30px !important;
}
body.menu-open .burger-middle {
  opacity: 0;
  transition-duration: 0s;
  transition-property: opacity;
  transition-delay: 0s;
}
body.menu-open .burger-bottom {
  transform: rotate(-45deg);
  width: 30px;
  position: relative;
  top: -6px;
  background-color: #000;
  transition-duration: 0.5s, 0.3s, 0.3s;
  transition-property: background-color, transform, top;
  transition-delay: 0.75s, 0s, 0s;
}
body.menu-open .burger-bottom:hover {
  width: 30px !important;
}
body.menu-open #control--mobile-menu:hover .burger-top,
body.menu-open #control--mobile-menu:hover .burger-middle,
body.menu-open #control--mobile-menu:hover .burger-bottom {
  width: 30px !important;
}
body.menu-open .logo svg path {
  fill: #000;
}
body.desktop-search-open .desktop-search {
  pointer-events: auto;
  opacity: 1;
  transition: all 0.4s ease-out;
  width: 275px;
}
body.desktop-search-open #control--desktop-search {
  transition: all 0.4s ease-out;
  opacity: 1;
}

.main .swiper {
  padding-bottom: 0;
}
.main .swiper-slide {
  padding-bottom: 120px;
  height: auto;
}
.main .swiper-pagination {
  bottom: -6px !important;
}
.main .swiper-pagination-bullet {
  width: 26px;
  height: 26px;
  background-color: transparent;
  border: 1px solid #385e63;
  opacity: 1;
  transition: all 0.2s ease-in 0s;
  margin: 0 5px;
}
.main .swiper-pagination-bullet:hover {
  background-color: #385e63;
  border: 1px solid #385e63;
}
.main .swiper-pagination-bullet-active {
  background-color: #385e63;
  border: 1px solid #385e63;
  opacity: 1;
}
.main .swiper-button-next,
.main .swiper-button-prev {
  top: auto;
  bottom: 0;
  color: #385e63;
  margin-top: 0;
  border: 1px solid #385e63;
  border-radius: 100%;
  width: 26px;
  height: 26px;
}
.main .swiper-button-next:after,
.main .swiper-button-prev:after {
  font-size: 14px;
}
.main .swiper-button-next {
  right: 30px;
}
.main .swiper-button-prev {
  left: 30px;
}
@media screen and (min-width: 640px) {
  .main .swiper-slide {
    padding-bottom: 80px;
  }
  .main .swiper-pagination--outer {
    right: 20px;
  }
  .main .swiper-pagination {
    position: relative !important;
    bottom: auto !important;
  }
  .main .swiper-pagination-bullet {
    width: 20px;
    height: 20px;
    margin: 0 4px;
  }
  .main .swiper-button-next,
  .main .swiper-button-prev {
    width: 20px;
    height: 20px;
    bottom: auto;
    top: 0;
  }
  .main .swiper-button-next:after,
  .main .swiper-button-prev:after {
    font-size: 10px;
  }
  .main .swiper-button-next {
    right: 0;
  }
  .main .swiper-button-prev {
    left: 0;
  }
}
@media screen and (min-width: 768px) {
  .main .swiper-pagination--outer {
    right: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .main .swiper-pagination--outer {
    padding-bottom: 30px;
  }
  .main .swiper-slide {
    padding-bottom: 90px;
  }
  .main .swiper-button-next {
    right: 0;
  }
  .main .swiper-button-prev {
    left: 0;
  }
}
@media screen and (min-width: 1280px) {
  .main .swiper-slide {
    padding-bottom: 100px;
  }
}

.high-res {
  display: none;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .low-res {
    display: none;
  }
  .high-res {
    display: block;
  }
}
.banner-copy p:last-child {
  margin-bottom: 0px;
}

.aspect-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.video-embed-wrapper iframe,
.video-embed-wrapper video,
.video-embed-wrapper object,
.video-embed-wrapper embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@font-face {
  font-family: "Museo 500";
  src: url("../fonts/museo500.woff2") format("woff2"), url("../fonts/museo500.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Museo 900";
  src: url("../fonts/museo900.woff2") format("woff2"), url("../fonts/museo900.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Museo 300";
  src: url("../fonts/museo300.woff2") format("woff2"), url("../fonts/museo300.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Museo 700";
  src: url("../fonts/museo700.woff2") format("woff2"), url("../fonts/museo700.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
.header--light .burger-menu span {
  background-color: #fff;
}
.header--dark .burger-menu span {
  background-color: #000;
}

body.menu-open .header--light .burger-menu span {
  background-color: #000;
}
body.menu-open .header--dark .burger-menu span {
  background-color: #000;
}

.animate, .animate-global {
  visibility: hidden;
}

@media not all and (min-resolution: 0.001dpcm) {
  .animate, .animate-global {
    visibility: visible !important;
    -webkit-animation: fade-in 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) 0.5s both;
    animation: fade-in 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) 0.5s both;
  }
}
/* Safari only override
@media screen and (-webkit-min-device-pixel-ratio:0) { 
    ::i-block-chrome,.flex-direction-nav-featured a{
        margin-top: 5%;
    }  
}
*/
.hover-underline-animation {
  display: inline-block;
  position: relative;
  color: #000;
}
.hover-underline-animation::after {
  content: "";
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #000;
  transform-origin: bottom left;
  transition: transform 0.33s ease-out;
}
.hover-underline-animation:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}
.hover-underline-animation.text-white {
  color: #fff;
}
.hover-underline-animation.text-white::after {
  background-color: #fff;
}
.hover-underline-animation.active::after {
  transform: scaleX(1);
}

.fade-in-bottom {
  -webkit-animation: fade-in-bottom 0.8s ease-out both;
  animation: fade-in-bottom 0.8s ease-out both;
}
.fade-in-bottom-100 {
  -webkit-animation: fade-in-bottom 0.8s ease-out 0.1s both;
  animation: fade-in-bottom 0.8s ease-out 0.1s both;
}
.fade-in-bottom-250 {
  -webkit-animation: fade-in-bottom 0.8s ease-out 0.25s both;
  animation: fade-in-bottom 0.8s ease-out 0.25s both;
}
.fade-in-bottom-500 {
  -webkit-animation: fade-in-bottom 0.8s ease-out 0.5s both;
  animation: fade-in-bottom 0.8s ease-out 0.5s both;
}
.fade-in-bottom-750 {
  -webkit-animation: fade-in-bottom 0.8s ease-out 0.75s both;
  animation: fade-in-bottom 0.8s ease-out 0.75s both;
}
.fade-in-bottom-1000 {
  -webkit-animation: fade-in-bottom 0.8s ease-out 1s both;
  animation: fade-in-bottom 0.8s ease-out 1s both;
}

.fade-in-top {
  -webkit-animation: fade-in-top 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) both;
  animation: fade-in-top 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}
.fade-in-top-100 {
  -webkit-animation: fade-in-top 0.8s ease-out 0.1s both;
  animation: fade-in-top 0.8s ease-out 0.1s both;
}
.fade-in-top-250 {
  -webkit-animation: fade-in-top 0.8s ease-out 0.25s both;
  animation: fade-in-top 0.8s ease-out 0.25s both;
}
.fade-in-top-500 {
  -webkit-animation: fade-in-top 0.8s ease-out 0.5s both;
  animation: fade-in-top 0.8s ease-out 0.5s both;
}
.fade-in-top-750 {
  -webkit-animation: fade-in-top 0.8s ease-out 0.75s both;
  animation: fade-in-top 0.8s ease-out 0.75s both;
}
.fade-in-top-1000 {
  -webkit-animation: fade-in-top 0.8s ease-out 1s both;
  animation: fade-in-top 0.8s ease-out 1s both;
}

.slide-in-bottom {
  -webkit-animation: slide-in-bottom 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  animation: slide-in-bottom 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.fade-in {
  -webkit-animation: fade-in 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) 0.5s both;
  animation: fade-in 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) 0.5s both;
}
.fade-in-100 {
  -webkit-animation: fade-in 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) 0.1s both;
  animation: fade-in 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) 0.1s both;
}
.fade-in-250 {
  -webkit-animation: fade-in 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) 0.25s both;
  animation: fade-in 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) 0.25s both;
}
.fade-in-500 {
  -webkit-animation: fade-in 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) 0.5s both;
  animation: fade-in 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) 0.5s both;
}
.fade-in-750 {
  -webkit-animation: fade-in 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) 0.75s both;
  animation: fade-in 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) 0.75s both;
}
.fade-in-1000 {
  -webkit-animation: fade-in 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) 1s both;
  animation: fade-in 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) 1s both;
}

.fade-in-no-delay {
  -webkit-animation: fade-in 1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.2s both;
  animation: fade-in 1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.2s both;
}

.fade-in-no-delay-quick {
  -webkit-animation: fade-in 0.35s cubic-bezier(0.39, 0.575, 0.565, 1) 0s both;
  animation: fade-in 0.35s cubic-bezier(0.39, 0.575, 0.565, 1) 0s both;
}

.fade-out {
  -webkit-animation: fade-out 1s ease-out both;
  animation: fade-out 1s ease-out both;
}

/* ----------------------------------------------
 * Generated by Animista on 2023-2-2 20:39:12
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */
/**
 * ----------------------------------------
 * animation fade-in-bottom
 * ----------------------------------------
 */
@-webkit-keyframes fade-in-bottom {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fade-in-bottom {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
/**
 * ----------------------------------------
 * animation slide-in-bottom
 * ----------------------------------------
 */
@-webkit-keyframes slide-in-bottom {
  0% {
    -webkit-transform: translateY(1000px);
    transform: translateY(1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slide-in-bottom {
  0% {
    -webkit-transform: translateY(1000px);
    transform: translateY(1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
/**
 * ----------------------------------------
 * animation fade-in
 * ----------------------------------------
 */
@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/**
 * ----------------------------------------
 * animation fade-in-top
 * ----------------------------------------
 */
@-webkit-keyframes fade-in-top {
  0% {
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fade-in-top {
  0% {
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
@tailwind base;
@tailwind components;
@tailwind utilities;
@layer base {
  ul,
  ol {
    list-style: revert;
  }
}