@charset "UTF-8";
html {
  height: 100%;
  scroll-behavior: smooth;
}

body {
  position: relative;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  padding: 0;
  margin: 0;
}
body > * {
  flex: 0 0 auto;
}
body > main {
  flex: 1 0 auto;
}

* {
  box-sizing: border-box;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section {
  display: block;
}

/*
 * Set z-index on main to contain all content layers.
 */
main {
  z-index: 1;
}

button {
  border: 0;
  background: transparent;
}

a,
button {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  transition: all 0.3s;
}

img {
  max-width: 100%;
  height: auto;
}

iframe {
  border: 0;
}

.text-404 {
  padding-top: 8rem;
  padding-bottom: 20rem;
}

/*
 * Page
 */
.no-padding {
  padding: 0;
}

/* Image utils */
.image-fillarea {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* WP fixes */
@media screen and (max-width: 600px) {
  #wpadminbar {
    position: fixed;
    overflow: hidden;
  }
}

.wp-site-blocks {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
}
.wp-site-blocks main {
  flex-grow: 1;
}
.wp-site-blocks > .site-footer {
  margin-block-start: 0;
}

/*
 * Readable running text: content and wide are both 1280px (one width, as in
 * the mockup), so paragraphs and lists in a constrained layout are capped at
 * about 70 characters and kept on the left edge of the content area. Core's
 * constrained layout centres children with !important margins, hence the
 * !important here. Text with an explicit alignment keeps the layout's centring,
 * and the Chips list is a grid of tiles, not running text.
 */
.is-layout-constrained > :is(p, ul.wp-block-list, ol.wp-block-list):not([class*=has-text-align-], .is-style-chips) {
  --chefsdagen-text-measure: 70ch;
  max-width: var(--chefsdagen-text-measure);
  margin-left: max(0px, (100% - var(--wp--style--global--content-size)) / 2) !important;
  margin-right: auto !important;
}

:root {
  --jcore-font-family: var(--wp--preset--font-family--inter);
  --jcore-heading-font-family: var(--wp--preset--font-family--inter);
}

/* Any heading with pre-text in mini-font-size (use css: "mini" on the H-element for right margins)*/
h1.wp-block-heading.mini,
h2.wp-block-heading.mini,
h3.wp-block-heading.mini,
h4.wp-block-heading.mini {
  margin-top: 0.5rem;
}

/* Any paragraph with pre-text in mini-font-size (use css: "mini" on the p-element for right margins)*/
p.mini {
  margin-top: 0.5rem;
}

a {
  text-underline-offset: 3px;
  text-decoration-thickness: from-font;
}

/* 
* Add Project Specific Gutenberg Block Styling here! 
*
*/
/* 
* A little hack to cover the whole content column with one link from below. Add the linkall class to the surrounding div, and the the high class to the p contianing the link
*
*/
.linkall {
  position: relative;
}

p.high a::before {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
  content: "";
}

.wp-block-lohko-navigation,
#jcore-nav {
  margin: 0 calc((100vw - var(--wp--style--global--content-size)) / 2);
  /* Submenu theme styling */
}
.wp-block-lohko-navigation .menu-level-1,
.wp-block-lohko-navigation .menu-1,
#jcore-nav .menu-level-1,
#jcore-nav .menu-1 {
  background-color: var(--wp--preset--color--dark);
  border-radius: 1rem;
  padding: 1rem;
}

/* Main menu items */
.wp-block-lohko-navigation .menu-link,
#jcore-nav .menu-link {
  color: inherit;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
}
.wp-block-lohko-navigation .menu-link:hover, .wp-block-lohko-navigation .menu-link:focus-visible,
#jcore-nav .menu-link:hover,
#jcore-nav .menu-link:focus-visible {
  text-decoration: underline;
}
.wp-block-lohko-navigation,
#jcore-nav {
  /* Current page */
}
.wp-block-lohko-navigation .current-menu-item > .menu-link,
.wp-block-lohko-navigation .current-menu-ancestor > .menu-link,
#jcore-nav .current-menu-item > .menu-link,
#jcore-nav .current-menu-ancestor > .menu-link {
  text-decoration: underline;
}
.wp-block-lohko-navigation,
#jcore-nav {
  /* Submenu items sit on the dark submenu panel */
}
.wp-block-lohko-navigation .menu-level-1 .menu-link,
#jcore-nav .menu-level-1 .menu-link {
  color: var(--wp--preset--color--white);
}
.wp-block-lohko-navigation,
#jcore-nav {
  /* Same breakpoint as the lohko navigation block's desktop styles */
}
@media (min-width: 980px) {
  .wp-block-lohko-navigation .menu.menu-level-0,
  #jcore-nav .menu.menu-level-0 {
    gap: 34px;
  }
}

/*
 * Logo and spacing from the mockup: a 96px logo with room above and below,
 * 64px on small screens. The header height is shared, so content under an
 * overlay header (the front page hero) can clear it.
 */
:root {
  --chefsdagen-logo-height: 96px;
  --chefsdagen-header-gap: clamp(1.25rem, 2.8vw, 2.5rem);
  --chefsdagen-header-height: calc(
  	var(--chefsdagen-logo-height) + 2 * var(--chefsdagen-header-gap)
  );
}
@media (max-width: 640px) {
  :root {
    --chefsdagen-logo-height: 64px;
  }
}

.wp-block-lohko-nav-header {
  padding-block: var(--chefsdagen-header-gap);
}

/*
 * The logo is mostly white. Over the front page hero video it gets a soft shadow
 * so it holds up on the light parts of the footage.
 */
.wp-block-lohko-nav-header.is-overlay .custom-logo {
  filter: drop-shadow(0 1px 6px rgba(0, 0, 0, 0.35));
}

.wp-block-lohko-navigation {
  --jcore-menu-height: var(--chefsdagen-logo-height);
  --jcore-logo-max-height: var(--chefsdagen-logo-height);
  --jcore-logo-max-width: none;
}

/* Menu item as a button: add the CSS class "menu-button" to the item in Appearance > Menus. */
.wp-block-lohko-navigation .menu-button > .menu-link,
#jcore-nav .menu-button > .menu-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 26px;
  border-radius: var(--wp--preset--border-radius--pill);
  background-color: var(--wp--preset--color--dark);
  color: var(--wp--preset--color--yellow);
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 0.2s ease;
}
.wp-block-lohko-navigation .menu-button > .menu-link:hover, .wp-block-lohko-navigation .menu-button > .menu-link:focus-visible,
#jcore-nav .menu-button > .menu-link:hover,
#jcore-nav .menu-button > .menu-link:focus-visible {
  background-color: var(--wp--preset--color--grey);
  text-decoration: none;
}

