:root {
  font-size: 62.5% !important;
}

.gap--none {
  row-gap: 0 !important;
}

.narrow-acf-box{
  max-width: 960px;
}

.editor-styles-wrapper {
  background-color: var(--bg-ultra-light) !important;
}


body :where(.editor-styles-wrapper) { 
  --text-color: black !important; 
  --heading-color: black !important;}

  .bricks-block-editor-notice-wrapper {
    text-align: center;
    /*	margin-top: 2rem;*/
  }
  /*Piilota Giutenbergiin ladatusta ACSS väripaletista valitut värit*/
  .components-circular-option-picker__option-wrapper:has([aria-label*="-trans"]) {
    display: none !important;
  }
  
  /*Gutenberg variables*/
  :root, :where(.block-editor-block-list__block, .wp-block-group) {
    /*Muuta Gutenbergin padding koot ACSS variableiksi*/
    --wp--preset--spacing--20: var(--space-s);
    --wp--preset--spacing--30: var(--space-m);
    --wp--preset--spacing--40: var(--space-l);
    --wp--preset--spacing--50: var(--space-xl);
    --wp--preset--spacing--60: var(--section-space-m);
    --wp--preset--spacing--70: var(--section-space-l);
    --wp--preset--spacing--80: var(--section-space-xl);
  
    /*Customize gutenberg button style*/
    --btn-primary-background: var(--primary);
    --btn-primary-background-hover: var(--primary-hover);
    --btn-primary-border-color: var(--primary);
    --btn-primary-border-color-hover: var(--primary-hover);
    --btn-primary-focus-color: var(--primary);
    --btn-primary-text-color: var(--white);
    --btn-primary-text-color-hover: var(--primary-ultra-light);
    --btn-primary-outline-text-color: var(--white);
    --btn-primary-outline-border-color: var(--primary);
  }
  /*Custom editor setting heading font-size*/
   .wp-block-heading.has-small-font-size {
    --wp--custom--fontSizes--small: calc(var(--h4) * 1.2) ;
    font-size: var(--wp--custom--fontSizes--small) !important;
  } 
   .wp-block-heading.has-medium-font-size {
    --wp--custom--fontSizes--medium: calc(var(--h3) * 1.2) ;
    font-size: var(--wp--custom--fontSizes--medium) !important;
  } 
   .wp-block-heading.has-large-font-size {
    --wp--custom--fontSizes--large: calc(var(--h2) * 1.2) ;
    font-size: var(--wp--custom--fontSizes--large) !important;
  } 
   .wp-block-heading.has-x-large-font-size {
    --wp--custom--fontSizes--x-large: calc(var(--h1) * 1.2) ;
    font-size: var(--wp--custom--fontSizes--x-large) !important;
  } 
  
  /*Custom editor setting paragraph font-size*/ 
   body .has-small-font-size {
    --wp--custom--fontSizes--small: var(--text-s, 14px);
   font-size: var(--wp--custom--fontSizes--small) !important;
  }
   body .has-medium-font-size {
    --wp--custom--fontSizes--medium: var(--text-m, 18px);
  font-size: var(--wp--custom--fontSizes--medium) !important;
  }
   body .has-large-font-size {
    --wp--custom--fontSizes--large: var(--text-l, 32px);
  font-size: var(--wp--custom--fontSizes--large) !important;
  }
   body .has-x-large-font-size {
    --wp--custom--fontSizes--x-large: var(--text-xl, 42px);
  font-size: var(--wp--custom--fontSizes--x-large) !important;
  }
  
  /*Gutenbergin custom tyylit*/
  
  .alignwide {
    max-width: 100%;
    width: 100%;
  }
  
  .wp-block-group.is-layout-flex.is-vertical, .wp-block-group-is-layout-flex.is-vertical {
  height: 100%;
  }
  
  :where(.editor-styles-wrapper) .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
      width:  100%;
  }
  
  :where(.editor-styles-wrapper) :not(.is-root-container) > .wp-block.wp-block:is(body.post-type-page .wp-block.wp-block):not(.alignfull):not(.alignwide):not(p[role="document"]) {
   /* --wp-post-block-width: 100%;  */
    max-width: var(--wp-post-block-width);
  }
  :where(.editor-styles-wrapper) :not(.is-root-container) > .wp-block.wp-block:is(body.post-type-page .wp-block.wp-block:not(.alignfull):not(.alignwide):has(p[role="document"])) {
      max-width: fit-content;
  }
  
  .post-content :where(.wp-block-group > p) {
     max-width: var(--wp-post-block-width);
  }
  
  .page-post-content :where(.wp-block-group > p) {
     max-width: var(--wp-page-block-width);
  }
  
  .is-root-container > *:is(figure) {
  margin-block: var(--space-m);
  }

  /*Card styles*/

 .wp-block-heading.heading-decor::before {
    --decor-size: .8rem;
    content: "";
    position: absolute;
    border-radius: var(--radius);
    width: var(--gutter);
    height: var(--decor-size);
    background-color: var(--primary);
    top: calc(var(--decor-size) * -0.5 + 0.6em);
    left: calc(var(--gutter) * -1.2);
  }
  

  .card--radius {
    border-radius: var(--radius);
  }
  /***Checkmark icon card CSS for gutenberg***/
  .icon-card,  .icon-card .wp-block-heading::before {
    --decor-size: 1em;
  }
  
  .icon-card :is(.wp-block-heading) {
    position: relative;
    display: flex;
    align-items: center;
   }
  
  .icon-card .wp-block-heading::before, .icon-card :is(h1,h2,h3,h4,h4,h5,h6).block-editor-rich-text__editable .wp-block-heading::before {
    --checkmark-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000000'%3E%3Cpath d='M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22ZM17.4571 9.45711L11 15.9142L6.79289 11.7071L8.20711 10.2929L11 13.0858L16.0429 8.04289L17.4571 9.45711Z'%3E%3C/path%3E%3C/svg%3E");
    position: absolute;
    content: "";/*
     --primary: red; /* CSS-muuttuja */
    background-color: var(--primary);
    -webkit-mask-image: var(--checkmark-url);
     mask-image: var(--checkmark-url);
    /* background-repeat: no-repeat; */
    height: var(--decor-size);
    width: var(--decor-size);
    top: 0.14em;
    left: calc(var(--decor-size) * -1.4);
  }

  :where(.editor-styles-wrapper) .wp-block:is(body[class*="post-type-"] .wp-block).alignwide {
     width: 100%;
      max-width: var(--content-width);
  }
  
  .is-layout-constrained > .alignwide {
     --wp--style--global--wide-size: var(--content-width);
      max-width: var(--wp--style--global--wide-size);
  }
  
  .is-root-container > section:not(:has(+ section)) {
    margin-bottom:  var(--section-space-m);
  }
  
  :where(.editor-styles-wrapper) .wp-block:is(body[class*="post-type-"] .wp-block):not(.alignwide):not(.alignfull) {
    --wp-post-block-width: var(--wp-page-block-width);
  }
  
  :where(.editor-styles-wrapper) .wp-block:is(body[class*="post-type-"] .wp-block).alignfull {
      --wp-post-block-width: 100%;
      width: 100%;
      max-width: 100%;
  }
  
  .is-nowrap, .wp-block-columns.is-layout-flex {
   flex-direction: row;
  }
  
  body :where(.editor-styles-wrapper) :where(.wp-block-post-content)>*:is(section) {
        margin-block-start: 0 !important;
  }
  
  
  /*Remove container gap not alignwide and alignfull sections*/
  /* :where(.editor-styles-wrapper) section:where(:not(.bricks-shape-divider):not(.alignwide):not(.alignfull)) {
      --container-gap: 0;
  } */
  /*
  .brxe-post-content:where(:not([data-source="bricks"]):not(.wp-block-group))
    > *
    + * {
    margin-block-start: var(--flow-spacing, initial);
    margin-block-end: 0;
  }*/
  
  .alignfull,
  .wp-block-categories-list.alignfull {
    max-width: calc(100vw - .0em);
    padding-inline: var(--gutter);
  }
  
  .wp-block-image,
  .wp-block-video,
  figcaption,
  figure {
    margin-block-start: 0;
    margin-block-end: 0;
  }
  
  .wp-block-column.is-layout-flow :where(p, .wp-block-buttons) {
    margin-block-start: var(--grid-gap);
  }
  
  .wp-block-group.is-layout-flex.is-vertical,
  .wp-block-group-is-layout-flex.is-vertical {
    row-gap: var(--space-s);
  }
  .wp-block-group.is-layout-flex.is-nowrap {
    column-gap: var(--grid-gap);
  }
  .wp-block-group.is-layout-grid {
    grid-gap: var(--grid-gap);
  }
  
  /*Mukauta Gutenberg editorissa näkyvia fontin tyylejä*/
  .editor-styles-wrapper :is(h1, h2, h3, h4, h5, h6) {
    line-height: calc(4px + 2ex);
  }
  /*Custom Strong style for gutenberg headings*/
  [data-type="core/heading"] strong[data-rich-text-format-boundary="true"], .wp-block-heading strong {
    font-weight: 900 !important;
  }
  
  /* Post title h1 custom styles*/
  :where(.editor-styles-wrapper)
    .edit-post-visual-editor__post-title-wrapper
    .wp-block-post-title {
    font-size: clamp(2.5rem, 0.478vw + 2.347rem, 3rem);
    padding-left: var(--space-m);
  }
  
   /* :where(.editor-styles-wrapper) > .is-root-container >*:is(section) .edit-post-visual-editor__post-title-wrapper {
    --container-gap: 0 !important;
  }  */
   :where(.editor-styles-wrapper) .edit-post-visual-editor__post-title-wrapper{ 
    border-bottom: solid 1px var(--black-trans-10);
  }
  
  /*Gutenberg post root level text auto section padding*/
  :where(.editor-styles-wrapper) .edit-post-visual-editor__post-title-wrapper:has(+ .is-root-container > section:first-child){ 
    --container-gap: 0 !important;
  }/*
  .brxe-post-content[data-content-auto-margin] > section + :is(h1, h2, h3, h4, h5, h6, p) {
    margin-top: var(--section-space-m);
  }
  
  .brxe-post-content[data-content-auto-margin] > :is(h1, h2, h3, h4, h5, h6, p, p[role="document"], .wp-block-buttons):has(+ section), body :where(.editor-styles-wrapper) :where(.wp-block-post-content)>*+:is(h1, h2, h3, h4, h5, h6, ul, li, p, .wp-block-buttons):has(+ section)  {
    margin-block-end: var(--section-space-m);
  }*/

  .brxe-post-content[data-content-auto-margin] > section + *:not(section) {
    margin-top: var(--section-space-m);
  }
  
  .brxe-post-content[data-content-auto-margin] > *:not(section):has(+ section), body :where(.editor-styles-wrapper) :where(.wp-block-post-content)>*+*:not(section):has(+ section)  {
    margin-block-end: var(--section-space-m);
  }
  
  /*Post h1 title width*/
  .editor-visual-editor__post-title-wrapper > :where(.editor-post-title) {
    max-width: 100% !important;
  }
  
  /*Set Gutenberg block button default styles to same as Acss primary button. */
