@charset "UTF-8";
@media (max-width: 600px) {
  :root {
    --wp--preset--font-size--normal: 16px;
    --wp--preset--font-size--normal-up: 18px;
    --wp--preset--font-size--medium: 22px;
    --wp--preset--font-size--large: 26px;
  }
}
:root {
  /*--wp--preset--font-size--small: 18px;
  --wp--preset--font-size--medium: 28px;
  --wp--preset--font-size--large: 38px;
  --wp--preset--font-size--x-large: 30px;
  --wp--preset--font-size--huge: 40px;

  @media (min-width: 1024px) {
    --wp--preset--font-size--small: 18px;
    --wp--preset--font-size--medium: 48px;
    --wp--preset--font-size--large: 54px;
    --wp--preset--font-size--x-large: 42px;
    --wp--preset--font-size--huge: 50px;
  }

  @media (min-width: 1280px) {
    --wp--preset--font-size--huge: 72px;
  }*/
  --spacing-horizontal: 25px;
  --scrollbar-width: 20px;
}
@media (min-width: 1024px) {
  :root {
    --spacing-horizontal: 35px;
  }
}

@media (max-width: 600px) {
  :root {
    --wp--preset--font-size--normal: 16px;
    --wp--preset--font-size--normal-up: 18px;
    --wp--preset--font-size--medium: 22px;
    --wp--preset--font-size--large: 26px;
  }
}
:root {
  /*--wp--preset--font-size--small: 18px;
  --wp--preset--font-size--medium: 28px;
  --wp--preset--font-size--large: 38px;
  --wp--preset--font-size--x-large: 30px;
  --wp--preset--font-size--huge: 40px;

  @media (min-width: 1024px) {
    --wp--preset--font-size--small: 18px;
    --wp--preset--font-size--medium: 48px;
    --wp--preset--font-size--large: 54px;
    --wp--preset--font-size--x-large: 42px;
    --wp--preset--font-size--huge: 50px;
  }

  @media (min-width: 1280px) {
    --wp--preset--font-size--huge: 72px;
  }*/
  --spacing-horizontal: 25px;
  --scrollbar-width: 20px;
}
@media (min-width: 1024px) {
  :root {
    --spacing-horizontal: 35px;
  }
}

html {
  font-family: var(--wp--preset--font-family--font-stack-body);
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.61803399;
  font-family: var(--wp--preset--font-family--font-stack-body);
  background-color: var(--wp--preset--color--grey-light);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--wp--preset--font-family--font-stack-body);
  font-weight: 600;
  padding: 0;
  line-height: 1em;
}

h1 {
  font-size: var(--wp--preset--font-size--large);
  padding: 0 0 10px 0;
}

h2 {
  font-size: var(--wp--preset--font-size--large);
}

h3 {
  font-size: 30px;
}

h4 {
  font-size: var(--wp--preset--font-size--nomal);
  font-weight: bold;
}

h1 a,
h2 a {
  text-decoration: none;
}

p {
  margin-top: 1.6em;
  margin-bottom: 1.6em;
}

/**************************************************************************************************/
/*      RESPONSIVE IMAGES VIDEOS OBJECTS
/**************************************************************************************************/
embed,
iframe,
object {
  max-width: 100%;
}

/**************************************************************************************************/
/*      IMAGES AND CAPTIONS
/**************************************************************************************************/
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

a img {
  border: none;
}

.alignleft,
img.alignleft {
  display: inline;
  float: left;
  margin-right: 24px;
  margin-top: 4px;
}

.alignright,
img.alignright {
  display: inline;
  float: right;
  margin-left: 24px;
  margin-top: 4px;
}

.aligncenter,
img.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

img.alignleft,
img.alignright,
img.aligncenter {
  margin-bottom: 12px;
}

/**************************************************************************************************/
/*      DEFAULT FONT LINK COLOR ETC.     */
/**************************************************************************************************/
a {
  text-decoration: underline;
  color: var(--wp--preset--color--primary);
  transition: 0.3s ease-out;
}

a:hover {
  text-decoration: underline;
}

a:hover,
a:active,
a:focus {
  outline: 0;
}

a.button,
a.button:visited,
button.button,
input.button,
input[type=submit],
a.view_more,
a.more-link,
.comment-reply-link,
span.button {
  display: block;
  text-align: center;
  background-color: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--light);
  padding: 9px 20px;
  border-radius: 8px;
  text-decoration: none !important;
  font-weight: 600;
  font-size: var(--wp--preset--font-size--normal-up);
  transition: opacity 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  outline: none;
  border-width: 2px;
  border-style: solid;
  border-color: var(--wp--preset--color--secondary);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  text-transform: capitalize;
}
a.button svg.icon,
a.button:visited svg.icon,
button.button svg.icon,
input.button svg.icon,
input[type=submit] svg.icon,
a.view_more svg.icon,
a.more-link svg.icon,
.comment-reply-link svg.icon,
span.button svg.icon {
  font-size: 1.66em;
}
a.button:hover,
a.button:visited:hover,
button.button:hover,
input.button:hover,
input[type=submit]:hover,
a.view_more:hover,
a.more-link:hover,
.comment-reply-link:hover,
span.button:hover {
  opacity: 0.88;
}

object,
embed {
  outline: 0;
}

ins {
  background-color: #ff0;
  text-decoration: none;
}

dfn[title] {
  cursor: help;
  border-bottom: 1px dotted;
  font-style: normal;
}

blockquote {
  margin-inline-start: 0;
  margin-inline-end: 0;
}
blockquote p {
  display: flex;
  gap: var(--gap-size);
  flex: 1 0;
  font-size: var(--wp--preset--font-size--medium);
  font-style: italic;
  line-height: 1.3;
}
blockquote p:after {
  content: "”";
  display: block;
  flex: 0 0 64px;
  height: 40px;
  font-size: 150px;
  line-height: 1;
}
blockquote cite {
  font-style: normal;
  font-size: 16px;
}