/* Mobile navigation theme background, same breakpoint as the lohko navigation block */
@media (max-width: 979px) {
  .wp-block-lohko-navigation .menu-level-0,
  .wp-block-lohko-navigation .menu-0,
  #jcore-nav .menu-level-0,
  #jcore-nav .menu-0 {
    background-color: var(--wp--preset--color--dark);
  }
  .wp-block-lohko-navigation,
  #jcore-nav {
    /*
     * The dark panel covers the whole screen, the items start under the logo
     * row. The logo and the close button stay on top of the panel.
     */
  }
  .wp-block-lohko-navigation .brand,
  .wp-block-lohko-navigation .hamburger,
  #jcore-nav .brand,
  #jcore-nav .hamburger {
    position: relative;
    z-index: 91;
  }
  .wp-block-lohko-navigation .menu-level-0,
  #jcore-nav .menu-level-0 {
    position: fixed;
    inset: 0;
    height: 100dvh;
    gap: 1.25rem;
    padding: calc(var(--wp-admin--admin-bar--height, 0px) + var(--chefsdagen-header-height)) var(--wp--custom--gutter) 2.5rem;
    overflow-y: auto;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.2s ease, visibility 0.2s ease;
  }
  .wp-block-lohko-navigation .menu-level-0.mobile-open,
  #jcore-nav .menu-level-0.mobile-open {
    height: 100dvh;
    visibility: visible;
    opacity: 1;
  }
  .wp-block-lohko-navigation .menu-link,
  #jcore-nav .menu-link {
    color: var(--wp--preset--color--white);
    font-size: 24px;
    font-weight: 700;
  }
  .wp-block-lohko-navigation,
  #jcore-nav {
    /* The mobile panel is dark, so the button turns yellow. */
  }
  .wp-block-lohko-navigation .menu-button,
  #jcore-nav .menu-button {
    margin-top: 1.25rem;
  }
  .wp-block-lohko-navigation .menu-button > .menu-link,
  #jcore-nav .menu-button > .menu-link {
    background-color: var(--wp--preset--color--yellow);
    color: var(--wp--preset--color--dark);
  }
  .wp-block-lohko-navigation .menu-button > .menu-link:hover, .wp-block-lohko-navigation .menu-button > .menu-link:focus-visible,
  #jcore-nav .menu-button > .menu-link:hover,
  #jcore-nav .menu-button > .menu-link:focus-visible {
    background-color: var(--wp--preset--color--pale-yellow);
  }
}
/* No scrolling the page behind the open mobile menu. */
@media (max-width: 979px) {
  body:has(#lohko-menu.mobile-open) {
    overflow: hidden;
  }
}
/* Admin-bar offset fixes */
body.admin-bar .navbar.scrollActive,
body.admin-bar .navbar.sticky,
body.admin-bar .wp-block-lohko-nav-header.scrollActive,
body.admin-bar .wp-block-lohko-nav-header.sticky,
body.admin-bar .skip-to-content a {
  top: 46px;
}
@media screen and (min-width: 781px) {
  body.admin-bar .navbar.scrollActive,
  body.admin-bar .navbar.sticky,
  body.admin-bar .wp-block-lohko-nav-header.scrollActive,
  body.admin-bar .wp-block-lohko-nav-header.sticky,
  body.admin-bar .skip-to-content a {
    top: 32px;
  }
}

footer {
  padding-top: 3rem;
  padding-bottom: 0;
}
footer .logorow {
  align-items: center;
  /* Some */
}
@media (min-width: 768px) {
  footer .logorow .wp-block-social-links {
    justify-content: end;
  }
}
footer {
  /*Copyright section */
}
@media (min-width: 768px) {
  footer .copyright {
    display: flex;
    flex-flow: row break;
    justify-content: center;
    align-items: center;
  }
}
footer .copyright p {
  margin-bottom: 1rem;
}

.archive-posts,
.wp-block-jcore-dynamic-archive-posts__inner {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}

