@import url("https://fonts.googleapis.com/css2?family=Red+Hat+Display:wght@400;500;700;900&display=swap");
*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: "Red Hat Display", sans-serif;
  background-color: #fafafa;
}

img {
  width: 100%;
  max-width: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

p {
  line-height: 1.6;
  font-weight: 500;
}

.wrapper, .container {
  max-width: 1440px;
  margin: 0 auto;
}

.container {
  padding: 0 24px;
}

@media (min-width: 600px) {
  .container {
    padding: 0 40px;
  }
}

.inner-container {
  max-width: 1150px;
  margin-left: auto;
  margin-right: auto;
}

.text-center {
  text-align: center;
}

.mt-2 {
  margin-top: 2rem;
}

@media (min-width: 1200px) {
  .mt-lg-0 {
    margin-top: 0;
  }
}

.mb-1 {
  margin-bottom: 1rem;
}

@media (min-width: 600px) {
  .mb-md-0 {
    margin-bottom: 0;
  }
}

@media (min-width: 600px) {
  .mr-md-1 {
    margin-right: 1rem;
  }
}

.header {
  margin: 3rem 0;
}

.header__logo {
  width: 120px;
  margin: 0 auto;
}

@media (min-width: 600px) {
  .header {
    margin: 4rem 0;
  }
}

.heading {
  font-weight: 900;
}

.heading-primary {
  font-size: 2.5rem;
  max-width: 280px;
  margin: 2.8rem auto 1.4rem auto;
}

@media (min-width: 600px) {
  .heading-primary {
    font-size: 3rem;
    line-height: 3rem;
    max-width: 350px;
    margin-top: 4.5rem;
    margin-bottom: 1.5rem;
  }
}

@media (min-width: 1200px) {
  .heading-primary {
    max-width: 432px;
    margin-top: 2rem;
    margin-bottom: 2.5rem;
    font-size: 4rem;
    line-height: 4rem;
  }
}

.heading-secondary {
  margin-left: auto;
  margin-right: auto;
  font-size: 2rem;
}

@media (min-width: 600px) {
  .heading-secondary {
    font-size: 40px;
    font-size: 2.5rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 10px;
    max-width: 450px;
  }
}

.heading-tertiary {
  font-size: 2rem;
}

@media (min-width: 600px) {
  .heading-tertiary {
    font-size: 2.6rem;
    margin-left: auto;
    margin-right: auto;
    max-width: 400px;
  }
}

.heading-subtitle {
  text-transform: uppercase;
  letter-spacing: 4px;
}

.heading--darkblue {
  color: #28283e;
}

.heading--aqua {
  color: #4d96a8;
}

.heading--white {
  color: white;
}

.hero__left--mobile {
  min-height: 153px;
  height: 100%;
}

@media (min-width: 600px) {
  .hero__left--mobile {
    min-height: 303px;
    max-height: 450px;
  }
}

@media (min-width: 1200px) {
  .hero__left--mobile {
    display: none;
  }
}

.hero__left--desktop {
  display: none;
}

@media (min-width: 1200px) {
  .hero__left--desktop {
    display: block;
  }
}

.hero__text {
  color: #86869c;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}

@media (min-width: 600px) {
  .hero__text {
    width: 60%;
  }
}

@media (min-width: 1200px) {
  .hero__text {
    width: 85%;
    font-size: 1.125rem;
  }
}

.hero__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media (min-width: 600px) {
  .hero__cta {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.hero__right {
  display: none;
}

@media (min-width: 1200px) {
  .hero__right {
    display: block;
  }
}

@media (min-width: 1200px) {
  .hero {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1.5fr 1fr;
        grid-template-columns: 1fr 1.5fr 1fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.btn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 2rem;
  color: white;
  font-weight: 900;
  display: inline-block;
  cursor: pointer;
  -webkit-transition: background-color 300ms;
  transition: background-color 300ms;
}

.btn-primary {
  background-color: #4d96a8;
}

.btn-primary span {
  color: #90e4f9;
}

.btn-primary:hover {
  background-color: #3d7685;
}

.btn-secondary {
  background-color: #845eb0;
}

.btn-secondary span {
  color: #d9b8ff;
}

.btn-secondary:hover {
  background-color: #6b4893;
}

.btn--large {
  padding: 1.2rem 2.6rem;
}

.btn--short {
  padding: 1.2rem 1.8rem;
}

.info {
  padding: 5.6rem 0;
  margin: 12.5rem 0 6.25rem 0;
  position: relative;
}

.info__content {
  margin-top: 4rem;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 600px) {
  .info__content {
    width: 85%;
  }
}

.info__description {
  color: #86869c;
  font-weight: 500;
}

@media (min-width: 600px) {
  .info__description {
    margin-left: auto;
    margin-right: auto;
    max-width: 580px;
  }
}

@media (min-width: 1200px) {
  .info__description {
    max-width: 500px;
  }
}

.separator {
  --circle: 56px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  position: absolute;
  top: calc(var(--circle) / 2 * -1);
}

.separator__number {
  background-color: white;
  border-radius: 100%;
  width: var(--circle);
  height: var(--circle);
  border: 1px solid #86869c;
  font-weight: 700;
  color: #86869c;
  position: relative;
  text-align: center;
  line-height: 52px;
}

.separator__number::before {
  --line: 84px;
  content: '';
  height: var(--line);
  width: 1px;
  background-color: #86869c;
  display: block;
  top: calc(var(--line) * -1);
  left: 50%;
  position: absolute;
}

.gallery {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
      grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}

.gallery__item {
  border-radius: 0.5rem;
  overflow: hidden;
}

@media (min-width: 600px) {
  .gallery {
    -ms-grid-columns: (1fr)[4];
        grid-template-columns: repeat(4, 1fr);
    gap: .9rem;
  }
}

.cta {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(77, 150, 168, 0.9)), to(rgba(77, 150, 168, 0.9))), url("assets/mobile/image-footer.jpg");
  background-image: linear-gradient(180deg, rgba(77, 150, 168, 0.9) 0%, rgba(77, 150, 168, 0.9) 100%), url("assets/mobile/image-footer.jpg");
  background-position: center;
  background-size: cover;
  padding: 4rem 0;
  position: relative;
}

@media (min-width: 600px) {
  .cta {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(77, 150, 168, 0.9)), to(rgba(77, 150, 168, 0.9))), url("assets/tablet/image-footer.jpg");
    background-image: linear-gradient(180deg, rgba(77, 150, 168, 0.9) 0%, rgba(77, 150, 168, 0.9) 100%), url("assets/tablet/image-footer.jpg");
  }
}

@media (min-width: 1200px) {
  .cta {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(77, 150, 168, 0.9)), to(rgba(77, 150, 168, 0.9))), url("assets/desktop/image-footer.jpg");
    background-image: linear-gradient(180deg, rgba(77, 150, 168, 0.9) 0%, rgba(77, 150, 168, 0.9) 100%), url("assets/desktop/image-footer.jpg");
  }
}

.cta__content {
  text-align: center;
  margin: 0 auto;
}

@media (min-width: 1200px) {
  .cta__content {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1.5fr 1.5fr 1fr;
        grid-template-columns: 1.5fr 1.5fr 1fr;
    text-align: left;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.cta__description {
  font-size: 1.125rem;
  line-height: 1.4;
  color: white;
}

@media (min-width: 600px) {
  .cta__description {
    margin-left: auto;
    margin-right: auto;
    max-width: 580px;
  }
}

@media (min-width: 1200px) {
  .cta__description {
    max-width: 350px;
  }
}
/*# sourceMappingURL=style.css.map */