:root {
  /* this is the combination of the known child elements' heights and the styles
   * (e.g. padding) set on .site-header */
  --myerson2024-fixed-header-height: 176px;
  /* the wordpress mobile break height (due to hamburger menu)*/
  --myerson2024-fixed-header-mobile-height: 185px;
}

html, body {
  margin: 0;
  padding: 0;
}

.site-container {
  padding-top: var(--myerson2024-fixed-header-height);
}

/* correct link targets due to fixed header height */
:target::before {
  content: '';
  display: block;
  height: var(--myerson2024-fixed-header-height);
  margin-top: calc(var(--myerson2024-fixed-header-height) * -1);
  visibility: hidden;
}

/* helper to hint flex fill */
.fill-flex-space {
  flex: 1 0 auto;
}

/* helper to hint align items to baseline */
.align-items-baseline {
  align-items: baseline;
}

header.site-header {
  position: fixed;
  top: 0;
  z-index: 1000;
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-bottom: 20px;
  background: #fff;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
}

header > figure {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
}

.myerson-site-navigation {
  width: 100%;
}

.wp-block-separator {
  margin: auto 20px;
}

@media screen and (max-width: 767px) {
  /* helper to hint vertical stacking of items at mobile break */
  .mobile-stack {
    flex-flow: column nowrap !important;
    align-items: center !important;
  }

  /* set inner containers' width */
  .mobile-stack > div,
  .mobile-stack > form {
    width: clamp(320px, 90%, 690px);
  }

  .wp-block-group:not(.is-layout-flex) > p, .entry-content > p {
    width: clamp(320px, 842px, 90%);
    margin-left: auto;
    margin-right: auto;
  }
}

/* the wordpress mobile breakpoint */
@media screen and (max-width: 600px) {
  .site-container {
    /* subtract the mobile admin bar height */
    padding-top: calc(var(--myerson2024-fixed-header-mobile-height));
  }

  /* correct link targets due to fixed header height */
  :target::before {
    content: '';
    display: block;
    height: var(--myerson2024-fixed-header-mobile-height);
    margin-top: calc(var(--myerson2024-fixed-header-mobile-height) * -1);
    visibility: hidden;
  }
}
