/* ------------------------------------ *\
  CONTENTS
\* ------------------------------------ */

/**
 * CONTENTS..............You?re reading it!
 * OVERRIDE OLIVERO LAYOUR ELEMENTS .......
 * .... HEADER ............................
 * .... BODY ..............................
 * .... TYPOGRAPHY ........................
 * .... FOOTER ............................
 * ACCORDION ..............................
*/

/* ------------------------------------ *\
  ==OVERRIDE OLIVERO LAYOUT ELEMENTS
\* ------------------------------------ */

/* ==HEADER -------------------------- *\
\* ----------------------------------- */
header .site-header__fixable .site-branding__inner.header-logo--top a {
  display: flex;
  flex-direction: column;
  justify-items: center;
  justify-content: center;
  align-content: center;
  padding: 0;
  text-align: center;
}

header .site-header__fixable .site-branding__inner.header-logo--top .site-branding__text {
  line-height: 1.1;
  margin-top: .5rem;
}

header .site-header__fixable.is-fixed .site-branding:has(.header-logo--top) {
  min-height: 12.5rem;
}

header .site-branding__inner.header-logo--top .site-branding__logo {
  margin-left: auto;
  margin-right: auto;
}

header .site-branding__logo {
  max-height: 5.625rem;
  width: auto;
}

header .site-branding__inner.header-logo--left a {
  text-decoration: none;
  display: flex;
  flex-direction: row;
  align-items: center;
}

header .site-header__fixable.is-fixed .site-branding__inner.header-logo--top .site-branding__name {
  display: none;
}

.site-header__fixable.is-expanded.is-fixed .site-branding .site-branding__inner,
.site-header__fixable.is-expanded.is-fixed .site-branding {
  align-items: flex-end;
}

header .site-header__initial {
  background-color: var(--primary-1);
}

header .site-branding {
  background-image: var(--header-gradient);
  align-items: center;
}

header .site-branding .site-branding__text .site-branding__slogan {
  font-size: 1rem;
}

header .site-branding.site-branding--bg-white .site-branding__text,
header .site-branding.site-branding--bg-white {
  background-image: unset;
  background-color: var(--white);
  color: var(--header-font-color-dark);
}

header .site-branding.site-branding--bg-gray .site-branding__text,
header .site-branding.site-branding--bg-gray {
  background-image: unset;
  background-color: var(--gray-4);
  color: var(--primary-1);
}

header .site-branding__text {
  color: var(--header-font-color);
  line-height: 1.1;
}

header .sticky-header-toggle {
  background-color: var(--primary-1);
}

header .primary-nav__menu-link-inner::after {
  border-top: solid 5px var(--primary-1);
}

header .primary-nav__menu-link.is-active .primary-nav__menu-link-inner:after {
  transform: scaleX(1);
}

header .block-search-narrow .search-form input[type="search"],
header .block-search-wide__wrapper .search-form input[type="search"] {
  background-image: var(--header-gradient);
}

.block-search-wide__wrapper .search-form__submit span.icon--search::after,
header .block-search-narrow .search-form__submit .icon--search::after {
  border-top-color: var(--primary-1);
}

header .block-search-wide__button[aria-expanded="true"] {
  background: var(--black);
}

header .mobile-nav-button__icon,
header .mobile-nav-button__icon::before,
header .mobile-nav-button__icon::after {
  border-top: solid 3px var(--primary-1);
}

.primary-nav__menu-item .primary-nav__menu-link {
  font-weight: bold;
  cursor: pointer;
  color: var(--black);
}

body:not(.is-always-mobile-nav) .primary-nav__menu-item .primary-nav__menu-link {
  font-size: 1.125rem;
}

.region .block-search-wide__button:focus::after,
body:not(.is-always-mobile-nav) .menu .primary-nav__menu-link:focus::before {
  border: solid 2px var(--primary-1);
}

.menu .primary-nav__menu-link:focus,
.page-wrapper .mobile-nav-button:focus,
.region .dropbutton-toggle button:focus {
  outline: solid 2px var(--primary-1);
}

.menu .primary-nav__menu--level-2 {
  border-inline-start: solid var(--sp) var(--primary-1);
}

.menu .primary-nav__menu-link--button.primary-nav__menu-link--has-children::before,
.menu .primary-nav__menu-link--button.primary-nav__menu-link--has-children::after {
  border-top: solid 3px var(--primary-1);
}

.region .dropbutton-toggle button::before {
  border-right: solid 2px var(--primary-1);
  border-bottom: solid 2px var(--primary-1);
}

[dir="ltr"] .primary-nav .primary-nav__menu--level-2 {
  border-top-color: var(--primary-1);
}

.primary-nav .primary-nav__button-toggle .icon--menu-toggle::before,
.primary-nav .primary-nav__button-toggle .icon--menu-toggle::after {
  border-top: solid 3px var(--primary-1);
}

.site-header .mobile-buttons {
  margin-top: auto;
  margin-bottom: auto;
}

/* ==BODY ---------------------------- *\
\* ----------------------------------- */

.layout-main .social-bar {
  background: linear-gradient(180deg, var(--social-bar) calc(100% - 20rem), rgb(236 226 226 / 0%) 100%);
}

@media (min-width: 75rem) {
  .social-bar {
    margin-top: -.5rem;
  }
}

.layout-main .text-content a:not(.button),
.layout-main .cke_editable a:not(.button),
.layout-main .breadcrumb__link {
  text-decoration-color: var(--primary-0);
  box-shadow: inset 0 -2px 0 0 var(--primary-1);
  color: var(--link);
}