.wp-block-buttons
.wp-block-button:not([class*="-dark"]):not([class*="-light"]):not([class*="-neutral"]):not([class*="btn--accent"])
.wp-block-button__link:not([class*="btn--"]) {
--btn-background: var(--btn-primary-background, var(--primary));
--btn-background-hover: var(--btn-primary-background-hover, var(--primary-hover));
--btn-border-color: var(--btn-primary-border-color, var(--primary));
--btn-border-color-hover: var(--btn-primary-border-color-hover, var(--primary-hover));
--focus-color: var(--btn-primary-focus-color, var(--primary));
--btn-border-width: var(--btn-outline-border-width);
padding-block: var(--btn-padding-block);
padding-inline: var(--btn-padding-inline);
min-inline-size: var(--btn-min-width);
line-height: var(--btn-line-height);
font-size: var(--btn-font-size, var(--text-m));
font-weight: var(--btn-font-weight);
font-style: var(--btn-font-style);
text-transform: var(--btn-text-transform);
letter-spacing: var(--btn-letter-spacing);
text-decoration: var(--btn-text-decoration);
border-width: var(--btn-border-width);
border-style: var(--btn-border-style);
border-radius: var(--btn-radius);
transition: var(--btn-transition, var(--transition));
text-align: var(--btn-text-align, center);
}