@media (min-width: 360px) {
  .archive-posts.columns-2,
  .wp-block-jcore-dynamic-archive-posts__inner.columns-2 {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 768px) {
  .archive-posts.columns-3,
  .wp-block-jcore-dynamic-archive-posts__inner.columns-3 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 992px) {
  .archive-posts.columns-3,
  .wp-block-jcore-dynamic-archive-posts__inner.columns-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media (min-width: 360px) {
  .archive-posts.columns-4,
  .wp-block-jcore-dynamic-archive-posts__inner.columns-4 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 992px) {
  .archive-posts.columns-4,
  .wp-block-jcore-dynamic-archive-posts__inner.columns-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

/* JCORE DYNAMIC ARCHIVE */
.wp-block-jcore-dynamic-archive .wp-block-jcore-dynamic-archive__filters {
  margin-bottom: 3rem;
}
.wp-block-jcore-dynamic-archive .wp-block-jcore-dynamic-archive__filters .wp-block-jcore-dynamic-archive__filters__taxonomies__type h3 {
  font-weight: 400;
  text-transform: uppercase;
}
.wp-block-jcore-dynamic-archive .wp-block-jcore-dynamic-archive__filters .wp-block-jcore-dynamic-archive__filters__taxonomies__type select {
  background-color: var(--wp--preset--color--light);
  border-radius: none;
  border: 1px solid black;
  shadow: none;
  padding: 1rem;
  max-width: 360px;
  min-width: 280px;
  text-transform: uppercase;
}
.wp-block-jcore-dynamic-archive .wp-block-jcore-dynamic-archive__filters .wp-block-jcore-dynamic-archive__filters__taxonomies__type label.wp-block-jcore-dynamic-archive-filters__radio {
  width: max-content;
  padding: 4px 16px;
  text-transform: uppercase;
  font-size: 16px;
  font-weight: 600;
  display: inline-block;
  margin-bottom: 1rem;
}
.wp-block-jcore-dynamic-archive .wp-block-jcore-dynamic-archive__filters .wp-block-jcore-dynamic-archive__filters__taxonomies__type input.wp-block-jcore-dynamic-archive-filters__radio__input {
  visibility: hidden;
}
.wp-block-jcore-dynamic-archive .wp-block-jcore-dynamic-archive__filters .wp-block-jcore-dynamic-archive__filters__taxonomies__type.taxonomy-type-category__children {
  margin-top: 1.5rem;
}

/* JCORE Dynamic Archive Pagination */
.wp-block-jcore-dynamic-archive-posts__pagination nav {
  display: flex;
  flex-flow: row;
  justify-content: center;
  align-items: baseline;
  gap: 0.25rem;
  margin: 4rem 0.25rem 3rem;
}
.wp-block-jcore-dynamic-archive-posts__pagination nav a {
  font-size: 1rem;
  margin: 0rem;
  color: var(--wp--preset--color--dark);
  background: var(--wp--preset--color--light);
  font-weight: 400;
  padding: 0.75rem 1.25rem;
}
.wp-block-jcore-dynamic-archive-posts__pagination nav a.current {
  background: var(--wp--preset--color--success);
}
.wp-block-jcore-dynamic-archive-posts__pagination nav a:hover {
  text-decoration: none;
}
.wp-block-jcore-dynamic-archive-posts__pagination nav {
  /*Pagination first */
}
.wp-block-jcore-dynamic-archive-posts__pagination nav .wp-block-jcore-dynamic-archive__pagination__link-first {
  background: var(--wp--preset--color--brand);
}
.wp-block-jcore-dynamic-archive-posts__pagination nav .wp-block-jcore-dynamic-archive__pagination__link-first .wp-block-jcore-dynamic-archive__pagination__link__icon::after {
  content: "\f323";
  font-family: "Font Awesome 6 Sharp";
  font-weight: 400;
  display: inline-block;
  font-size: 12px;
}
.wp-block-jcore-dynamic-archive-posts__pagination nav .wp-block-jcore-dynamic-archive__pagination__link-first .wp-block-jcore-dynamic-archive__pagination__link__text {
  display: none;
}
.wp-block-jcore-dynamic-archive-posts__pagination nav {
  /*Pagination previous */
}
.wp-block-jcore-dynamic-archive-posts__pagination nav .wp-block-jcore-dynamic-archive__pagination__link-previous {
  background: var(--wp--preset--color--brand);
}
.wp-block-jcore-dynamic-archive-posts__pagination nav .wp-block-jcore-dynamic-archive__pagination__link-previous .wp-block-jcore-dynamic-archive__pagination__link__icon::after {
  content: "\f053";
  font-family: "Font Awesome 6 Sharp";
  font-weight: 400;
  display: inline-block;
  font-size: 12px;
}
.wp-block-jcore-dynamic-archive-posts__pagination nav .wp-block-jcore-dynamic-archive__pagination__link-previous .wp-block-jcore-dynamic-archive__pagination__link__text {
  display: none;
}
.wp-block-jcore-dynamic-archive-posts__pagination nav {
  /*Pagination next */
}
.wp-block-jcore-dynamic-archive-posts__pagination nav .wp-block-jcore-dynamic-archive__pagination__link-next {
  background: var(--wp--preset--color--brand);
}
.wp-block-jcore-dynamic-archive-posts__pagination nav .wp-block-jcore-dynamic-archive__pagination__link-next .wp-block-jcore-dynamic-archive__pagination__link__icon::after {
  content: "\f054";
  font-family: "Font Awesome 6 Sharp";
  font-weight: 400;
  display: inline-block;
  font-size: 12px;
}
.wp-block-jcore-dynamic-archive-posts__pagination nav .wp-block-jcore-dynamic-archive__pagination__link-next .wp-block-jcore-dynamic-archive__pagination__link__text {
  display: none;
}
.wp-block-jcore-dynamic-archive-posts__pagination nav {
  /*Pagination last */
}
.wp-block-jcore-dynamic-archive-posts__pagination nav .wp-block-jcore-dynamic-archive__pagination__link-last {
  background: var(--wp--preset--color--brand);
}
.wp-block-jcore-dynamic-archive-posts__pagination nav .wp-block-jcore-dynamic-archive__pagination__link-last .wp-block-jcore-dynamic-archive__pagination__link__icon::after {
  content: "\f324";
  font-family: "Font Awesome 6 Sharp";
  font-weight: 400;
  display: inline-block;
  font-size: 12px;
}
.wp-block-jcore-dynamic-archive-posts__pagination nav .wp-block-jcore-dynamic-archive__pagination__link-last .wp-block-jcore-dynamic-archive__pagination__link__text {
  display: none;
}
.wp-block-jcore-dynamic-archive-posts__pagination nav {
  /* Current link item */
}
.wp-block-jcore-dynamic-archive-posts__pagination nav .wp-block-jcore-dynamic-archive__pagination__link.is-current {
  background: var(--wp--preset--color--brand);
}

/* JCORE Dynamic Archive load more button */
.wp-block-jcore-dynamic-archive-posts__pagination {
  display: flex;
  justify-content: center;
}
.wp-block-jcore-dynamic-archive-posts__pagination a.wp-block-jcore-dynamic-archive-posts__load_more {
  background-color: var(--wp--preset--color--brand);
  color: var(--wp--preset--color--white);
  width: max-content;
  padding: 0.45rem 2rem;
  margin-top: 3rem;
  font-size: var(--wp--preset--font-size--mini);
  line-height: var(--wp--custom--line-height--sm);
}

.posts-highlight {
  display: grid;
  grid-gap: 2rem;
  grid-template-columns: 1fr;
}

.posts-highlight.columns-2 {
  grid-template-columns: 1fr 1fr;
}

.posts-highlight.columns-3 {
  grid-template-columns: 1fr 1fr 1fr;
}

.posts-highlight.columns-4 {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

/*
 * Single post: date and category as one eyebrow line above the title,
 * separated by a dot, and previous / next links under the content.
 */
.single-post-meta .wp-block-post-date + .wp-block-post-terms::before {
  content: "·";
  margin: 0 0.6em;
}
.single-post-meta .wp-block-post-terms a {
  color: inherit;
  text-decoration: none;
}
.single-post-meta .wp-block-post-terms a:hover, .single-post-meta .wp-block-post-terms a:focus-visible {
  text-decoration: underline;
}

.single-post-navigation {
  padding-top: var(--wp--preset--spacing--fluid-small);
  border-top: 1px solid var(--wp--preset--color--light, #e6e7e8);
  font-weight: 700;
}
.single-post-navigation .post-navigation-link-next {
  margin-left: auto;
}

.tease {
  text-align: left;
  display: block;
}

.tease .image-container {
  position: relative;
  width: 100%;
  margin-bottom: 1rem;
}

.tease .image-container::after {
  content: "";
  display: block;
  padding-bottom: 100%;
}

.tease .image-container img {
  position: absolute;
  -o-object-fit: cover;
  object-fit: cover;
  height: 100%;
  width: 100%;
  font-family: "object-fit: cover;";
}

.tease .image-container.postcard::after {
  padding-bottom: 66%;
}

.masonry-grid {
  display: grid;
  grid-row-gap: 2rem !important;
  grid-template-columns: 1fr;
  grid-auto-rows: 20px;
}
.masonry-grid > * {
  width: auto !important;
  grid-row-end: span 20; /* Somewhat sane default. */
}
@media (min-width: 768px) {
  .masonry-grid {
    grid-row-gap: 3rem !important;
  }
  .masonry-grid.columns-2, .masonry-grid.columns-3, .masonry-grid.columns-4 {
    grid-template-columns: 1fr 1fr;
  }
  .masonry-grid .tease-nr-2 .image-container {
    margin-top: 6rem;
    margin-bottom: 2rem;
  }
}
@media (min-width: 992px) {
  .masonry-grid.columns-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .masonry-grid.columns-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

.error404 h1 {
  font-size: var(--wp--preset--font-size--heading-1);
  margin-top: 3rem;
}
.error404 .home-link {
  max-width: var(--wp--style--global--content-size);
  margin-top: 2rem;
  text-transform: uppercase;
  padding-bottom: 2rem;
  margin-bottom: 5rem;
}

/* Yoast FAQ & Accordion Block Styling */
.schema-faq-section .schema-faq-question,
.block-accordion .accordion-title {
  font-family: var(--jcore-heading-font-family);
  font-size: var(--wp--preset--font-size--heading-5);
  color: var(--wp--preset--color--dark);
  font-weight: 400;
  margin: 8px 0;
  padding: 1rem 2rem 1rem 1rem;
  cursor: pointer;
  position: relative;
  text-align: left;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: flex;
  width: 100%;
  background-color: var(--wp--preset--color--light);
}
.schema-faq-section .schema-faq-question:after,
.block-accordion .accordion-title:after {
  content: "⏷";
  position: absolute;
  font-family: var(--jcore-heading-font-family);
  top: 50%;
  right: 0;
  width: 44px;
  height: 44px;
  background: var(--wp--preset--color--light);
  border-radius: 999px;
  text-align: center;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--wp--preset--font-size--heading-3);
}
.schema-faq-section .schema-faq-question.faq-q-open:after, .schema-faq-section .schema-faq-question.accordion-open:after,
.block-accordion .accordion-title.faq-q-open:after,
.block-accordion .accordion-title.accordion-open:after {
  content: "⏶";
}

.schema-faq-section p.schema-faq-answer,
.accordion-section .accordion-content {
  margin: 0;
  font-weight: 400;
  font-size: var(--wp--preset--font-size--paragraph);
}
@media (min-width: 768px) {
  .schema-faq-section p.schema-faq-answer,
  .accordion-section .accordion-content {
    max-width: 80%;
  }
}

.schema-faq-section p.schema-faq-answer {
  height: 0;
  overflow: hidden;
  margin: 0;
  padding-left: 1rem;
  transition: height 0.3s ease-in-out, margin 0.3s ease-in-out;
}
.schema-faq-section p.schema-faq-answer.faq-a-open {
  margin-bottom: 1rem;
}

/**
* Gravity Forms minimalistics if using default base theme in GF settings.
* The theme framework uses root settings, if nothing else defined.
* Add more gernral settings to root by inspecting the element styling you want to change.
* The button styling is set from Ilme root button styles found in blocks/buttons.css
*/
/**
* Gravity Forms minimalistics if using default base theme in GF settings.
* The theme framework uses root settings, if nothing else defined.
* Add more gernral settings to root by inspecting the element styling you want to change.
* The button styling is set from Ilme root button styles found in blocks/buttons.css.
* For style changes to take effect: MAKE BUILD!!!
*/
:root .gform-theme--framework {
  --gf-color-primary: var(--wp--preset--color--brand);
  --gf-color-primary-darker: var(--wp--preset--color--orange);
  --gf-ctrl-bg-color: var(--wp--preset--color--white);
  --gf-color-out-ctrl-light-darker: var(--wp--preset--color--lightgrey);
  --gf-ctrl-border-color: var(--wp--preset--color--lightgrey);
  --gf-ctrl-border-color-hover: var(--wp--preset--color--lightgrey);
  --gf-ctrl-radius: 12px;
  --gf-ctrl-textarea-radius: 12px;
  --gf-ctrl-border-width: 1px;
  --gf-ctrl-border-style: solid;
  --gf-ctrl-color: var(--wp--preset--color--black);
  --gf-ctrl-outline-color: var(--wp--preset--color--lightblue);
  --gf-ctrl-outline-color-focus: var(--wp--preset--color--lightblue);
  --gf-ctrl-border-color-focus: var(--wp--preset--color--brand);
  --gf-ctrl-accent-color: var(--wp--preset--color--brand);
  --gf-ctrl-btn-bg-color-ctrl: var(--jcore-button-bg-color);
  --gf-ctrl-btn-color-primary: var(--jcore-button-text-color);
  --gf-ctrl-btn-color-hover-primary: var(--jcore-button-hover-text-color);
  --gf-ctrl-btn-color-hover-ctrl: var(--jcore-button-hover-text-color);
  --gf-ctrl-btn-bg-color-primary: var(--jcore-button-bg-color);
  --gf-ctrl-btn-bg-color-hover-primary: var(--jcore-button-hover-bg-color);
  --gf-ctrl-btn-bg-color-hover-ctrl: var(--jcore-button-hover-bg-color);
  --gf-ctrl-btn-radius: var(--jcore-button-radius);
  --gf-ctrl-btn-font-weight: var(--jcore-button-font-weight);
  --gf-ctrl-btn-text-transform: none;
  --gf-ctrl-btn-font-size: var(--jcore-button-font-size);
  --gf-ctrl-btn-font-style: normal;
  --gf-ctrl-btn-font-family: var(--jcore-heading-font-family);
  --gf-ctrl-btn-font-size-md: var(--wp--preset--font-size--paragraph);
  --gf-ctrl-btn-padding-y: 1rem;
  --gf-ctrl-btn-padding-x-md: 2rem;
  --gf-ctrl-choice-check-color: var(--wp--preset--color--brand);
  --gf-field-pg-prog-bar-bg-color-blue: var(--wp--preset--color--brand);
  --gf-field-pg-prog-bar-bg-color-orange: var(--wp--preset--color--brand);
  --gf-ctrl-label-font-size-primary: var(--wp--preset--font-size--paragraph);
  --gf-ctrl-label-font-size-tertiary: var(--wp--preset--font-size--mini);
  --gf-color-in-ctrl-primary: var(--wp--preset--color--brand);
  --gf-color-in-ctrl-primary-darker: var(--wp--preset--color--brand);
  --gf-ctrl-file-zone-icon-color: var(--wp--preset--color--brand);
  --gf-form-footer-margin-y-start: 2.5rem;
  --gf-field-prod-quant-width: 65px;
}

body .gform_wrapper .gform_fields {
  gap: 1.5rem;
}
@media (min-width: 360px) {
  body .gform_wrapper .gform-footer {
    display: flex;
    justify-content: flex-end;
  }
}
body .gform-theme--framework.prodlist_wrapper .prod {
  max-width: 500px;
}
body .gform-theme--framework .gfield--type-product .ginput_quantity {
  margin-block-end: var(--gf-field-prod-quant-margin-y-end);
  order: 3;
  flex-basis: 10%;
}
body .gform-theme--framework .gfield--type-product .ginput_container_singleproduct {
  display: flex;
  flex-direction: row;
  align-content: center;
}
body .gform-theme--framework .ginput_quantity_label.gform-field-label {
  order: 4;
  flex-basis: 10%;
  font-size: 18px;
  margin-left: 1rem;
  align-self: center;
}
body .gform-theme--framework .gform-field-label.gform-field-label--type-sub-large.ginput_product_price_label {
  display: none;
}
body .gform-theme--framework .gform-field-label.gform-field-label--type-sub-large.ginput_product_price {
  font-size: 20px;
  font-weight: 500;
  color: var(--wp--preset--color--brand);
}
body .gform-theme--framework .ginput_product_price_wrapper {
  flex-basis: 70%;
}

.search-items {
  display: grid;
  grid-gap: 1rem;
  grid-template-columns: repeat(2, 1fr);
}
.search-items article {
  background-color: var(--wp--preset--color--light);
  border-radius: 1rem;
  padding: 1rem;
}

.pagination-block {
  --jcore-button-bg-color: transparent; /* because a-tag is styles here as btn, and .btn is one level up */
  --jcore-button-hover-bg-color: transparent;
  padding: 2rem;
  display: flex;
  justify-content: space-evenly;
}
.pagination-block > section {
  display: flex;
  align-items: center;
}
.pagination-block div {
  padding: 0;
}
.pagination-block div a {
  color: var(--wp--preset--color--black);
  background-color: var(--wp--preset--color--brand);
  border-radius: 0.5rem;
  padding: 0.75rem;
  margin: 1rem;
}
.pagination-block div a:hover {
  text-decoration: none;
  background-color: var(--wp--preset--color--light);
}
.pagination-block div.current a {
  background-color: var(--wp--preset--color--light);
  color: var(--jcore-button-active-txt-color);
}

/*
 * "Colour blocks" group styles: vertical bands of colour as a section background.
 *
 * Dark: four flat bands that repeat. One repeat spans --colour-blocks-repeat of the width,
 * so about 5.5 bands show on desktop and two on mobile. The uneven band widths follow
 * the mockup (29 / 22 / 28 / 21 %).
 */
/*
 * Yellow colour columns from the AD's design: seven equal columns, each fading
 * between pale yellow and orange with the orange at a different height. Every
 * column ends on the colour it starts with, so the gradient repeats downwards
 * without a seam. The colours are the theme.json yellows (soft, primary, deep)
 * at the stops sampled from the design, deep only at each column's darkest point.
 *
 * The gradient height follows the viewport width (the design is 1321 x 745, so
 * one column is about four times as tall as it is wide), not the element, so
 * the columns look the same in a short header strip and a tall hero.
 */
.wp-block-group.is-style-colour-blocks {
  margin-top: 0;
  --colour-columns-width: calc(100% / 3);
  --colour-columns-step: 50%;
  --colour-columns-height: calc(100vw / 3 * 3.95);
}
@media (min-width: 782px) {
  .wp-block-group.is-style-colour-blocks {
    --colour-columns-width: calc(100% / 7);
    --colour-columns-step: calc(100% / 6);
    --colour-columns-height: calc(100vw / 7 * 3.95);
  }
}
.wp-block-group.is-style-colour-blocks {
  background-color: var(--wp--preset--color--yellow);
  background-image: linear-gradient(180deg, var(--wp--preset--color--yellow) 0%, var(--wp--preset--color--yellow-soft) 15%, var(--wp--preset--color--yellow) 30%, var(--wp--preset--color--yellow-deep) 45%, var(--wp--preset--color--yellow) 80%, var(--wp--preset--color--yellow) 100%), linear-gradient(180deg, var(--wp--preset--color--yellow) 0%, var(--wp--preset--color--yellow-soft) 35%, var(--wp--preset--color--yellow) 50%, var(--wp--preset--color--yellow-deep) 65%, var(--wp--preset--color--yellow) 80%, var(--wp--preset--color--yellow) 100%), linear-gradient(180deg, var(--wp--preset--color--yellow-soft) 0%, var(--wp--preset--color--yellow-soft) 12%, var(--wp--preset--color--yellow) 30%, var(--wp--preset--color--yellow-deep) 45%, var(--wp--preset--color--yellow) 80%, var(--wp--preset--color--yellow-soft) 100%), linear-gradient(180deg, var(--wp--preset--color--yellow) 0%, var(--wp--preset--color--yellow-deep) 20%, var(--wp--preset--color--yellow) 40%, var(--wp--preset--color--yellow-soft) 65%, var(--wp--preset--color--yellow) 85%, var(--wp--preset--color--yellow) 100%), linear-gradient(180deg, var(--wp--preset--color--yellow-soft) 0%, var(--wp--preset--color--yellow-soft) 5%, var(--wp--preset--color--yellow) 30%, var(--wp--preset--color--yellow-deep) 62%, var(--wp--preset--color--yellow-soft) 90%, var(--wp--preset--color--yellow-soft) 100%), linear-gradient(180deg, var(--wp--preset--color--yellow) 0%, var(--wp--preset--color--yellow) 10%, var(--wp--preset--color--yellow-deep) 40%, var(--wp--preset--color--yellow-soft) 65%, var(--wp--preset--color--yellow) 80%, var(--wp--preset--color--yellow) 100%), linear-gradient(180deg, var(--wp--preset--color--yellow) 0%, var(--wp--preset--color--yellow-soft) 35%, var(--wp--preset--color--yellow) 50%, var(--wp--preset--color--yellow-deep) 65%, var(--wp--preset--color--yellow) 80%, var(--wp--preset--color--yellow) 100%);
  background-position: calc(var(--colour-columns-step) * 0) var(--colour-blocks-offset, 0px), calc(var(--colour-columns-step) * 1) var(--colour-blocks-offset, 0px), calc(var(--colour-columns-step) * 2) var(--colour-blocks-offset, 0px), calc(var(--colour-columns-step) * 3) var(--colour-blocks-offset, 0px), calc(var(--colour-columns-step) * 4) var(--colour-blocks-offset, 0px), calc(var(--colour-columns-step) * 5) var(--colour-blocks-offset, 0px), calc(var(--colour-columns-step) * 6) var(--colour-blocks-offset, 0px);
  background-size: var(--colour-columns-width) var(--colour-columns-height);
  background-repeat: repeat-y;
}

.wp-block-group.is-style-colour-blocks:has(> header) + main > .is-style-colour-blocks:first-child,
.wp-block-group.is-style-colour-blocks:has(> header) + main > .wp-block-post-content > .is-style-colour-blocks:first-child {
  --colour-blocks-offset: calc(-1 * var(--chefsdagen-header-height));
}

.wp-block-group.is-style-colour-blocks-dark {
  --colour-blocks-repeat: 200%;
}
@media (min-width: 782px) {
  .wp-block-group.is-style-colour-blocks-dark {
    --colour-blocks-repeat: calc(100% * 4 / 5.5);
  }
}
.wp-block-group.is-style-colour-blocks-dark {
  background-color: #101010;
  background-image: repeating-linear-gradient(90deg, #141414 0 calc(var(--colour-blocks-repeat) * 0.29), #101010 calc(var(--colour-blocks-repeat) * 0.29) calc(var(--colour-blocks-repeat) * 0.51), #191919 calc(var(--colour-blocks-repeat) * 0.51) calc(var(--colour-blocks-repeat) * 0.79), #0b0b0b calc(var(--colour-blocks-repeat) * 0.79) var(--colour-blocks-repeat));
}

.wp-block-cover.is-style-colour-blocks .wp-block-cover__background {
  mix-blend-mode: hard-light;
  --colour-columns-width: calc(100% / 3);
  --colour-columns-step: 50%;
  --colour-columns-height: calc(100vw / 3 * 3.95);
}
@media (min-width: 782px) {
  .wp-block-cover.is-style-colour-blocks .wp-block-cover__background {
    --colour-columns-width: calc(100% / 7);
    --colour-columns-step: calc(100% / 6);
    --colour-columns-height: calc(100vw / 7 * 3.95);
  }
}
.wp-block-cover.is-style-colour-blocks .wp-block-cover__background {
  background-color: var(--wp--preset--color--yellow);
  background-image: linear-gradient(180deg, var(--wp--preset--color--yellow) 0%, var(--wp--preset--color--yellow-soft) 15%, var(--wp--preset--color--yellow) 30%, var(--wp--preset--color--yellow-deep) 45%, var(--wp--preset--color--yellow) 80%, var(--wp--preset--color--yellow) 100%), linear-gradient(180deg, var(--wp--preset--color--yellow) 0%, var(--wp--preset--color--yellow-soft) 35%, var(--wp--preset--color--yellow) 50%, var(--wp--preset--color--yellow-deep) 65%, var(--wp--preset--color--yellow) 80%, var(--wp--preset--color--yellow) 100%), linear-gradient(180deg, var(--wp--preset--color--yellow-soft) 0%, var(--wp--preset--color--yellow-soft) 12%, var(--wp--preset--color--yellow) 30%, var(--wp--preset--color--yellow-deep) 45%, var(--wp--preset--color--yellow) 80%, var(--wp--preset--color--yellow-soft) 100%), linear-gradient(180deg, var(--wp--preset--color--yellow) 0%, var(--wp--preset--color--yellow-deep) 20%, var(--wp--preset--color--yellow) 40%, var(--wp--preset--color--yellow-soft) 65%, var(--wp--preset--color--yellow) 85%, var(--wp--preset--color--yellow) 100%), linear-gradient(180deg, var(--wp--preset--color--yellow-soft) 0%, var(--wp--preset--color--yellow-soft) 5%, var(--wp--preset--color--yellow) 30%, var(--wp--preset--color--yellow-deep) 62%, var(--wp--preset--color--yellow-soft) 90%, var(--wp--preset--color--yellow-soft) 100%), linear-gradient(180deg, var(--wp--preset--color--yellow) 0%, var(--wp--preset--color--yellow) 10%, var(--wp--preset--color--yellow-deep) 40%, var(--wp--preset--color--yellow-soft) 65%, var(--wp--preset--color--yellow) 80%, var(--wp--preset--color--yellow) 100%), linear-gradient(180deg, var(--wp--preset--color--yellow) 0%, var(--wp--preset--color--yellow-soft) 35%, var(--wp--preset--color--yellow) 50%, var(--wp--preset--color--yellow-deep) 65%, var(--wp--preset--color--yellow) 80%, var(--wp--preset--color--yellow) 100%);
  background-position: calc(var(--colour-columns-step) * 0) var(--colour-blocks-offset, 0px), calc(var(--colour-columns-step) * 1) var(--colour-blocks-offset, 0px), calc(var(--colour-columns-step) * 2) var(--colour-blocks-offset, 0px), calc(var(--colour-columns-step) * 3) var(--colour-blocks-offset, 0px), calc(var(--colour-columns-step) * 4) var(--colour-blocks-offset, 0px), calc(var(--colour-columns-step) * 5) var(--colour-blocks-offset, 0px), calc(var(--colour-columns-step) * 6) var(--colour-blocks-offset, 0px);
  background-size: var(--colour-columns-width) var(--colour-columns-height);
  background-repeat: repeat-y;
}
.wp-block-cover.is-style-colour-blocks .wp-block-cover__image-background,
.wp-block-cover.is-style-colour-blocks .wp-block-cover__video-background {
  filter: grayscale(1) contrast(1.1) brightness(0.65);
}

/* Buttons, base styling (default dark pill + outline) comes from theme.json, the extra styles registered in includes/setup.php live here. */
.wp-block-button .wp-block-button__link {
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.wp-block-button {
  /* Default: dark pill with yellow text */
}
.wp-block-button:not([class*=is-style-]) .wp-block-button__link:hover, .wp-block-button.is-style-fill .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--grey);
}
.wp-block-button {
  /* Outline: transparent with dark ring */
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--dark);
  color: var(--wp--preset--color--yellow);
}
.wp-block-button {
  /* Yellow pill with dark text */
}
.wp-block-button.is-style-yellow .wp-block-button__link {
  background-color: var(--wp--preset--color--yellow);
  color: var(--wp--preset--color--dark);
}
.wp-block-button.is-style-yellow .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--pale-yellow);
}
.wp-block-button {
  /* White pill with dark text */
}
.wp-block-button.is-style-white .wp-block-button__link {
  background-color: var(--wp--preset--color--white);
  color: var(--wp--preset--color--dark);
}
.wp-block-button.is-style-white .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--off-white);
}