hr {
  display: block;
  padding: 0;
  border: 0;
}

ul,
ol {
  margin-bottom: 1em;
}

* {
  box-sizing: border-box;
}

*:before,
*:after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 98px;
}
@media (min-width: 980px) {
  html {
    scroll-padding-top: 103px;
  }
}

body {
  margin: 0;
  padding: 0;
}

.screen-reader-text {
  display: none;
}

.container {
  max-width: var(--wp--style--global--content-size);
  margin-left: auto;
  margin-right: auto;
}

.clearfix:after {
  content: " "; /* Older browser do not support empty content */
  visibility: hidden;
  display: block;
  height: 0;
  clear: both;
}

.entry-header {
  max-width: 100%;
}

.entry-content .wp-audio-shortcode,
.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator):not(.woocommerce),
.footer-widgets > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator):not(.woocommerce),
.default-max-width {
  max-width: var(--wp--style--global--content-size);
  margin-left: auto;
  margin-right: auto;
}

#main {
  padding: 0 var(--spacing-horizontal) 0 var(--spacing-horizontal);
}
#main .not-found {
  margin-top: var(--spacing-horizontal);
  margin-bottom: var(--spacing-horizontal);
}

/**
 * Index page
 */
/**
 * Blog overview page (index.php)
 */
.blog-overview {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--wp--style--global--wide-size);
  margin-bottom: 48px;
}
.blog-overview__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 48px;
}
.blog-overview__filter {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 18px;
  border: 1px solid var(--wp--preset--color--steel-grey, #ccc);
  border-radius: 8px;
  background: transparent;
  color: var(--wp--preset--color--primary);
  font-size: var(--wp--preset--font-size--normal);
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  line-height: 1;
  text-decoration: none;
}
.blog-overview__filter svg {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
  opacity: 0.6;
}
.blog-overview__filter:hover {
  border-color: var(--wp--preset--color--primary);
  text-decoration: none;
}
.blog-overview__filter--active {
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--light);
  border-color: var(--wp--preset--color--primary);
}
.blog-overview__filter--active svg {
  opacity: 1;
}
.blog-overview__grid.is-prepending {
  opacity: 0.5;
  pointer-events: none;
}
.blog-overview__load-more {
  display: flex;
  justify-content: center;
  margin-top: 48px;
  margin-bottom: 48px;
  cursor: pointer;
}
.blog-overview__load-more-btn {
  display: block;
  text-align: center;
  background-color: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--light);
  padding: 9px 20px;
  border-radius: 8px;
  text-decoration: none !important;
  font-weight: 600;
  font-size: var(--wp--preset--font-size--normal-up);
  transition: opacity 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  outline: none;
  border-width: 2px;
  border-style: solid;
  border-color: var(--wp--preset--color--secondary);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  text-transform: capitalize;
}
.blog-overview__load-more-btn svg.icon {
  font-size: 1.66em;
}
.blog-overview__load-more-btn:hover {
  opacity: 0.88;
}
.blog-overview__load-more-btn.is-loading {
  opacity: 0.6;
  cursor: wait;
}
.blog-overview__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 900px) {
  .blog-overview__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 560px) {
  .blog-overview__grid {
    grid-template-columns: 1fr;
  }
}

/**
 * Single post
 */
.single-post__hero {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--wp--style--global--wide-size);
  position: relative;
  overflow: visible;
  margin-bottom: 80px;
}
.single-post__hero-image {
  overflow: hidden;
  position: relative;
}
.single-post__hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(11, 31, 53, 0.15) 0%, rgba(11, 31, 53, 0.55) 100%);
}
.single-post__hero-image img {
  display: block;
  width: 100%;
  aspect-ratio: 16/7;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0;
}
.single-post__hero-inner {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-horizontal);
  padding-bottom: 80px;
}
.single-post__title {
  color: var(--wp--preset--color--light);
  text-align: center;
  font-size: clamp(1.6rem, 3.5vw, 2.6rem);
  line-height: 1.2;
  margin: 0;
  max-width: 800px;
}
.single-post__meta-bar {
  background: var(--wp--preset--color--light);
  border-radius: 12px;
  box-shadow: 0 4px 24px rgba(11, 31, 53, 0.12);
  padding: 15px;
}
@media (min-width: 800px) {
  .single-post__meta-bar {
    position: absolute;
    bottom: -27px;
    left: var(--spacing-horizontal);
    right: var(--spacing-horizontal);
  }
}
.single-post__meta-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
}
.single-post__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--primary);
  white-space: nowrap;
}
.single-post__meta-item svg {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
}
.single-post__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.single-post__tag {
  display: inline-block;
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--light);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 400;
  padding: 0px 14px;
  border-radius: 6px;
  text-decoration: none;
}
.single-post__tag:hover {
  opacity: 0.85;
  text-decoration: none;
}
.single-post__content {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 var(--spacing-horizontal);
  padding-bottom: 80px;
}
.single-post h2 {
  font-size: 32px;
}

/**************************************************************************************************/
/*    COMMENTS STYLING    */
/**************************************************************************************************/
.comment-reply-title {
  padding: 25px 0;
}

.comment-list {
  list-style: none outside none;
  padding: 0;
}
.comment-list li {
  list-style: none !important;
}
.comment-list li.comment > div img.avatar {
  position: absolute;
  left: 15px;
  top: 15px;
}
.comment-list .children {
  margin-left: 0px !important;
  padding-left: 40px;
  background-repeat: no-repeat;
  background-position: left 20px;
}

.comment .comment-body {
  background-color: #ffffff;
  margin: 0;
  overflow: hidden;
  padding: 15px;
  margin-top: 15px;
  padding-left: 90px;
  border: 1px solid #dcdcdc;
  position: relative;
}

