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

@media screen and (max-width: 1023px) {
  .is-hidden-touch {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .is-hidden-tablet {
    display: none !important;
  }
}

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

.cta-section {
  padding: 70px 0;
}

.cta-section.green-bg {
  background: #9BB0BC;
}

.cta-section.pink-bg {
  background: #FEEDF0;
}

.cta-section.light-bg {
  background: #E1E7EC;
}

.cta-section.dark-bg {
  background: #2e3f4b;
}

.cta-section.dark-green-bg {
  background: #2f4356;
}

.cta-section .row {
  row-gap: 30px;
}

.cta-section .cta-text-wrap {
  max-width: 760px;
}

.cta-section h2 {
  margin-bottom: 18px;
}

.cta-section .cta-text {
  max-width: 760px;
}

.cta-section .cta-text p:last-child {
  margin-bottom: 0;
}

.cta-section .cta-button {
	min-width: 220px;
  min-height: 70px;
  border-radius: 999px;
  background: #2e3f4b;
  color: #fff;
  text-decoration: none;
  font-size: 2rem;
  line-height: 2.8rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 22px 30px;
}

.cta-section .cta-button:hover {
  background: #9BB0BC;
  color: #fff;
  text-decoration: none;
}

.cta-section.dark-bg h2,
.cta-section.dark-bg .cta-text,
.cta-section.dark-bg .cta-text p,
.cta-section.dark-green-bg h2,
.cta-section.dark-green-bg .cta-text,
.cta-section.dark-green-bg .cta-text p {
  color: #fff;
}

.cta-section.dark-bg .cta-button,
.cta-section.dark-green-bg .cta-button {
  background: #fff;
  color: #2e3f4b;
}

.cta-section.dark-bg .cta-button:hover,
.cta-section.dark-green-bg .cta-button:hover {
  background: #9BB0BC;
  color: #fff;
}

.cta-section.margin-top {
  margin-top: 100px;
}

.cta-section.margin-bottom {
  margin-bottom: 100px;
}

@media (max-width: 1024px) {
  .cta-section {
    padding: 55px 0;
  }

  .cta-section h2 {
    font-size: 3rem;
    line-height: 4rem;
    margin-bottom: 12px;
  }

  .cta-section .cta-button {
    min-width: 320px;
    min-height: 110px;
    font-size: 2.4rem;
    padding: 20px 30px;
  }

  .cta-section.margin-top {
    margin-top: 70px;
  }

  .cta-section.margin-bottom {
    margin-bottom: 70px;
  }
}

@media (max-width: 767px) {
  .cta-section .cta-button {
    min-width: 100%;
    min-height: 90px;
    font-size: 2.2rem;
  }
}

@media (max-width: 450px) {
  .cta-section {
    padding: 40px 0;
  }

  .cta-section h2 {
    font-size: 2.5rem;
    line-height: 3.2rem;
  }

  .cta-section .cta-button {
    min-height: 80px;
    font-size: 2rem;
    padding: 16px 24px;
  }
}