/**
* Set buttons colors and font variables for use elsewhere in theme where not G-berg,for example btn-class for form submit or tease-link or pagination?
*/
:root {
  --jcore-button-bg-color: var(--wp--preset--color--dark);
  --jcore-button-border-color: var(--wp--preset--color--dark);
  --jcore-button-text-color: var(--wp--preset--color--yellow);
  --jcore-button-active-bg-color: var(--wp--preset--color--dark);
  --jcore-button-active-txt-color: var(--wp--preset--color--yellow);
  --jcore-button-hover-bg-color: var(--wp--preset--color--grey);
  --jcore-button-hover-text-color: var(--wp--preset--color--yellow);
  --jcore-button-hover-border-color: var(--wp--preset--color--grey);
  --jcore-button-font-size: var(--wp--preset--font-size--paragraph);
  --jcore-button-font-weight: 700;
  --jcore-button-padding: 1.125rem 1.875rem;
  --jcore-button-radius: var(--wp--preset--border-radius--pill);
}

.btn {
  background-color: var(--jcore-button-bg-color);
  color: var(--jcore-button-text-color);
  border-color: var(--jcore-button-border-color);
  padding: var(--jcore-button-padding);
  font-size: var(--jcore-button-font-size);
  font-weight: var(--jcore-button-font-weight);
  border-radius: var(--jcore-button-radius);
}
.btn:hover {
  background-color: var(--jcore-button-hover-bg-color);
  color: var(--jcore-button-hover-text-color);
  border-color: var(--jcore-button-hover-border-color);
}

