:root{
	--spacing-small: 32px;
	--spacing-medium: 96px;
	--spacing-big: 160px;

    --max-width: 1300px;
    --small-width: 900px;

	--beige: #F8F8F2;
    --groen: #3DB088;
    --licht-groen:#D7EBE6;
	--donker-groen:#276258;
    --zwart:#303030;
    --wit: #FFFFFF; 

    --padding-top: calc(var(--spacing-big) / 2);
    --padding-bottom: calc(var(--spacing-big) / 2);

    --transition: .3s;
}


.has-licht-groen-background-color{
    background-color: var(--licht-groen);
}
.has-donker-groen-background-color{
    background-color: var(--donker-groen);
}
.has-groen-background-color{
    background-color: var(--groen);
}
.has-zwart-background-color{
    background-color: var(--zwart);
}
.has-wit-background-color{
   background-color: var(--wit);
}
.has-beige-background-color{
   background-color: var(--beige);
}


.has-licht-groen-color{
    color: var(--licht-groen);
}
.has-donker-groen-color{
    color: var(--donker-groen);
}
.has-groen-color{
    color: var(--groen);
}
.has-zwart-color{
    color: var(--zwart);
}
.has-wit-color{
    color: var(--wit);
}
.has-beige-color{
    color: var(--beige);
}


/* TYPOGRAPHY */
p{
    font-size: 1rem;
    color: var(--zwart);
    letter-spacing: 0;
    line-height: 1.5;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
}
a{
    font-size: 1rem;
    color: var(--zwart);
    letter-spacing: 0;
    line-height: 1.25;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    cursor: pointer;
}
li{
    font-size: 1rem;
    color: var(--zwart);
    letter-spacing: 0;
    line-height: 1.5;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    padding: 0.5rem 0;
}
.wp-block-post-excerpt__more-link,
.wp-block-button p,
.home-site-title a,
.wp-block-button a{
    font-size: 20px;
    color: var(--zwart);
    letter-spacing: 0;
    line-height: 1.45;
    font-family: 'Playfair Display', sans-serif;
    font-weight: 700;
    text-decoration: unset;
    background: unset;
    border-radius: unset;
    padding: 8px 0;
    border-bottom: 1px solid;
}
.gform_footer  input.gform_button{
    font-size: 20px !important;
    color: var(--zwart) !important;
    letter-spacing: 0 !important;
    line-height: 1.45 !important;
    font-family: 'Playfair Display', sans-serif !important;
    font-weight: 700 !important;
    text-decoration: unset !important;
    background: unset !important;
    border-radius: unset !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid !important;
}
h1{
    font-size: clamp(40px, 4vw, 50px);
    color: var(--zwart);
    letter-spacing: 0;
    line-height: 1.25;
    font-family: 'Playfair Display', sans-serif;
    font-weight: 500;
    margin-bottom: 1rem;
}
h2{
    font-size: clamp(25px, 3vw, 40px);
    color: var(--zwart);
    letter-spacing: 0;
    line-height: 1.35;
    font-family: 'Playfair Display', sans-serif;
    font-weight: 500;
    margin-bottom: 3.5rem;
}
h3{
    font-size: clamp(20px, 3.6vw, 25px);
    color: var(--zwart);
    letter-spacing: 0;
    line-height: 1.3;
    font-family: 'Playfair Display', sans-serif;
    font-weight: 500;
}
h4, h5{
    font-family: 'Playfair Display', sans-serif;
}
p,
a,
li,
h1,
h2,
h3{
    text-wrap: balance;
}
p:first-child,
a:first-child,
li:first-child,
h1:first-child,
h2:first-child,
h3:first-child{
    margin-top: 0;
}
h1:last-child,
h2:last-child, 
p:last-child,
h3:last-child,
li:last-child{
    margin-bottom: 0;
}
/* TEMPORARILY 
a[href=""],
a:not([href]){
	color: red !important;
	border: 10px solid red !important;
}  */


