

@media only screen and (min-width: 1290px) {
    :root {
        --doc-width: 1230px;
    }
}

@media only screen and (max-width: 1020px) {
    .debug-grid:after {
        left: 15px;
        right: 15px;
    }

    #home-hero {
        padding-top: 100px;
    }

    #home-hero-bg img {
        width: 38vw;
    }

    .bg-01:after, .bg-04:after {
        width: 40vw;
    }

    .bg-01 {
        background-size: 40vw;
    }

    h2 {
        font-size: 40px;
    }
    h3 {
        font-size: 27px;
    }
    h4 {
        font-size: 20px;
    }
    h5 {
        font-size: 15px;
    }

    #newsletter {
        min-height: 0;
    }

    #page {
        padding: 80px 0;
    }
    .bg-04 img {
        width: 100%;
        height: 100%;
    }
    #gallery-1 {
        width: 720px;
    }
}

@media only screen and (max-width: 860px) {
    :root {
        --doc-width: calc(100vw - 30px);
    }

    body {
        padding-top: 70px;
    }

    html, body {
        font-size: 15px;
    }

    h2 {
        font-size: 36px;
    }
    h3 {
        font-size: 24px;
    }
    h4 {
        font-size: 18px;
    }
    h5 {
        font-size: 16px;
    }

    #header {
        padding: 0;
    }

    [for="mobile-menu"] {
        display: flex;
    }

    #home-hero {
        padding-bottom: 0;
        margin-bottom: 100px;
    }

    #header-inner > ul#menu-hoofd-menu {
        position: fixed;
        top: 70px;
        left: 0;
        right: 0;
        bottom: calc(100vh - 70px);
        background-color: var(--color-white);
        overflow: hidden;
        transition: bottom 400ms ease-in-out;
        flex-direction: column;
    }

    #header-inner > ul#menu-hoofd-menu > li {
        border-top: 1px solid var(--color-input-border);
        margin: 0 15px;
    }

    #header-inner > ul#menu-hoofd-menu  > li > ul {
        position: static;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        margin: 0;
        padding: 0 0 0 30px;
        border-radius: 0;
    }

    #header-inner > ul > li > a {
        margin: 0;
    }

    #mobile-menu:checked ~ .wrap #header-inner > ul#menu-hoofd-menu {
        bottom: 0;
        overflow: auto;
    }

    #header-inner {
        justify-content: space-between;
        padding: 15px;
        border-radius: 0;
    }

    #home-cta {
        margin-top: 60px;
    }

    #home-middle {
        padding: 60px 0;
    }

    #newsletter .inner {
        margin: 20px auto;
    }

    #newsletter .content-block-inner {
        padding: 40px;
    }

    #footer-bottom {
        padding: 0;
    }

    #footer ul {
        margin-bottom: 30px;
    }

    #footer-bottom ul:not(:first-of-type) {
        flex-direction: column;
    }

    #page {
        padding: 40px 0;
    }

    .corner-image svg:first-of-type {
        margin-left: 10vw;
    }
    .corner-image svg:last-of-type {
        top: -10vw;
    }
    .bg-04 img {
        width: 100%;
        height: 100%;
    }
    .agenda-item-inner {
        min-height: 120px;
    }
    #gallery-1 {
        width: 540px;
    }
    #gallery-1 .gallery-item {
        width: auto !important;
    }
}

@media only screen and (max-width: 400px) {
    html, body {
        font-size: 14px;
    }
    h2 {
        font-size: 24px;
    }
    h3 {
        font-size: 20px;
    }
    h4 {
        font-size: 18px;
    }
    h5 {
        font-size: 16px;
    }

    #home-hero {
        padding-top: 45vw;
        margin-bottom: 50px;
    }

    #home-cta {
        margin-top: 30px;
    }

    #home-middle {
        padding: 30px 0;
    }

    #newsletter .content-block-inner {
        padding: 20px;
    }
}