#comment-form-title {
  font-size: 24px;
  padding-bottom: 10px;
}

.vcard .avatar {
  position: absolute;
  left: 15px;
  top: 15px;
}

.comment-metadata {
  font-size: 11px;
  line-height: 16px;
  margin-bottom: 10px;
}

.form-allowed-tags {
  background-color: #fff;
  border-bottom: 3px solid #DBDBDB;
  padding: 1em 2em;
  margin-bottom: 1em;
  margin-top: 1em;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}

.form-allowed-tags code {
  white-space: inherit;
  word-wrap: break-word;
  display: block;
}

.bypostauthor > article {
  background: none repeat scroll 0 0 rgba(70, 165, 70, 0.09);
}

.comments-closed {
  background-color: #4FBEBA !important;
  border-radius: 0;
  border: 1px solid #333 !important;
}

.comments-closed h3 {
  margin: 0;
  color: #3B3B3B;
}

.pingback {
  background: none repeat scroll 0 0 #FFFFFF;
  border-bottom: 1px solid #DBDBDB;
  padding: 1em 2em;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}

.comment-form {
  padding: 20px;
  margin: 0 0 20px 0;
  border: #ff0000;
  background: #ccc;
}

.comment-form-comment label {
  display: block;
  font-weight: bold;
}

input[type=tel],
input[type=date],
input[type=email],
input[type=search],
input[type=text],
input[type=number],
input[type=password],
textarea,
select {
  font-family: var(--wp--preset--font-family--font-stack-body);
  padding: 10px 13px;
  max-width: 100%;
  border-radius: 8px;
  border: 1px solid var(--wp--preset--color--steel-grey);
}
input[type=tel]:focus,
input[type=date]:focus,
input[type=email]:focus,
input[type=search]:focus,
input[type=text]:focus,
input[type=number]:focus,
input[type=password]:focus,
textarea:focus,
select:focus {
  outline: none;
}

/**
 * Newsletter form
 */
#gform_wrapper_1.gform_wrapper {
  container-type: inline-size;
  container-name: form-body;
}
@container form-body (min-width: 600px) {
  #gform_wrapper_1.gform_wrapper form {
    display: flex;
    align-items: flex-end;
    gap: 12px;
  }
}
#gform_wrapper_1.gform_wrapper .gform_body {
  flex: 1 1 auto;
}
@container form-body (min-width: 600px) {
  #gform_wrapper_1.gform_wrapper .gform_body .gform_fields {
    display: flex;
    align-items: flex-end;
    gap: 12px;
  }
}
@container form-body (min-width: 600px) {
  #gform_wrapper_1.gform_wrapper .gform_fields .gfield {
    flex: 1;
    margin: 0;
  }
  #gform_wrapper_1.gform_wrapper .gform_footer {
    padding: 0;
    margin: 0;
  }
}
#gform_wrapper_1.gform_wrapper.gravity-theme input[type=tel],
#gform_wrapper_1.gform_wrapper.gravity-theme input[type=date],
#gform_wrapper_1.gform_wrapper.gravity-theme input[type=email],
#gform_wrapper_1.gform_wrapper.gravity-theme input[type=search],
#gform_wrapper_1.gform_wrapper.gravity-theme input[type=text],
#gform_wrapper_1.gform_wrapper.gravity-theme input[type=number],
#gform_wrapper_1.gform_wrapper.gravity-theme input[type=password],
#gform_wrapper_1.gform_wrapper.gravity-theme textarea,
#gform_wrapper_1.gform_wrapper.gravity-theme select {
  padding: 10px 13px;
  border: none;
  line-height: 1em;
}
#gform_wrapper_1.gform_wrapper.gravity-theme .gform_footer input,
#gform_wrapper_1.gform_wrapper.gravity-theme .gform_page_footer input {
  width: 100%;
}
@container form-body (min-width: 600px) {
  #gform_wrapper_1.gform_wrapper.gravity-theme .gform_footer,
  #gform_wrapper_1.gform_wrapper.gravity-theme .gform_page_footer {
    margin: 0;
    padding: 0;
  }
  #gform_wrapper_1.gform_wrapper.gravity-theme .gform_footer input,
  #gform_wrapper_1.gform_wrapper.gravity-theme .gform_page_footer input {
    margin: 0;
    width: auto;
  }
}
#gform_wrapper_1.gform_wrapper .gform_confirmation_message {
  text-align: center;
}

#gform_confirmation_message_1,
.gform_confirmation_message {
  text-align: center;
}

.gform_wrapper.gravity-theme .gform_validation_errors {
  display: none !important;
}

.wp-custom-logo .site-title,
.wp-custom-logo .site-description {
  display: none;
}

#masthead {
  position: fixed;
  z-index: 998;
  width: 100%;
  padding: 15px var(--spacing-horizontal);
  background-color: var(--wp--preset--color--grey-light);
  border-bottom: 3px solid var(--wp--preset--color--steel-grey);
  transition: all 0.25s ease;
}
@media (min-width: 980px) {
  #masthead {
    background-color: transparent;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0) 100%);
    border-bottom: none;
    position: fixed;
    z-index: 998;
    width: 100%;
  }
}
#masthead .container {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--wp--style--global--wide-size);
}
#masthead .logo-nav-wrap {
  position: relative;
  display: flex;
}
#masthead .logo-nav-wrap .site-branding {
  max-width: 160px;
  transition: max-width 0.25s ease;
}
@media (min-width: 1090px) {
  #masthead .logo-nav-wrap .site-branding {
    max-width: 244px;
  }
}
#masthead.is-scrolled-down {
  background-color: var(--wp--preset--color--grey-light);
  border-bottom: 3px solid var(--wp--preset--color--steel-grey);
  padding: 10px var(--spacing-horizontal);
}
@media (min-width: 980px) {
  #masthead.is-scrolled-down {
    border-bottom: 4px solid var(--wp--preset--color--steel-grey);
  }
}
#masthead.is-scrolled-down .site-branding {
  max-width: 150px;
}
@media (min-width: 980px) {
  #masthead.is-scrolled-down {
    padding: 10px var(--spacing-horizontal) 0 var(--spacing-horizontal);
  }
  #masthead.is-scrolled-down #site-navigation > div > ul > li > ul {
    background-color: var(--wp--preset--color--grey-light);
  }
}