.wp-block-gallery{
    gap: var(--spacing-small);
    flex-wrap: wrap;
}
.wp-block-gallery:not(.is-style-per-drie) > figure:has(a){
	width: calc((100% / 6) - 5/4 * var(--spacing-small) ) !important;
}
.wp-block-gallery:not(.is-style-per-drie) > figure > a{
    width: 100%;
}
.wp-block-gallery:not(.is-style-per-drie) > figure{
    width: calc((100% / 3) - 2/3 * var(--spacing-small) ) !important;
}
.wp-block-gallery.columns-1:not(.is-style-per-drie) > figure{
    width: calc((100% / 1) - 0 * var(--spacing-small) ) !important;
}
.wp-block-gallery.columns-2:not(.is-style-per-drie) > figure{
    width: calc((100% / 2) - 1/2 * var(--spacing-small) ) !important;
}
.wp-block-gallery.columns-3:not(.is-style-per-drie) > figure{
    width: calc((100% / 3) - 2/3 * var(--spacing-small) ) !important;
}
.wp-block-gallery.columns-4:not(.is-style-per-drie) > figure{
    width: calc((100% / 4) - 3/4 * var(--spacing-small) ) !important;
}
.wp-block-gallery.columns-5:not(.is-style-per-drie) > figure{
    width: calc((100% / 5) - 4/5 * var(--spacing-small) ) !important;
}
.wp-block-gallery.columns-6:not(.is-style-per-drie) > figure{
    width: calc((100% / 6) - 5/6 * var(--spacing-small) ) !important;
}

.wp-block-gallery > figure.wp-block-image{
    flex-direction: column;
}
.wp-block-gallery > figure.wp-block-image figcaption{
    font-size: 1.5rem;
    color: var(--zwart);
    font-family: 'Playfair Display', sans-serif;
    font-weight: 500;
    margin-block: 0.5rem;	
    text-align: center;
}



figure.alignright{
    justify-content: flex-end;
}
figure.alignleft{
    justify-content: flex-start;
}
figure.aligncenter{
    justify-content: center;
}
.is-content-justification-right{
    justify-content: flex-end;
}
.is-content-justification-left{
    justify-content: flex-start;
}


/* QUERY */
.wp-block-post-template{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: repeat(auto-fit, calc(var(--max-width) / 3 - 0.666 * var(--spacing-small)));
    list-style: none;
    padding: 0;
    margin: 0;
    gap: var(--spacing-small);
}
.wp-block-post-template li{
    padding: 0;
}
.wp-block-post-template.custom:not(.vertical-template){
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: repeat(auto-fit, calc(var(--max-width) / 3 - 0.666 * var(--spacing-small)));
    list-style: none;
    padding: 0;
    margin: 0;
    gap: var(--spacing-small);
    row-gap: var(--spacing-medium);
}
.vertical-template{
    display: grid;
    grid-template-columns: 1fr;
}
.wp-block-post-featured-image{
    height: 100%;
}

.wp-block-post-template div.double{
    grid-column: span 2;
}
.wp-block-post-featured-image a{
    width: 100%;
    display: flex;
}
.wp-block-post-template a:hover{
    color: var(--groen);
}
.wp-block-post-template .wp-block-post-featured-image img{
    width: 100%;
    height:  100%;
    object-fit: cover;
}
.wp-block-post-title{
    margin: 0;
}

main > .wp-block-query {
    padding-bottom: calc(var(--spacing-big) / 2);
}
.wp-block-post-title a{
    text-decoration: unset;
    font-size: inherit;
}


/* FAQ */
.FAQ{
	padding-top: 0;
}
.FAQ summary{
    list-style: none;
}
.FAQ details{
	padding: 20px;
	margin-bottom: 20px;
}


/* CUSTOM CLASSES */
.gap-small{
	gap: var(--spacing-small);
}
.width-50{
	max-width: 50%;
}
.has-text-align-center.width-50{
	margin: auto;
}
.has-text-align-right.width-50{
	margin-left: auto;
}
p ~ h1,
p ~ h2{
	margin-top: 0;
}
h2 > .groen,
h1 > .groen{
	color: var(--groen);
}

footer{
    max-width: 100%;
    margin: auto;
    padding-left: calc(50% - var(--max-width) / 2);
    padding-right: calc(50% - var(--max-width) / 2);
}
main{
    overflow-x: hidden;
	overflow-y: hidden;
}
main > :first-child{
    padding-top: var(--spacing-medium);
}
main > .alignfull{
    max-width: 100%;
}
main > .alignfull > *{
    max-width: var(--max-width);
    margin: auto;
}
main > .alignwide{
    padding-left: calc(50% - var(--max-width) / 2);
    padding-right: calc(50% - var(--max-width) / 2);
    max-width: var(--max-width);
}
main > .alignwide.has-background{
    max-width: 100%;
    padding-left: calc(50% - var(--max-width) / 2);
    padding-right: calc(50% - var(--max-width) / 2);
}
main > :not(.alignwide, .alignfull){
    max-width: var(--small-width);
    padding-left: calc(50% - var(--small-width) / 2);
    padding-right: calc(50% - var(--small-width) / 2);
}
.site-main > *:last-child{
    padding-bottom: calc(var(--spacing-big) / 2);
}