@media only screen and (max-width: 1020px) {
    .col-0-1 { width: 0; margin: 0!important; }
    .col-1-1 { width: calc(calc(var(--doc-width) - 330px) / 12); }
    .col-2-1 { width: calc(calc(var(--doc-width) - 330px) / 12 * 2 + 30px); }
    .col-3-1 { width: calc(calc(var(--doc-width) - 330px) / 12 * 3 + 60px); }
    .col-4-1 { width: calc(calc(var(--doc-width) - 330px) / 12 * 4 + 90px); }
    .col-5-1 { width: calc(calc(var(--doc-width) - 330px) / 12 * 5 + 120px); }
    .col-6-1 { width: calc(calc(var(--doc-width) - 330px) / 12 * 6 + 150px); }
    .col-7-1 { width: calc(calc(var(--doc-width) - 330px) / 12 * 7 + 180px); }
    .col-8-1 { width: calc(calc(var(--doc-width) - 330px) / 12 * 8 + 210px); }
    .col-9-1 { width: calc(calc(var(--doc-width) - 330px) / 12 * 9 + 240px); }
    .col-10-1 { width: calc(calc(var(--doc-width) - 330px) / 12 * 10 + 270px); }
    .col-11-1 { width: calc(calc(var(--doc-width) - 330px) / 12 * 11 + 300px); }
    .col-12-1 { width: calc(calc(var(--doc-width) - 330px) / 12 * 12 + 330px); }

    .col-12-1 {
        margin-right: 0;
    }

    .cols-wrap-1 {
        flex-wrap: wrap;
        margin-right: -30px;
    }

    .content-block.col-12-1 {
        margin-bottom: 30px;
    }

    .content-block.col-12-1:not(:first-of-type) {
        margin-top: 30px;
    }
    .bg-04 img {
        width: 100%;
        height: 100%;
    }
    #contact-side-mobile {
        display: block;
    }
    .contact-side-desktop {
        display: none;
    }
    #page-image {
        width: 40vw;
    }
    #breadcrumb {
        margin-top: 70px;
    }
}

@media only screen and (max-width: 1150px) {
    .col-4-1a {
        width: calc(calc(var(--doc-width) - 330px) / 12 * 12 + 90px);
    }
    .col-8-1a {
        width: calc(calc(var(--doc-width) - 330px) / 12 * 10 + 90px);
    }
}

@media only screen and (max-width: 1080px) {
    .post-excerpt {
        font-size: 14px;
    }
}

@media only screen and (max-width: 800px) {
    .col-0-2 { width: 0; margin: 0!important; }
    .col-1-2 { width: calc(calc(var(--doc-width) - 330px) / 12); }
    .col-2-2 { width: calc(calc(var(--doc-width) - 330px) / 12 * 2 + 30px); }
    .col-3-2 { width: calc(calc(var(--doc-width) - 330px) / 12 * 3 + 60px); }
    .col-4-2 { width: calc(calc(var(--doc-width) - 330px) / 12 * 4 + 90px); }
    .col-5-2 { width: calc(calc(var(--doc-width) - 330px) / 12 * 5 + 120px); }
    .col-6-2 { width: calc(calc(var(--doc-width) - 330px) / 12 * 6 + 150px); }
    .col-7-2 { width: calc(calc(var(--doc-width) - 330px) / 12 * 7 + 180px); }
    .col-8-2 { width: calc(calc(var(--doc-width) - 330px) / 12 * 8 + 210px); }
    .col-9-2 { width: calc(calc(var(--doc-width) - 330px) / 12 * 9 + 240px); }
    .col-10-2 { width: calc(calc(var(--doc-width) - 330px) / 12 * 10 + 270px); }
    .col-11-2 { width: calc(calc(var(--doc-width) - 330px) / 12 * 11 + 300px); }
    .col-12-2 { width: calc(calc(var(--doc-width) - 330px) / 12 * 12 + 330px); }

    .col-12-2 {
        margin-right: 30px;
    }

    .cols-wrap-2 {
        flex-wrap: wrap;
        margin-right: -30px;
    }

    .content-block.col-12-2 {
        margin-bottom: 30px;
    }

    .content-block.col-12-2:not(:first-of-type) {
        margin-top: 30px;
    }
    .bg-04 img {
        width: 100%;
        height: 100%;
    }
    #contact-side-mobile {
        display: block;
    }
    .contact-side-desktop {
        display: none;
    }
    #page-image {
        width: 35vw;
    }
    .content-image {
        margin-bottom: 30px;
    }
    #breadcrumb {
        white-space: nowrap;
    }
    #breadcrumb li:last-of-type {
        text-overflow: ellipsis;
        overflow: hidden;
    }
    .page-image {
        float: none;
    }
    .bg-05, .bg-05:after, .bg-01, .bg-01:after {
        background-size: 30%;
    }
    .col-12-3 {
        margin-right: 0;
    }
    #home-about .content-block-image {
        height: 200px;
    }
    .card {
        margin-bottom: 15px;
    }
}