/* Paragraph styles registered in includes/setup.php */
/* Eyebrow: small uppercase label above headings, colour can be changed in the editor. */
.is-style-eyebrow {
  color: var(--wp--preset--color--mid-grey);
  font-size: var(--wp--preset--font-size--mini);
  font-weight: 700;
  letter-spacing: var(--wp--custom--letter-spacing--eyebrow);
  line-height: var(--wp--custom--line-height--lg);
  text-transform: uppercase;
}

/*
 * Tag: a small pill label, for example on a package card. Dark with yellow
 * text by default; the block's own colours (set in the editor) override it.
 */
p.is-style-tag {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  width: fit-content;
  min-height: 30px;
  padding: 0.25rem 0.875rem;
  border-radius: var(--wp--preset--border-radius--pill);
  background-color: var(--wp--preset--color--dark);
  color: var(--wp--preset--color--yellow);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
}

/* Group styles registered in includes/setup.php */
/*
 * Card: rounded panel that stacks its content, the first heading after other
 * content is pushed to the bottom (number or icon on top, title below).
 * Background and text colour are set on the block, padding and min-height too.
 */
.wp-block-group.is-style-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 300px;
  padding: clamp(26px, 2.8vw, 40px) clamp(26px, 2.5vw, 36px) clamp(26px, 3vw, 44px);
  border-radius: var(--wp--preset--border-radius--medium);
}
.wp-block-group.is-style-card > * {
  margin-block: 0;
}
.wp-block-group.is-style-card > :is(h2, h3, h4, h5):not(:first-child) {
  margin-top: auto;
}
@media (max-width: 1100px) {
  .wp-block-group.is-style-card {
    min-height: 0;
  }
}