.layout-main .text-content a:not(.button):hover,
.layout-main .cke_editable a:not(.button):hover {
  color: #000;
  box-shadow: inset 0 -2em 0 0 var(--primary-4);
  text-decoration-color: var(--primary-4);
}

.layout-main .breadcrumb__link:focus,
.layout-main .breadcrumb__link:hover {
  color: var(--link-hover);
  text-decoration: none;
}

.layout-main .button--primary {
  color: var(--cta-font-color);
  background: var(--cta-bg-color);
}

.layout-main .button {
  font-family: metropolis, sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  border-radius: 2rem;
  color: var(--cta-font-color);
  background: var(--cta-bg-color);
  border: solid 1px var(--cta-border-color);
  box-shadow: 0 3px 6px #00000029;
}

.layout-main .button:active,
.layout-main .button:hover,
.layout-main .button:focus,
.layout-main .button--primary:active,
.layout-main .button--primary:hover,
.layout-main .button--primary:focus {
  color: var(--cta-font-color-hover);
  background: var(--cta-bg-color-hover);
  border: solid 1px var(--cta-border-color-hover);
}

.layout-main .button.cta-reverse {
  color: var(--cta-font-color-reverse);
  background: var(--cta-bg-color-reverse);
  border: solid 1px var(--cta-border-color-reverse);
  box-shadow: 0 3px 6px #00000029;
}

.layout-main .button.cta-reverse:active,
.layout-main .button.cta-reverse:focus,
.layout-main .button.cta-reverse:hover {
  color: var(--cta-font-color-reverse-hover);
  background: var(--cta-bg-color-reverse-hover);
  border: solid 1px var(--cta-border-color-reverse-hover);
  box-shadow: 0 3px 6px #00000029;
}

/* ==TYPOGRAPHY ---------------------- *\
\* ----------------------------------- */

.page-wrapper .after-content--full-width {
  background-color: var(--primary-4);
}

main a {
  color: var(--link);
  text-decoration: none;
  transition: all .2s;
}

main a:hover {
  color: var(--link-hover);
  text-decoration: underline;
}

main .text-content blockquote::before,
main .cke_editable blockquote::before {
  color: var(--primary-3);
}

main .text-content blockquote::after,
main .cke_editable blockquote::after {
  height: calc(100% - 2.875rem);
}

/* ==FOOTER -------------------------- *\
\* ----------------------------------- */

footer.site-footer {
  background: var(--footer-gradient);
  z-index: 0;
  padding-top: 1rem;
}

[dir="ltr"] body:not(.is-always-mobile-nav) footer.site-footer {
  border-left: solid 0 var(--footer-border);
}

.site-footer .footer-content .region > * {
  margin-bottom: 0;
}

.site-footer .footer-content {
  display: grid;
  grid-template-columns: 33% 33% 33% 33%;
  gap: 0 0;
}

.footer-content .footer__col--left {
  grid-area: 1 / 1 / 3 / 2;
}

.footer-content .footer__col--middle-top {
  flex-wrap: wrap;
  grid-area: 1 / 2 / 2 / 3;
}

.footer-content .footer__col--middle {
  grid-area: 2 / 2 / 3 / 3;
}

.footer-content .footer__col--right {
  grid-area: 1 / 3 / 3 / 4;
}

.footer-content .region--footer-middle-top .text-content .media {
  margin: .5rem;
  flex: 0 0 30%;
}

.footer-content .region--footer-middle-top .text-content {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

@media screen and (max-width: 43.688rem) {
  header .site-header__fixable .site-branding__inner {
    display: flex;
    flex-direction: column;
    justify-items: center;
    align-content: center;
    padding: 0;
    text-align: center;
  }

  .site-footer .footer-content {
    display: block;
    padding: 1rem 3rem;
  }

  .site-footer .region--footer-bottom {
    padding: 1rem;
  }
}

@media (min-width: 75rem) {
  body:not(.is-always-mobile-nav) .primary-nav__menu-item .primary-nav__menu-🥕 {
    border-bottom-color: var(--primary-1);
  }
}

/* ------------------------------------ *\
  ==ACCORDIONS
\* ------------------------------------ */

.layout-main .text-content .text-content .ckeditor-accordion-container a,
.layout-main .text-content .ckeditor-accordion-container > dl dt > a,
.layout-main .text-content .ckeditor-accordion-container > dl dt > a:not(.button) {
  background-color: var(--social-bar);
  color: var(--black);
  box-shadow: unset;
  transition: unset;
  border: 0;
}

.layout-main .text-content .ckeditor-accordion-container > dl {
  position: relative;
  border: 0;
}

.layout-main .text-content .ckeditor-accordion-container > dl dt > a > .ckeditor-accordion-toggle::before,
.layout-main .text-content .ckeditor-accordion-container > dl dt > a > .ckeditor-accordion-toggle::after {
  background: var(--black);
}

.layout-main .text-content .ckeditor-accordion-container > dl dt > a:hover,
.layout-main .text-content .ckeditor-accordion-container > dl dt > a:not(.button):hover {
  color: #fff;
  background-color: var(--primary-1);
}

.layout-main .text-content .ckeditor-accordion-container > dl dd {
  overflow: hidden;
  padding: 1rem;
}

.ckeditor-accordion-container > dl dd {
  padding: 1rem;
}

.ckeditor-accordion-container {
  width: 100%;
}
