:root {
  --color-teal: #47958b;
  --color-navy: #002e54;
  --color-dark-gray: #252c30;
  --color-blue: #41b6e6;
  --color-primary: var(--color-navy);
  --color-primary-light: var(--color-blue);
  --color-secondary: var(--color-teal);
  --color-accent: var(--color-blue);
  --color-text-dark: var(--color-dark-gray);
  --color-text-light: #ffffff;
  --color-bg-white: #ffffff;
  --color-bg-light: #f4f6f8;
  --color-btn-hover: #0f665d;
  --color-border-light: #e5eaee;
  --container-bg-light-1: #ffffff;
  --container-bg-light-2: #f4f6f8;
  --container-bg-dark-1: #002e54;
  --container-bg-dark-2: #252c30;
  --spacing-xs: 4px;
  --spacing-s: 8px;
  --spacing-m: 12px;
  --spacing-l: 16px;
  --spacing-xl: 24px;
  --spacing-2xl: 32px;
  --spacing-3xl: 48px;
  --spacing-4xl: 64px;
  --spacing-5xl: 96px;
  --spacing-6xl: 128px;
  --radius-s: 8px;
  --radius-m: 16px;
  --radius-l: 24px;
  --radius-xl: 32px;
  --font-heading: "FuturaPT", sans-serif;
  --font-body: "OpenSans", sans-serif;
  --z-below: -1;
  --z-base: 0;
  --z-deco: 1;
  --z-content: 2;
  --z-overlay: 10;
  --z-modal: 100;
  --z-toast: 200;
  --main-max-width: 1536px;
}