#content {
  padding-top: 110px;
}
@media (min-width: 980px) {
  #content {
    padding-top: 152px;
  }
}

@media (min-width: 980px) {
  body.has-header-image #content {
    padding-top: 0px;
  }
}
#language-selector {
  position: absolute;
  margin-top: 5px;
  right: 37px;
  z-index: 997;
  display: flex;
  align-items: center;
}
@media (min-width: 980px) {
  #language-selector {
    z-index: 999;
    margin-top: 0px;
    right: 0px;
  }
}
#language-selector > button {
  background-color: transparent;
  color: currentColor;
  border: none;
  cursor: pointer;
  outline: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}
#language-selector > button .image-wrapper {
  width: 32px;
  overflow: hidden;
}
#language-selector > button .image-wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#language-selector > button:after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
  transform: rotate(135deg);
  margin-top: -3px;
}
#language-selector img {
  width: 33px;
  height: 21px;
}
#language-selector ul {
  display: none;
  position: absolute;
  list-style: none;
  padding: 0;
  margin: 0;
  background: var(--wp--preset--color--light);
  padding: 15px;
  width: 200px;
  left: -155px;
  top: 40px;
  flex-direction: column;
  gap: 4px;
  box-shadow: 0px 8px 8px rgba(11, 31, 53, 0.3);
  border-radius: 8px;
}
#language-selector ul.visible {
  display: flex;
}
#language-selector ul a {
  font-size: var(--wp--preset--font-size--small);
  text-decoration: none;
}

#footer {
  padding: 0 var(--spacing-horizontal);
}
#footer a {
  text-decoration: none;
}

.menu-toggle {
  display: block;
  background-color: transparent;
  border: 0;
  font-size: 40px;
  padding: 19px 15px;
  text-align: center;
  visibility: visible;
  right: 0;
  position: fixed;
  margintop: 15px;
  z-index: 999;
  outline: 0;
  width: 62px;
  height: 60px;
  cursor: pointer;
  transition: 0.2s ease;
}
.menu-toggle span.stripe {
  position: relative;
  z-index: 2;
  display: block;
  height: 3px;
  background: var(--wp--preset--color--primary);
  margin-bottom: 6px;
  opacity: 1;
  transition: 0.2s ease;
}
@media (min-width: 980px) {
  .menu-toggle {
    display: none;
  }
}

.menu-active {
  overflow: hidden;
}
.menu-active .menu-toggle span.stripe {
  opacity: 0;
}
.menu-active .menu-toggle span.stripe:first-child {
  opacity: 1;
  transform: rotate3d(0, 0, 1, 45deg);
  margin: 0 0 0 0;
}
.menu-active .menu-toggle span.stripe:last-child {
  opacity: 1;
  transform: rotate3d(0, 0, 1, -45deg);
  margin: -12px 0 0 0;
}
.menu-active #masthead #site-navigation {
  margin-left: 0;
}
@media (min-width: 980px) {
  .menu-active {
    overflow: auto;
  }
}

#site-navigation {
  display: block;
  position: fixed;
  z-index: 998;
  left: 0;
  margin-top: -15px;
  background: var(--wp--preset--color--light);
  width: 100%;
  height: 100%;
  transition: margin-left 0.3s ease-out;
  margin-left: -100%;
}
#site-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: center;
  padding: 50px 25px 25px 25px;
}
#site-navigation ul li {
  padding: 0;
  margin: 0;
}
#site-navigation ul li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--wp--preset--font-family--font-stack-header);
  color: var(--wp--preset--color--primary);
  text-decoration: none;
}
#site-navigation > div > ul {
  display: block;
}
#site-navigation > div > ul > li {
  padding: 0 10px;
}
#site-navigation > div > ul > li > a {
  font-size: 20px;
  font-weight: 600;
}
#site-navigation > div > ul > li {
  /* Children */
}
#site-navigation > div > ul > li.menu-item-has-children:hover > ul {
  display: none;
}
#site-navigation > div > ul > li.menu-item-has-children:hover > a {
  text-decoration: underline;
  text-decoration-color: var(--wp--preset--color--steel-grey);
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
}
#site-navigation > div > ul > li.menu-item-has-children > a:after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
  transform: rotate(135deg);
}
#site-navigation > div > ul > li.current-menu-parent > a, #site-navigation > div > ul > li.current_page_parent > a, #site-navigation > div > ul > li.current_page_parent > a, #site-navigation > div > ul > li.current-menu-item > a, #site-navigation > div > ul > li.click-open > a {
  text-decoration: underline;
  text-decoration-color: var(--wp--preset--color--steel-grey);
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
}
#site-navigation > div > ul > li.click-open:hover > ul {
  display: block;
}
#site-navigation > div > ul > li.click-open > ul {
  display: block;
}
#site-navigation > div > ul > li.click-open > a:after {
  transform: rotate(45deg);
}
#site-navigation > div > ul > li > ul {
  display: none;
  position: relative;
  background: transparent;
  width: 100%;
  padding: 20px 0;
}
#site-navigation > div > ul > li > ul > li > a {
  padding: 2px 15px;
  font-size: 18px;
}
#site-navigation > div > ul > li > ul > li:hover > a {
  background: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--light);
}
@media (min-width: 980px) {
  #site-navigation {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    margin-bottom: 10px;
    position: static;
    background: transparent;
    width: auto;
    height: auto;
    margin-top: 0;
    margin-left: 0;
    transition: none;
  }
  #site-navigation ul {
    text-align: left;
    padding: 0;
  }
  #site-navigation ul li a {
    color: var(--wp--preset--color--primary);
  }
  #site-navigation ul li:last-child {
    padding-right: 0px;
  }
  #site-navigation > div {
    margin-top: 40px;
  }
  #site-navigation > div > ul {
    display: flex;
    justify-content: flex-end;
  }
  #site-navigation > div > ul > li {
    padding: 0 10px;
  }
  #site-navigation > div > ul > li > a {
    color: var(--wp--preset--color--primary);
    font-size: 18px;
    margin: 0 0 10px 0;
  }
  #site-navigation > div > ul > li {
    /* Children */
  }
  #site-navigation > div > ul > li.menu-item-has-children:hover > ul {
    display: block;
  }
  #site-navigation > div > ul > li.menu-item-has-children:hover > a {
    text-shadow: none;
  }
  #site-navigation > div > ul > li.current-menu-parent > a, #site-navigation > div > ul > li.current_page_parent > a, #site-navigation > div > ul > li.click-open > a {
    text-shadow: none;
  }
  #site-navigation > div > ul > li.current-menu-parent > a > a:after, #site-navigation > div > ul > li.current_page_parent > a > a:after, #site-navigation > div > ul > li.click-open > a > a:after {
    transform: rotate(0deg);
  }
  #site-navigation > div > ul > li > ul {
    display: none;
    position: absolute;
    width: 344px;
    padding: 0;
    background-color: color-mix(in srgb, var(--wp--preset--color--light) 80%, transparent);
    box-shadow: 0px 8px 8px rgba(11, 31, 53, 0.3);
    border-radius: 8px;
    z-index: 99;
    overflow: hidden;
  }
  #site-navigation > div > ul > li > ul > li > a {
    display: block;
    padding: 2px 15px;
    color: var(--wp--preset--color--primary);
    font-size: 18px;
    font-weight: 300;
    font-family: var(--wp--preset--font-family--font-stack-body);
  }
}

