/* OVERRIDE BLOCK STYLES */
html,
body {
  padding: 0;
  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
}

form input,
form textarea {
  background: #fff;
}

strong,
b {
  font-weight: 700;
}

p a {
  color: inherit;
  font-size: var(--fs-p) !important;
}

a.wp-block-button__link {
  font-size: var(--fs-p) !important;
  padding: 14px 25px !important;
}

p a:hover {
  /* font-weight: 700; */
  opacity: 0.7;
}

a.footer-link::after,
.wp-block-navigation-item__content::after {
  content: attr(data-text);
  font-weight: 700;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  display: block;
}

li {
  font-size: var(--fs-p);
}

button {
  font-size: var(--fs-p) !important;
}

.has-primary-background-color:not(.has-text-color) {
  color: var(--wp--preset--color--contrast) !important;
}

:where(.wp-site-blocks :focus, .menu-skip-links :focus),
:where(button, summary, .wp-site-blocks, .menu-skip-links):focus {
  outline: none !important;
}

:where(.wp-site-blocks :focus-visible, .menu-skip-links :focus-visible),
:where(button, summary, .wp-site-blocks, .menu-skip-links):focus-visible {
  outline-width: var(--wp--custom--outline--width) !important;
  outline-style: var(--wp--custom--outline--style) !important;
  outline-offset: var(--wp--custom--outline--offset) !important;
  outline-color: var(--wp--custom--outline--color) !important;
}

.wp-site-blocks p.logo-title {
  font-size: 1.1875rem !important;
}

.wp-site-blocks p.logo-subtitle {
  font-size: 1.07rem !important;
}

.wp-block-navigation-item.current-menu-item a,
.wp-block-navigation-item.is-active a {
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
}

.wp-block-navigation-item a:hover {
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
}

.wp-block-navigation-item__label::before {
  content: "" !important;
  display: none !important;
}

.wp-block-navigation-item.wp-block-navigation-link {
  justify-content: center !important;
}

.wp-block-button a {
  text-decoration: none !important;
}
.wp-block-button a:focus-visible {
  outline-color: #000 !important;
}

/* is-style-default */
.wp-block-button.is-style-default .wp-block-button__link {
  transform: none !important;
  box-shadow: none !important;
  background: var(--wp--preset--color--primary-mixed);
}
.wp-block-button.is-style-default .wp-block-button__link:hover {
  transform: none !important;
  box-shadow: none !important;
  background: var(--wp--preset--color--secondary-mixed) !important;
  color: #fff !important;
}

/* is-style-outline */
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  transform: none !important;
  box-shadow: none !important;
  border-width: var(--wp--custom--border-width--global) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link {
  font-size: var(--fs-p) !important;
  height: 60px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--wp--preset--color--primary-mixed) !important;
  color: #fff !important;
  border-color: var(--wp--preset--color--primary-mixed) !important;
}

.wp-block-heading.has-background {
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.wp-block-social-links .wp-social-link a,
.wp-block-social-links .wp-social-link svg {
  width: 35px !important;
  height: 35px !important;
}

.wp-block-gallery figure.wp-block-image a:focus {
  outline-color: black;
}

#baguetteBox-overlay .baguetteBox-button {
  display: block !important;
}

.skip-link.screen-reader-text:focus {
  background-color: var(--wp--preset--color--primary-mixed) !important;
  color: #ffffff !important;
  outline-color: black !important;
}

#header-logo {
  text-decoration: none !important;
  display: block;
  max-width: 270px;
  width: 100%;
}

#footer-upper h2 {
  font-size: var(--fs-h3) !important;
}

[open] > summary:after {
  -webkit-transform: translateY(-50%) rotate(180deg) !important;
  -ms-transform: translateY(-50%) rotate(180deg) !important;
  transform: translateY(-50%) rotate(180deg) !important;
}

.is-position-sticky {
  top: 110px !important;
}

/* DESKTOP */
@media (min-width: 1267px) {
  #hero-content {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    margin: auto;
    left: 50%;
  }

  :where(body:not(.editor-styles-wrapper, .wp-admin)) .is-style-mobile-only {
    display: none !important;
  }

  .wp-block-columns {
    flex-wrap: nowrap !important;
  }
}