@font-face {
  font-family: "FuturaPT";
  src: local("FuturaCyrillicBook"), url("../../public/fonts/FuturaCyrillicBook.woff2") format("woff2"), url("../../public/fonts/FuturaCyrillicBook.woff") format("woff"), url("../../public/fonts/FuturaCyrillicBook.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "FuturaPT";
  src: local("FuturaCyrillicMedium"), url("../../public/fonts/FuturaCyrillicMedium.woff2") format("woff2"), url("../../public/fonts/FuturaCyrillicMedium.woff") format("woff"), url("../../public/fonts/FuturaCyrillicMedium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "FuturaPT";
  src: local("FuturaCyrillicBold"), url("../../public/fonts/FuturaCyrillicBold.woff2") format("woff2"), url("../../public/fonts/FuturaCyrillicBold.woff") format("woff"), url("../../public/fonts/FuturaCyrillicBold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "FuturaPT";
  src: local("FuturaCyrillicHeavy"), url("../../public/fonts/FuturaCyrillicHeavy.woff2") format("woff2"), url("../../public/fonts/FuturaCyrillicHeavy.woff") format("woff"), url("../../public/fonts/FuturaCyrillicHeavy.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "FuturaPT-Demi";
  src: local("FuturaCyrillicDemi"), url("../../public/fonts/FuturaCyrillicDemi.woff2") format("woff2"), url("../../public/fonts/FuturaCyrillicDemi.woff") format("woff"), url("../../public/fonts/FuturaCyrillicDemi.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "OpenSans";
  src: local("OpenSans-Regular"), url("../../public/fonts/OpenSans-Regular.woff2") format("woff2"), url("../../public/fonts/OpenSans-Regular.woff") format("woff"), url("../../public/fonts/OpenSans-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "OpenSans";
  src: local("OpenSans-Medium"), url("../../public/fonts/OpenSans-Medium.woff2") format("woff2"), url("../../public/fonts/OpenSans-Medium.woff") format("woff"), url("../../public/fonts/OpenSans-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "OpenSans";
  src: local("OpenSans-SemiBold"), url("../../public/fonts/OpenSans-SemiBold.woff2") format("woff2"), url("../../public/fonts/OpenSans-SemiBold.woff") format("woff"), url("../../public/fonts/OpenSans-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "OpenSans";
  src: local("OpenSans-Bold"), url("../../public/fonts/OpenSans-Bold.woff2") format("woff2"), url("../../public/fonts/OpenSans-Bold.woff") format("woff"), url("../../public/fonts/OpenSans-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
.type-display-d1 {
  font-family: var(--font-heading);
  font-size: clamp(5rem, 3.3495rem + 7.767vw, 10rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: clamp(-1.6px, -0.8252px - 0.3883vw, -3.2px);
}

.type-h1-heavy {
  font-family: var(--font-heading);
  font-size: clamp(2.5rem, 1.8058rem + 3.2653vw, 4rem);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: clamp(-0.8px, -0.5243px - 0.1383vw, -1.28px);
}

.type-h1 {
  font-family: var(--font-heading);
  font-size: clamp(2.5rem, 1.8058rem + 3.2653vw, 4rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: clamp(-0.8px, -0.5243px - 0.1383vw, -1.28px);
}

.type-h2-heavy {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 1.5631rem + 2.0553vw, 3rem);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: clamp(-0.64px, -0.4592px - 0.0907vw, -0.96px);
}

.type-h2 {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 1.5631rem + 2.0553vw, 3rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: clamp(-0.64px, -0.4592px - 0.0907vw, -0.96px);
}

.type-display-d3 {
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 1.4369rem + 1.4757vw, 2.5rem);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: clamp(-0.56px, -0.4165px - 0.0719vw, -0.8px);
}

.type-h3 {
  font-family: "FuturaPT-Demi", sans-serif;
  font-size: clamp(1.75rem, 1.4369rem + 1.4757vw, 2.5rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: clamp(-0.56px, -0.4165px - 0.0719vw, -0.8px);
}

.type-h4 {
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 1.3107rem + 0.8914vw, 1.75rem);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: clamp(-0.48px, -0.3981px - 0.0411vw, -0.56px);
}

.type-h5-demi {
  font-family: var(--font-heading);
  font-size: clamp(1.25rem, 1.0611rem + 0.8914vw, 1.5rem);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: clamp(-0.4px, -0.3155px - 0.0423vw, -0.48px);
}

.type-h5 {
  font-family: var(--font-heading);
  font-size: clamp(1.25rem, 1.0611rem + 0.8914vw, 1.5rem);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: clamp(-0.4px, -0.3155px - 0.0423vw, -0.48px);
}

.type-h6 {
  font-family: var(--font-heading);
  font-size: clamp(1.125rem, 0.9981rem + 0.5984vw, 1.25rem);
  font-weight: 500;
  line-height: 1.18;
  letter-spacing: clamp(-0.36px, -0.3108px - 0.0247vw, -0.4px);
}

.type-body-lg {
  font-family: var(--font-body);
  font-size: clamp(1rem, 0.9369rem + 0.2972vw, 1.125rem);
  font-weight: 400;
  line-height: 1.53;
  letter-spacing: normal;
}

.type-body-md {
  font-family: var(--font-body);
  font-size: clamp(0.875rem, 0.8119rem + 0.2972vw, 1rem);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: normal;
}

.type-body-sm {
  font-family: var(--font-body);
  font-size: clamp(0.75rem, 0.6869rem + 0.2972vw, 0.875rem);
  font-weight: 400;
  line-height: 1.42;
  letter-spacing: normal;
}

.type-eyebrow {
  font-family: var(--font-heading);
  font-size: clamp(0.625rem, 0.5619rem + 0.2972vw, 0.75rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: clamp(1.25px, 1.0206px + 0.1148vw, 1.5px);
  text-transform: uppercase;
  display: flex;
  gap: 0;
  align-items: flex-end;
  color: var(--color-teal);
}
.type-eyebrow::after {
  content: url("data:image/svg+xml,%3Csvg width='7' height='8' viewBox='0 0 7 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.101928 0H6.5666C6.67706 0 6.7666 0.0895429 6.7666 0.2V7.17927C6.7666 7.27736 6.64013 7.32007 6.58302 7.24031C5.82516 6.1818 2.84788 2.15592 0.0436236 0.187958C-0.0377187 0.130874 0.00255468 0 0.101928 0Z' fill='%2347958B'/%3E%3C/svg%3E");
  position: relative;
  top: -3px;
}

.elementor-widget-hm_timeline {
  width: 100%;
}
.elementor-widget-hm_timeline .hm-timeline {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 1080px) {
  .elementor-widget-hm_timeline .hm-timeline {
    padding: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .elementor-widget-hm_timeline .hm-timeline {
    align-items: flex-start;
  }
}
.elementor-widget-hm_timeline .hm-timeline-item {
  display: grid;
  grid-template-columns: 1fr 12px 1fr;
  grid-template-rows: 288px 112px;
}
@media screen and (max-width: 768px) {
  .elementor-widget-hm_timeline .hm-timeline-item {
    width: 100%;
    grid-template-columns: initial;
    grid-template-rows: auto auto 78px;
    grid-template-columns: 12px 1fr;
    grid-template-areas: "line content" "line img";
    gap: 20px;
  }
}
.elementor-widget-hm_timeline .hm-timeline-item__dot {
  position: relative;
  top: 20px;
  display: flex;
  flex-direction: column;
  height: 100%;
  grid-column: 2;
  grid-row: 1/3;
}
.elementor-widget-hm_timeline .hm-timeline-item__dot::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background-color: #47958b;
  border-radius: 50%;
  z-index: 10;
}
.elementor-widget-hm_timeline .hm-timeline-item__dot::after {
  content: "";
  display: flex;
  height: 100%;
  width: 1px;
  background-color: #ccd6dd;
  align-self: center;
}
@media screen and (max-width: 768px) {
  .elementor-widget-hm_timeline .hm-timeline-item__dot {
    top: 0;
    grid-area: line;
    grid-row: 1/4;
  }
}
.elementor-widget-hm_timeline .hm-timeline-item__date-line {
  width: 350px;
  height: 1px;
  background: #ccd6dd;
  position: absolute;
  top: 5px;
  z-index: 5;
}
@media screen and (max-width: 1080px) {
  .elementor-widget-hm_timeline .hm-timeline-item__date-line {
    width: 100px;
  }
}
@media screen and (max-width: 768px) {
  .elementor-widget-hm_timeline .hm-timeline-item__date-line {
    display: none;
  }
}
.elementor-widget-hm_timeline .hm-timeline-item__media {
  position: relative;
  display: flex;
  margin-left: 85px;
}
.elementor-widget-hm_timeline .hm-timeline-item__media--with-icon:not(.elementor-widget-hm_timeline .hm-timeline-item__media--with-image) {
  margin-right: 40px;
}
@media screen and (max-width: 768px) {
  .elementor-widget-hm_timeline .hm-timeline-item__media {
    grid-area: img;
    margin-left: 0;
  }
}
.elementor-widget-hm_timeline .hm-timeline-item__image {
  z-index: 10;
  overflow: hidden;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  .elementor-widget-hm_timeline .hm-timeline-item__image {
    width: 100%;
  }
  .elementor-widget-hm_timeline .hm-timeline-item__image img {
    width: 100%;
    height: auto;
  }
}
.elementor-widget-hm_timeline .hm-timeline-item__content {
  max-width: 378px;
}
@media screen and (max-width: 768px) {
  .elementor-widget-hm_timeline .hm-timeline-item__content {
    grid-area: content;
    max-width: 100%;
  }
}
.elementor-widget-hm_timeline .hm-timeline-item__year {
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 1.4369rem + 1.4757vw, 2.5rem);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: clamp(-0.56px, -0.4165px - 0.0719vw, -0.8px);
  color: #47958b;
  margin-bottom: 24px;
}
.elementor-widget-hm_timeline .hm-timeline-item__title {
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 1.3107rem + 0.8914vw, 1.75rem);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: clamp(-0.48px, -0.3981px - 0.0411vw, -0.56px);
  color: #002e54;
  margin-bottom: 12px;
}
.elementor-widget-hm_timeline .hm-timeline-item__description {
  font-family: var(--font-body);
  font-size: clamp(0.875rem, 0.8119rem + 0.2972vw, 1rem);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: normal;
}
.elementor-widget-hm_timeline .hm-timeline-item__icon {
  position: absolute;
  width: max-content;
  right: -10%;
  top: -13%;
}
@media screen and (max-width: 1080px) {
  .elementor-widget-hm_timeline .hm-timeline-item__icon {
    right: -4%;
  }
}
@media screen and (max-width: 768px) {
  .elementor-widget-hm_timeline .hm-timeline-item__icon {
    display: none;
  }
}
.elementor-widget-hm_timeline .hm-timeline-item--left .hm-timeline-item__content {
  justify-self: flex-end;
  text-align: right;
  margin-right: 46px;
}
@media screen and (max-width: 768px) {
  .elementor-widget-hm_timeline .hm-timeline-item--left .hm-timeline-item__content {
    justify-self: flex-start;
    text-align: left;
    margin-right: 0;
  }
}
.elementor-widget-hm_timeline .hm-timeline-item--right .hm-timeline-item__date-line {
  right: 0;
}
.elementor-widget-hm_timeline .hm-timeline-item--right .hm-timeline-item__content {
  order: 3;
  margin-left: 45px;
}
.elementor-widget-hm_timeline .hm-timeline-item--right .hm-timeline-item__media {
  order: 1;
  margin-left: 0;
  justify-self: flex-end;
  margin-right: 85px;
}
.elementor-widget-hm_timeline .hm-timeline-item--right .hm-timeline-item__icon {
  left: -10%;
  right: initial;
}
@media screen and (max-width: 768px) {
  .elementor-widget-hm_timeline .hm-timeline-item--right .hm-timeline-item__content {
    margin-left: 0;
  }
  .elementor-widget-hm_timeline .hm-timeline-item--right .hm-timeline-item__media {
    justify-self: inherit;
    margin-right: 0;
  }
}
.elementor-widget-hm_timeline .hm-timeline-item--has-icon:not(.elementor-widget-hm_timeline .hm-timeline-item--has-image) {
  grid-template-rows: 288px;
}
.elementor-widget-hm_timeline .hm-timeline-item--has-icon:not(.elementor-widget-hm_timeline .hm-timeline-item--has-image) .hm-timeline-item__icon {
  top: initial;
  right: 20px;
  left: initial;
}
@media screen and (max-width: 768px) {
  .elementor-widget-hm_timeline .hm-timeline-item--has-icon:not(.elementor-widget-hm_timeline .hm-timeline-item--has-image) {
    grid-template-rows: auto auto 78px;
  }
}
.elementor-widget-hm_timeline .hm-timeline-item--last-child .hm-timeline-item__dot::after {
  height: 0;
}
.elementor-widget-hm_timeline .hm-timeline-wrapper {
  position: relative;
}
.elementor-widget-hm_timeline .hm-timeline-wrapper--has-view-more {
  position: relative;
}
.elementor-widget-hm_timeline .hm-timeline-wrapper--has-view-more .hm-timeline {
  max-height: 1800px;
  overflow: hidden;
  padding-bottom: 200px;
  transition: max-height 0.8s ease-in-out, padding-bottom 0.8s ease-in-out;
}
.elementor-widget-hm_timeline .hm-timeline-wrapper--has-view-more::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 730px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 30%, rgba(255, 255, 255, 0.8) 60%, rgb(255, 255, 255) 85%);
  pointer-events: none;
  z-index: 10;
  opacity: 1;
  transition: opacity 0.6s ease-out;
}
.elementor-widget-hm_timeline .hm-timeline-wrapper--has-view-more.hm-timeline-wrapper--expanded .hm-timeline {
  max-height: 10000px;
  overflow: visible;
  padding-bottom: 0;
}
.elementor-widget-hm_timeline .hm-timeline-wrapper--has-view-more.hm-timeline-wrapper--expanded::after {
  opacity: 0;
  pointer-events: none;
}
.elementor-widget-hm_timeline .hm-timeline-view-more {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: -70px;
  z-index: 11;
}
.elementor-widget-hm_timeline .hm-timeline-view-more__button {
  font-family: "OpenSans", sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 14px;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: #252c30;
  background-color: #ffffff;
  border: 1px solid #E5EAEE;
  border-radius: 8px;
  padding: 16px 32px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.elementor-widget-hm_timeline .hm-timeline-view-more__button:hover {
  background-color: #252c30;
  color: #ffffff;
  border-color: #252c30;
}
.elementor-widget-hm_timeline .hm-timeline-view-more__button:focus {
  outline: 2px solid #47958b;
  outline-offset: 2px;
}