:root {
  --header-offset-top: 0px;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(140px + var(--header-offset-top));
}

.hidden,
[hidden] {
  display: none !important;
}

@media (max-width: 782px) {
  .hidden-small,
  .responsive-hide {
    display: none !important;
  }
}

@media (min-width: 782px) {
  .hidden-medium-up {
    display: none !important;
  }
}

@media (min-width: 64em) {
  .hidden-large-up {
    display: none !important;
  }
}

.column-reverse {
  flex-direction: column-reverse;
}

@media (max-width: 780px) {
  .column-reverse-small {
    flex-direction: column-reverse;
  }
}

.height-full,
.fill-container-height {
  height: 100% !important;
}

.margin-top-auto {
  margin-top: auto !important;
}

.hover-darken:hover {
  filter: brightness(90%);
}

.hover-lighten:hover {
  filter: brightness(110%);
}

.shadow,
.shadow-card {
  box-shadow: var(--wp--preset--shadow--card);
}

.no-underline,
.no-underline a {
  text-decoration: none !important;
}

.rounded {
  border-radius: var(--wp--preset--spacing--50);
}

.rounded-top img,
.rounded-top iframe {
  border-top-left-radius: var(--wp--preset--spacing--50);
  border-top-right-radius: var(--wp--preset--spacing--50);
}

.wp-block-post-terms {
  display: flex;
  gap: 0.5rem;
}

.wp-block-post-terms a {
  background-color: var(--wp--preset--color--grey-light);
  border-radius: 0.5rem;
  padding: 0.25rem 0.5rem;
  pointer-events: none;
  text-decoration: none;
}

.wp-block-post-terms__separator {
  display: none;
}

.header-nav-link a {
  text-decoration: none;
}

.header-nav-link {
  border-bottom: 1px solid transparent;
}

.header-nav-link:hover {
  border-bottom: 1px solid var(--wp--preset--color--brand-red);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
}

.wp-block-navigation__responsive-container.is-menu-open {
  padding: 2rem;
}

.embedded-configurator-selector>.wp-element-button:hover {
  border: 2px solid var(--wp--preset--color--link-blue) !important;
}

.wp-block-buttons>.wp-block-button.icon-button a {
  display: flex !important;
  gap: 0.5rem;
  align-items: center;
}

.form-embed-load {
  animation-name: fadeIn, blurIn;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
}

.fullscreen-enter {
  height: 100%;
  overflow: auto !important;
  animation-name: fadeIn, blurIn;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
}

.fullscreen-exit {
  animation-name: fadeIn, blurIn;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
}

.border {
	border: 10px solid red;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes blurIn {
  0% {
    filter: blur(25px);
  }

  100% {
    filter: blur(0px);
  }
}
