body {
  background-color: var(--color-background-main);
  color: var(--color-text-main);
  font-family: var(--font-main);
  line-height: 1.5;
  overflow-x: hidden;
}

p, a, button {
  font-family: var(--font-body);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-heading);
  font-weight: var(--font-heading-weight);
  text-transform: lowercase;
}

:is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) a {
  font-family: inherit;
  font-weight: inherit;
}

:is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6)::first-letter {
  text-transform: uppercase;
}

.d1 {
  font-size: clamp(120px, 10.58vw, 160px);
  line-height: clamp(120px, 10.56vw, 160px);
}

.h1 {
  font-size: clamp(66px, 5vw, 76px);
  line-height: clamp(66px, 5vw, 76px);
}

.h2 {
  font-size: clamp(50px, 4.36vw, 66px);
  line-height: clamp(48px, 4.23vw, 64px);
}

.h3 {
  font-size: 42px;
  line-height: 46px;
}

.h4 {
  font-size: 28px;
  line-height: 36px;
}

.h5 {
  font-size: 20px;
  line-height: 24px;
}

.h6 {
  font-size: 16px;
  line-height: 16px;
  letter-spacing: 0;
}

.b1 {
  font-size: 18px;
  line-height: 22px;
}

.b2 {
  font-size: 16px;
  line-height: 20px;
}

.c1 {
  font-size: 14px;
  line-height: 18px;
  text-transform: uppercase;
}

.mask {
  overflow: hidden;
}

.row {
  display: flex;
  flex-direction: row;
}

.column {
  display: flex;
  flex-direction: column;
}

a:hover {
  color: var(--color-links);
}

@media only screen and (width <= 1024px) {
  .d1 {
    font-size: clamp(100px, 11.70vw, 120px);
    line-height: clamp(100px, 11.70vw, 120px);
  }

  .h1 {
    font-size: clamp(60px, 6.83vw, 70px);
    line-height: clamp(60px, 6.83vw, 70px);
  }

  .h2 {
    font-size: clamp(50px, 5.85vw, 60px);
    line-height: clamp(48px, 5.66vw, 58px);
  }
}

@media screen and (width <= 769px) {
  .h1 {
    font-size: clamp(50px, 7.8vw, 60px);
    line-height: clamp(50px, 7.8vw, 60px);
  }

  .h2 {
    font-size: clamp(40px, 6.5vw, 50px);
    line-height: clamp(48px, 7.54vw, 58px);
  }

  .h3 {
    font-size: clamp(32px, 5.46vw, 42px);
    line-height: clamp(34px, 5.72vw, 44px);
  }

  .h4 {
    font-size: clamp(24px, 3.64vw, 28px);
    line-height: clamp(32px, 4.68vw, 36px);
  }

  .row {
    flex-direction: column;
  }
}

@media screen and (width <= 480px) {
  .h1 {
    font-size: clamp(36px, 10vw, 49px);
    line-height: clamp(40px, 11vw, 53px);
  }

  .h2 {
    font-size: clamp(30px, 8.95vw, 43px);
    line-height: clamp(34px, 9.8vw, 47px);
  }

  .h3 {
    font-size: clamp(24px, 7.5vw, 36px);
    line-height: clamp(28px, 8.33vw, 40px);
  }

  .h4 {
    font-size: clamp(20px, 6.25vw, 30px);
    line-height: clamp(24px, 7.08vw, 34px);
  }

  .b1 {
    font-size: 16px;
    line-height: 20px;
  }

  .b2 {
    font-size: 14px;
    line-height: 18px;
  }

  .c1 {
    font-size: 12px;
    line-height: 16px;
  }

}

.reboat-color-filters {
  position: absolute;
  pointer-events: none;
}