/* CORE BLOCKS */

main.site-main > *{
    margin: 0;
}
main > figure,
.wp-block-columns,
.wp-block-group{
    padding-bottom: calc(var(--spacing-big) / 2);
    padding-top: calc(var(--spacing-big) / 2);
}
figure.wp-block-gallery img{
    cursor: pointer;
}
figure{
    display: flex;
    margin: 0;
}
.wp-block-image img{
    object-fit: cover;
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
    /*max-width: 80vw;*/
}
.wp-block-image.contain img{
    object-fit: contain;
}
a{
	letter-spacing: 2px;
}
html{
    scroll-behavior: smooth;
}
body{
	margin: 0;
}
.wp-block-group{
    display: grid;
}
.wp-block-columns:not(.gap-small){
    gap: var(--spacing-big);
}
.wp-block-columns{
    display: flex;
	min-width: 100%;
    flex-direction: row;
	box-sizing: border-box;
} 
.wp-block-column{
    width: 100%;
}
.wp-block-column.has-background{
    padding: var(--spacing-small);
}
.wp-block-column .wp-block-gallery{
    padding-top: 1rem;
    padding-bottom: 1rem;
}


/* BUTTONS */

.wp-block-post-excerpt__more,
.wp-block-buttons{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.wp-block-post-excerpt__more-text,
.wp-block-button{
    display: flex;
}
.wp-block-post-excerpt__more-link,
.wp-block-button a{
    border-width: 2px;
}
.is-style-outline a{
    border: 2px solid;
    background-color: transparent;
}


/* CORE CLASSES */
.is-vertically-aligned-center{
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.is-vertically-aligned-bottom{
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.is-vertically-aligned-top{
    display: flex;
    flex-direction: column;
    justify-content: top;
}
.has-text-align-center {
    text-align: center;
}
.has-text-align-left {
    text-align: left;
}
.has-text-align-right {
    text-align: right;
}
.is-content-justification-center{
    justify-content: center;
}
.is-content-justification-left{
    justify-content: flex-start;
}
.is-content-justification-left{
    justify-content: flex-end;
}




@media screen and (min-width: 1800px) {
    /* .wp-block-columns{
        padding-top: calc(var(--spacing-big) * 1.2);
        padding-bottom: calc(var(--spacing-big) * 1.25);
    } */
    :root{
        --max-width: 1500px;
    }
}
@media screen and (max-width: 1800px) {
    
}
@media screen and (max-width: 1350px) {
    .wp-block-post  {
        display: flex;
        flex-direction: column;
    }
    .wp-block-post-template.custom:not(.vertical-template){
        row-gap: var(--spacing-small);
        grid-template-rows: unset;
        grid-template-columns: 1fr 1fr;
    }
    .wp-block-post-template:not(.vertical){
        grid-template-columns: 1fr 1fr;
        grid-template-rows: unset;
    }
    .wp-block-post-template div.double{
        grid-column: unset;
    }
    .vertical-template .wp-block-post {
        max-height: unset;
    }
}
@media screen and (max-width: 900px) {
	:root{
		--spacing-small: 24px;
		--spacing-medium: 64px;
		--spacing-big: 132px;
	}
    .wp-block-columns{
        flex-direction: column;
    }

    .wp-block-columns:not(.gap-small){
        gap: var(--spacing-medium);
    }
    h1, h2{
        margin-bottom: 1.5rem;
    }
    h1{
        font-size: 30px;
    }
}
@media screen and (max-width: 600px) {
    .wp-block-image img{
        max-width: 100%;
    }
    .wp-block-post-template.custom:not(.vertical-template){
        row-gap: var(--spacing-small);
        grid-template-rows: unset;
        grid-template-columns: 1fr;

    }
    .wp-block-post-template:not(.vertical){
        grid-template-columns: 1fr;
        grid-template-rows: unset;
    }
	
	.wp-block-gallery:not(.is-style-per-drie) > figure:has(a),
	.wp-block-gallery:not(.is-style-per-drie) > figure > a,
	.wp-block-gallery:not(.is-style-per-drie) > figure,
	.wp-block-gallery.columns-1:not(.is-style-per-drie) > figure,
	.wp-block-gallery.columns-2:not(.is-style-per-drie) > figure,
	.wp-block-gallery.columns-3:not(.is-style-per-drie) > figure,
	.wp-block-gallery.columns-4:not(.is-style-per-drie) > figure,
	.wp-block-gallery.columns-5:not(.is-style-per-drie) > figure,
	.wp-block-gallery.columns-6:not(.is-style-per-drie) > figure{
		width: auto !important;
	}

}