:root {
  /* primary colors */
  --clr-pc-1: #ffdf69;
  --clr-pc-1-80: #fff096;
  --clr-pc-1-60: #fff5b3;
  --clr-pc-1-40: #fff8cc;
  --clr-pc-1-20: #fffbe6;

  --clr-pc-2: #58839f;
  --clr-pc-2-80: #7499b2;
  --clr-pc-2-60: #91aec4;
  --clr-pc-2-40: #aec3d6;
  --clr-pc-2-20: #ccd9e8;

  /* secondary colors */
  --clr-sc-1: #3b5c72;
  --clr-sc-1-80: #54798e;
  --clr-sc-1-60: #6d94ac;
  --clr-sc-1-40: #aed5e6;
  --clr-sc-1-20: #dff0f7;

  --clr-sc-2: #5f6e7a;
  --clr-sc-2-80: #7d8e99;
  --clr-sc-2-60: #9dadb7;
  --clr-sc-2-40: #c3d4db;
  --clr-sc-2-20: #e7eff1;

  --clr-sc-3: #d2d2d2;
  --clr-sc-3-80: #dbdbdb;
  --clr-sc-3-60: #e4e4e4;
  --clr-sc-3-40: #ededed;
  --clr-sc-3-20: #f6f6f6;

  /* border radius */
  --border-radius-default: 40px !important;
  --border-radius-16: 40px !important;
  --border-radius-20: 40px !important;
  --bs-card-inner-border-radius: 40px !important;
}

/* typography */

@font-face {
  font-family: 'Source Sans Pro';
  src: url('/fonts/SourceSansPro/SourceSansPro-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

body {
  font-family: 'Source Sans Pro', Helvetica, Verdana, Tahoma, sans-serif !important;
}

/* background */
.container-pc-1-background,
.container-pc-2-background,
.container-sc-1-background,
.container-sc-1-80-background,
.container-sc-1-20-background,
.container-sc-3-40-background {
  .rich-text * {
    color: var(--clr-pc-black) !important;
  }
}

.container-pc-1-background {
  background-color: #fff096 !important;
}

.container-pc-2-background {
  background: #d8e7b8 !important;
}

.container-sc-1-background {
  background-color: #ffffff !important;
}

.container-sc-1-80-background {
  background: #f2e9d3 !important;
}

.container-sc-1-20-background {
  background: var(--clr-sc-1-40) !important;
}

.container-sc-3-40-background {
  background: var(--clr-sc-3-40) !important;
}

/* header */
header {
  --header-bg-color: var(--clr-pc-2) !important;
  --header-meta-navigation-link-color: var(--clr-pc-2) !important;
  --header-meta-navigation-link-hover-color: var(--clr-pc-2-80) !important;
}

.navigation-flyout {
  background: var(--clr-pc-2-80) !important;
}

header .container-header-meta-background {
  --header-meta-navigation-bg: var(--clr-pc-1) !important;
}

header {
  position: fixed !important;
  right: 0;
  left: 0;
  top: 0;
  background-color: transparent !important;
  transition: background-color 0.3s;
}

header.sticky-menu,
header.flyout-open,
header.search-open {
  background-color: var(--clr-pc-2) !important;
}

.navigation-flyout-mobile {
  background: var(--clr-pc-2-80) !important;
}

/* footer */
footer {
  --footer-bg-color: var(--clr-pc-2-80) !important;

  a {
    color: var(--clr-pc-white) !important;

    &:hover {
      color: var(--clr-pc-1) !important;
    }
  }

  .social-list__icon {
    opacity: 1 !important;
  }
}

footer #footer #footer-content-wrapper-bottom {
  background-color: var(--clr-pc-2) !important;

  a {
    color: var(--clr-pc-white) !important;

    &:hover {
      color: var(--clr-pc-1) !important;
    }
  }
}

/* buttons */
.btn-primary,
.btn-secondary,
.btn-tertiary {
  position: relative;
  border-radius: 25px !important;
  padding: 19px 52px !important;
  margin-left: 4px !important;

  &::before,
  &::after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1em;
    pointer-events: none;
    margin-top: 1px;
  }

  &::before {
    font-family: 'Font Awesome 6 Free';
    content: '\f104';
    left: 26px;
  }

  &::after {
    font-family: 'Font Awesome 6 Free';
    content: '\f105';
    right: 26px;
  }
}