/* Primary fill button */
.wp-block-buttons
.wp-block-button:not(.is-style-outline):not([class*="-dark"]):not([class*="-light"]):not([class*="-neutral"]):not([class*="btn--accent"])
.wp-block-button__link:not(.has-background):not([class*="btn--"]) {
--btn-text-color: var(--btn-primary-text-color, var(--primary-ultra-light));
background: var(--btn-background) ;
color: var(--btn-text-color) ;
border-color: var(--btn-border-color) ;
}

/* Hover for primary fill button */
.wp-block-buttons
.wp-block-button:not([class*="btn--outline"]):not([class*="-dark"]):not([class*="-light"]):not([class*="-neutral"]):not([class*="btn--accent"])
.wp-block-button__link:hover,
.wp-block-buttons
.wp-block-button:not(.is-style-outline):not([class*="btn--outline"])
.wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
--btn-text-color-hover: var(--btn-primary-text-color-hover, var(--primary-ultra-light));
background: var(--btn-background-hover) !important;
color: var(--btn-text-color-hover) !important;
border-color: var(--btn-border-color-hover) !important;
text-decoration: var(--btn-text-decoration-hover);
}

/* Primary is-style-outline button */
.wp-block-buttons
.wp-block-button.is-style-outline:not(.btn--outline)
.wp-block-button__link:not(.has-background),
.wp-block-button.is-style-outline:not(.btn--outline)
.wp-block-button__link:not(.has-background)  {
--btn-background: transparent;
--btn-text-color: var(--btn-primary-outline-text-color, var(--primary));
--btn-border-width: var(--btn-border-width);
--btn-border-color: var(--btn-primary-outline-border-color, var(--primary));
color: var(--btn-text-color) !important;
border-color: var(--btn-border-color) !important;
}

