/* GUTENBERG */

/* Yoast */
.wp-block-yoast-faq-block {
    margin-top: 2rem;
}

/* Gutenberg Colors */
.has-gray-background-color {
    background-color: var(--wp--preset--color--gray);
}

.has-yellow-background-color,
.has-yellow-image-pattern-background-color,
.has-shadow-box-yellow-background-color {
    background-color: #ffe500;
}

.has-yellow-light-background-color {
    background-color: var(--wp--preset--color--yellow-light) ;
}

.has-white-background-color {
    background-color: var(--wp--preset--color--white);
}

.has-lila-background-color {
    background-color: var(--wp--preset--color--lila) ;
}

.has-blue-background-color {
    background-color: var(--wp--preset--color--blue) ;
}

.has-blue-light-background-color {
    background-color: var(--wp--preset--color--blue-light) ;
}

.has-blue-dark-background-color {
    background-color: var(--wp--preset--color--blue-dark) ;
}

.has-orange-background-color {
    background-color: var(--wp--preset--color--orange) ;
}

.has-orange-light-background-color {
    background-color: var(--wp--preset--color--orange-light) ;
}

.has-black-background-color {
    background-color: var(--wp--preset--color--black) ;
}

.has-yellow-image-pattern-background-color {
    background-image: url(../images/yellow_bg_medium.jpg);
}

.has-shadow-box-background-color {
    background: #fff;
}

.has-shadow-box-background-color,
.has-shadow-box-yellow-background-color {
    box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15);
}

:root :where(p.has-background) {
    padding: 0.75em 0.75em;
}

h1.has-background, h2.has-background, h3.has-background, h4.has-background, h5.has-background, h6.has-background {
	padding: 0.75em 0.75em 0 0.75em;
}

/* Layout */

:root :where(.is-layout-flow) > * {
    margin-block-start: 1rem;
}

body .is-layout-flex {
    display: flex;
}

.is-layout-flex {
    flex-wrap: wrap;
    align-items: center;
}

:where(.is-layout-flex) {
    gap: 0.5em;
}

.is-vertically-aligned-stretch {
	display: flex;
	flex-direction: column;
	align-content: space-between;
}

.is-vertically-aligned-stretch > *:last-child {
	margin-top: auto;
    padding-top: 2rem;
}

/* Gutenberg font-sizes */
.has-small-font-size {
    font-size: 0.9rem;
}

/* General block styling */
h1 + [class^="wp-block-"],
h2 + [class^="wp-block-"] {
    margin-top: 2.5rem;
}

.wp-block-post-content > *,
.entry-content > *,
.gb-inside-container > * {
    margin-bottom: var(--bj-element-spacing--blocks);
    /* margin-block-end: var(--bj-element-spacing--blocks); */
}

[class^="wp-block-"] > [class^="wp-block-"] {
    /* margin-bottom: 0; */
}

/*  Gutenberg alignment
    1. Give eveything a max-width and align it center 
    2. Fix alignment of nested Groups unless you specify / overwrite alignment on that element...
*/

.entry-content > :not(.alignfull),
.wp-block-group.alignfull * > .wp-block-group:not(.alignwide):not(.alignfull),
.wp-block-group.alignfull * > .wp-block-columns:not(.alignwide):not(.alignfull) {
    max-width: 840px;
    margin-left: auto;
    margin-right: auto;
}


.entry-content .alignwide {
    max-width: 1140px;
    /* max-width: 960px; */
    margin-left: auto;
    margin-right: auto;
}

.gb-inside-container .alignwide {
    margin-left: calc(20% - 20vw);
    margin-right: calc(20% - 20vw);
}

.entry-content .wp-block-cover:nth-child(1).alignwide {
    max-width: 1366px;
}

.entry-content .alignfull {
    margin-left: calc(-100vw/2 + 100%/2);
    margin-right: calc(-100vw/2 + 100%/2);
    max-width: 100vw;
    width: auto;
}

.gb-inside-container .alignfull {
    margin-left: auto;
    margin-right: auto;
    max-width: auto;
}