/*
 * Package: a rounded card with its content stacked from the top (tag, name,
 * price, list of what is included). White by default; a background colour set
 * on the block (yellow for the main package) overrides it.
 */
.wp-block-group.is-style-package {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: clamp(24px, 2.5vw, 36px);
  border-radius: var(--wp--preset--border-radius--medium);
}
.wp-block-group.is-style-package:not(.has-background) {
  background-color: var(--wp--preset--color--white);
}
.wp-block-group.is-style-package > * {
  margin-block: 0;
}
.wp-block-group.is-style-package ul.wp-block-list {
  margin-top: 0.625rem;
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.45;
}
.wp-block-group.is-style-package ul.wp-block-list li {
  margin-bottom: 0.625rem;
}

/* Columns styles registered in includes/setup.php */
/*
 * Photo mosaic: a large photo in the first column, smaller photos stacked in
 * the second. On desktop the large photo fills the full column height, so its
 * edges line up with the stack; below 782px the columns stack and the photo
 * keeps its own aspect ratio. One gap is used between all photos, side by
 * side and stacked.
 */
.wp-block-columns.is-style-photo-mosaic {
  --photo-mosaic-gap: var(--wp--preset--spacing--fluid-small);
  gap: var(--photo-mosaic-gap);
}
@media (min-width: 782px) {
  .wp-block-columns.is-style-photo-mosaic > .wp-block-column:first-child {
    position: relative;
  }
  .wp-block-columns.is-style-photo-mosaic > .wp-block-column:first-child > .wp-block-image {
    position: absolute;
    inset: 0;
  }
  .wp-block-columns.is-style-photo-mosaic > .wp-block-column:first-child img {
    width: 100%;
    height: 100%;
    aspect-ratio: auto !important;
    object-fit: cover;
  }
}
.wp-block-columns.is-style-photo-mosaic img {
  width: 100%;
  border-radius: var(--wp--preset--border-radius--small);
}
.wp-block-columns.is-style-photo-mosaic > .wp-block-column > .wp-block-image {
  margin: 0;
}
.wp-block-columns.is-style-photo-mosaic > .wp-block-column > .wp-block-image + .wp-block-image {
  margin-top: var(--photo-mosaic-gap);
}

/*
 * Pause button for cover background videos, added in src/js/jcore.ts. Kept faint
 * in the bottom right corner so it doesn't compete with the hero heading.
 */
.cover-video-toggle {
  position: absolute;
  right: var(--wp--custom--gutter, 20px);
  bottom: var(--wp--preset--spacing--fluid-small, 20px);
  z-index: 2;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  color: var(--wp--preset--color--dark);
  cursor: pointer;
  opacity: 0.45;
  transition: opacity 0.2s ease;
}
.cover-video-toggle:hover, .cover-video-toggle:focus-visible {
  opacity: 1;
}
.cover-video-toggle:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
.cover-video-toggle::before {
  content: "";
  width: 10px;
  height: 12px;
  border-inline: 3px solid currentColor;
}
.cover-video-toggle.is-paused::before {
  width: 0;
  height: 0;
  margin-left: 3px;
  border-block: 6px solid transparent;
  border-inline: 10px solid currentColor;
  border-inline-end: 0;
}

/*
 * Front page hero: fills the first screen minus the info bar below it, so the
 * bar (date, place, ticket button) shows without scrolling. The bar is about
 * 120px on one row; on mobile it wraps, so only its top part is left showing.
 * The floor keeps room for the header and the heading on short screens.
 */
.wp-block-cover.front-hero {
  --front-hero-bar: 120px;
  min-height: max(560px, 100svh - var(--wp-admin--admin-bar--height, 0px) - var(--front-hero-bar));
}
@media (max-width: 781px) {
  .wp-block-cover.front-hero {
    --front-hero-bar: 180px;
    min-height: max(480px, 100svh - var(--wp-admin--admin-bar--height, 0px) - var(--front-hero-bar));
  }
}

/**
 * Search form and search block theme styling.
 */
.toggle-search svg,
.toggle-search .fa-search {
  color: var(--wp--preset--color--white);
}

.searchbar-container.toggle {
  background-color: var(--wp--preset--color--dark);
}

.search-form,
.searchform,
.wp-block-search {
  display: flex;
  align-items: center;
  margin-bottom: 6px;
  margin-top: 6px;
  width: 100%;
}
.search-form label,
.searchform label,
.wp-block-search label {
  margin: 0;
  flex-grow: 1;
  display: flex;
}
.search-form input[type=search],
.search-form input[type=text],
.search-form .search-field,
.searchform input[type=search],
.searchform input[type=text],
.searchform .search-field,
.wp-block-search input[type=search],
.wp-block-search input[type=text],
.wp-block-search .search-field {
  appearance: none;
  border: 1px solid var(--jcore-button-bg-color, var(--wp--preset--color--brand));
  flex-grow: 1;
  margin-left: 0;
  margin-right: 6px;
  min-width: 3rem;
  padding: 0.45rem 1rem;
  text-decoration: unset !important;
  font-size: var(--jcore-button-font-size, 1rem);
  background-color: var(--wp--preset--color--white);
  color: var(--wp--preset--color--black);
}
.search-form .wp-block-search__button,
.search-form .search-submit,
.search-form .btn[type=submit],
.search-form button[type=submit],
.search-form input[type=submit],
.searchform .wp-block-search__button,
.searchform .search-submit,
.searchform .btn[type=submit],
.searchform button[type=submit],
.searchform input[type=submit],
.wp-block-search .wp-block-search__button,
.wp-block-search .search-submit,
.wp-block-search .btn[type=submit],
.wp-block-search button[type=submit],
.wp-block-search input[type=submit] {
  padding: calc(0.45rem + 1px) calc(1rem + 1px);
  font-size: var(--jcore-button-font-size, 1rem);
  margin-left: 0;
  background-color: var(--jcore-button-bg-color, var(--wp--preset--color--brand));
  color: var(--jcore-button-text-color, var(--wp--preset--color--black));
  border: 1px solid transparent;
  cursor: pointer;
}
.search-form .wp-block-search__inside-wrapper,
.searchform .wp-block-search__inside-wrapper,
.wp-block-search .wp-block-search__inside-wrapper {
  margin-top: 6px;
  display: flex;
  width: 100%;
}

/*
* Gutenberg block Details styling as accordion
*
*
*/
/* PDF and CAD special styles, then basics */
details.wp-block-details.pdf summary::marker {
  content: "\f1c1  ";
  font-family: "Font Awesome 6 Sharp";
  font-weight: 300;
  color: var(--wp--preset--color--brand);
}

details.wp-block-details.cad summary::marker {
  content: "\e672  ";
  font-family: "Font Awesome 6 Sharp";
  font-weight: 300;
  color: var(--wp--preset--color--brand);
}

