:root {
  --background: #fffcfc;
  --navy-blue: #0a2342;
  --size-18: 1.125rem;
  --percent-120: 120%;
  --size-100: 6.25rem;
  --site-padding: 2vw;
  --lilac: #c8bbff;
  --size-36: 2.25rem;
  --size-40: 2.5rem;
  --light-green: #d5e09e;
  --pink: #f79fd9;
  --max-site-width: 1250px;
  --white: white;
  --percent-100: 100%;
  --size-75: 4.6875rem;
  --size-20: 1.25rem;
  --size-10: .625rem;
  --size-50: 3.125rem;
  --size-300: 18.75rem;
  --size-15: .9375rem;
  --size-200: 12.5rem;
  --primary-font: "DM Sans", sans-serif;
}

.w-layout-hflex {
  flex-direction: row;
  align-items: flex-start;
  display: flex;
}

.olc-body {
  background-color: var(--background);
  color: var(--navy-blue);
  font-family: DM Sans, sans-serif;
  font-size: var(--size-18);
  line-height: var(--percent-120);
}

.olc-navbar {
  z-index: 999999;
  min-height: var(--size-100);
  padding-right: var(--site-padding);
  padding-left: var(--site-padding);
  background-color: var(--lilac);
  flex-flow: row;
  justify-content: center;
  align-items: center;
  display: flex;
}

.olc-section {
  padding: 0rem var(--site-padding);
  border-bottom: var(--size-36) solid var(--navy-blue);
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
  position: relative;
}

.olc-section.landing {
  padding-top: var(--size-40);
  padding-bottom: var(--size-40);
  border-bottom-color: var(--lilac);
  background-color: var(--light-green);
}

.olc-section.lilac {
  background-color: var(--lilac);
}

.olc-section.pink {
  background-color: var(--pink);
}

.olc-nav-container {
  max-width: var(--max-site-width);
  flex: 1;
  justify-content: space-between;
  display: flex;
}

.olc-nav-link {
  text-transform: uppercase;
  font-weight: 500;
}

.olc-nav-link.w--current {
  color: var(--navy-blue);
  font-weight: 700;
}

.olc-nav-link.book {
  padding-right: var(--size-40);
  padding-left: var(--size-40);
  background-color: var(--navy-blue);
  color: var(--white);
}

.olc-brand {
  justify-content: center;
  align-items: center;
  display: flex;
}

.olc-container {
  width: var(--percent-100);
  max-width: var(--max-site-width);
  display: flex;
  position: relative;
}

.olc-container.landing {
  justify-content: space-between;
}

.olc-container.gap {
  grid-column-gap: var(--size-75);
  grid-row-gap: var(--size-75);
}

.olc-footer {
  height: var(--size-36);
  background-color: var(--navy-blue);
  position: relative;
}

.olc-lhs {
  padding-top: var(--size-40);
  padding-bottom: var(--size-40);
  flex-flow: column;
  flex: 1;
  display: flex;
  position: relative;
}

.olc-lhs.centered {
  justify-content: center;
  align-items: center;
}

.olc-lhs.centered-vertical {
  justify-content: center;
  align-items: stretch;
}

.olc-rhs {
  flex-flow: column;
  flex: 1;
  display: flex;
  position: relative;
}

.olc-image {
  object-fit: cover;
  position: relative;
}

.olc-image.full {
  height: var(--percent-100);
}

.olc-text-box {
  z-index: 2;
  margin-top: var(--size-20);
  padding: var(--size-20) var(--size-40);
  grid-column-gap: var(--size-10);
  grid-row-gap: var(--size-10);
  background-color: var(--navy-blue);
  color: var(--white);
  flex-flow: column;
  margin-left: 64px;
  margin-right: -64px;
  display: flex;
  position: relative;
}

.olc-subheading {
  font-weight: 700;
  position: relative;
}

.olc-paragraph {
  font-weight: 300;
  position: relative;
}

.olc-h1 {
  margin-top: 0;
  margin-bottom: var(--size-40);
  font-size: var(--size-50);
  line-height: var(--percent-100);
  letter-spacing: -.1rem;
  position: relative;
}

