.readmoreblock .box-content > h2:not([class*="level"]):not(.modal h2) {
  font-size: var(--heading-4, 1.5rem);
  font-weight: 600;
  line-height: 100%;
  margin-block: 0 var(--heading-4-margin-bottom);
}

.readmoreblock .box-content {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.readmoreblock .box-content :is(p,ul,ol,dl) {
  margin-top: 0;
}

.readmoreblock .box-content .row {
  margin-top: auto;
}

.readmoreblock .button-container:has(.button) {
  padding-top: var(--spacing-20);
}

.paragraphblock .button-container:has(.button) {
  margin-top: var(--spacing-50);
}

@media (min-width: 640px) {
  .displaymode-one-third + .displaymode-two-thirds + .displaymode-one-third {
    grid-column: 1 / span 6;
  }

  .displaymode-one-third + .displaymode-two-thirds + .displaymode-one-third + .displaymode-one-third {
    grid-column: 7 / span 6;
  }
}

@media (min-width: 1024px) {
  .displaymode-one-third + .displaymode-two-thirds + .displaymode-one-third {
    grid-column: 5 / span 4;
  }

  .displaymode-one-third + .displaymode-two-thirds + .displaymode-one-third + .displaymode-one-third {
    grid-column: 9 / span 4;
  }
}

.openingstijden {
  display: flex;
  font-size: var(--heading-6, 1rem);
  font-weight: 600;
  gap: var(--spacing-15);
  line-height: 105%;
  margin-bottom: var(--heading-6-margin-bottom);
  position: relative;
}

.openingstijden::after {
  border-radius: var(--radius-full);
  box-shadow: var(--shadow-sm);
  font-size: .75rem;
  padding: 0 var(--spacing-15);
  text-transform: uppercase;
}

.openingstijden.open::after {
  background: var(--colors-notification-success, #C4E4D7);
  content: "open";
}

.openingstijden.gesloten::after {
  background-color: var(--colors-support-03-100, #FFB8B8);
  color: var(--colors-brand-secondary-500);
  content: "gesloten";
}

html[lang="en"] #openingstijden.gesloten::after {
  content: "closed";
}

a[href^="tel"] {
  font-variant-numeric: tabular-nums;
  text-decoration: none;
}

details .box + .box {
  margin-top: var(--body-medium-margin-top);
}

main .paragraphblock:has(script:only-child) {
  position: absolute;
}

.paragraphblock:has(#temporary-message[hidden]) {
  display: none;
}

.paragraphblock:has(#temporary-message:not([hidden])) ~ .paragraphblock:has(#no-outages) {
  display: none;
}

.paragraphblock:has(#no-outages) .box-content {
  width: 100%;
}

#no-outages {
  display: flex;
  place-content: center;
}

.buttonloader {
  min-height: 160px;
  position: relative;
  width: 100%;
}

.buttonloader[hidden] {
  display: none;
}

.buttonloader__sr-text {
  display: none;
}

html[lang="nl"] .buttonloader__sr-text--nl,
html[lang="en"] .buttonloader__sr-text--en {
  display: inline;
}

.buttonloader__ui {
  align-content: start;
  display: grid;
  inset: 0;
  justify-items: center;
  margin-top: var(--spacing-20);
  pointer-events: none;
  position: absolute;
  row-gap: 12px;
}

.buttonloader__visual {
  height: 90px;
  position: relative;
  width: 120px;
}

.buttonloader__artboard {
  height: 120px;
  inset: 0 auto auto 0;
  position: absolute;
  transform: scale(0.75);
  transform-origin: top left;
  width: 160px;
}

.buttonloader__artboard::before,
.buttonloader__artboard::after {
  background: var(--colors-brand-tertiary-03-500, #547277);
  content: "";
  position: absolute;
}

.buttonloader__artboard::before {
  height: 120px;
  left: 0;
  top: 0;
  width: 1px;
}

.buttonloader__artboard::after {
  height: 1px;
  left: 0;
  top: 119px;
  width: 160px;
}

.buttonloader__bar {
  position: absolute;
  top: 11px;
  width: 30px;
  height: 100px;
  overflow: hidden;
  white-space: nowrap;
  color: transparent;
  background: var(--colors-brand-tertiary-01-100, #e6eeeb);
  transform-origin: bottom;
  transform: scaleY(0.1);
  animation: loader-bars 2.5s infinite;
}

.buttonloader__bar:nth-child(1) { left: 16px;  animation-delay: .25s; }
.buttonloader__bar:nth-child(2) { left: 46px;  animation-delay: .5s; }
.buttonloader__bar:nth-child(3) { left: 76px;  animation-delay: .75s; }
.buttonloader__bar:nth-child(4) { left: 106px; animation-delay: 1s; }

@keyframes loader-bars {
  0%   { background: var(--colors-brand-tertiary-01-100, #e6eeeb); transform: scaleY(0.1); }
  30%  { background: var(--colors-brand-primary-500, #fcbd31); }
  50%  { background: var(--colors-brand-primary-500, #fcbd31); transform: scaleY(1); }
  80%  { background: var(--colors-brand-primary-300, #fcd989); }
  100% { background: var(--colors-neutral-50, #fffbf8); transform: scaleY(0.1); }
}

.buttonloader__textswap {
  color: transparent;
  font: 1.125rem/1.4 var(--font-family, "RM Neue");
  margin: 0;
  min-height: 1.5rem;
  position: relative;
  text-align: center;
  width: 100%;
}

.buttonloader__textswap::before,
.buttonloader__textswap::after {
  color: var(--colors-body-secondary, #547277);
  font: inherit;
  inset: 0;
  letter-spacing: -0.02em;
  position: absolute;
  text-align: center;
}

html[lang="nl"] .buttonloader__textswap::before { content: attr(data-nl-1); }
html[lang="nl"] .buttonloader__textswap::after  { content: attr(data-nl-2); }
html[lang="en"] .buttonloader__textswap::before { content: attr(data-en-1); }
html[lang="en"] .buttonloader__textswap::after  { content: attr(data-en-2); }

.buttonloader__textswap::before {
  animation: loader-text-1 15s infinite steps(1, end);
}

.buttonloader__textswap::after {
  animation: loader-text-2 15s infinite steps(1, end);
}

@keyframes loader-text-1 {
  0%, 49.999% { opacity: 1; }
  50%, 100%   { opacity: 0; }
}

@keyframes loader-text-2 {
  0%, 49.999% { opacity: 0; }
  50%, 99.999% { opacity: 1; }
  100% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .buttonloader__bar {
    animation: none;
    transform: scaleY(0.65);
    background: var(--colors-brand-primary-500, #fcbd31);
  }

  .buttonloader__textswap::before,
  .buttonloader__textswap::after {
    animation: none;
  }

  .buttonloader__textswap::before { opacity: 1; }
  .buttonloader__textswap::after  { opacity: 0; }
}