.btn-primary:focus,
.btn-primary:active,
.btn-secondary:focus,
.btn-secondary:active {
  outline-offset: 2px !important;
  outline: 2px solid var(--clr-pc-black) !important;
}

.btn-primary {
  --bs-btn-bg: var(--clr-pc-1) !important;
  --bs-btn-border-color: var(--clr-pc-1) !important;
  --bs-btn-hover-bg: var(--clr-pc-1-80) !important;
  --bs-btn-hover-border-color: var(--clr-pc-1-80) !important;
  --bs-btn-active-bg: var(--clr-pc-1-80) !important;
  --bs-btn-disabled-bg: var(--clr-sc-2-20) !important;
  --bs-btn-disabled-border-color: var(--clr-sc-2-20) !important;

  svg {
    display: none !important;
  }
}

.btn-primary:focus,
.btn-primary:active {
  background-color: var(--clr-pc-1-80) !important;
  border-color: var(--clr-pc-1-80) !important;
}

.btn-secondary {
  --bs-btn-disabled-color: var(--clr-sc-2-80) !important;
  --bs-btn-disabled-border-color: var(--clr-sc-2-80) !important;
}

.btn-secondary:focus,
.btn-secondary:active {
  color: var(--clr-pc-black) !important;
}

.btn-tertiary {
  --bs-btn-color: var(--clr-pc-black) !important;
  --bs-btn-disabled-color: var(--clr-sc-2-80) !important;
  --bs-btn-hover-color: var(--clr-sc-2-80) !important;
}

.btn-tertiary:focus,
.btn-tertiary:active {
  border-color: var(--clr-pc-black) !important;
  color: var(--clr-pc-black) !important;
}

/* Benefits Component */
.benefits {
  --benefits-bg-color: var(--clr-sc-1-40) !important;
}

.benefits__header,
.benefits-item__body {
  color: var(--clr-pc-black) !important;
}

.benefits-item__circle-inside {
  --benefits-item-color: transparent !important;
}

/* Content Teaser */
.content-teaser {
  .content-teaser__inside:hover .content-teaser__image:after {
    background-color: var(--clr-pc-2);
    opacity: 0.6 !important;
  }

  .btn-link.btn-icon {
    position: relative !important;
    border-radius: 25px !important;
    background-color: var(--clr-pc-1) !important;
    padding: 17px 52px 17px 28px !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    color: #47748c !important;
    text-transform: uppercase;
    text-decoration: none;

    svg {
      display: none;
    }

    &::after {
      font-family: 'Font Awesome 6 Free';
      content: '\f105';
      position: absolute;
      top: 50%;
      left: calc(100% - 26px);
      transform: translateY(-50%);
      width: 14px;
      height: 14px;
      font-size: 1em;
      pointer-events: none;
    }

    &:focus,
    &:active {
      outline-offset: 2px !important;
      outline: 2px solid var(--clr-pc-black) !important;
      background-color: var(--clr-pc-1-80) !important;
    }
  }

  &:hover {
    .btn-link.btn-icon {
      background-color: var(--clr-pc-1-80) !important;
    }
  }
}

.content-edit__wrapper.content-teaser {
  .content-teaser__body {
    a {
      position: relative !important;
      border-radius: 25px !important;
      background-color: var(--clr-pc-1) !important;
      padding: 17px 52px 17px 28px !important;
      font-size: 1rem !important;
      line-height: 1 !important;
      color: #47748c !important;
      text-transform: uppercase;
      text-decoration: none;
    }
  }
}