.wp-block-buttons .wp-block-button.is-style-outline:not(.btn--outline) .wp-block-button__link:hover,
.wp-block-button.is-style-outline:not(.btn--outline)
.wp-block-button__link:hover {
color: var(--btn-text-color-hover) !important;
border-color: var(--btn-border-color-hover) !important;
}

/* Custom background color button */
.wp-block-buttons .wp-block-button .wp-block-button__link.has-background {
border-width: 0 !important;
padding-block: calc(var(--btn-padding-block) + calc(var(--btn-border-width))) !important;
padding-inline: calc(var(--btn-padding-inline) + calc(var(--btn-border-width))) !important;
opacity: 1;
transition: opacity var(--transition-duration) var(--transition-timing) var(--transition-delay) !important;
}

.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.has-background,
.wp-block-button.is-style-outline .wp-block-button__link.has-background {
border-width: var(--btn-border-width) !important;
padding-block: var(--btn-padding-block) !important;
padding-inline: var(--btn-padding-inline) !important;
border-color: currentColor !important;
color: currentColor !important;
background: transparent !important;
opacity: 1;
transition: opacity var(--transition-duration) var(--transition-timing) var(--transition-delay) !important;
}

.wp-block-buttons .wp-block-button .wp-block-button__link.has-background:hover,
.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.has-background:hover,
.wp-block-button.is-style-outline .wp-block-button__link.has-background:hover {
opacity: 0.7;
}