.olc-col {
  width: var(--percent-100);
  flex-flow: column;
  display: flex;
}

.olc-col.padding-top {
  z-index: 2;
  padding-top: var(--size-40);
  padding-bottom: var(--size-50);
  position: relative;
}

.olc-row {
  width: var(--percent-100);
  justify-content: center;
  align-items: stretch;
  display: flex;
  position: relative;
}

.olc-row.padded {
  top: var(--size-20);
  bottom: var(--size-20);
}

.olc-card {
  z-index: 1;
  flex-flow: column;
  display: flex;
  position: relative;
}

.olc-card-title-container {
  margin-right: var(--size-50);
  padding: var(--size-20) var(--size-100);
  background-color: var(--navy-blue);
  color: var(--white);
  text-transform: uppercase;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  display: flex;
}

.olc-card-description {
  max-width: var(--size-300);
  margin-left: var(--size-50);
  padding: var(--size-75) var(--size-40);
  border: var(--size-15) solid var(--navy-blue);
  background-color: var(--white);
  flex: 1;
  position: relative;
}

.olc-triangle-solo {
  position: absolute;
  bottom: 0;
  left: 0;
}

.olc-callout-text {
  margin-top: var(--size-20);
  font-size: var(--size-20);
  position: relative;
}

.olc-media-card {
  border-style: solid solid none;
  border-width: var(--size-15);
  border-color: var(--navy-blue);
  justify-content: space-between;
  display: flex;
  position: relative;
}

.olc-media-card.last {
  border-bottom-style: solid;
}

.olc-media-card.reverse {
  flex-flow: row-reverse;
}

.olc-media-card.reverse.lilac {
  background-color: var(--lilac);
}

.olc-media-card.green {
  background-color: var(--light-green);
}

.olc-media-card.pink {
  background-color: var(--pink);
}

.olc-mhs {
  padding: var(--size-40) var(--size-100);
  flex-flow: column;
  flex: 1;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.olc-media-description {
  font-weight: 500;
}

.olc-logo-media {
  min-width: 200px;
  position: relative;
}

.olc-media-link {
  color: var(--navy-blue);
  text-decoration: none;
  position: relative;
}

.olc-form-block {
  grid-column-gap: var(--size-20);
  grid-row-gap: var(--size-20);
  flex-flow: column;
  display: flex;
}

.olc-form-field {
  border: 1px solid var(--navy-blue);
  margin-bottom: 0;
}

.olc-button {
  padding-right: var(--size-75);
  padding-left: var(--size-75);
  background-color: var(--navy-blue);
  text-transform: uppercase;
  margin-left: auto;
  position: relative;
}

.olc-button.centered {
  margin-left: 0;
  margin-right: auto;
}

.olc-form-field-container {
  grid-column-gap: var(--size-20);
  grid-row-gap: var(--size-20);
}

.olc-triangle-small {
  position: absolute;
  bottom: 0;
  left: -50px;
}

@media screen and (max-width: 991px) {
  .olc-nav-link {
    background-color: var(--lilac);
    text-align: center;
  }

  .olc-brand {
    z-index: 4;
    position: relative;
  }

  .olc-container {
    flex-flow: column;
  }

  .olc-lhs {
    padding-top: var(--size-20);
    padding-bottom: var(--size-20);
  }

  .olc-text-box {
    margin-left: 0;
    margin-right: 0;
  }

  .olc-row {
    grid-column-gap: var(--size-20);
    grid-row-gap: var(--size-20);
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
  }

  .olc-media-card, .olc-media-card.reverse {
    flex-flow: column;
  }

  .olc-logo-media {
    min-width: var(--size-50);
  }

  .olc-form-field-container {
    flex-flow: column;
  }

  .menu-button {
    background-color: #0000;
  }

  .menu-button.w--open {
    background-color: var(--lilac);
  }

  .olc-triangle-landing {
    height: var(--percent-100);
    position: absolute;
    right: 0;
  }

  .olc-brand-landing {
    z-index: 4;
    height: var(--size-200);
    position: relative;
  }
}