@media only screen and (max-width: 400px) {
    .col-0-3 { width: 0; margin: 0!important; }
    .col-1-3 { width: calc(calc(var(--doc-width) - 330px) / 12); }
    .col-2-3 { width: calc(calc(var(--doc-width) - 330px) / 12 * 2 + 30px); }
    .col-3-3 { width: calc(calc(var(--doc-width) - 330px) / 12 * 3 + 60px); }
    .col-4-3 { width: calc(calc(var(--doc-width) - 330px) / 12 * 4 + 90px); }
    .col-5-3 { width: calc(calc(var(--doc-width) - 330px) / 12 * 5 + 120px); }
    .col-6-3 { width: calc(calc(var(--doc-width) - 330px) / 12 * 6 + 150px); }
    .col-7-3 { width: calc(calc(var(--doc-width) - 330px) / 12 * 7 + 180px); }
    .col-8-3 { width: calc(calc(var(--doc-width) - 330px) / 12 * 8 + 210px); }
    .col-9-3 { width: calc(calc(var(--doc-width) - 330px) / 12 * 9 + 240px); }
    .col-10-3 { width: calc(calc(var(--doc-width) - 330px) / 12 * 10 + 270px); }
    .col-11-3 { width: calc(calc(var(--doc-width) - 330px) / 12 * 11 + 300px); }
    .col-12-3 { width: calc(calc(var(--doc-width) - 330px) / 12 * 12 + 330px); }

    .col-12-3 {
        margin-right: 30px;
    }

    .cols-wrap-3 {
        flex-wrap: wrap;
        margin-right: -30px;
    }

    .content-block.col-12-3 {
        margin-bottom: 30px;
    }

    .content-block.col-12-3:not(:first-of-type) {
        margin-top: 30px;
    }
    #contact-side-mobile {
        display: block;
    }
    .contact-side-desktop {
        display: none;
    }
    .card-inner {
        padding: 20px;
    }
    .content-block-inner {
        padding: 15px;
    }
    #agenda-info .agenda-row strong {
        width: 70px;
    }
    .form-row-checkbox label {
        font-size: 12px;
    }
    .col-12-3 {
        margin-right: 0;
    }
    .content-block-post {
        flex-direction: column;
    }
    .content-block-inner {
        margin-left: 15px;
    }
    .cols.content-block:not(:last-of-type) {
        margin-bottom: 15px;
    }
    .card {
        margin-bottom: 15px;
    }
    #home-hero {
        padding-top: 100vw;
    }
    #home-hero-bg img {
        width: 100%;
        height: 100vw;
    }
}

.agenda-item-title {
    overflow: hidden;
    text-overflow: ellipsis;
    width: 90%;
}

.project-excerpt-inner {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
