/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
html.lenis {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto;
}

@font-face {
  font-family: "icomoon";
  src: url("../../assets/fonts/icomoon.eot?w349d6");
  src: url("../../assets/fonts/icomoon.eot?w349d6#iefix") format("embedded-opentype"), url("../../assets/fonts/icomoon.ttf?w349d6") format("truetype"), url("../../assets/fonts/icomoon.woff?w349d6") format("woff"), url("../../assets/fonts/icomoon.svg?w349d6#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
h1,
.heading-ml {
  font-size: clamp(40px, 7.8125vw, 80px);
  font-weight: 400;
}
@media only screen and (min-width: 1921px) {
  h1,
  .heading-ml {
    font-size: clamp(80px, 3.125vw, 120px);
  }
}

h2,
.heading {
  font-size: clamp(30px, 4.8828125vw, 50px);
}
@media only screen and (min-width: 1921px) {
  h2,
  .heading {
    font-size: clamp(50px, 1.953125vw, 75px);
  }
}

h4,
.heading-m {
  font-size: clamp(20px, 3.90625vw, 40px);
  line-height: 1.3em;
}
@media only screen and (min-width: 1921px) {
  h4,
  .heading-m {
    font-size: clamp(40px, 1.5625vw, 60px);
  }
}

h3,
.heading-s {
  font-size: clamp(16px, 1.7578125vw, 18px);
  line-height: 1.3em;
}
@media only screen and (min-width: 1921px) {
  h3,
  .heading-s {
    font-size: clamp(18px, 0.703125vw, 27px);
  }
}

.text-xl {
  font-size: clamp(24px, 4.1015625vw, 42px);
}
@media only screen and (min-width: 1921px) {
  .text-xl {
    font-size: clamp(42px, 1.640625vw, 63px);
  }
}

.text-l {
  font-size: clamp(16px, 3.41796875vw, 35px);
}
@media only screen and (min-width: 1921px) {
  .text-l {
    font-size: clamp(35px, 1.3671875vw, 52.5px);
  }
}

.text-ml {
  font-size: clamp(16px, 2.9296875vw, 30px);
}
@media only screen and (min-width: 1921px) {
  .text-ml {
    font-size: clamp(30px, 1.171875vw, 45px);
  }
}

.text-m {
  font-size: clamp(18px, 2.44140625vw, 25px);
}
@media only screen and (min-width: 1921px) {
  .text-m {
    font-size: clamp(25px, 0.9765625vw, 37.5px);
  }
}

.text {
  font-size: clamp(18px, 1.953125vw, 20px);
}
@media only screen and (min-width: 1921px) {
  .text {
    font-size: clamp(20px, 0.78125vw, 30px);
  }
}

.text-ms {
  font-size: clamp(14px, 1.5625vw, 16px);
}
@media only screen and (min-width: 1921px) {
  .text-ms {
    font-size: clamp(16px, 0.625vw, 24px);
  }
}

.text-s {
  font-size: 14px;
}
@media only screen and (min-width: 1921px) {
  .text-s {
    font-size: clamp(14px, 0.546875vw, 21px);
  }
}

.text-xs {
  font-size: 12px;
}
@media only screen and (min-width: 1921px) {
  .text-xs {
    font-size: clamp(12px, 0.46875vw, 18px);
  }
}

p {
  font-size: inherit;
}

.button {
  font-size: 16px;
}
@media only screen and (min-width: 1921px) {
  .button {
    font-size: clamp(16px, 0.625vw, 24px);
  }
}

.body {
  overflow-x: hidden;
  background-color: #fff;
  font-family: "sofia-pro", sans-serif;
  font-weight: 400;
  font-style: normal;
}

a {
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-decoration: none;
  list-style-type: none;
}

button {
  cursor: pointer;
}

.boxed {
  max-width: 1680px;
  padding-inline: clamp(20px, 3.90625vw, 40px);
}
@media only screen and (min-width: 1921px) {
  .boxed {
    max-width: 2500px;
  }
}

@media only screen and (min-width: 1025px) {
  .boxed-desktop {
    max-width: 1680px;
    padding-inline: 40px;
  }
}

.boxed-s {
  max-width: 1480px;
  padding-inline: clamp(20px, 3.90625vw, 40px);
}
@media only screen and (min-width: 1921px) {
  .boxed-s {
    max-width: 2200px;
  }
}

.boxed-4k--left {
  margin-left: calc((100vw - 1640px) / 2);
}
@media only screen and (min-width: 1921px) {
  .boxed-4k {
    max-width: 2500px;
    padding-inline: 40px;
    margin-left: revert;
  }
}
@media only screen and (max-width: 1024px) {
  .boxed-4k {
    padding-inline: clamp(20px, 3.90625vw, 40px);
    margin-left: revert;
  }
}

.boxed-s-4k--left {
  margin-left: calc((100vw - 1440px) / 2);
}
@media only screen and (min-width: 1921px) {
  .boxed-s-4k {
    max-width: 2200px;
    padding-inline: 40px;
    margin-left: revert;
  }
}
@media only screen and (max-width: 1024px) {
  .boxed-s-4k {
    padding-inline: clamp(20px, 3.90625vw, 40px);
    margin-left: revert;
  }
}

.centered {
  margin-inline: auto;
}

@media only screen and (min-width: 1921px) {
  .centered-4k {
    margin-inline: auto;
  }
}

.two-col {
  display: grid;
}
@media only screen and (min-width: 1025px) {
  .two-col {
    grid-template-columns: 1fr 1fr;
  }
}

.light {
  font-weight: 300;
}

.regular {
  font-weight: 400;
}

.medium {
  font-weight: 500;
}

.bold {
  font-weight: 700;
}

.italic {
  font-style: italic;
}

.underline {
  text-decoration: underline;
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.wide-letter-spacing {
  letter-spacing: 0.4em;
}

.line-height-s {
  line-height: 1.3;
}

.hidden {
  display: none !important;
}

@media only screen and (min-width: 1025px) {
  .hidden-desktop {
    display: none !important;
  }
}

@media only screen and (max-width: 1024px) {
  .hidden-mobile {
    display: none !important;
  }
}

.accent {
  color: #cb0017;
}

.header {
  position: fixed;
  z-index: 100;
  width: 100%;
  padding-bottom: clamp(12px, 2.34375vw, 24px);
  background-color: transparent;
  backdrop-filter: blur(0px);
  transition: background-color ease 300ms, backdrop-filter ease 300ms;
}
@media only screen and (min-width: 1921px) {
  .header {
    padding-bottom: clamp(24px, 0.9375vw, 36px);
  }
}
@media only screen and (max-width: 1024px) {
  .header {
    width: 100vw;
    width: 100svw;
    width: 100dvw;
  }
}
.header--sticky {
  backdrop-filter: blur(10px);
  background-color: rgba(0, 36, 84, 0.7);
}
.header__top {
  display: flex;
  justify-content: end;
}
.header__bottom {
  display: flex;
  justify-content: end;
  align-items: center;
}
@media only screen and (min-width: 1025px) {
  .header__bottom {
    align-items: end;
    gap: 120px;
  }
}
@media only screen and (min-width: 1921px) {
  .header__bottom {
    gap: clamp(120px, 4.6875vw, 180px);
  }
}
@media only screen and (max-width: 1024px) {
  .header__bottom {
    padding-top: 40px;
  }
}
.header__logo-container {
  z-index: 1;
  margin-right: auto;
  opacity: 1;
}
.header__logo {
  width: clamp(160px, 23.4375vw, 240px);
}
@media only screen and (min-width: 1921px) {
  .header__logo {
    width: clamp(240px, 9.375vw, 360px);
  }
}
.header ul {
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-decoration: none;
  list-style-type: none;
}
.header a {
  color: #fff;
}
@media only screen and (max-width: 1024px) {
  .header a {
    color: #002454;
  }
}

@media only screen and (max-width: 1024px) {
  .main-menu {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    gap: 40px;
    height: 100vh;
    padding: 100px 40px;
    background-color: #fff;
    transition: all ease 300ms;
  }
}
@media only screen and (max-width: 1024px) {
  .main-menu--open {
    visibility: visible;
    opacity: 1;
    transform: translateX(0%);
  }
}
@media only screen and (max-width: 1024px) {
  .main-menu--closed {
    visibility: hidden;
    opacity: 0;
    transform: translateX(100%);
  }
}
.main-menu__list {
  display: flex;
  gap: 40px;
  position: relative;
}
@media only screen and (max-width: 1024px) {
  .main-menu__list {
    flex-direction: column;
    gap: revert;
  }
}
@media only screen and (min-width: 1921px) {
  .main-menu__list {
    gap: clamp(25px, 0.9765625vw, 37.5px);
  }
}
.main-menu__list ul {
  position: absolute;
  visibility: hidden;
  opacity: 0;
}
.main-menu__list a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  font-size: 16px;
  font-weight: 500;
}
@media only screen and (max-width: 1024px) {
  .main-menu__list a {
    align-items: revert;
    font-size: 25px;
    padding-block: 20px;
    border-bottom: solid 1px #eef0f3;
  }
}
@media only screen and (min-width: 1921px) {
  .main-menu__list a {
    font-size: clamp(16px, 0.625vw, 24px);
  }
}
.main-menu__list a:after {
  content: "";
  width: calc(100% + 4px);
  height: 2px;
  background-color: #fff;
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  transition: clip-path ease 300ms;
}
.main-menu__list a:hover:after {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}

.footer {
  position: relative;
  z-index: 10;
  color: #002454;
}
.footer__top {
  background-color: #eef0f3;
}
.footer__bottom {
  background-color: #fff;
}
.footer__logo-container {
  position: absolute;
  top: -9%;
  left: 40px;
}
@media only screen and (max-width: 1024px) {
  .footer__logo-container {
    display: none;
  }
}
.footer__logo {
  width: 230px;
}
@media only screen and (min-width: 1921px) {
  .footer__logo {
    width: clamp(230px, 8.984375vw, 345px);
  }
}
.footer__container {
  position: relative;
  display: grid;
  align-items: end;
  gap: clamp(20px, 3.90625vw, 40px);
  padding-block: 40px 48px;
}
@media only screen and (min-width: 1025px) {
  .footer__container {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (min-width: 1921px) {
  .footer__container {
    gap: clamp(40px, 1.5625vw, 60px);
    padding-block: clamp(40px, 1.5625vw, 60px) clamp(48px, 1.875vw, 72px);
  }
}
.footer__container--top {
  padding-block: 60px 48px;
}
@media only screen and (min-width: 1025px) {
  .footer__container--top {
    grid-template-columns: 3fr 1fr 2fr;
  }
}
@media only screen and (min-width: 1921px) {
  .footer__container--top {
    padding-block: clamp(60px, 2.34375vw, 90px) clamp(48px, 1.875vw, 72px);
  }
}
.footer__container--bottom {
  align-items: center;
}
.footer__contact-info {
  display: grid;
  align-items: end;
  gap: clamp(20px, 3.90625vw, 40px);
}
@media only screen and (min-width: 1921px) {
  .footer__contact-info {
    gap: clamp(40px, 1.5625vw, 60px);
  }
}
@media only screen and (min-width: 1025px) {
  .footer__contact-info {
    grid-template-columns: 1fr 1fr;
  }
}
.footer__social-links, .footer__legal, .footer__menu-list, .footer__bottom-logos {
  display: flex;
  justify-items: center;
  align-items: end;
  gap: 24px;
}
@media only screen and (min-width: 1921px) {
  .footer__social-links, .footer__legal, .footer__menu-list, .footer__bottom-logos {
    gap: clamp(24px, 0.9375vw, 36px);
  }
}
.footer__social {
  align-self: start;
}
@media only screen and (max-width: 1024px) {
  .footer__social {
    margin-top: 32px;
  }
}
@media only screen and (max-width: 1024px) {
  .footer__credits {
    padding-block: 16px;
    border-block: solid 1px #eef0f3;
  }
}
.footer__bottom-logos {
  justify-self: end;
  align-items: center;
}
@media only screen and (max-width: 1024px) {
  .footer__bottom-logos {
    order: -1;
  }
}
.footer__legal {
  gap: clamp(24px, 4.6875vw, 48px);
  flex-wrap: wrap;
}
@media only screen and (min-width: 1921px) {
  .footer__legal {
    gap: clamp(48px, 1.875vw, 72px);
  }
}
.footer__menu-list {
  gap: 0;
  align-items: center;
}
.footer__menu-list li {
  display: flex;
  align-items: center;
}
.footer__menu-list li:not(:last-child):after {
  content: "";
  display: block;
  width: 1px;
  height: 24px;
  margin-inline: 16px;
  background-color: #707070;
}
@media only screen and (min-width: 1921px) {
  .footer__menu-list li:not(:last-child):after {
    height: clamp(24px, 0.9375vw, 36px);
    margin-inline: clamp(16px, 0.625vw, 24px);
  }
}
.footer__newsletter-container {
  justify-self: end;
  display: grid;
  gap: 24px;
}
@media only screen and (max-width: 1024px) {
  .footer__newsletter-container {
    order: -1;
  }
}
@media only screen and (min-width: 1921px) {
  .footer__newsletter-container {
    gap: clamp(24px, 0.9375vw, 36px);
  }
}
.footer__newsletter-container input {
  width: 100%;
  border: none;
  padding: 4px 12px;
}
@media only screen and (min-width: 1921px) {
  .footer__newsletter-container input {
    padding: clamp(4px, 0.15625vw, 6px) clamp(12px, 0.46875vw, 18px);
  }
}
.footer__newsletter-container input:focus {
  outline: none;
}
.footer__newsletter {
  display: flex;
  align-items: center;
  gap: clamp(8px, 2.34375vw, 24px);
}
@media only screen and (min-width: 1921px) {
  .footer__newsletter {
    gap: clamp(24px, 0.9375vw, 36px);
  }
}
@media only screen and (max-width: 1024px) {
  .footer__newsletter {
    flex-direction: column;
    align-items: start;
  }
}
.footer__newsletter button {
  font-size: 14px;
}
@media only screen and (min-width: 1921px) {
  .footer__newsletter button {
    font-size: clamp(14px, 0.546875vw, 21px);
  }
}
.footer a {
  color: #002454;
}
.footer ul {
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-decoration: none;
  list-style-type: none;
}

.hero {
  display: grid;
  position: relative;
  min-height: clamp(460px, 68.359375vw, 700px);
  color: #fff;
}
@media only screen and (min-width: 1921px) {
  .hero {
    min-height: clamp(700px, 27.34375vw, 1050px);
  }
}
.hero__background {
  position: absolute;
  inset: 0;
  z-index: -1;
  top: 0;
}
.hero__background-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero__container {
  z-index: 2;
  display: grid;
  align-content: center;
  width: 100%;
  height: 100%;
  padding-top: clamp(50px, 9.765625vw, 100px);
}
@media only screen and (min-width: 1921px) {
  .hero__container {
    padding-top: clamp(100px, 3.90625vw, 150px);
  }
}
.hero__video {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero__img-container {
  padding-block: clamp(20px, 3.90625vw, 40px);
}
@media only screen and (min-width: 1921px) {
  .hero__img-container {
    padding-block: clamp(40px, 1.5625vw, 60px);
  }
}
.hero p {
  max-width: 400px;
}
@media only screen and (min-width: 1921px) {
  .hero p {
    max-width: clamp(400px, 15.625vw, 600px);
  }
}
@media only screen and (max-width: 1640px) {
  .hero p {
    max-width: revert;
  }
}
.hero a {
  margin-top: 64px;
  color: #fff;
}
@media only screen and (min-width: 1921px) {
  .hero a {
    margin-top: clamp(64px, 2.5vw, 96px);
  }
}

.intro {
  position: relative;
  color: #002454;
  /*
  &:before,
  &:after {
    content: "";
    position: absolute;
    height: cross-media(10px, 1024px, 20px);
    width: cross-media(60px, 1024px, 180px);
    top: 0;
    right: 0;
    margin-right: cross-media(70px, 1024px, 140px);
  }

  &:before {
    transform: translateY(-100%);
    right: cross-media(16px, 1024px, 50px);
    background-color: $accent;
  }

  &:after {
    background-color: $secondary;
  }
  */
}
.intro__text-container {
  display: grid;
  gap: clamp(16px, 3.125vw, 32px);
}
.intro__text-container p {
  margin-bottom: 20px;
}
@media only screen and (min-width: 1921px) {
  .intro__text-container p {
    margin-bottom: clamp(20px, 0.78125vw, 30px);
  }
}
@media only screen and (max-width: 1024px) {
  .intro__text-container {
    padding-block: 40px;
  }
}
@media only screen and (min-width: 1640px) {
  .intro__text-container {
    width: 75%;
  }
}
@media only screen and (min-width: 1921px) {
  .intro__text-container {
    gap: clamp(32px, 1.25vw, 48px);
  }
}
.intro__button {
  align-self: end;
  margin-top: clamp(16px, 3.125vw, 32px);
}
@media only screen and (min-width: 1921px) {
  .intro__button {
    margin-top: clamp(32px, 1.25vw, 48px);
  }
}

.flexible-content {
  padding-top: clamp(20px, 3.90625vw, 40px);
}
@media only screen and (min-width: 1921px) {
  .flexible-content {
    padding-top: clamp(40px, 1.5625vw, 60px);
  }
}
.flexible-content__quote {
  max-width: 768px;
}
@media only screen and (min-width: 1921px) {
  .flexible-content__quote {
    max-width: clamp(768px, 30vw, 1152px);
  }
}

.carousel__button {
  cursor: pointer;
  transform: rotate(-90deg);
}
.carousel__button--previous {
  transform: rotate(90deg);
}
.carousel__button::after {
  content: "\e900";
  font-family: "icomoon";
  font-variant: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding: 8px;
}
@media only screen and (min-width: 1921px) {
  .carousel__button::after {
    padding: clamp(8px, 0.3125vw, 12px);
  }
}
.carousel__controls {
  display: flex;
  align-items: center;
  gap: clamp(20px, 3.90625vw, 40px);
  margin-top: 80px;
  margin-inline: auto;
  max-width: 600px;
}
@media only screen and (min-width: 1921px) {
  .carousel__controls {
    gap: clamp(40px, 1.5625vw, 60px);
    margin-top: clamp(80px, 3.125vw, 120px);
    max-width: clamp(600px, 23.4375vw, 900px);
  }
}
.carousel__dots {
  display: flex;
  align-items: center;
  width: 100%;
}
.carousel__dot {
  height: 2px;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  cursor: pointer;
  transition: all ease 300ms;
}
.carousel .glide__bullet--active {
  background-color: #000;
}

.button {
  display: flex;
  align-items: center;
  gap: 16px;
  width: fit-content;
  border: none;
  background-color: transparent;
  color: #cb0017;
}
.button:after {
  content: "\e901";
  font-family: "icomoon";
  font-variant: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 12px;
  transform: translateX(0px) translateY(2px);
  transition: transform ease 300ms;
}
@media only screen and (min-width: 1921px) {
  .button:after {
    font-size: clamp(12px, 0.46875vw, 18px);
  }
}
.button:hover:after {
  transform: translateX(4px) translateY(2px);
}
@media only screen and (min-width: 1921px) {
  .button:hover:after {
    transform: translateX(clamp(4px, 0.15625vw, 6px)) translateY(2px);
  }
}

.hamburger {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 30px;
  cursor: pointer;
  z-index: 10;
}
@media only screen and (min-width: 1025px) {
  .hamburger {
    display: none;
  }
}
.hamburger__button {
  display: flex;
  position: relative;
  z-index: 2;
  width: 24px;
  height: 2px;
  background: transparent;
  transition: all 0.5s ease-in-out;
}
@media only screen and (min-width: 1921px) {
  .hamburger__button {
    width: clamp(80px, 3.125vw, 120px);
  }
}
.hamburger__button:before, .hamburger__button:after {
  content: "";
  position: absolute;
  width: 24px;
  height: 2px;
  background: #fff;
  transition: all 0.5s ease-in-out;
}
@media only screen and (min-width: 1921px) {
  .hamburger__button:before, .hamburger__button:after {
    width: clamp(24px, 0.9375vw, 36px);
  }
}
.hamburger__button:before {
  transform: translateY(-5px);
}
.hamburger__button:after {
  transform: translateY(5px);
}
.hamburger--pressed .menu__mobile-button {
  background: transparent;
}
.hamburger--pressed .menu__mobile-button:before {
  transform: rotate(45deg) translateY(0px);
  background-color: #002454;
}
.hamburger--pressed .menu__mobile-button:after {
  transform: rotate(-45deg) translateY(0px);
  background-color: #002454;
}

.language-switcher {
  padding-inline: 12px;
  background-color: #275a88;
}
@media only screen and (max-width: 1024px) {
  .language-switcher {
    width: fit-content;
  }
}
.language-switcher select {
  padding: 8px 12px;
  background-color: #275a88;
  border: none;
  color: #fff;
  cursor: pointer;
}
.language-switcher select:focus {
  border: none;
  outline: none;
}

.heading-bg {
  margin-right: clamp(70px, 13.671875vw, 140px);
  text-align: right;
  color: #eef0f3;
}
@media only screen and (max-width: 1024px) {
  .heading-bg {
    display: none;
  }
}
@media only screen and (min-width: 1921px) {
  .heading-bg {
    margin-right: clamp(140px, 5.46875vw, 210px);
  }
}

.fleet-card {
  position: relative;
  z-index: 1;
  padding-block: clamp(40px, 7.8125vw, 80px) clamp(80px, 15.625vw, 160px);
  background-color: #fff;
  color: #002454;
}
@media only screen and (min-width: 1921px) {
  .fleet-card {
    padding-block: clamp(80px, 3.125vw, 120px) clamp(160px, 6.25vw, 240px);
  }
}
.fleet-card__container {
  display: grid;
  gap: clamp(70px, 13.671875vw, 140px);
  padding-top: clamp(16px, 3.125vw, 32px);
}
@media only screen and (min-width: 1025px) {
  .fleet-card__container {
    grid-template-columns: 3fr 1fr;
  }
}
@media only screen and (max-width: 1024px) {
  .fleet-card__container {
    position: relative;
  }
}
@media only screen and (min-width: 1921px) {
  .fleet-card__container {
    gap: clamp(140px, 5.46875vw, 210px);
    padding-top: clamp(32px, 1.25vw, 48px);
  }
}
.fleet-card__heading {
  color: #cb0017;
}
.fleet-card__text-container {
  display: grid;
  gap: clamp(8px, 1.5625vw, 16px);
}
@media only screen and (min-width: 1921px) {
  .fleet-card__text-container {
    gap: clamp(16px, 0.625vw, 24px);
  }
}
@media only screen and (max-width: 1024px) {
  .fleet-card__img-container {
    position: absolute;
    right: 0;
    bottom: -100px;
    max-width: 120px;
  }
}
.fleet-card__button {
  align-self: end;
}

.cta-banner {
  position: relative;
  z-index: 1;
  padding-block: clamp(40px, 7.8125vw, 80px);
}
@media only screen and (min-width: 1921px) {
  .cta-banner {
    padding-block: clamp(80px, 3.125vw, 120px);
  }
}
.cta-banner__container {
  position: relative;
  display: grid;
  margin-top: clamp(40px, 7.8125vw, 80px);
  color: #fff;
}
@media only screen and (min-width: 1921px) {
  .cta-banner__container {
    margin-top: clamp(80px, 3.125vw, 120px);
  }
}
.cta-banner__top, .cta-banner__bottom {
  padding-block: clamp(24px, 4.6875vw, 48px);
}
@media only screen and (min-width: 1921px) {
  .cta-banner__top, .cta-banner__bottom {
    padding-block: clamp(48px, 1.875vw, 72px);
  }
}
.cta-banner__top {
  background-color: #cb0017;
}
.cta-banner__bottom {
  background-repeat: no-repeat;
  background-size: cover;
  text-align: right;
}
.cta-banner__text--opacity {
  opacity: 0.5;
}
.cta-banner__link {
  display: flex;
  justify-content: end;
  align-items: center;
  gap: clamp(8px, 1.5625vw, 16px);
  color: #fff;
}
@media only screen and (min-width: 1921px) {
  .cta-banner__link {
    gap: clamp(16px, 0.625vw, 24px);
  }
}
.cta-banner__link:after {
  content: "\e901";
  font-family: "icomoon";
  font-variant: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: translateY(4px);
  font-size: 30px;
}
@media only screen and (min-width: 1921px) {
  .cta-banner__link:after {
    font-size: clamp(30px, 1.171875vw, 45px);
    transform: translateY(clamp(4px, 0.15625vw, 6px));
  }
}

.video__button-container {
  position: absolute;
  z-index: 1;
  inset: 0;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  cursor: pointer;
}
.video__button-container--cta {
  z-index: revert;
}
.video__button {
  display: grid;
  place-content: center;
}
.video__button:before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  z-index: -1;
  width: clamp(80px, 15.13671875vw, 155px);
  aspect-ratio: 1;
  border-radius: 100%;
  background-color: transparent;
  backdrop-filter: blur(10px);
  filter: brightness(70%);
}
@media only screen and (min-width: 1921px) {
  .video__button:before {
    width: clamp(155px, 6.0546875vw, 232.5px);
  }
}
.video__button:after {
  content: "\e905";
  font-family: "icomoon";
  font-variant: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: translateX(4px);
  font-size: 40px;
  transition: 0.3s ease-out;
}
@media only screen and (min-width: 1921px) {
  .video__button:after {
    font-size: clamp(40px, 1.5625vw, 60px);
    transform: translateY(clamp(4px, 0.15625vw, 6px));
  }
}
.video__button-container:hover .video__button::after {
  transform: translateX(4px) scale(1.5);
}
.video__top {
  justify-self: end;
  width: 100%;
}
.video__close-button {
  color: #fff;
  cursor: pointer;
  justify-self: end;
  text-align: right;
}
.video__video {
  position: fixed;
  z-index: 1000000;
  inset: 0;
  display: grid;
  grid-template-rows: 80px 1fr;
  place-items: center;
  padding: 40px;
  background-color: rgba(0, 0, 0, 0.8);
}
@media only screen and (min-width: 1921px) {
  .video__video {
    grid-template-rows: clamp(80px, 3.125vw, 120px) 1fr;
  }
}
.video__video iframe {
  width: 100%;
  height: 100%;
}

.gallery {
  padding-block: 40px;
}
@media only screen and (min-width: 1921px) {
  .gallery {
    padding-block: clamp(40px, 1.5625vw, 60px);
  }
}
.gallery__carousel {
  padding-block: 20px 40px;
  overflow: hidden;
}
@media only screen and (min-width: 1921px) {
  .gallery__carousel {
    padding-block: clamp(20px, 0.78125vw, 30px) clamp(40px, 1.5625vw, 60px);
  }
}
.gallery__container {
  display: flex;
  gap: 16px;
  height: clamp(150px, 27.34375vw, 280px);
}
@media only screen and (min-width: 1921px) {
  .gallery__container {
    gap: clamp(16px, 0.625vw, 24px);
    height: clamp(280px, 10.9375vw, 420px);
  }
}
.gallery__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.back-to-top {
  position: absolute;
  position: fixed;
  bottom: 0;
  right: 0;
  margin: clamp(24px, 4.6875vw, 48px);
  padding: 16px;
  background-color: #707070;
  color: #fff;
  visibility: hidden;
  opacity: 0;
  transform: rotate(180deg);
  transition: all ease 0.2s;
  cursor: pointer;
}
@media only screen and (min-width: 1921px) {
  .back-to-top {
    margin: clamp(48px, 1.875vw, 72px);
    padding: clamp(16px, 0.625vw, 24px);
  }
}
.back-to-top--visible {
  visibility: visible;
  opacity: 0.5;
}
.back-to-top--visible:hover {
  opacity: 1;
}
.back-to-top::after {
  content: "\e900";
  font-family: "icomoon";
  font-variant: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/*
// Loader
.loader {
  display: grid;
  place-content: center;
  background-color: $accent;
  position: fixed;
  inset: 0;
  z-index: 999;
  &__spinner {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    border: 4px solid $primary;
    box-sizing: border-box;
    // animation: rotation 1s linear infinite;

    &::after {
      content: "";
      box-sizing: border-box;
      position: absolute;
      left: 8px;
      top: 8px;
      border: 4px solid $primary;
      width: 24px;
      height: 24px;
      border-radius: 50%;
    }
  }

}
*/
.main--home {
  color: #002454;
}

.hero {
  position: relative;
}
.hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 36, 84, 0.5);
  z-index: 1;
}
.hero__container {
  position: relative;
  z-index: 2;
}
.hero--home {
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
}
.hero--home p {
  max-width: 800px;
}
@media only screen and (max-width: 1640px) {
  .hero--home p {
    max-width: revert;
  }
}
@media only screen and (min-width: 1921px) {
  .hero--home p {
    max-width: clamp(800px, 31.25vw, 1200px);
  }
}

.home-intro {
  padding-top: clamp(80px, 15.625vw, 160px);
}
.home-intro .intro__text-container {
  padding-block: clamp(20px, 3.90625vw, 40px);
}
@media only screen and (min-width: 1921px) {
  .home-intro {
    padding-top: clamp(160px, 6.25vw, 240px);
  }
  .home-intro .intro__text-container {
    padding-block: clamp(40px, 1.5625vw, 60px);
  }
}

.home-services {
  margin-top: clamp(60px, 11.71875vw, 120px);
}
@media only screen and (min-width: 1921px) {
  .home-services {
    margin-top: clamp(120px, 4.6875vw, 180px);
  }
}
.home-services__services {
  display: grid;
  gap: 2px;
  margin-block: clamp(30px, 5.859375vw, 60px) clamp(60px, 11.71875vw, 120px);
}
@media only screen and (min-width: 1025px) {
  .home-services__services {
    grid-template-columns: repeat(8, 1fr);
    min-height: 560px;
  }
}
@media only screen and (min-width: 1921px) {
  .home-services__services {
    margin-block: clamp(60px, 2.34375vw, 90px) clamp(120px, 4.6875vw, 180px);
  }
}
.home-services__image {
  position: absolute;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media only screen and (max-width: 1024px) {
  .home-services__image {
    width: 50%;
    right: 0;
  }
}
@media only screen and (min-width: 1025px) {
  .home-services__image {
    width: 100%;
    mix-blend-mode: luminosity;
    opacity: 70%;
  }
}
.home-services__service {
  position: relative;
  display: grid;
  align-content: end;
  padding: clamp(8px, 1.5625vw, 16px) clamp(16px, 3.125vw, 32px);
  background-size: cover;
  color: #fff;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .home-services__service {
    grid-template-columns: 1fr 1fr;
    align-content: revert;
    min-height: 75px;
    padding: revert;
    background-size: 50% 100%;
    background-repeat: no-repeat;
    background-position: right top;
  }
}
@media only screen and (min-width: 1921px) {
  .home-services__service {
    padding: clamp(16px, 0.625vw, 24px) clamp(32px, 1.25vw, 48px);
  }
}
.home-services__service:before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #002454;
  transition: all ease 300ms;
}
.home-services__service:before {
  z-index: -1;
}
@media only screen and (max-width: 1024px) {
  .home-services__service:before {
    background-color: #002454;
  }
}
@media only screen and (min-width: 1025px) {
  .home-services__service:hover:before {
    transform: scaleY(1.1);
    background-color: #cb0017;
  }
}
@media only screen and (min-width: 1025px) {
  .home-services__service:hover .home-services__service-heading {
    transform: rotate(-90deg) translate(20px) translateY(8px);
  }
}
@media only screen and (min-width: 1025px) {
  .home-services__service:hover .home-services__button {
    opacity: 1;
  }
}
.home-services__service-heading {
  z-index: 1;
  padding: 8px 16px;
}
@media only screen and (min-width: 1025px) {
  .home-services__service-heading {
    width: 200%;
    padding: revert;
    transform: rotate(-90deg) translate(0px) translateY(8px);
    transform-origin: center left;
    transition: transform ease 300ms;
    will-change: transform;
  }
}
@media only screen and (min-width: 1921px) {
  .home-services__service-heading {
    padding: clamp(8px, 0.3125vw, 12px) clamp(16px, 0.625vw, 24px);
  }
}
.home-services__text-container {
  display: grid;
  gap: clamp(20px, 3.90625vw, 40px);
}
@media only screen and (min-width: 1921px) {
  .home-services__text-container {
    gap: clamp(40px, 1.5625vw, 60px);
  }
}
.home-services__button {
  z-index: 1;
  color: #fff;
  opacity: 0;
}
@media only screen and (min-width: 1025px) {
  .home-services__button {
    transition: opacity ease 300ms;
  }
}

@media only screen and (min-width: 1025px) {
  .home-video {
    padding-bottom: 120px;
  }
}
@media only screen and (min-width: 1921px) {
  .home-video {
    padding-bottom: clamp(120px, 4.6875vw, 180px);
  }
}

.main--about .cta-banner {
  padding-block: clamp(40px, 7.8125vw, 80px) 0;
}
@media only screen and (min-width: 1921px) {
  .main--about .cta-banner {
    padding-block: clamp(80px, 3.125vw, 120px) 0;
  }
}
.main--about .cta-banner .heading-bg {
  color: #fff;
}
.hero--about {
  z-index: 1;
}

@media only screen and (min-width: 1025px) {
  .intro--about {
    margin-top: -40px;
  }
}
@media only screen and (min-width: 1921px) {
  .intro--about {
    margin-top: calc(clamp(40px, 1.5625vw, 60px) * -1);
  }
}
@media only screen and (min-width: 1025px) {
  .intro--about::before, .intro--about::after {
    content: revert;
  }
}

.about-intro {
  position: relative;
  z-index: 1;
  padding-block: clamp(30px, 5.859375vw, 60px) clamp(100px, 19.53125vw, 200px);
  background-color: #fff;
}
@media only screen and (min-width: 1921px) {
  .about-intro {
    padding-block: clamp(60px, 2.34375vw, 90px) clamp(200px, 7.8125vw, 300px);
  }
}
.about-intro__container {
  display: grid;
  margin-top: clamp(50px, 9.765625vw, 100px);
}
@media only screen and (min-width: 1025px) {
  .about-intro__container {
    grid-template-columns: 3fr 1fr;
  }
}
@media only screen and (min-width: 1921px) {
  .about-intro__container {
    margin-top: clamp(100px, 3.90625vw, 150px);
  }
}
.about-intro__images {
  position: relative;
}
.about-intro__img-container--main {
  height: 100%;
}
@media only screen and (max-width: 1024px) {
  .about-intro__img-container--main {
    width: 70%;
    margin-left: auto;
  }
}
.about-intro__img-container--main img {
  height: 100%;
  object-fit: cover;
}
.about-intro__img-container--top, .about-intro__img-container--bottom {
  position: absolute;
}
.about-intro__img-container--top {
  max-width: clamp(150px, 19.53125vw, 200px);
  top: 20px;
  left: -80px;
}
@media only screen and (max-width: 1024px) {
  .about-intro__img-container--top {
    top: 50%;
    transform: translateY(-50%);
    left: 0px;
  }
}
@media only screen and (min-width: 1921px) {
  .about-intro__img-container--top {
    max-width: clamp(200px, 7.8125vw, 300px);
  }
}
.about-intro__img-container--bottom {
  top: calc(100% - 20px);
  left: 80px;
  max-width: 150px;
}
@media only screen and (max-width: 1024px) {
  .about-intro__img-container--bottom {
    display: none;
  }
}
@media only screen and (min-width: 1921px) {
  .about-intro__img-container--bottom {
    left: clamp(80px, 3.125vw, 120px);
    max-width: clamp(150px, 5.859375vw, 225px);
  }
}

.about-mission-strengths {
  background-color: #002454;
  color: #fff;
}

.mission {
  position: relative;
  z-index: 1;
}
.mission__container {
  display: grid;
}
@media only screen and (min-width: 1025px) {
  .mission__container {
    grid-template-columns: 1fr 2fr;
  }
}
@media only screen and (max-width: 1024px) {
  .mission__container {
    grid-template-columns: 70px 1fr;
  }
}
.mission__img-container {
  position: absolute;
  max-height: clamp(200px, 42.96875vw, 440px);
  bottom: clamp(40px, 7.8125vw, 80px);
  left: 0;
}
@media only screen and (max-width: 1024px) {
  .mission__img-container {
    max-width: 400px;
    top: -40px;
    left: -150px;
  }
}
@media only screen and (min-width: 1921px) {
  .mission__img-container {
    max-height: clamp(440px, 17.1875vw, 660px);
    bottom: clamp(80px, 3.125vw, 120px);
  }
}
.mission__text-container {
  display: grid;
  gap: clamp(10px, 1.953125vw, 20px);
  background-color: #cb0017;
  padding: 85px 360px 140px;
  grid-column: 2;
}
@media only screen and (max-width: 1024px) {
  .mission__text-container {
    padding: 140px 20px 40px;
  }
}
@media only screen and (min-width: 1921px) {
  .mission__text-container {
    gap: clamp(20px, 0.78125vw, 30px);
    padding: clamp(85px, 3.3203125vw, 127.5px) clamp(360px, 14.0625vw, 540px) clamp(140px, 5.46875vw, 210px);
  }
}
@media only screen and (max-width: 1024px) {
  .mission__heading {
    text-align: center;
  }
}
.mission__text-quote {
  position: relative;
}
.mission__text-quote::before, .mission__text-quote::after {
  content: "\e906";
  font-family: "icomoon";
  font-variant: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  font-size: clamp(8px, 1.171875vw, 12px);
}
@media only screen and (min-width: 1921px) {
  .mission__text-quote::before, .mission__text-quote::after {
    font-size: clamp(12px, 0.46875vw, 18px);
  }
}
.mission__text-quote::before {
  top: -5px;
  transform: translateX(-150%);
}
.mission__text-quote::after {
  bottom: -5px;
  transform: rotate(180deg) translateX(-100%);
}

.strengths {
  margin-top: clamp(70px, 13.671875vw, 140px);
}
@media only screen and (min-width: 1921px) {
  .strengths {
    margin-top: clamp(140px, 5.46875vw, 210px);
  }
}
.strengths__container {
  position: relative;
  z-index: 1;
}
.strengths__grid {
  padding-block: clamp(40px, 7.8125vw, 80px);
}
@media only screen and (min-width: 1025px) {
  .strengths__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 75px;
  }
}
@media only screen and (min-width: 1921px) {
  .strengths__grid {
    padding-block: clamp(80px, 3.125vw, 120px);
    gap: clamp(75px, 2.9296875vw, 112.5px);
  }
}
@media only screen and (max-width: 1024px) {
  .strengths__carousel {
    display: flex;
    align-items: center;
    gap: 40px;
  }
}
@media only screen and (max-width: 1024px) {
  .strengths__carousel-track, .strengths__carousel-container {
    display: flex;
  }
}
.strengths__carousel-track {
  overflow: hidden;
}
@media only screen and (min-width: 1025px) {
  .strengths__carousel-button {
    display: none;
  }
}
.strengths__text-container {
  display: grid;
  gap: 12px;
}
@media only screen and (min-width: 1921px) {
  .strengths__text-container {
    gap: clamp(12px, 0.46875vw, 18px);
  }
}
.strengths__text {
  opacity: 0.6;
}

.glow {
  background: radial-gradient(circle at 50% 50%, rgb(0, 110, 255) 0%, rgb(0, 36, 84) 55%);
  left: -50%;
  filter: blur(30px);
  width: 1920px;
  height: 1080px;
  position: absolute;
  z-index: 0;
  opacity: 0.35;
}
@media only screen and (max-width: 1024px) {
  .glow {
    display: none;
  }
}

.about-video {
  background-color: #002454;
}
.about-video__container {
  position: relative;
  z-index: 2;
  margin-bottom: calc(clamp(93px, 16.69921875vw, 171px) * -1);
}
@media only screen and (min-width: 1921px) {
  .about-video__container {
    margin-bottom: calc(clamp(171px, 6.6796875vw, 256.5px) * -1);
  }
}
@media only screen and (max-width: 1024px) {
  .about-video .heading-bg {
    display: block;
    text-align: left;
    margin-right: 0;
  }
}

.about-fleet .fleet-card {
  padding-top: clamp(130px, 24.4140625vw, 250px);
}
@media only screen and (min-width: 1921px) {
  .about-fleet .fleet-card {
    padding-top: clamp(250px, 9.765625vw, 375px);
  }
}

.services-intro {
  margin-top: clamp(80px, 15.625vw, 160px);
  padding-bottom: clamp(60px, 11.71875vw, 120px);
}
@media only screen and (min-width: 1921px) {
  .services-intro {
    margin-top: clamp(160px, 6.25vw, 240px);
    padding-bottom: clamp(120px, 4.6875vw, 180px);
  }
}

.services-archive {
  padding-bottom: clamp(60px, 11.71875vw, 120px);
}
@media only screen and (min-width: 1921px) {
  .services-archive {
    padding-bottom: clamp(120px, 4.6875vw, 180px);
  }
}
.services-archive__grid {
  display: grid;
  gap: clamp(16px, 3.90625vw, 40px);
}
@media only screen and (min-width: 1921px) {
  .services-archive__grid {
    gap: clamp(40px, 1.5625vw, 60px);
  }
}
@media only screen and (min-width: 1025px) {
  .services-archive__grid {
    grid-template-columns: 1fr 1fr;
  }
}
.services-archive__post article {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.services-archive__post:hover .services-archive__img-container img {
  transform: translateX(10px) scale(1.1);
}
.services-archive__img-container {
  overflow: hidden;
  aspect-ratio: 14/16;
}
@media only screen and (max-width: 1024px) {
  .services-archive__img-container {
    aspect-ratio: revert;
  }
}
.services-archive__img-container img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transform: translateX(0px) scale(1.1);
  transition: transform ease 300ms;
}
@media only screen and (max-width: 1024px) {
  .services-archive__img-container img {
    aspect-ratio: 1;
  }
}
.services-archive__text-container {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: clamp(36px, 4.8611111111vw, 70px) clamp(16px, 2.0833333333vw, 30px);
  background-color: #eef0f3;
  color: #002454;
}
@media only screen and (min-width: 1921px) {
  .services-archive__text-container {
    gap: clamp(16px, 0.625vw, 24px);
    padding: clamp(70px, 2.734375vw, 105px) clamp(30px, 1.171875vw, 45px);
  }
}
.services-archive__text-container h3 {
  line-height: 1.1;
}
.services-archive__text {
  color: #000;
}
@media only screen and (max-width: 1024px) {
  .services-archive__text {
    display: none;
  }
}
.services-archive__button {
  width: fit-content;
  margin-top: auto;
}

.single-services-intro {
  margin-top: clamp(80px, 15.625vw, 160px);
}
@media only screen and (min-width: 1921px) {
  .single-services-intro {
    margin-top: clamp(160px, 6.25vw, 240px);
  }
}
.single-services-intro .intro__text-container {
  padding-block: clamp(10px, 1.953125vw, 20px);
}
@media only screen and (min-width: 1921px) {
  .single-services-intro .intro__text-container {
    padding-block: clamp(20px, 0.78125vw, 30px);
  }
}

.single-video {
  position: relative;
  aspect-ratio: 16/9;
  max-height: 800px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: clamp(40px, 4.8780487805vw, 80px);
  overflow: hidden;
}
@media only screen and (min-width: 1921px) {
  .single-video {
    min-height: clamp(800px, 31.25vw, 1200px);
    border-radius: clamp(30px, 1.171875vw, 45px);
    margin-bottom: clamp(80px, 3.125vw, 120px);
  }
}
.single-video__vimeo-container {
  width: 100%;
  height: 100%;
}
.single-video iframe {
  width: 100%;
  height: 100%;
}
.single-video__fallback {
  position: absolute;
  display: grid;
  inset: 0;
  place-items: center;
}
.single-video__image {
  width: 100%;
  height: 100%;
}
.single-video__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-service__gallery {
  padding-bottom: clamp(60px, 11.71875vw, 120px);
}
@media only screen and (min-width: 1921px) {
  .single-service__gallery {
    padding-bottom: clamp(120px, 4.6875vw, 180px);
  }
}

.hero--esg:before {
  content: revert;
}
.hero--esg:after {
  background-color: #eef0f3;
}
.hero--esg .hero__background-img {
  object-position: center 100%;
}

.esg-intro {
  padding-top: clamp(40px, 15.625vw, 160px);
  padding-bottom: clamp(60px, 11.71875vw, 120px);
  background-color: #eef0f3;
}
@media only screen and (min-width: 1921px) {
  .esg-intro {
    padding-top: clamp(160px, 6.25vw, 240px);
    padding-bottom: clamp(120px, 4.6875vw, 180px);
  }
}

.esg-cards__card {
  background: linear-gradient(180deg, white 0%, rgba(238, 240, 243, 0.5) 100%);
}
@media only screen and (max-width: 1024px) {
  .esg-cards__card {
    margin-top: 40px;
  }
}
@media only screen and (min-width: 1025px) {
  .esg-cards__card:nth-child(even) .esg-cards__img-container {
    order: 1;
  }
}
.esg-cards__card-container {
  display: grid;
  align-items: center;
  gap: 48px;
}
@media only screen and (min-width: 1921px) {
  .esg-cards__card-container {
    gap: clamp(48px, 1.875vw, 72px);
  }
}
@media only screen and (min-width: 1025px) {
  .esg-cards__card-container {
    grid-template-columns: 1fr 1fr;
    gap: revert;
  }
}
@media only screen and (min-width: 1025px) {
  .esg-cards__img-container {
    margin-top: -25%;
  }
}
.esg-cards__text-container {
  color: #002454;
}
@media only screen and (min-width: 1025px) {
  .esg-cards__text-container {
    padding: 140px;
  }
}
@media only screen and (max-width: 1024px) {
  .esg-cards__text-container {
    padding-bottom: 40px;
  }
}
@media only screen and (min-width: 1921px) {
  .esg-cards__text-container {
    padding: clamp(140px, 5.46875vw, 210px);
  }
}
.esg-cards__text {
  color: #000;
  padding-top: clamp(10px, 1.953125vw, 20px);
}
@media only screen and (min-width: 1921px) {
  .esg-cards__text {
    padding-top: clamp(20px, 0.78125vw, 30px);
  }
}

.hero--contact:before {
  content: revert;
}
.hero--contact:after {
  background-color: #eef0f3;
}

.intro--contact:before, .intro--contact:after {
  content: revert;
}

.contact-intro,
.contact-form {
  background-color: #eef0f3;
}

.contact-intro {
  padding-block: clamp(80px, 15.625vw, 160px) clamp(60px, 11.71875vw, 120px);
}
@media only screen and (min-width: 1921px) {
  .contact-intro {
    padding-block: clamp(160px, 6.25vw, 240px) clamp(120px, 4.6875vw, 180px);
  }
}

.contact-form {
  background-image: url("../../assets/img/globe-particles.svg");
  background-size: 60%;
  background-position: top right 10%;
  background-repeat: no-repeat;
  padding-bottom: clamp(40px, 15.625vw, 160px);
  color: #002454;
}
@media only screen and (min-width: 1921px) {
  .contact-form {
    padding-bottom: clamp(160px, 6.25vw, 240px);
  }
}
.contact-form form {
  display: grid;
  gap: clamp(12px, 1.953125vw, 20px);
  margin-top: clamp(20px, 3.90625vw, 40px);
}
@media only screen and (min-width: 1921px) {
  .contact-form form {
    gap: clamp(20px, 0.78125vw, 30px);
    margin-top: clamp(40px, 1.5625vw, 60px);
  }
}
@media only screen and (min-width: 1025px) {
  .contact-form form {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (min-width: 1025px) {
  .contact-form form p:nth-child(5) {
    grid-row: 1/4;
    grid-column: 2;
  }
}
.contact-form form p:nth-child(7) {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 16px;
  width: fit-content;
}
@media only screen and (min-width: 1921px) {
  .contact-form form p:nth-child(7) {
    gap: clamp(16px, 0.625vw, 24px);
  }
}
.contact-form form p:nth-child(7):after {
  content: "\e901";
  font-family: "icomoon";
  font-variant: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 12px;
  transform: translateX(0px) translateY(4px);
  transition: transform ease 300ms;
}
@media only screen and (min-width: 1921px) {
  .contact-form form p:nth-child(7):after {
    font-size: clamp(12px, 0.46875vw, 18px);
  }
}
.contact-form form p:nth-child(7):hover:after {
  transform: translateX(4px) translateY(4px);
}
.contact-form form p:nth-child(7) .wpcf7-spinner {
  display: none;
}
.contact-form input, .contact-form textarea {
  width: 100%;
  margin-top: clamp(4px, 0.78125vw, 8px);
  padding: clamp(8px, 1.5625vw, 16px);
  border: none;
  font-size: 14px;
}
@media only screen and (min-width: 1921px) {
  .contact-form input, .contact-form textarea {
    margin-top: clamp(8px, 0.3125vw, 12px);
    padding: clamp(16px, 0.625vw, 24px);
    font-size: clamp(14px, 0.546875vw, 21px);
  }
}
.contact-form input:focus, .contact-form textarea:focus {
  outline: none;
}
@media only screen and (min-width: 1025px) {
  .contact-form textarea {
    min-height: 280px;
  }
}
@media only screen and (min-width: 1921px) {
  .contact-form textarea {
    min-height: clamp(280px, 10.9375vw, 420px);
  }
}
.contact-form__terms-container {
  padding-block: clamp(8px, 1.5625vw, 16px);
}
@media only screen and (min-width: 1921px) {
  .contact-form__terms-container {
    padding-block: clamp(16px, 0.625vw, 24px);
  }
}
.contact-form__terms-container p {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
}
@media only screen and (min-width: 1921px) {
  .contact-form__terms-container p {
    gap: clamp(6px, 0.234375vw, 9px);
    font-size: clamp(12px, 0.46875vw, 18px);
  }
}
.contact-form__terms-container p a {
  color: #002454;
}
.contact-form__terms-container p .wpcf7-list-item {
  margin: 0;
}
.contact-form__terms-container p .wpcf7-list-item input {
  margin: 0;
}
@media only screen and (min-width: 1025px) {
  .contact-form__terms-container {
    grid-column: 1;
  }
}
.contact-form input[type=submit] {
  padding: clamp(8px, 1.5625vw, 16px) 0;
  color: #cb0017;
}
@media only screen and (min-width: 1025px) {
  .contact-form input[type=submit] {
    text-align: right;
  }
}
@media only screen and (min-width: 1921px) {
  .contact-form input[type=submit] {
    padding: clamp(16px, 0.625vw, 24px) 0;
  }
}
.contact-form input[type=submit]:after {
  content: "\e901";
  font-family: "icomoon";
  font-variant: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 12px;
  margin-top: 4px;
  transform: translateX(0px);
  transition: transform ease 300ms;
}
@media only screen and (min-width: 1921px) {
  .contact-form input[type=submit]:after {
    margin-top: revert;
    font-size: clamp(12px, 0.46875vw, 18px);
  }
}
.contact-form input[type=submit]:hover:after {
  transform: translateX(4px);
}
@media only screen and (min-width: 1921px) {
  .contact-form input[type=submit]:hover:after {
    transform: translateX(clamp(4px, 0.15625vw, 6px));
  }
}

.hero--fleet:before {
  content: revert;
}
.hero--fleet:after {
  background-color: #eef0f3;
}

.fleet-intro {
  padding-top: clamp(40px, 15.625vw, 160px);
  padding-bottom: clamp(60px, 11.71875vw, 120px);
  background-color: #eef0f3;
}
@media only screen and (min-width: 1921px) {
  .fleet-intro {
    padding-top: clamp(160px, 6.25vw, 240px);
    padding-bottom: clamp(120px, 6.25vw, 240px);
  }
}

.basicLightbox {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  opacity: 0.01;
  transition: opacity 0.4s ease;
  z-index: 1000;
  will-change: opacity;
}

.basicLightbox--visible {
  opacity: 1;
}

.basicLightbox__placeholder {
  max-width: 100%;
  transform: scale(0.9);
  transition: transform 0.4s ease;
  z-index: 1;
  will-change: transform;
}

.basicLightbox__placeholder > iframe:first-child:last-child,
.basicLightbox__placeholder > img:first-child:last-child,
.basicLightbox__placeholder > video:first-child:last-child {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  max-width: 95%;
  max-height: 95%;
}

.basicLightbox__placeholder > iframe:first-child:last-child,
.basicLightbox__placeholder > video:first-child:last-child {
  pointer-events: auto;
}

.basicLightbox__placeholder > img:first-child:last-child,
.basicLightbox__placeholder > video:first-child:last-child {
  width: auto;
  height: auto;
}

.basicLightbox--iframe .basicLightbox__placeholder,
.basicLightbox--img .basicLightbox__placeholder,
.basicLightbox--video .basicLightbox__placeholder {
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.basicLightbox--visible .basicLightbox__placeholder {
  transform: scale(1);
}

.news-intro {
  margin-top: clamp(80px, 9.756097561vw, 160px);
}
@media only screen and (min-width: 1921px) {
  .news-intro {
    margin-top: clamp(160px, 6.25vw, 240px);
  }
}

.news-archive {
  padding-block: clamp(60px, 11.71875vw, 120px);
}
@media only screen and (min-width: 1921px) {
  .news-archive {
    padding-vlock: clamp(120px, 4.6875vw, 180px);
  }
}
.news-archive__grid {
  display: grid;
  gap: clamp(16px, 3.90625vw, 40px);
}
@media only screen and (min-width: 1025px) {
  .news-archive__grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (min-width: 1921px) {
  .news-archive__grid {
    gap: clamp(40px, 1.5625vw, 60px);
  }
}
.news-archive__post article {
  display: grid;
  grid-template-columns: 1fr;
}
.news-archive__post:hover .news-archive__img-container img {
  transform: translateX(0px) scale(1.1);
}
.news-archive__post:hover .button::after {
  transform: translateX(4px) translateY(2px);
}
@media only screen and (min-width: 1921px) {
  .news-archive__post:hover .button::after {
    transform: translateX(clamp(4px, 0.15625vw, 6px)) translateY(2px);
  }
}
.news-archive__img-container {
  overflow: hidden;
  aspect-ratio: 16/9;
}
@media only screen and (max-width: 1024px) {
  .news-archive__img-container {
    aspect-ratio: revert;
  }
}
.news-archive__img-container img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transform: translateX(0px) scale(1);
  transition: transform ease-out 300ms;
}
@media only screen and (max-width: 1024px) {
  .news-archive__img-container img {
    aspect-ratio: 1;
  }
}
.news-archive__text-container {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: clamp(36px, 4.8611111111vw, 70px) clamp(16px, 2.0833333333vw, 30px);
  background-color: #eef0f3;
  color: #002454;
}
@media only screen and (min-width: 1921px) {
  .news-archive__text-container {
    gap: clamp(16px, 0.625vw, 24px);
    padding: clamp(70px, 2.734375vw, 105px) clamp(30px, 1.171875vw, 45px);
  }
}
.news-archive__text-container h3 {
  line-height: 1.1;
}
.news-archive__text {
  color: #000;
}
@media only screen and (max-width: 1024px) {
  .news-archive__text {
    display: none;
  }
}
.news-archive__button {
  width: fit-content;
  margin-top: auto;
}

/*# sourceMappingURL=main.css.map */