/**
 * Shared mixin for ACF form blocks (request-information, insurance-offer, …).
 *
 * Usage inside the block's root selector:
 *   @include form-block-base('my-block-name');
 *
 * The $block parameter must match the CSS class name of the block root element
 * so that the .has-error → show field-error rule resolves correctly.
 *
 * Requires: @import "../../assets/css/sass/mixins" (or equivalent) before use.
 */
.modal__fieldset {
  border: none;
  padding: 0;
  margin: 0 0 32px;
}
.modal__fieldset legend {
  display: block;
  width: 100%;
  font-weight: 700;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--wp--preset--color--primary, #003366);
}
.modal__fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 600px) {
  .modal__fields {
    grid-template-columns: 1fr;
  }
}
.modal__field {
  display: flex;
  flex-direction: column;
}
.modal__field--full {
  grid-column: 1/-1;
}
.modal__field.has-error .modal__field-error {
  display: block;
}
.modal__label {
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 6px;
}
.modal__field-error {
  display: none;
  color: #cc0000;
  background: #fff9f9;
  border: 1px solid #cc0000;
  font-size: 14.992px;
  margin-block-start: 8px;
  padding: 12.992px 24px;
}
.modal__turnstile {
  margin-top: 20px;
  text-align: center;
}
.modal__turnstile .cf-turnstile {
  display: inline-block;
  margin: auto;
}
.modal__footer {
  margin-top: 24px;
  display: flex;
  justify-content: center;
}
.modal__submit {
  display: block;
  text-align: center;
  background-color: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--light);
  padding: 9px 20px;
  border-radius: 8px;
  text-decoration: none !important;
  font-weight: 600;
  font-size: var(--wp--preset--font-size--normal-up);
  transition: opacity 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  outline: none;
  border-width: 2px;
  border-style: solid;
  border-color: var(--wp--preset--color--secondary);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  text-transform: capitalize;
}
.modal__submit svg.icon {
  font-size: 1.66em;
}
.modal__submit:hover {
  opacity: 0.88;
}
.modal__response {
  margin-top: 16px;
  text-align: center;
  font-weight: 600;
}
.modal__response--success {
  color: #2e7d32;
}
.modal__response--error {
  color: #cc0000;
}
.modal {
  position: fixed;
  z-index: 999999;
  display: none;
  top: 0;
  left: 0;
  width: 100vw;
  left: 0;
  width: 100vw;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.65);
}
.modal.visible {
  display: flex;
  align-items: center;
}
.modal .inner {
  background: var(--wp--preset--color--light);
  max-width: 700px;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  overflow: auto;
  padding-bottom: var(--spacing-horizontal);
}
@media (min-width: 768px) {
  .modal .inner {
    padding-top: 0;
    border-radius: 14px;
    overflow: hidden;
    height: auto;
    width: 90%;
    max-height: 90%;
  }
}
@media (min-width: 768px) {
  .modal .inner .content {
    max-height: calc(90vh - 54px);
    overflow: auto;
  }
}
.modal .inner .content > * {
  max-width: calc(100% - var(--spacing-horizontal) * 2);
  margin-left: auto;
  margin-right: auto;
}
.modal .inner .content .modal-title {
  margin-top: 0;
}
.modal .inner .content .select-label-wrap,
.modal .inner .content .radio-label-wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 25px 0;
}
.modal .header {
  height: 54px;
  overflow: hidden;
}
.modal .header .close-wrapper {
  text-align: right;
  width: 100%;
}
.modal .header .close-wrapper button {
  background: transparent;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  padding: 10px;
  line-height: 1;
  border: none;
  padding: 27px;
  position: relative;
  right: 0;
  transition: transform 0.25s ease;
}
.modal .header .close-wrapper button:before, .modal .header .close-wrapper button:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px;
  height: 36px;
  background-color: var(--wp--preset--color--primary);
  transform-origin: center;
}
.modal .header .close-wrapper button:before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal .header .close-wrapper button:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modal .header .close-wrapper button:hover {
  transform: rotate(180deg);
}

