img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

ul.list-style,
ol.list-style {
  padding: 0;
}

ul.list-style li::marker,
ol.list-style li::marker {
  color: $accent-1;
}

.unstyled {
  padding-left: 0;
  list-style: none;
  margin-bottom: 0;
}

.row {
  @include media-query(576px) {
    --bs-gutter-x: 0.75rem;
    --bs-gutter-y: 0;
  }
}

.slick-track > [class*="col"] {
  -webkit-flex-shrink: 0 !important;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  margin-right: calc(var(--bs-gutter-x) / 2) !important;
  margin-left: calc(var(--bs-gutter-x) / 2) !important;
}

.container-fluid {
  @media (min-width: 1200px) {
    padding: 0 5vw;
    width: 100%;
  }

  padding-right: calc(var(--bs-gutter-x) * 0.75);
  padding-left: calc(var(--bs-gutter-x) * 0.75);

  @media (max-width: 575px) {
    --bs-gutter-x: 2rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
  }
}
/*-------------------------
  Typography
-------------------------*/
html {
  scroll-behavior: smooth;
}

body {
  font-family: $font-primary;
  color: $dark-gray;
  background: #fff;
  vertical-align: baseline;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-size: clamp(16px, 0.938vw, 22px);
  font-weight: 400;
  line-height: 140%;
  height: 100% !important;
  overflow-x: hidden;
  &::-webkit-scrollbar {
    width: 4px;
  }

  &::-webkit-scrollbar-track {
    background-color: $dark-gray;
    border-radius: 0;
  }

  &::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background: $accent-1;
  }
}

a {
  display: inline-block;
  text-decoration: none;
  color: unset;
  transition: $transition;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
table,
hr {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  a {
    color: inherit;
  }
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  color: $black;
  margin-bottom: 0;
}

h1,
.h1 {
  font-family: $font-sec;
  font-size: clamp(38px, 4.688vw, 169px);
  /* 90px */
  font-style: normal;
  font-weight: 500;
  line-height: 110%;
  /* 96px */

  @include media-query(1199px) {
    font-size: clamp(46px, 4.837vw, 69px);
    /* 58px */
  }
}

h2,
.h2 {
  font-family: $font-sec;
  font-size: clamp(40px, 3.49vw, 99px);
  /* 67px */
  font-style: normal;
  font-weight: 500;
  line-height: 110%;
  /* 66px */

  @include media-query(1199px) {
    font-size: clamp(39px, 2.24vw, 52px);
    /* 43px */
  }

  @include media-query(820px) {
    font-size: clamp(28px, 1.979vw, 48px);
    /* 38px */
  }
}

h3,
.h3 {
  font-family: $font-sec;
  font-size: clamp(36px, 2.656vw, 125px);
  /* 51px */
  font-style: normal;
  font-weight: 500;
  line-height: 110%;

  @include media-query(1199px) {
    font-size: clamp(34px, 1.927vw, 48px);
    /* 37px */
  }

  @include media-query(820px) {
    font-size: clamp(28px, 1.667vw, 38px);
    /* 32px */
  }
}

h4,
.h4 {
  font-family: $font-sec;
  font-size: clamp(30px, 1.979vw, 67px);
  /* 38px */
  font-style: normal;
  font-weight: 500;
  line-height: 110%;
  /* 42px */

  @include media-query(1199px) {
    font-size: clamp(28px, 1.719vw, 40px);
    /* 33px */
  }

  @include media-query(820px) {
    font-size: clamp(26px, 1.406vw, 30px);
    /* 27px */
  }
}

h5,
.h5 {
  font-family: $font-sec;
  font-size: clamp(21px, 1.458vw, 62px);
  /* 28px */
  font-style: normal;
  font-weight: 500;
  line-height: 110%;
  /* 33.6px */

  @include media-query(1199px) {
    font-size: clamp(20px, 1.302vw, 32px);
    /* 25px */
  }
}

h6,
.h6 {
  font-family: $font-sec;
  font-size: clamp(19px, 1.094vw, 40px);
  /* 21px */
  font-style: normal;
  font-weight: 500;
  line-height: 110%;
  /* 27.6px */
}

.text-16,
p {
  color: $dark-gray;
  font-family: $font-primary;
  font-size: clamp(15px, 0.833vw, 32px);
  /* 16px */
  font-style: normal;
  font-weight: 400;
  line-height: 28px;

  @include media-query(1399px) {
    line-height: 160%;
    font-size: clamp(14px, 0.833vw, 28px);
    /* 16px */
  }

  @include media-query(399px) {
    font-size: clamp(14px, 0.833vw, 28px);
    /* 16px */
  }
}

.text-18 {
  color: $dark-gray;
  font-family: $font-primary;
  font-size: clamp(16px, 0.938vw, 36px);
  /* 18px */
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
  /* 21.6px */

  @include media-query(399px) {
    font-size: clamp(14px, 0.833vw, 28px);
    /* 16px */
  }
}

.eyebrow {
  color: $accent-3;
  text-transform: uppercase;
  font-size: clamp(10px, 0.729vw, 28px);
  /* 16px */
  font-family: $font-primary;
  font-weight: 500;
  line-height: 120%;

  /* 24px */
  @include media-query(1199px) {
    font-size: clamp(12px, 0.677vw, 32px);
    /* 15px */
  }
}

.subtitle {
  font-size: clamp(11px, 0.625vw, 28px);
  /* 12px */
  font-family: $font-sec;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
}

.caption {
  font-size: clamp(10px, 0.625vw, 24px);
  /* 12px */
  font-style: normal;
  font-weight: 400;
  line-height: 120%;

  @include media-query(1499px) {
    font-size: clamp(10px, 0.17px, 22px);
  }
}

span {
  display: inline-block;
}

b,
strong {
  font-family: $font-primary;
}

.hr-line {
  width: 100%;
  height: 1px;
  background: $light-gray;
}

.hover-content {
  transition: $transition;

  &:hover {
    color: $accent-1 !important;
  }
}

.image-effect {
  position: relative;
  overflow: hidden;
}

.image-effect::after {
  content: "";
  position: absolute;
  width: 200%;
  height: 0%;
  left: 50%;
  top: 50%;
  background-color: rgba(33, 172, 148, 0.3);
  -webkit-transform: translate(-50%, -50%) rotate(-40deg);
  -ms-transform: translate(-50%, -50%) rotate(-40deg);
  transform: translate(-50%, -50%) rotate(-40deg);
  z-index: 1;
}

.image-effect:hover::after {
  height: 250%;
  -webkit-transition: all 940ms ease-in-out;
  -o-transition: all 940ms ease-in-out;
  transition: all 940ms ease-in-out;
  background-color: transparent;
}

.image-effect:hover img {
  -webkit-transform: scale(1.06);
  -ms-transform: scale(1.06);
  transform: scale(1.06);
}

.image-effect img {
  -webkit-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}