/* Nested elements inside columns need to respect it parent */
.wp-block-column > .alignfull,
.wp-block-column > .alignwide {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

/* Gutenberg blocks */

/* GenerateBlocks */
.gb-inside-container {
    /* overflow: hidden; */
}

.gb-inside-container > *:last-child {
    margin-bottom: 0;
}

/* Image block */
.wp-block-image {
    margin-top: 0;
    margin-bottom: 1rem;
}
/* .wp-block-image.size-large {
    margin-bottom: 1rem;
} */

/* Buttons block */
.wp-block-buttons .wp-block-button__link {
    margin-bottom: 0;
}

/* Media & Text block */

.wp-block-media-text {
    direction: ltr;
    display: grid;
    grid-template-columns: 50% 1fr;
    grid-template-rows: auto;
    row-gap: 1.5rem;
}

body .wp-block-media-text > .wp-block-media-text__content {
    padding: 0 1rem 1.5rem 1rem; 
}

@media screen and (min-width: 601px) {
    body .wp-block-media-text > .wp-block-media-text__content {
        padding: 2rem 2rem;
    }
}

/* Block Columns */
.wp-block-columns {
    padding: 0;
    gap: 0;
}
    /* Nested Colomns block doesn't need padding */
    .wp-block-group .wp-block-columns {
        padding-top: 0;
        padding-bottom: 0;
        margin-top: 0;
        margin-bottom: 0;
    }

.wp-block-column {
    margin: 0;
    flex-basis: calc(50%);
}

.wp-block-columns.no-padding .wp-block-column {
    padding-left: 0;
    padding-right: 0;
}

@media screen and (min-width: 600px) {
    .wp-block-column:nth-child(2n) {
        margin-left: initial; 
    }

    .wp-block-columns {
        display: block;
    }
}

@media screen and (min-width: 600px) {
    
    .wp-block-columns {
        display: flex;
        /* padding-left: 1rem;
        padding-right: 1rem; */
    }
    .wp-block-column {
        /* padding-left: 1.5rem;
        padding-right: 1.5rem; */
    }

    .wp-block-column:first-child {
        padding-left: 0;
    }

    .wp-block-column:last-child {
        padding-right: 0;
        margin-left: 0;
    }


    /* Items in the columns */
    .wp-block-column *:last-child {
        margin-bottom: 0;
    }
}


/* Group */
.wp-block-group {
    /* margin-top: 1rem; */
    /* margin-bottom: 3rem; */
    /* padding: 2rem 1rem 2rem 1rem; */
    clear: both;
}
    .wp-block-group .wp-block-group {
        padding: 0;
        margin-bottom: 1rem;
    }
    
    /* beetje whitespace omdat de tekst anders extra tegen de zijkant staat */
    .wp-block-group .alignfull {
        padding-left: 1rem;
        padding-right: 1rem;
    }

.wp-block-group.has-shadow-box-yellow-background-color,
.wp-block-group.has-shadow-box-background-color {
    padding: 1.5rem 2rem 1rem;
}

.wp-block-group.has-yellow-background-color,
.wp-block-group.has-gray-background-color,
.wp-block-group.has-shadow-box-yellow-background-color,
.wp-block-group.has-yellow-image-pattern-background-color{
    margin-top: 3rem;
    margin-bottom: 2rem;
    padding-top: 2rem;
    padding-bottom: 1rem;
}

@media screen and (min-width: 600px) {
    .wp-block-group.has-yellow-background-color,
    .wp-block-group.has-gray-background-color,
    .wp-block-group.has-shadow-box-yellow-background-color,
    .wp-block-group.has-yellow-image-pattern-background-color{
        padding-top: 3rem;
        padding-bottom: 2rem;
    }

    .wp-block-group .alignfull {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

.wp-block-group.has-gray-background-color {

}
.wp-block-group.has-shadow-box-yellow-background-color {

}

/* Overwrite WP stuff in the back-end */

.edit-post-visual-editor .block-editor-block-list__block .block-editor-block-list__block-edit {
    margin-left: inherit;
    margin-right: inherit;
}

/* .block-editor-block-list__layout {
    padding-left: 46px;
    padding-right: 46px;
} */


/* Images */
.is-style-blob-1 ,
.is-style-blob-2,
.is-style-blob-3 {
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center center;
    max-height: 65vw;
}
@media screen and (min-width: 480px) {
    .is-style-blob-1 ,
    .is-style-blob-2,
    .is-style-blob-3 {
        max-height: 55vw;
    }
}
.is-style-blob-1 {
    mask-image: url(../images/blob-1.svg);  
}

.is-style-blob-2 {
    mask-image: url(../images/blob-2.svg);
}

.is-style-blob-3 {
    mask-image: url(../images/blob-3.svg);
}

.is-style-bg-line-green-1 {
    background-image: url('../images/line-green-1.svg?aa');
    background-repeat: repeat-x;
    background-size: 400px;
    background-position: 0 75px;
}

.wp-block-cover.is-style-bg-blue-swirl-1 {
    
    .wp-block-cover__inner-container {
        position: relative;
        align-self: flex-end;
    }

    .wp-block-cover__inner-container > * {
        position: relative;
        z-index: 20;
    }

    .wp-block-button__link {
       position: relative;
       z-index: 30;
    }
}

@media screen and (min-width: 1024px) {
    .wp-block-cover.is-style-bg-blue-swirl-1 {
    
        .wp-block-cover__inner-container {
            align-self: center;
        }
    }
}

.is-style-bg-blue-swirl-1::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    display: block;
    content: "";
    height: 100%;
    width: 100%;
    background-image: url('../images/swirl-blue-1.svg?aa');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 0 100px;
    background-color: transparent !important;
    color: var(--wp--preset--color--black);
    /* z-index: 10; */
    pointer-events: none;
}

.wp-block-cover.is-style-bg-blue-swirl-1::after {
    background-position: 0 275px;
}

@media screen and (min-width: 480px) {
    .wp-block-cover.is-style-bg-blue-swirl-1::after {
        background-position: 0 175px;
    }
}

@media screen and (min-width: 1024px) {
    .wp-block-cover.is-style-bg-blue-swirl-1::after {
        background-position: 0 75px;
    }
}

@media screen and (max-width: 781px) {

    .wp-block-cover.is-style-bg-blue-swirl-1 .wp-block-cover__background.has-background-dim {
        opacity: 35% !important;
        background: linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.66) 50%, rgba(250, 250, 250, 0) 100%);
    }
}