body.modal-active {
  overflow: hidden;
}

@media (max-width: 600px) {
  :root {
    --wp--preset--font-size--normal: 16px;
    --wp--preset--font-size--normal-up: 18px;
    --wp--preset--font-size--medium: 22px;
    --wp--preset--font-size--large: 26px;
  }
}
:root {
  /*--wp--preset--font-size--small: 18px;
  --wp--preset--font-size--medium: 28px;
  --wp--preset--font-size--large: 38px;
  --wp--preset--font-size--x-large: 30px;
  --wp--preset--font-size--huge: 40px;

  @media (min-width: 1024px) {
    --wp--preset--font-size--small: 18px;
    --wp--preset--font-size--medium: 48px;
    --wp--preset--font-size--large: 54px;
    --wp--preset--font-size--x-large: 42px;
    --wp--preset--font-size--huge: 50px;
  }

  @media (min-width: 1280px) {
    --wp--preset--font-size--huge: 72px;
  }*/
  --spacing-horizontal: 25px;
  --scrollbar-width: 20px;
}
@media (min-width: 1024px) {
  :root {
    --spacing-horizontal: 35px;
  }
}

/**
 * Full width
 */
.alignwide {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--wp--style--global--wide-size);
}

.alignfull {
  margin-right: calc(var(--spacing-horizontal) * -1);
  margin-left: calc(var(--spacing-horizontal) * -1);
  border-radius: 0px !important;
}

/**
 *  Responsive videos
 */
.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 0;
  margin-bottom: var(--spacing-horizontal);
  height: 0;
  overflow: hidden;
}
.video-container iframe,
.video-container object,
.video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/**
 * File block
 */
.wp-block-file a {
  display: block;
}

.wp-block-file .wp-block-file__button,
.wp-block-file a.wp-block-file__button {
  display: block;
  text-align: center;
  background-color: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--light);
  padding: 9px 20px;
  border-radius: 8px;
  text-decoration: none !important;
  font-weight: 600;
  font-size: var(--wp--preset--font-size--normal-up);
  transition: opacity 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  outline: none;
  border-width: 2px;
  border-style: solid;
  border-color: var(--wp--preset--color--secondary);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  text-transform: capitalize;
}
.wp-block-file .wp-block-file__button svg.icon,
.wp-block-file a.wp-block-file__button svg.icon {
  font-size: 1.66em;
}
.wp-block-file .wp-block-file__button:hover,
.wp-block-file a.wp-block-file__button:hover {
  opacity: 0.88;
}
.wp-block-file .wp-block-file__button,
.wp-block-file a.wp-block-file__button {
  margin: 1em 0 0 0;
}

/**
 * Groups
 */
.wp-block-group.has-background {
  padding: 50px var(--spacing-horizontal);
}
@media screen and (max-width: 768px) {
  .wp-block-group.is-layout-grid {
    grid-template-columns: 100% !important;
  }
  .wp-block-group.is-layout-grid > * {
    grid-column: span 1 !important;
  }
}
.wp-block-group.service-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.wp-block-group.service-card > * {
  width: 100%;
}
.wp-block-group.service-card > p {
  flex: 1 0 auto;
}
@media screen and (max-width: 768px) {
  .wp-block-group.is-layout-flex.break-768 {
    flex-direction: column !important;
  }
  .wp-block-group.is-layout-flex.break-768 > * {
    width: 100% !important;
  }
}
@media screen and (max-width: 600px) {
  .wp-block-group.is-layout-flex.break-600 {
    flex-direction: column !important;
  }
  .wp-block-group.is-layout-flex.break-600 > * {
    width: 100% !important;
  }
}

.wp-block-cover,
.wp-block-cover-image {
  width: auto;
  overflow: hidden;
  min-height: 0px;
  padding: var(--spacing-horizontal);
}
@media (min-width: 768px) {
  .wp-block-cover,
  .wp-block-cover-image {
    min-height: 794px;
  }
}
.wp-block-cover.has-text-content,
.wp-block-cover-image.has-text-content {
  padding-top: 140px;
}
@media (max-width: 767px) {
  .wp-block-cover.has-text-content,
  .wp-block-cover-image.has-text-content {
    flex-direction: column;
    padding: 0;
  }
  .wp-block-cover.has-text-content .wp-block-cover__image-background,
  .wp-block-cover-image.has-text-content .wp-block-cover__image-background {
    position: relative;
  }
  .wp-block-cover.has-text-content .wp-block-cover__background,
  .wp-block-cover.has-text-content .wp-block-cover__image-background,
  .wp-block-cover-image.has-text-content .wp-block-cover__background,
  .wp-block-cover-image.has-text-content .wp-block-cover__image-background {
    aspect-ratio: 64/30;
  }
  .wp-block-cover.has-text-content .wp-block-cover__inner-container,
  .wp-block-cover-image.has-text-content .wp-block-cover__inner-container {
    padding: var(--spacing-horizontal);
  }
  .wp-block-cover.has-text-content :where(.wp-block-group.wp-block-group-is-layout-constrained),
  .wp-block-cover.has-text-content .wp-block-cover__inner-container,
  .wp-block-cover-image.has-text-content :where(.wp-block-group.wp-block-group-is-layout-constrained),
  .wp-block-cover-image.has-text-content .wp-block-cover__inner-container {
    position: unset;
  }
  .wp-block-cover.has-text-content .wp-block-heading,
  .wp-block-cover-image.has-text-content .wp-block-heading {
    position: absolute;
    margin: 0 !important;
    top: 0;
    left: 0;
    right: 0;
    max-width: 100%;
    padding: var(--spacing-horizontal);
    aspect-ratio: 64/30;
    display: flex;
    justify-content: center;
    align-items: center;
    text-shadow: 0px 0px 8px rgba(11, 31, 53, 0.3);
  }
}

