/**
* about.css
**/

.about .grid {
    display: -ms-grid;
    -ms-grid-columns: (1fr 1rem)[12];
    -ms-grid-rows: (auto 1rem)[3];

    grid-template-rows: minmax(min-content, 20px) auto;
}

.about .grid:not(:first-of-type) {
    padding-top: 4em;
}

.about .grid:nth-of-type(2) {
    padding-top: 0;
}

.about .teaser {
    -ms-grid-column: 1;
    -ms-grid-column-span: 24;
    -ms-grid-row: 1;

    grid-column: viewport;
}

.about .teaser p {
    padding: 1em 0 0 0;
}

.about .grid h2 {
    -ms-grid-column: 1;
    -ms-grid-column-span: 24;
    -ms-grid-row: 1;

    grid-column: viewport;
}

.about img {
    max-width: 100%;
}

.about .image {
    -ms-grid-column: 1;
    -ms-grid-column-span: 24;
    -ms-grid-row: 3;

    grid-column: viewport;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.about p {
    -ms-grid-column: 1;
    -ms-grid-column-span: 24;
    -ms-grid-row: 5;

    grid-column: viewport;
}

.about .grid:nth-of-type(1) {
    margin-top: 0;
}

@media screen and (min-width: 575px) {
    .about .grid {
        display: block;
    }

    .about .grid h2 {
        margin-bottom: 1em; /* to compensate grid gap */
    }

    .about .image {
        width: 45%;
        float: left;
        margin: 0.3em 1em 0.3em 0;
    }
}

@media screen and (min-width: 768px) {
    .about .grid {
        display: grid;
        display: -ms-grid;
        -ms-grid-rows: (auto 0.5rem)[2];
    }

    .about .grid h2 {
        -ms-grid-column: 9;
        -ms-grid-column-span: 24;
        -ms-grid-row: 1;

        grid-row: 1;
        grid-column: 5 / -1;
        padding-left: 2em;
        margin-bottom: 0;
    }

    .about .image {
        width: 100%;
        float: none;
        margin: 0;

        -ms-grid-column: 1;
        -ms-grid-column-span: 7;
        -ms-grid-row: 1;
        -ms-grid-row-span: 3;

        grid-column: 1 / 5;
        grid-row: 1 / span 2;
    }

    .about p {
        -ms-grid-column: 9;
        -ms-grid-column-span: 24;
        -ms-grid-row: 3;
        grid-column: 5 / -1;

        padding-left: 2em;
    }
}

@media screen and (min-width: 991px) {}