/*
*
* General Details styles Background-color, color, border-radius and shadow can be set in theme.jason, but chose to put it all here instead.
*
*/
details.wp-block-details {
  margin-bottom: 1rem;
  border-radius: 0;
}
details.wp-block-details summary {
  box-sizing: border-box;
  padding: 1rem 3.5rem 1rem 1rem;
  font-family: var(--jcore-heading-font-family);
  font-size: var(--wp--preset--font-size--heading-5);
  background-color: var(--wp--preset--color--off-white);
  border-radius: var(--wp--preset--border-radius--small);
  font-weight: 400;
  position: relative;
}
details.wp-block-details summary + * {
  margin-top: 1rem;
}
details.wp-block-details summary::marker {
  content: none;
}

/* Add a custom transition when opening/closing. -It only "takes" on the padding- */
.wp-block-details {
  transition: all 0.5s ease-in-out;
}

/* Add horizontal margin to nested blocks/elements. */
.wp-block-details > :where(:not(summary)) {
  margin-left: 1rem;
  margin-right: 1rem;
}

/* If open, add some bottom padding to avoid content butting against the bottom. */
.wp-block-details[open] {
  padding-bottom: 1rem;
}

/* Change the background of the `summary` element based on state. */
.wp-block-details[open] summary,
.wp-block-details summary:hover,
.wp-block-details summary:focus {
  background: var(--wp--preset--color--off-white);
}

/* Chevron like Font Awesome's chevron-down, drawn as a mask so it takes the text colour. Turns over when open. */
.wp-block-details summary::after {
  --details-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  width: 20px;
  height: 20px;
  background-color: currentColor;
  -webkit-mask: var(--details-chevron) center/contain no-repeat;
  mask: var(--details-chevron) center/contain no-repeat;
  transform: translateY(-50%);
  transition: transform 0.2s ease;
}

.wp-block-details[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}

/* Wrapper to show videos embedded with Gutenberg responsively Works out of the box for YouTube videos. Add videowrapper class to work with any embedded iframe */
.wp-block-embed-youtube .wp-block-embed__wrapper,
.videowrapper .wp-block-embed__wrapper {
  aspect-ratio: 16/9;
}
.wp-block-embed-youtube .wp-block-embed__wrapper iframe,
.videowrapper .wp-block-embed__wrapper iframe {
  width: 100%;
  height: 100%;
}

/*
 * File block: the file name as a link and the download button as the theme's
 * dark pill (the button takes its base look from the theme.json button styles,
 * like other buttons). The arrow is a text character, no icon font needed.
 */
.wp-block-file {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.25rem;
  margin-bottom: 2rem;
}
.wp-block-file > a:not(.wp-block-file__button) {
  color: var(--wp--preset--color--dark);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.wp-block-file > a:not(.wp-block-file__button):hover, .wp-block-file > a:not(.wp-block-file__button):focus-visible {
  text-decoration-thickness: 2px;
}
.wp-block-file .wp-block-file__button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0.75rem 1.5rem;
  font-size: var(--wp--preset--font-size--small);
  transition: background-color 0.2s ease;
}
.wp-block-file .wp-block-file__button::after {
  content: "↓";
}
.wp-block-file .wp-block-file__button:hover, .wp-block-file .wp-block-file__button:focus-visible {
  background-color: var(--wp--preset--color--grey);
  color: var(--wp--preset--color--yellow);
  opacity: 1;
}
.wp-block-file .wp-block-file__embed {
  flex-basis: 100%;
  border-radius: var(--wp--preset--border-radius--medium);
}