/* Grid Teaser */
.grid-teaser {
  .grid-teaser__item {
    border-radius: 40px !important;

    img {
      border-radius: 40px !important;
    }
  }

  .grid-teaser__item__heading__wrapper {
    position: relative !important;
    z-index: 999 !important;
    border-top-left-radius: 40px !important;
    border-bottom-right-radius: 40px !important;
    cursor: default !important;
  }

  @media (min-width: 1200px) {
    .grid-teaser__item__heading__wrapper {
      padding: 16px 40px !important;
    }
  }
}

/* Quote Component */
.quote {
  .quote__content--quotes,
  .quote__author {
    color: var(--clr-pc-black) !important;
  }

  .quote__icon svg {
    path {
      fill: var(--clr-pc-black) !important;
    }
  }
}

/* Image Component */
.image--with-caption {
  padding-bottom: 72px !important;

  .component-content {
    display: flex !important;
  }

  img {
    width: 144px !important;
    height: 144px !important;
  }

  .image-caption {
    margin-top: 18px !important;
    margin-left: 24px !important;
    font-size: 32px !important;
    line-height: 1.2 !important;
  }
}

/* Business Locations Component */
.business-locations__content-item {
  border-radius: var(--border-radius-default) !important;

  img {
    border-top-right-radius: var(--border-radius-default) !important;
    border-bottom-right-radius: var(--border-radius-default) !important;
  }
}

/* Highlight Teaser */
.highlight {
  border-radius: var(--border-radius-default) !important;
}

/* History Component */
.history__image {
  border-radius: var(--border-radius-default) !important;
}

/* Topic Selector */
.search__filter-form {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    color: var(--clr-pc-black) !important;
  }

  .btn-tertiary {
    &::before,
    &::after {
      content: none !important;
    }

    path {
      fill: var(--clr-pc-black) !important;
      transition: all 0.15s ease-in-out;
    }

    &:hover {
      path {
        fill: var(--clr-sc-2-80) !important;
      }
    }
  }
}

/* Topic Teaser */
.topic-teaser {
  .topic-teaser__item {
    border-radius: var(--border-radius-default) !important;
  }

  .topic-teaser__item .card-body {
    border-radius: var(--border-radius-default) !important;
  }

  .topic-teaser__item__highlight-label {
    border-radius: var(--border-radius-default) 0 !important;
  }

  .topic-teaser__item--highlighted .card-body {
    border-radius: 0 0 var(--border-radius-default) var(--border-radius-default) !important;
  }

  @media (min-width: 992px) {
    .topic-teaser__item--highlighted .card-body {
      border-radius: 0 var(--border-radius-default) var(--border-radius-default) 0 !important;
    }
  }

  .topic-teaser__item__image-container {
    border-radius: var(--border-radius-default) var(--border-radius-default) 0 0 !important;
  }

  @media (min-width: 992px) {
    .topic-teaser__item__image-container {
      border-radius: var(--border-radius-default) 0 0 var(--border-radius-default) !important;
    }
  }
}

/* Tab Teaser Component */
.tab-teaser__item {
  border-radius: var(--border-radius-default) !important;
}

.tab-teaser__item__content-type {
  border-radius: var(--border-radius-default) 0 var(--border-radius-default) 0 !important;
}

/* Related Content Slider */
.related-content__item {
  border-radius: var(--border-radius-default) !important;
  transition: border-radius 0s;
}

.related-content__container--edit {
  .related-content__item--edit {
    .is-related-content__label {
      left: 30px;
    }

    .button__toggle-view {
      right: 20px;
    }

    .value-edit__override:before {
      border: none !important;
    }
  }
}

/* Search */
.suggestion-box__overlay {
  background: var(--clr-pc-2-80) !important;

  &::after {
    background: var(--clr-pc-2-80) !important;
  }
}

.search-results__filters {
  background-color: var(--clr-pc-2) !important;
}
