
/* =========================================
   PAGE BUILDER — GENERAL
========================================= */

.page-block {
    position: relative;
    width: 100%;
}

/*
.page-block .container {
    width: 100%;
    max-width: 1500px;
    margin-left: auto;
    margin-right: auto;
}
*/

.page-block h1,
.page-block h2,
.page-block h3,
.page-block p {
    overflow-wrap: break-word;
}

.page-block h1,
.page-block h2 {
    margin-top: 0;
}

.page-block p:last-child {
    margin-bottom: 0;
}

body.page-template-default p a {
    color: var(--dark) !important;
    font-weight: bold;
    text-decoration: underline !important;
    transition: all .1s ease;
}

body.page-template-default p a:hover {
    text-decoration: none !important;
    color: inherit !important;
}


/* =========================================
   HERO
========================================= */

.block-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    max-height: 80vh;
    min-height: 80vh !important;
    overflow: hidden;
    background: var(--dark);
    color: #fff;
}

.block-hero__image {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.block-hero__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.block-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(
        90deg,
        rgb(0 0 0 / 55%),
        rgb(0 0 0 / 10%)
    );
    pointer-events: none;
}

.block-hero__content {
    position: relative;
    z-index: 2;
    padding: 150px 30px 100px !important;
}

.block-hero__heading {
    font-size: clamp(40px, 6vw, 100px);
    line-height: 0.9;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 30px !important;
}

.block-hero__button {
    display: inline-block;
    width: fit-content;
    color: #fff;
}

.block-hero__button:hover {
    color: #fff;
}


/* =========================================
   FULL-WIDTH TEXT
========================================= */

.block-text-full {
    padding: 100px 30px 0 30px;
}

.block-text-full__heading {
    margin-bottom: 30px !important;
}

.block-text-full__content {
    width: 100%;
}

.block-text-full__content > *:first-child,
.block-text-5050__content > *:first-child,
.block-text-image__text > *:first-child {
    margin-top: 0;
}

.block-text-full__content > *:last-child,
.block-text-5050__content > *:last-child,
.block-text-image__text > *:last-child {
    margin-bottom: 0;
}


/* =========================================
   TWO TEXT COLUMNS — 50/50
========================================= */

.block-text-5050 {
    padding: 100px 30px 0 30px;
}

.block-text-5050 .container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 100px;
}

.block-text-5050__column {
    min-width: 0;
}

.block-text-5050__column h2 {
    margin-bottom: 30px !important;
}

.block-text-5050__content {
    width: 100%;
}


/* =========================================
   TEXT + IMAGE — 50/50
========================================= */

.block-text-image {
    padding: 100px 30px 0 30px;
}

.block-text-image__inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    /*align-items: center;*/
    gap: 100px;
}

.block-text-image__image {
    min-width: 0;
    overflow: hidden;
}

.block-text-image__img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.block-text-image__content {
    min-width: 0;
}

.block-text-image__content h2 {
    margin-bottom: 30px !important;
}

.block-text-image--left .block-text-image__image {
    order: 1;
}

.block-text-image--left .block-text-image__content {
    order: 2;
}

.block-text-image--right .block-text-image__image {
    order: 2;
}

.block-text-image--right .block-text-image__content {
    order: 1;
}

.block-text-image__text {
    margin-bottom: 30px !important;
}


/* =========================================
   FULL-WIDTH IMAGE
========================================= */

.block-image-full {
    width: 100%;
    overflow: hidden;
}

.block-image-full__img {
    display: block;
    width: 100%;
    height: auto;
}

.block-image-full[style*="--block-image-height"] .block-image-full__img {
    height: var(--block-image-height);
    object-fit: cover;
}


/* =========================================
   DIVIDER
========================================= */

.block-divider {
    padding: 100px 0 0;
}

.block-divider__line {
    width: 100%;
    height: 0;
    margin: 0 !important;
    border: 0;
    border-top: 1px solid rgb(19 27 43 / 20%) !important;
}


/* =========================================
   SPACER
========================================= */

.block-spacer--small {
    height: 50px;
}

.block-spacer--medium {
    height: 100px;
}

.block-spacer--large {
    height: 150px;
}

.block-spacer--xlarge {
    height: 250px;
}


/* =========================================
   RESPONSIVE — TABLET
========================================= */

@media (max-width: 991px) {

    .block-hero {
        min-height: 400px;
    }

    .block-hero__content {
        padding: 130px 30px 80px !important;
    }
    
    .block-text-5050 .container,
    .block-text-image__inner {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: 60px;
    }

    .block-text-full,
    .block-text-5050,
    .block-text-image {
        padding-top: 75px;
        padding-bottom: 75px;
    }

    .block-text-5050 {
        gap: 35px;
    }

    .block-text-image__inner {
        gap: 35px;
    }
}


/* =========================================
   RESPONSIVE — MOBILE
========================================= */

@media (max-width: 767px) {

    .block-hero {
        min-height: 350px;
    }

    .block-hero__content {
        padding: 120px 25px 60px !important;
    }

    .block-hero__heading {
        margin-bottom: 20px;
    }

    .block-text-full,
    .block-text-5050,
    .block-text-image {
        padding: 55px 25px;
    }

    .block-text-5050 {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .block-text-image__inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    /* Op mobiel altijd eerst de afbeelding */
    .block-text-image--left .block-text-image__image,
    .block-text-image--right .block-text-image__image {
        order: 1;
    }

    .block-text-image--left .block-text-image__content,
    .block-text-image--right .block-text-image__content {
        order: 2;
    }

    .block-divider {
        padding: 20px 25px;
    }

    .block-spacer--small {
        height: 30px;
    }

    .block-spacer--medium {
        height: 50px;
    }

    .block-spacer--large {
        height: 75px;
    }

    .block-spacer--xlarge {
        height: 120px;
    }
}