.wp-block-image.is-style-rounded img {
  border-radius: 100%;
}

/**
 * Media-text block
 */
.wp-block-media-text .wp-block-media-text__content {
  padding: 0;
}
@media (min-width: 900px) {
  .wp-block-media-text > .wp-block-media-text__content {
    padding: 0 0 0 50px;
  }
}
@media (min-width: 900px) {
  .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media:after {
    right: auto;
    left: -24px;
  }
  .wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content {
    padding: 0 50px 0 0;
  }
}
.wp-block-media-text .wp-block-media-text__media img {
  border-radius: 12px;
}
@media (max-width: 899px) {
  .wp-block-media-text.is-stacked-on-mobile {
    grid-template-columns: 100% !important;
    grid-template-rows: auto auto;
  }
  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
    grid-column: 1;
    grid-row: 1;
  }
  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
    grid-column: 1;
    grid-row: 2;
  }
  .wp-block-media-text.is-stacked-on-mobile.has-media-on-the-right .wp-block-media-text__media {
    grid-column: 1;
    grid-row: 2;
  }
  .wp-block-media-text.is-stacked-on-mobile.has-media-on-the-right .wp-block-media-text__content {
    grid-column: 1;
    grid-row: 1;
  }
}

.wp-block-column.has-background {
  padding: 0 var(--spacing-horizontal);
}

/**
 * Heading block — waves style
 * Wave SVG is applied as a mask so it inherits the heading's color via currentColor.
 */
.wp-block-heading.is-style-waves::after {
  content: "";
  display: block;
  width: 68px;
  height: 8px;
  margin-top: 8px;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='68' height='8' viewBox='0 0 68 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40.4894 5.28024C32.9029 7.55426 25.0079 5.96585 17.3504 5.03935C14.2796 4.66786 11.1407 4.32612 8.04464 4.39389C6.58676 4.42587 3.81751 5.09569 2.4854 5.69407C-0.456335 7.01574 -0.857848 7.75177 1.66248 6.83798C3.9415 6.01186 5.84088 5.37624 9.16186 5.60858C12.4411 5.83848 15.8025 5.99567 19.0574 6.40114C22.7642 6.86316 26.4614 7.42425 30.2029 7.49484C33.8911 7.56387 37.3708 6.98852 40.7368 5.4615C40.8864 5.39336 40.5735 5.25525 40.4894 5.28024Z'/%3E%3Cpath d='M67.5543 0.894989C59.5588 4.07333 52.0725 1.5806 44.415 0.654324C41.3445 0.282613 38.2058 -0.0591299 35.1095 0.00863977C33.6516 0.0406122 30.8824 0.710434 29.55 1.30881C26.6085 2.63071 26.1463 3.17558 28.7273 2.45295C34.7413 0.768773 42.8674 1.61042 46.122 2.01588C49.829 2.4779 53.5262 3.03882 57.2677 3.1096C60.9559 3.17863 64.4357 2.60327 67.8016 1.07602C67.951 1.0081 67.636 0.862793 67.5543 0.894989Z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg width='68' height='8' viewBox='0 0 68 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40.4894 5.28024C32.9029 7.55426 25.0079 5.96585 17.3504 5.03935C14.2796 4.66786 11.1407 4.32612 8.04464 4.39389C6.58676 4.42587 3.81751 5.09569 2.4854 5.69407C-0.456335 7.01574 -0.857848 7.75177 1.66248 6.83798C3.9415 6.01186 5.84088 5.37624 9.16186 5.60858C12.4411 5.83848 15.8025 5.99567 19.0574 6.40114C22.7642 6.86316 26.4614 7.42425 30.2029 7.49484C33.8911 7.56387 37.3708 6.98852 40.7368 5.4615C40.8864 5.39336 40.5735 5.25525 40.4894 5.28024Z'/%3E%3Cpath d='M67.5543 0.894989C59.5588 4.07333 52.0725 1.5806 44.415 0.654324C41.3445 0.282613 38.2058 -0.0591299 35.1095 0.00863977C33.6516 0.0406122 30.8824 0.710434 29.55 1.30881C26.6085 2.63071 26.1463 3.17558 28.7273 2.45295C34.7413 0.768773 42.8674 1.61042 46.122 2.01588C49.829 2.4779 53.5262 3.03882 57.2677 3.1096C60.9559 3.17863 64.4357 2.60327 67.8016 1.07602C67.951 1.0081 67.636 0.862793 67.5543 0.894989Z'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: left center;
          mask-position: left center;
}
.wp-block-heading.is-style-waves.has-text-align-center::after {
  margin-left: auto;
  margin-right: auto;
}
.wp-block-heading.is-style-waves.has-text-align-right::after {
  margin-left: auto;
}

/**
 * List block — checked style
 */
.wp-block-list.is-style-checked,
.wp-block-list.is-style-checked ul {
  list-style: none;
  padding: 0;
}
.wp-block-list.is-style-checked li,
.wp-block-list.is-style-checked ul li {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 6px 0;
}
.wp-block-list.is-style-checked li::before,
.wp-block-list.is-style-checked ul li::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 1.5em;
  height: 1.5em;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z'%3E%3C/path%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z'%3E%3C/path%3E%3C/svg%3E");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}

/**
 * List block — product facts style
 * Two-column grid of dark navy cards with a checkmark per item.
 */