/* Media and images */
.wp-block-image.alignleft {
  float: left;
}
.wp-block-image.alignright {
  float: right;
}
.wp-block-image.aligncenter {
  margin-left: auto;
  margin-right: auto;
}
.wp-block-image {
  border-radius: 0;
}
.wp-block-image img {
  border-radius: 0;
}
.wp-block-image img.no-radius {
  border-radius: 0;
}
.wp-block-image {
  /*
   * Images are square by default (logos and other uploads must not be
   * rounded). The block's "Rounded" style is opt-in and gives the theme's
   * small radius instead of core's full circle.
   */
}
.wp-block-image.is-style-rounded img {
  border-radius: var(--wp--preset--border-radius--small);
}
.wp-block-image.is-style-rounded:has(> figcaption) img {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.wp-block-image.is-style-rounded:has(> figcaption) figcaption.wp-element-caption {
  border-radius: 0 0 var(--wp--preset--border-radius--small) var(--wp--preset--border-radius--small);
}

.wp-block-cover:not(.no-radius) .wp-block-cover__image-background {
  border-radius: 0;
}

/*Lightbox enabled, but no icon on the image on hover.*/
figure button.lightbox-trigger {
  display: none;
}

/*
* A class for zooming images on hover *
*/
.img-hover-zoom {
  overflow: hidden;
}

.img-hover-zoom img {
  transition: transform 0.5s ease;
  filter: brightness(90%);
}

.img-hover-zoom:hover img {
  transform: scale(1.1);
  filter: brightness(100%);
}

/*
* A class for zooming images on hover with brightness reversed compared to normal image-zoom *
*/
.img-hover-zoom-reverse {
  overflow: hidden;
}

.img-hover-zoom-reverse img {
  transition: transform 0.5s ease;
  filter: brightness(100%);
}

.img-hover-zoom-reverse:hover img {
  transform: scale(1.1);
  filter: brightness(85%);
}

/*
 * Image captions: small dark text on a pale yellow strip, no rounded corners.
 *
 * A captioned image shrinks to the image's own width, and contain: inline-size
 * keeps a long caption from widening it, so the strip is never wider than the
 * photo. Wide and full images stretch, so they are left out.
 */
.wp-block-image figcaption.wp-element-caption {
  contain: inline-size;
  margin: 0;
  padding: 0.5rem 0.875rem;
  border-radius: 0;
  background-color: var(--wp--preset--color--pale-yellow);
  color: var(--wp--preset--color--dark);
  font-size: var(--wp--preset--font-size--mini);
  line-height: var(--wp--custom--line-height--md);
  text-align: left;
  text-shadow: none;
}

.wp-block-image:has(> figcaption):not(.alignwide, .alignfull) {
  width: fit-content;
  max-width: 100%;
}

/*
 * Gallery: captions sit below each photo like on single images, instead of
 * core's overlay. Core does the same for rounded and bordered gallery images;
 * in cropped galleries the photo still fills the tile above the caption.
 */
.wp-block-gallery.has-nested-images figure.wp-block-image > a,
.wp-block-gallery.has-nested-images figure.wp-block-image > div {
  flex: 1 1 auto;
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption.wp-element-caption {
  position: relative;
  flex: initial;
  padding: 0.5rem 0.75rem;
  background: var(--wp--preset--color--pale-yellow);
  color: var(--wp--preset--color--dark);
  font-size: var(--wp--preset--font-size--mini);
  text-align: left;
  text-shadow: none;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before {
  display: none;
}

/* Gutenberg media and text block */
.wp-block-media-text .wp-block-media-text__content {
  /* remove the default 7% horizontal padding */
  padding: 0;
}

/*
 * Pullquote. The plain Quote block is hidden in the editor (Ydin's restricted
 * blocks), so this is the only quote editors can use.
 *
 * The opening quotation mark is the font's own “, set large and yellow in the
 * indent to the left of the text.
 */
.wp-block-pullquote {
  --pullquote-indent: clamp(3rem, 6vw, 5rem);
  margin-bottom: 2rem;
  padding: 0;
  border: 0;
}
.wp-block-pullquote:not(:first-child) {
  margin-top: var(--wp--style--block-gap, 1.5rem);
}
.wp-block-pullquote blockquote {
  position: relative;
  margin: 0 0 0 var(--pullquote-indent);
  border: 0;
  quotes: none;
}
.wp-block-pullquote blockquote::before {
  content: "“";
  position: absolute;
  top: 0;
  left: calc(var(--pullquote-indent) * -1);
  color: var(--wp--preset--color--yellow);
  font-family: var(--jcore-heading-font-family, var(--wp--preset--font-family--inter));
  font-size: calc(var(--pullquote-indent) * 1.6);
  font-weight: 800;
  line-height: 0.8;
}
.wp-block-pullquote blockquote p {
  margin: 0 0 1.5rem;
  font-family: var(--jcore-heading-font-family, var(--wp--preset--font-family--inter));
  font-size: var(--wp--preset--font-size--heading-3);
  font-style: normal;
  font-weight: 300;
  line-height: var(--wp--custom--line-height--md);
  text-align: left;
}
.wp-block-pullquote blockquote cite {
  display: block;
  color: var(--wp--preset--color--mid-grey);
  font-family: var(--jcore-heading-font-family, var(--wp--preset--font-family--inter));
  font-size: var(--wp--preset--font-size--mini);
  font-style: normal;
  font-weight: 600;
  text-align: left;
}

/* RSS Feed block */
ul.wp-block-rss {
  list-style: none;
}

.wp-block-rss .wp-block-rss__item {
  background-color: var(--wp--preset--color--light);
  margin-bottom: 0;
  min-height: 150px;
  padding: 1rem;
}

.wp-block-rss .wp-block-rss__item a {
  color: var(--wp--preset--color--brand);
  font-size: var(--wp--preset--font-size--heading-4);
  margin-bottom: 0.75rem;
  text-decoration: none;
}
.wp-block-rss .wp-block-rss__item a::after {
  content: "  \f09e";
  font-family: "Font Awesome 6 Sharp";
  font-weight: 400;
}
.wp-block-rss .wp-block-rss__item a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: from-font;
}

.wp-block-rss .wp-block-rss__item .wp-block-rss__item-publish-date {
  font-weight: bold;
  margin: 0.75rem 0;
  font-size: var(--wp--preset--font-size--mini);
}

.wp-block-rss .wp-block-rss__item:nth-of-type(2n + 1) {
  background-color: var(--wp--preset--color--light);
}

/*
 * Table: light grey borders and header line instead of core's black ones.
 * Stripes: two light yellows alternate, with a yellow line under the header.
 * The "> table" keeps these ahead of core's table styles whatever the load order.
 */
.wp-block-table > table thead {
  border-bottom: 2px solid var(--wp--preset--color--light);
}
.wp-block-table > table tfoot {
  border-top: 2px solid var(--wp--preset--color--light);
}
.wp-block-table > table td,
.wp-block-table > table th {
  padding: 0.75em 1em;
  border: 1px solid var(--wp--preset--color--light);
}
.wp-block-table > table th {
  background-color: var(--wp--preset--color--off-white);
  font-weight: 700;
  text-align: left;
}

.wp-block-table.is-style-stripes {
  border-bottom: 0;
}
.wp-block-table.is-style-stripes > table td,
.wp-block-table.is-style-stripes > table th {
  border-color: transparent;
}
.wp-block-table.is-style-stripes > table th {
  background-color: transparent;
}
.wp-block-table.is-style-stripes > table thead {
  border-bottom: 2px solid var(--wp--preset--color--yellow);
}
.wp-block-table.is-style-stripes > table tbody tr:nth-child(odd) {
  background-color: var(--wp--preset--color--pale-yellow);
}
.wp-block-table.is-style-stripes > table tbody tr:nth-child(even) {
  background-color: color-mix(in srgb, var(--wp--preset--color--pale-yellow) 45%, var(--wp--preset--color--white));
}

/* 
* YOAST Breadcrumbs block styling on differnet backgrounds
*
*/
.wave .yoast-breadcrumbs {
  color: var(--wp--preset--color--white);
}
.wave .yoast-breadcrumbs span {
  font-size: 12px;
  text-transform: uppercase;
}
.wave .yoast-breadcrumbs a {
  color: var(--wp--preset--color--white);
}

.yoast-breadcrumbs {
  font-size: var(--wp--preset--font-size--mini);
  font-weight: 600;
  color: var(--wp--preset--color--dark);
}
.yoast-breadcrumbs a {
  color: inherit;
  text-decoration: none;
  opacity: 0.7;
}
.yoast-breadcrumbs a:hover, .yoast-breadcrumbs a:focus-visible {
  opacity: 1;
  text-decoration: underline;
}
.yoast-breadcrumbs .breadcrumb_last {
  color: inherit;
}

/*
 * Bulleted and numbered lists share one indent, so their text starts at the
 * same place: the list is indented by --list-indent and the marker (number or
 * yellow dot) sits in that gutter, --list-marker-gap away from the text.
 */
ul.wp-block-list,
ol.wp-block-list {
  --list-indent: 1.75rem;
  --list-marker-gap: 0.5rem;
  margin-bottom: 2rem;
  padding-left: var(--list-indent);
}
ul.wp-block-list li,
ol.wp-block-list li {
  margin-bottom: 0.75rem;
  padding-left: 0;
}
ul.wp-block-list li > ul,
ul.wp-block-list li > ol,
ol.wp-block-list li > ul,
ol.wp-block-list li > ol {
  margin-block: 0.75rem 0;
}

ol.wp-block-list li {
  padding-left: var(--list-marker-gap);
  margin-left: calc(var(--list-marker-gap) * -1);
}
ol.wp-block-list li::marker {
  color: var(--wp--preset--color--dark);
  font-weight: 700;
}

/* Yellow dot instead of the bullet, centred on the first line. */
ul.wp-block-list:not(.wp-block-rss, .arrow-list, .is-style-chips) li {
  position: relative;
  list-style-type: none;
}
ul.wp-block-list:not(.wp-block-rss, .arrow-list, .is-style-chips) li::before {
  content: "";
  position: absolute;
  top: calc(0.5lh - 4px);
  left: calc(var(--list-marker-gap) * -1 - 8px);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--wp--preset--color--yellow);
}

/* On a yellow background the dots turn dark, so they stay visible. */
.has-yellow-background-color ul.wp-block-list:not(.wp-block-rss, .arrow-list, .is-style-chips) li::before {
  background-color: var(--wp--preset--color--dark);
}

/* Arrow-list with yellow arrows instead of bullets */
ul.wp-block-list.arrow-list {
  padding-left: 0;
}
ul.wp-block-list.arrow-list li {
  position: relative;
  list-style-type: none;
  padding-left: 2rem !important;
}
ul.wp-block-list.arrow-list li:before {
  content: "\f178";
  font-family: "Font Awesome 6 Sharp";
  font-weight: 300;
  position: absolute;
  left: 0;
  font-size: 16px;
  color: var(--wp--preset--color--yellow);
}
ul.wp-block-list.arrow-list li:hover {
  text-decoration: none;
}
ul.wp-block-list.arrow-list li:hover:before {
  transform: rotate(-45deg);
}
ul.wp-block-list.arrow-list li::marker {
  display: none !important;
}

/* Chips: list items as rounded tiles with a yellow dot, registered in includes/setup.php */
ul.wp-block-list.is-style-chips {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
ul.wp-block-list.is-style-chips li {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  padding: 20px 22px;
  border-radius: 16px;
  background-color: var(--wp--preset--color--off-white);
  font-size: 19px;
  font-weight: 600;
  line-height: var(--wp--custom--line-height--md);
}
ul.wp-block-list.is-style-chips li::before {
  content: "";
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  border-radius: var(--wp--preset--border-radius--pill);
  background-color: var(--wp--preset--color--yellow);
  box-shadow: 0 0 0 4px #ffe9a6;
}
@media (max-width: 640px) {
  ul.wp-block-list.is-style-chips {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  ul.wp-block-list.is-style-chips li {
    padding: 16px 18px;
    font-size: 17px;
  }
}

/* Spacer Block XL set to 16px or max mobile height in Gutenberg editor, has css style xl */
.wp-block-spacer.is-style-xl {
  padding-top: var(--wp--custom--spacing-sizes--xlarge);
}

/* Spacer Block LG -set to 16px or max mobile height in Gutenberg editor, has css style lg */
.wp-block-spacer.is-style-lg {
  padding-top: var(--wp--custom--spacing-sizes--large);
}

/* Spacer Block MD -set to 16px or max mobile height in Gutenberg editor, has css style md */
.wp-block-spacer.is-style-md {
  padding-top: var(--wp--custom--spacing-sizes--medium);
}

/* Spacer Block SM -set to 16px or max mobile height in Gutenberg editor, has css style sm */
.wp-block-spacer.is-style-sm {
  padding-top: var(--wp--custom--spacing-sizes--small);
}

/*# sourceMappingURL=theme.css.map */
