/* ------------------------------ */
/* ----------- Project ---------- */
/* ------------------------------ */

.section > .section__two_column_content + .section__filter, .section > .section__filter + .section__projects {
  padding-top: var(--spacing-9);
}

.section__projects .projects_title h2 {
    margin-top: 0;
    margin-bottom: var(--spacing-8);
}


/* Filter */
.filter__label {
    font-size: var(--font-size-2);
    line-height: var(--line-height-3);
}

.filter__buttons {
    max-width: 1026px;
}


/* Vorschau */
.section__projects, .projects_container {
    max-width: 2100px;
    margin-right: auto;
    margin-left: auto;
}

.section > .section__projects {
    padding-right: 0;
    padding-left: 0;
}

.projects {
  position: relative;
}

.project {
    overflow: hidden;
}

.touchevents .project {
  cursor: pointer;
}

.project__details {
    position: absolute;
    z-index: 4;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color: var(--brand-white);
    background-color: rgba(0,0,0,.65);

    -webkit-transform: translateY(100%);

        -ms-transform: translateY(100%);

            transform: translateY(100%);
    -webkit-transition: -webkit-transform .5s;
    transition: -webkit-transform .5s;
    transition: transform .5s;
    transition: transform .5s, -webkit-transform .5s;
}

.no-touchevents .project:hover .project__details,
.touchevents .project.is-active .project__details {
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
}

.project__details .details {
    width: 100%;
}

.project__details .details h2.typography--h4, .project__details .details .typography--small {
    font-variation-settings: "wdth" 0, "wght" 400;
}

.project__details .details h2.typography--h4 {
    margin-bottom: 0;
}

.project__media__container .picture_container {
    background: var(--brand-black);
}



/* ------------------------------ */
/* -------- Media Queries ------- */
/* ------------------------------ */

@media all and (min-width: 768px) {

    .filter .buttons {
        margin: -10px;
    }

    .filter .buttons > button {
        margin: 10px;
    }

}


@media all and (min-width: 992px) {

    .filter__label {
        width: 130px;
    }

    .filter__buttons {
        width: calc(100% - 130px);
    }

}


@media all and (min-width: 1240px) {

    .project, .projects .grid-sizer {
        width: 33.3333333%;
    }

    .project__details .details h2.typography--h4 {
        margin-top: var(--spacing-3);
    }

}


@media all and (min-width: 1600px) {

    .project__details .button:not(.button--ghost):not(.button--big) a {
        margin-top: var(--spacing-5);
    }

}


@media all and (min-width: 1720px) {

    .project__details .details {
        padding: var(--spacing-6) var(--spacing-6) calc(var(--spacing-6) + 5px);
    }

    .project__toggle {
        right: var(--spacing-6);
        bottom: var(--spacing-6);
    }

}


@media all and (max-width: 1719.98px) and (min-width: 1240px) {

    .project__details .details {
        padding: var(--spacing-5) var(--spacing-5) calc(var(--spacing-5) + 5px);
    }

    .project__toggle {
        right: var(--spacing-5);
        bottom: var(--spacing-5);
    }

}


@media all and (max-width: 1599.98px) and (min-width: 576px) {

    .project__details .button:not(.button--ghost):not(.button--big) a {
        margin-top: var(--spacing-5);
    }

}


@media all and (max-width: 1239.98px) {

    .project__details .details {
        padding: var(--spacing-6) var(--spacing-6) calc(var(--spacing-6) + 5px);
    }

    .project__details .details h2.typography--h4 {
        margin-top: var(--spacing-2);
    }

    .project__toggle {
        right: var(--spacing-6);
        bottom: var(--spacing-6);
    }

}


@media all and (max-width: 1239.98px) and (min-width: 768px) {

    .project, .projects .grid-sizer {
        width: 50%;
    }

}


@media all and (max-width: 991.98px) and (min-width: 768px) {

    .filter__label {
        width: 100px;
    }

    .filter__buttons {
        width: calc(100% - 100px);
    }

}


@media all and (max-width: 767.98px) {

    .filter .buttons {
        margin: -8px;
    }

    .filter .buttons > button {
        margin: 8px;
    }

    .project, .projects .grid-sizer {
        width: 100%;
    }

}


@media all and (max-width: 575.98px) {

    .project__details .button:not(.button--ghost):not(.button--big) a {
        margin-top: var(--spacing-6);
    }

}