@font-face {
  font-family: 'montserrat_alternatesitalic';
  src: url("../font/montserratalternates-italic-webfont.woff2") format("woff2"), url("../font/montserratalternates-italic-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }
@font-face {
  font-family: 'montserrat_alternatesregular';
  src: url("../font/montserratalternates-regular-webfont.woff2") format("woff2"), url("../font/montserratalternates-regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }
@font-face {
  font-family: 'montserrat_alternatessemibold';
  src: url("../font/montserratalternates-semibold-webfont.woff2") format("woff2"), url("../font/montserratalternates-semibold-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }
@font-face {
  font-family: 'montserrat_alternatesSBdIt';
  src: url("../font/montserratalternates-semibolditalic-webfont.woff2") format("woff2"), url("../font/montserratalternates-semibolditalic-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }
:root {
  --secondary: #317072;
  --primary: #71C2B9;
  --primary-light: #B8E1DC;
  --primary-dark: #317072;
  --tertiary: #B7E1DC;
  --quaternary: #BAD8DF;
  --beige: #F5E4CC;
  --lightbeige: #FCF8F3;
  --bs-primary-rgb:#71C2B9;
  --bs-secondary-rgb:#317072;
  --white: #fff;
  --bs-border-width:0;
  --spacer-y: 2rem;
  --spacer-x: 2rem;
  --headline-font:"montserrat_alternatessemibold";
  --headline-font-light:"montserrat_alternatesregular"; }

.bg-primary {
  background-color: var(--primary) !important; }

.bg-primary-light {
  background-color: var(--primary-light) !important; }

.bg-primary-dark {
  background-color: var(--primary-dark) !important; }

.bg-secondary {
  background-color: var(--secondary) !important; }

.bg-quaternary {
  background-color: var(--quaternary) !important; }

.bg-beige {
  background-color: var(--beige) !important; }

.bg-lightbeige {
  background-color: var(--lightbeige) !important; }

.bg-wave {
  position: relative;
  overflow: hidden;
  z-index: 0; }
  .bg-wave::before, .bg-wave::after {
    content: "";
    position: absolute;
    width: 332px;
    height: 298px;
    opacity: 0.08;
    pointer-events: none;
    z-index: 0;
    background: url("../img/wave.svg") no-repeat center;
    background-size: contain; }
  .bg-wave::before {
    top: 1.5rem;
    left: -4.5rem; }
  .bg-wave::after {
    right: -4.5rem;
    bottom: 1.5rem;
    transform: rotate(180deg); }
  .bg-wave > * {
    position: relative;
    z-index: 1; }

@media (min-width: 992px) {
  .w-lg-25 {
    width: 25% !important; }

  .w-lg-40 {
    width: 40% !important; }

  .w-lg-50 {
    width: 50% !important; }

  .w-lg-75 {
    width: 75% !important; }

  .w-lg-100 {
    width: 100% !important; }

  .w-lg-auto {
    width: auto !important; } }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 1.25rem;
  line-height: 1.5; }

.container {
  padding-top: 3rem;
  padding-bottom: 3rem; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--headline-font); }

h1 {
  margin-bottom: 40px; }

h2 {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 30px;
  color: var(--primary-dark); }
  h2:before {
    content: "";
    width: 40px;
    height: 36px;
    flex-shrink: 0;
    background-image: url("../img/wave.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center; }

h3 {
  margin-bottom: 20px; }

.btn {
  border-radius: 30px;
  font-size: 1.25rem;
  padding: 0.5rem 1rem; }

.btn-primary {
  background: var(--primary);
  border: 2px solid var(--primary);
  color: #000; }
  .btn-primary:hover:not(.rounded-pill) {
    background: var(--primary-dark);
    border: 2px solid var(--primary-dark); }

.btn-primary-ghost {
  background: white;
  border: 2px solid var(--primary); }
  .btn-primary-ghost:hover {
    border: 2px solid var(--primary-dark);
    background: #fff; }

.btn-secondary {
  background: var(--secondary);
  border: 2px solid var(--secondary); }

.nav-pills .nav-link {
  color: var(--white); }
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  @expand .fw-bold; }

.nav-link {
  font-family: var(--headline-font); }

.card {
  height: 100%;
  padding: var(--spacer-x) var(--spacer-y); }

/* Carousel base class */
.carousel {
  margin-bottom: 4rem; }

/* Since positioning the image, we need to help out the caption */
.carousel-caption {
  top: 50%;
  z-index: 10;
  margin-left: -70px; }
  .carousel-caption h1 {
    font-family: var(--headline-font-light); }

/* Declare heights because of positioning of img element */
.carousel-item {
  height: 38rem; }
  .carousel-item:before {
    background: #000;
    content: '';
    height: 100%;
    width: 100%;
    opacity: 0.5;
    position: absolute; }

/* Featurettes
------------------------- */
.featurette-divider {
  margin: 5rem 0;
  /* Space out the Bootstrap <hr> more */ }

/* Thin out the marketing headings */
/* rtl:begin:remove */
.featurette-heading {
  letter-spacing: -.05rem; }

/* rtl:end:remove */
/* RESPONSIVE CSS
-------------------------------------------------- */
@media (min-width: 992px) {
  .navbar-collapse {
    flex-grow: initial; } }
@media (min-width: 40em) {
  /* Bump up size of carousel content */
  .carousel-caption p {
    margin-bottom: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.4; }

  .featurette-heading {
    font-size: 50px; } }
@media (min-width: 62em) {
  .featurette-heading {
    margin-top: 7rem; } }