/* Pricing Table */
.bj-pricing-table {
    width: 100%;
    /* overflow-wrap: anywhere; */

    .yellow {
        background-color: var(--wp--preset--color--yellow-light);
        border-top-color: var(--wp--preset--color--yellow);
        /* fill: var(--wp--preset--color--yellow--dark-25); */
    }
    
    .yellow-reversed {
        background-color: var(--wp--preset--color--yellow);
        border-top-color: var(--wp--preset--color--yellow-light);
    }

    .btn.yellow-reversed:hover {
        background-color: var(--wp--preset--color--yellow--light-15);
        border-top-color: var(--wp--preset--color--yellow);
    }

    .green {
        background-color: var(--wp--preset--color--green-light);
        border-top-color: var(--wp--preset--color--green);
        /* fill: var(--wp--preset--color--green--dark-25); */
    }

    .green-reversed {
        background-color: var(--wp--preset--color--green);
        border-top-color: var(--wp--preset--color--green-light);
    }

    .btn.green-reversed:hover {
        background-color: var(--wp--preset--color--green--light-15);
    }

    .orange {
        background-color: var(--wp--preset--color--orange-light);
        border-top-color: var(--wp--preset--color--orange);
        /* fill: var(--wp--preset--color--orange--dark-25); */
    }

    .orange-reversed {
        background-color: var(--wp--preset--color--orange);
        border-top-color: var(--wp--preset--color--orange-light);
    }

    .btn.orange-reversed:hover {
        background-color: var(--wp--preset--color--orange--light-15);
    }


    .d-flex {
        justify-content: space-between;
        align-items: center;
        gap: 1ch;
    }

    /* Needs td.label, because in single column layout the .label goes on a <p> */
    td.label {
        background: #fff;
        border-left: none;
        border-right: none;
        display: none;
    }

    @media screen and (min-width: 1024px) {
        td.label {
            display: table-cell;
        }
    }

    td,
    th {
        border-top: 2px solid #111;
        text-align: center;
        background: #fff;
        padding: 0.5rem 1rem;
        line-height: 1.1;
        width: 27%;
        max-width: 27%;
    }

    th.label {
        width: 19%;
        max-width: 19%;
    }


    @media screen and (min-width: 1024px) {
        td,
        th {
            border-right: 10px solid #fff;
            border-left: 10px solid #fff;
        }
    }

    /* thead th:nth-of-type(2),
    tbody td:nth-of-type(1) {
        border-left: none;
    } */

    thead th {
        font-weight: 400;
        border-top: none;
        border-top-left-radius: var(--bj-button-border-radius);
        border-top-right-radius: var(--bj-button-border-radius);
        padding-bottom: 1rem;

        p {
            font-size: 0.9em;
        }
    }

    h3 {
        text-transform: uppercase;
        border-radius: var(--bj-button-border-radius);
        font-family: var(--bj-font-familiy-headers);
        padding: var(--bj-button-padding);
        font-weight: bold;
        line-height: 1;
        letter-spacing:  var(--bj-button-letter-spacing);
        font-size: 1.3em;
        margin: 1rem 1rem 1rem 1rem;
        background-repeat: no-repeat;
        background-position: top center;
        text-align: center;
    }

    p {
        padding: 0;
        margin: 0;
    }

    /* @media screen and (min-width: 1024px) {
        h3 {
            margin-top: 2rem;
        }
    } */

    

    svg {
        top: 0.15em;
        position: relative;
        width: 30px;
        height: 30px;
        display: block;
        margin: 0 auto;
        fill: var(--wp--preset--color--green--dark-25);
    }

    .checkbox-circle,
    .checkbox-circle-2,
    .icon--checked {
        fill: var(--wp--preset--color--green--dark-25);
        color: var(--wp--preset--color--green--dark-25);
    }

    .icon--close-circle,
    .icon--unchecked {
        fill: #b62a2a;
        color: #b62a2a;
    }

    .icon--text {
        font-family: var(--bj-font-familiy-headers);
        font-size: 1.2em;
    }

    /* Body */
    tbody td,
    tbody th {
        vertical-align: middle;
    }

    tbody tr:last-of-type td {
        border-bottom-left-radius: var(--bj-button-border-radius);
        border-bottom-right-radius: var(--bj-button-border-radius);
    }

    th[scope="row"] {
        border-left: none;
    }

    th.label .icon {
        display: none;
    }

    .label {
        text-transform: uppercase;
        font-family: var(--bj-font-familiy-headers);
        font-weight: 500;
        text-align: left;
        letter-spacing:  var(--bj-button-letter-spacing);
    }

    .price {
        display: block;
        font-family: var(--bj-font-familiy-headers);
        font-weight: 500;
        letter-spacing:  var(--bj-button-letter-spacing);
        padding-top: 0.5rem;
    }

    .read-more {
        margin: 1rem 0;
        border: none;
        /* box-shadow: none; */
    }

    tbody tr:last-of-type th {
        border: none;
    }   
}