/* TABLET */
@media (max-width: 1266px) {
  .wp-block-columns {
    flex-wrap: wrap !important;
  }

  :where(body:not(.editor-styles-wrapper, .wp-admin)) .is-style-mobile-only {
    display: flex !important;
  }

  :where(body:not(.editor-styles-wrapper, .wp-admin)) .is-style-mobile-hide {
    display: none !important;
  }

  #hero-content {
    padding: 80px 30px !important;
  }

  .wp-block-gallery {
    grid-template-columns: 1fr !important;
  }

  .wp-block-gallery.has-nested-images > figure {
    width: auto !important;
    max-width: 100%;
  }

  /* Fix overlay always open issue */
  .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }

  /* Hamburger menu ON on tablet/mobile */
  .is-style-mobile-only .wp-block-navigation__responsive-container-open {
    display: flex !important;
  }

  .wp-block-navigation__responsive-container {
    padding: 0px !important;
    background: transparent !important;
    animation: none !important;
    left: 0 !important;
    right: 0 !important;
    position: fixed !important;
    text-align: center !important;
    height: 100dvh !important;
	  overflow: hidden !important;
  }

  .wp-block-navigation__responsive-container-content {
    padding: 0 30px 0 30px !important;
    height: 100dvh !important;
    justify-content: center !important;
  }

  .wp-block-navigation__responsive-container-content .wp-block-buttons {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    justify-content: center;
  }

  .wp-block-navigation__responsive-container-close {
    margin: 16px;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .wp-block-navigation__container {
    row-gap: 30px !important;
  }

  .wp-block-navigation__responsive-container-content
    .wp-block-navigation__container
    .wp-block-navigation-item
    a {
    font-size: 1.9375rem !important /* 31px / 16 */;
    line-height: 1.5 !important;
    font-weight: bold;
  }
  html.fs-large .wp-block-navigation__responsive-container-content
    .wp-block-navigation__container
    .wp-block-navigation-item
    a {
    font-size: 2.5rem !important /* 40px / 16 */;
  }

  .wp-block-navigation__responsive-dialog {
    margin: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    position: fixed !important;
    right: 0 !important;
    top: 0 !important;
    transform: translateX(100%);
    animation: ocs-slide-in 0.4s ease forwards !important;
    z-index: 999999 !important;
  }

  /* White base layer behind mobile navigation panel */
  .ocs-overlay-base {
    position: fixed;
    inset: 0;
    background: #ffffff;
    transform: translateX(100%);
    animation: ocs-slide-in 0.4s ease forwards !important;
    z-index: 999998;
  }

  #header > .wp-block-group,
  #footer-lower > .wp-block-group {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  #footer-upper p {
    white-space: normal !important;
  }

  #footer-lower {
    padding: 15px 30px !important;
  }

  #footer-lower .wp-block-group {
    padding: 0 !important;
  }

  #footer-lower .wp-block-group nav {
    padding: 0 !important;
    width: 100% !important;
  }
}

/* Navbar */
nav#site-navigation {
  color: #49413b;
}
html.fs-large nav#site-navigation ul {
  column-gap: 1.875rem; /* 30px / 16 */
}
html.fs-large .wp-block-group:has(> nav#site-navigation) {
  margin-right: 1.875rem !important; /* 30px / 16 */
}

@media (min-width: 1267px) and (max-width: 1269px) {
  .wp-block-group:has(> nav#site-navigation) {
    margin-right: 1.5625rem !important; /* 25px / 16 */
  }
  ul.wp-block-navigation {
    column-gap: 1.5625rem !important;
  }
}

@media (min-width: 1270px) and (max-width: 1369px) {
  .wp-block-group:has(> nav#site-navigation) {
    margin-right: 1.875rem !important;
  }
  ul.wp-block-navigation {
    column-gap: 1.875rem !important;
  }
}

@media (min-width: 1267px) and (max-width: 1427px) {
  html.fs-large #header-logo .wp-block-group svg {
    width: 200px;
  }
  html.fs-large .wp-block-group:has(> nav#site-navigation) {
    margin-right: 10px !important;
  }
  html.fs-large ul.wp-block-navigation {
    column-gap: 10px !important;
  }
}

@keyframes ocs-slide-in {
  0% {
    transform: translateX(100%);
  }

  100% {
    transform: translateX(0);
  }
}