.wp-block-list.is-style-product-facts {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 600px) {
  .wp-block-list.is-style-product-facts {
    grid-template-columns: 1fr;
  }
}
.wp-block-list.is-style-product-facts li {
  display: flex;
  align-items: center;
  gap: 10px;
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--light);
  padding: 32px 26px;
  border-radius: 8px;
  font-weight: 700;
  font-size: var(--wp--preset--font-size--normal-up);
}
.wp-block-list.is-style-product-facts li::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 1.4em;
  height: 1.4em;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M229.66%2C77.66l-128%2C128a8%2C8%2C0%2C0%2C1-11.32%2C0l-56-56a8%2C8%2C0%2C0%2C1%2C11.32-11.32L96%2C188.69%2C218.34%2C66.34a8%2C8%2C0%2C0%2C1%2C11.32%2C11.32Z'%2F%3E%3C%2Fsvg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M229.66%2C77.66l-128%2C128a8%2C8%2C0%2C0%2C1-11.32%2C0l-56-56a8%2C8%2C0%2C0%2C1%2C11.32-11.32L96%2C188.69%2C218.34%2C66.34a8%2C8%2C0%2C0%2C1%2C11.32%2C11.32Z'%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}

/**
 * Video block
 */
.wp-block-video video {
  display: block;
}

/**
 * Blog post card — used in index.php and reusable blocks.
 */
.blog-post-card {
  background: var(--wp--preset--color--light);
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.blog-post-card--hidden {
  display: none;
}
.blog-post-card__image-link {
  display: block;
}
.blog-post-card__image {
  aspect-ratio: 16/10;
  overflow: hidden;
}
.blog-post-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.blog-post-card__image-link:hover .blog-post-card__image img {
  transform: scale(1.03);
}
.blog-post-card__body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.blog-post-card__title {
  font-size: var(--wp--preset--font-size--normal-up);
  font-weight: 700;
  margin: 0 0 12px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog-post-card__title a {
  color: var(--wp--preset--color--primary);
  text-decoration: none;
}
.blog-post-card__title a:hover {
  text-decoration: underline;
}
.blog-post-card__excerpt {
  margin: 0 0 20px;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog-post-card__more {
  display: block;
  text-align: center;
  background-color: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--light);
  padding: 9px 20px;
  border-radius: 8px;
  text-decoration: none !important;
  font-weight: 600;
  font-size: var(--wp--preset--font-size--normal-up);
  transition: opacity 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  outline: none;
  border-width: 2px;
  border-style: solid;
  border-color: var(--wp--preset--color--secondary);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  text-transform: capitalize;
}
.blog-post-card__more svg.icon {
  font-size: 1.66em;
}
.blog-post-card__more:hover {
  opacity: 0.88;
}
.blog-post-card__more {
  padding: 0px 20px;
  display: inline-flex;
  align-self: flex-start;
}

/**
 * Buttons
 */
.wp-block-buttons.is-layout-flex {
  gap: 10px;
}
.wp-block-buttons .wp-block-button__link {
  display: block;
  text-align: center;
  background-color: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--light);
  padding: 9px 20px;
  border-radius: 8px;
  text-decoration: none !important;
  font-weight: 600;
  font-size: var(--wp--preset--font-size--normal-up);
  transition: opacity 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  outline: none;
  border-width: 2px;
  border-style: solid;
  border-color: var(--wp--preset--color--secondary);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  text-transform: capitalize;
}
.wp-block-buttons .wp-block-button__link svg.icon {
  font-size: 1.66em;
}
.wp-block-buttons .wp-block-button__link:hover {
  opacity: 0.88;
}
.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link {
  border-color: currentColor;
  background: transparent;
}
.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--wp--preset--color--light) !important;
  color: var(--wp--preset--color--primary) !important;
}

/**
 * Registrations list
 */
.wp-block-jvm-registrations-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.wp-block-jvm-registrations-list ul li {
  margin: 0;
  padding: 0;
}

/**
 * Yoast SEO FAQ block — styled to match the custom jvm/faq block.
 * Accordion behaviour is driven by JS toggling .is-open on .schema-faq-section.
 */
.wp-block-yoast-faq-block {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.wp-block-yoast-faq-block .schema-faq-section {
  background: var(--wp--preset--color--light);
  border-radius: 12px;
  box-shadow: 0 0px 8px rgba(11, 31, 53, 0.3);
  padding: 20px 24px;
  cursor: pointer;
}
.wp-block-yoast-faq-block .schema-faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font-weight: 600;
  font-size: var(--wp--preset--font-size--normal);
  color: var(--wp--preset--color--primary);
  list-style: none;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.wp-block-yoast-faq-block .schema-faq-question::after {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  background-color: var(--wp--preset--color--primary);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.7193 11.0002L20.72 11.6403L11.6401 11.6397V20.7202L11 20.7195L10.3599 20.7202L10.3592 11.6403L1.28073 11.641V10.3594L10.3592 10.3587V1.28095H11.6408V10.3587L20.72 10.3601L20.7193 11.0002Z' fill='%230B1F35'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.7193 11.0002L20.72 11.6403L11.6401 11.6397V20.7202L11 20.7195L10.3599 20.7202L10.3592 11.6403L1.28073 11.641V10.3594L10.3592 10.3587V1.28095H11.6408V10.3587L20.72 10.3601L20.7193 11.0002Z' fill='%230B1F35'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.wp-block-yoast-faq-block .schema-faq-section.is-open .schema-faq-question::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='10.3594' width='20' height='1.28125' fill='%230B1F35'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='10.3594' width='20' height='1.28125' fill='%230B1F35'/%3E%3C/svg%3E");
}
.wp-block-yoast-faq-block .schema-faq-answer {
  margin-top: 16px;
  color: var(--wp--preset--color--primary);
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.6;
}
.wp-block-yoast-faq-block .schema-faq-answer p:last-child {
  margin-bottom: 0;
}
.wp-block-yoast-faq-block .schema-faq-answer {
  display: none;
}
.wp-block-yoast-faq-block .schema-faq-section.is-open .schema-faq-answer {
  display: block;
}