.bj-pricing-table--single-column {
    th,
    td {
        text-align: left;
        width: 2%;
    }

    th {
        width: 75%;
    }

    td {
        text-align: center;
    }

    p {
        display: inline;
    }

    tr.proefdag {
        td {
            border: none;
        }
        p {
            display: block;
            margin-bottom: 1rem;
        }
        .btn {
            display: block;
        }

        .toc {
            font-family: var(--bj-font-familiy-headers);
            text-transform: uppercase;
            /* margin-top: 1.5rem;  */
            text-align: right;
            a {
                color: var(--font-color);
                text-decoration: none;
            }

            a:hover {
                text-decoration: underline; 
                color: var(--font-color);
            }
        }
        .icon {
            float: none;
            padding: 0;
            margin: 0 0 0 1ch;
            width: 20px;
            height: 20px;
            display: inline-flex;
        }
    }
}

.boxzilla {
    min-width: 600px;
}



.cb-carousel-block {
    margin-bottom: calc(var(--bj-element-spacing--blocks) * 1.5);
    position: relative;
}

.cb-carousel-block.alignfull {
    padding-left: calc(var(--bj-page-padding) * 1.5);
    padding-right: calc(var(--bj-page-padding) * 1.5);
}

.cb-carousel-block > p:first-of-type::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    content: "";
  }


  /* Gallery */
  .wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) {
    margin-bottom: 0;
  }