.wp-block-button__link:focus-within,
.wp-block-button__link:focus {
outline-color: transparent !important;
}
  
  /*Blockquote styles*/
  .wp-block-quote,
  .editor-styles-wrapper .wp-block-quote {
    border-color: var(--primary);
    border-left-style: solid;
    border-left-width: 4px;
    padding: 0 0 0 30px;
    font-family: georgia, Times New Roman, times, serif;
  }
  
  .wp-block-quote,
  .editor-styles-wrapper .wp-block-quote p {
    font-size: var(--text-l);
  }
  
  /*Pullquote styles */
  .wp-block-pullquote {
    border: 2px solid var(--primary-light);
    padding: var(--space-l);
    background-color: var(--primary-light-trans-20);
    display: flex;
    justify-content: center;
  }
  
  /* Lainauksen teksti */
  .wp-block-pullquote blockquote {
    font-size: var(--text-xl);
    font-style: italic;
    border-left-style: none;
    quotes: "“" "”" "‘" "’";
    max-width: var(--width-l);
  }
  
  .wp-block-pullquote blockquote:before {
    content: open-quote;
    font-size: 2em;
    color: var(--primary);
    vertical-align: -0.4em;
    margin-right: 10px;
  }
  
  blockquote p[role="textbox"] {
    padding: 2rem 0;
    font-style: italic;
    font-size: var(--text-l);
    font-family: georgia, Times New Roman, times, serif;
  }
  
  .wp-block-pullquote:has(p[role="textbox"]) blockquote:after {
    vertical-align: -0.8em;
  }
  
  .wp-block-pullquote blockquote:after {
    content: close-quote;
    font-size: 2em;
    color: var(--primary);
    vertical-align: -0.4em;
    margin-left: -10px;
  }
  
  /* Sitaatti (cite) */
  .wp-block-pullquote cite:not([role="textbox"]),
  blockquote cite:not([role="textbox"]) {
    font-size: var(--text-l);
    font-weight: 600;
    border-left: 0;
    text-transform: none;
  }
  
  blockquote cite:not([role="textbox"]) {
    font-size: var(--text-m);
  }
  
  cite[role="textbox"] {
    font-size: var(--text-m);
    font-weight: 600;
    font-family: georgia, Times New Roman, times, serif;
  }
  
  /*List styles*/
  ul.block-editor-block-list__block {
    list-style: disc;
    padding-inline: var(--space-s);
  }
  
  li::marker {
    color: var(--primary);
  }
  
  ul li::marker {
    font-size: 1.15em;
  }
  ol li::marker {
    color: var(--primary);
    font-size: 1.05em;
    font-weight: 700;
  }
  
  /*Gutenberg table styles */
  .wp-block-table {
    /* Taulukon perusasetukset */
    --table-head-padding: 1.2rem 1.2rem;
    --table-cell-padding: 1rem 1.2rem;
    --border-size: 1px;
    --border-head-size: 0; /* Add extra size to --border-size*/
    --border-foot-size: 2px;
    /*Table hsl colors*/
    --table-h: var(--primary-h);
    --table-s: var(--primary-s);
    --table-head-l: 88%;
    --table-cell-odd-l: 100%;
    --table-cell-even-l: 96%;
    --table-borders-l: 80%;
    --table-borders-head-l: 80%;
    --table-borders-foot-l: 80%;
    --table-borders: hsl(var(--table-h), var(--table-s), var(--table-borders-l));
    --table-borders-head: hsl(
      var(--table-h),
      var(--table-s),
      var(--table-borders-head-l)
    );
    --table-borders-foot: hsl(
      var(--table-h),
      var(--table-s),
      var(--table-borders-foot-l)
    );
  
    table {
      border-collapse: collapse;
      margin: var(--space-s) 0;
      font-size: var(--text-m);
      font-family: Arial, sans-serif;
    }
  
    thead {
      border-bottom: calc(var(--border-size) + var(--border-head-size)) solid
        var(--table-borders-head);
    }
  
    /* Otsikkorivien tyyli */
    th {
      background-color: hsla(
        var(--table-h),
        var(--table-s),
        var(--table-head-l),
        1
      );
      color: var(--text-dark);
      font-weight: bold;
      padding: var(--table-head-padding);
      text-align: left;
      border: var(--border-size) solid var(--table-borders);
    }
  
    /* Rivien tyyli */
    tr:nth-child(odd) {
      background-color: hsla(
        var(--table-h),
        var(--table-s),
        var(--table-cell-odd-l),
        1
      );
    }
  
    tr:nth-child(even) {
      background-color: hsla(
        var(--table-h),
        var(--table-s),
        var(--table-cell-even-l),
        1
      );
    }
    td {
      padding: var(--table-cell-padding);
      border: var(--border-size) solid var(--table-borders);
    }
    td,
    th {
      text-align: left;
    }
    tfoot {
      border-top: calc(var(--border-size) + var(--border-foot-size)) solid
        var(--table-borders-foot);
    }
  
  }
  