@import url('https://fonts.googleapis.com/css2?family=Open+Sans&display=swap');

@font-face {
    font-family: "Open Sans Regular";
    src: url("../fonts/OpenSans_Regular.woff2") format("woff2");
}
 
@font-face {
    font-family: "Open Sans Condensed";
    src: url("../fonts/OpenSans_Condensed_Regular.woff2") format("woff2");
}

@font-face {
    font-family: "Open Sans Condensed SemiBold";
    src: url("../fonts/OpenSans_Condensed_SemiBold.woff2") format("woff2");
}

@font-face {
    font-family: "Open Sans Condensed Bold";
    src: url("../fonts/OpenSans_Condensed_Bold.woff2") format("woff2");
}

@font-face {
    font-family: "Bebas Neue";
    src: url("../fonts/BebasNeue.woff2") format("woff2");
}

@font-face {
    font-family: "Source Code Pro";
    src: url("../fonts/SourceCodePro.woff2") format("woff2");
}

:root {
    --font-BN: "Bebas Neue";
    --font-SCP: "Source Code Pro";
    --font-oSan: "Open Sans Regular";
    --font-oSanC: "Open Sans Condensed";
    --font-oSanC-SB: "Open Sans Condensed SemiBold";
    --font-oSansC-B: "Open Sans Condensed Bold";

    --clr-red: #ed0c32;
    --clr-gray: #666;
    --clr-gray-light: #a6a6a6;
    --clr-dark: #121212;
    --clr-white: #FFF;
    --clr-tdm: #FDDF39;
    --clr-gf: #C80C19;
    --clr-alb: #097FEE;
    --clr-nemt: #7DB8FF;

}

.no-scroll {overflow: hidden;}

    /* SCROLLING */

.scroll-down header {
    transform: translateY(-100%);
}

.scroll-up header {
    transform: none;
}

.scroll--hide {
    overflow-y: hidden;
}

a:link,a:visited,a:active {
    text-decoration: none;
    color: var(--clr-white);
    font-family: var(--font-oSanC);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    color: var(--clr-white);
    background-color: var(--clr-dark);
    transition: all 350ms ease-in-out;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-BN);
}

p {
    font-family: var(--font-oSanC-SB);
}

img {
    width: 100%;
    display: block;
}

main {
    display: grid;
    min-height: calc(100vh - 4rem);
    grid-template-rows: auto;
    justify-items: center;
    margin-inline: auto;
    padding: 0 1.5rem;
}

section {
    width: 100%;
}

figure figcaption {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    font-family: var(--font-oSansC-B);
    text-transform: uppercase;
    font-size: 1.25rem;
    margin-top: .75rem;
    letter-spacing: 1.2px;;
}

figure figcaption span { 
    font-family: var(--font-oSanc);
    font-size: .75rem;
    color: var(--clr-gray);
}

    @media (min-width: 48rem) {
        body.body--about main {
            margin: none;
        }
    }

section h2 {
    font-size: 3rem;
    font-weight: 400;
    line-height: 1;
}

    section h2 span {
        color: var(--clr-red);
    }

.arrow__svg {
    display: none;
    fill: var(--clr-white);
    width: auto;
    height: 1.5rem;
}

/* 

KNAPPER

*/

.cta {
    font-family: var(--font-oSansC-B);
    text-transform: uppercase;
    font-size: 1.25rem;
    padding: 1rem 2rem;
    background: var(--clr-red);
    max-height: 3.65rem;
}

    a.cta {
        font-family: var(--font-oSansC-B);
    }

    .cta div {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: row;
    }

    .cta svg {
        fill: var(--clr-white);
        height: 1.5rem;
    }

.return__btn {
    background: none;
    border: none;
    color: var(--clr-white);
    display: flex;
    gap: 2rem;
    cursor: pointer;
}

    .return__btn span {
        font-family: var(--font-BN);
        font-size: 1.1rem;
        font-weight: 300;
        line-height: .9;
        letter-spacing: .1rem;
        align-self: center;
        padding-top: .25rem;
    }

    .return__btn .return__svg {
        fill: var(--clr-white);
        height: .9rem;
        width: auto;
        align-self: center;
    }

@media (min-width: 32rem) {
    section h2 {
        font-size: 4.5rem
    }
}

    @media (min-width: 48rem) {
        main {
            max-width: clamp(80rem, 100%, 95rem);
        }

        section h2 {
            font-size: 6rem;
        }

        .arrow__svg { 
            display: block;
            align-self: end;
            height: 1.2rem;
        }
    }

    @media (min-width: 75rem) {
        .arrow__svg {
            height: 2rem;
        }

        figure figcaption { 
            flex-direction: row;
            justify-content: space-between;
            font-size: 1.5rem;
        }

            .portfolio figure figcaption span {
                font-size: .85rem;
            }

        .return__btn span {
            font-size: 1.25rem;
        }

        .return__btn .return__svg {
            height: 1.25rem;
        }
    }

    @media (min-width: 125rem) {
        main {
            max-width: 110rem;
        }
    }



/*
----------------------------------------------------------------------

SECTION: HEADER

----------------------------------------------------------------------
*/ 



header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 1rem 4rem;
    position: fixed;
    top: 0;
    background-color: var(--clr-dark);
    z-index: 1;
    transition: all 300ms ease-in-out
}

    body:not(.body--main) header.no--scroll {
        background-color: transparent;
    }
    .header__container {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-inline: auto;
        width: 100%;
    }

    .header__contact {
        display: flex;
        align-items: center;
        grid-column-gap: 1rem;
    }

        .header__contact a {
            height: 1rem;
        }

        .header svg {
            fill: var(--clr-white);
            height: 1rem;
        }

        header .header__logo {
            display: none;
            font-family: var(--font-BN);
            font-size: 3rem;
            font-weight: 600;
            color: var(--clr-red);
            letter-spacing: 1.2px;
            transition: color 100ms ease-in-out;
        }

        body:not(.body--main) header .header__logo {
            transition: color 300ms ease-in-out;
        }

        body:not(.body--main):not(.body--about) header .header__logo.no--scroll {
            color: var(--clr-white);
        }

        .header input {
            display: none;
        }

        .header label {
            display: flex;
            align-items: center;
            height: 2rem;
            z-index: 2;
            cursor: pointer;
        }

        header label span {
            position: relative;
            width: 2rem;
            background-color: transparent;
        }

        header label span::before,
        header label span::after {
            display: block;
            width: 100%;
            height: 2px;
            background: var(--clr-white);
            transition: all 300ms ease;
        }        

        header label span::before,
        header label span::after {
            content: '';
            position: absolute;
            top: -.25rem;
            left: 0;
        }
    
        header label span::after {
            top: .25rem;
        }




        @media (min-width: 48rem) {
            .header__container {
                display: grid;
                place-items: center;
                grid-template-columns: repeat(3, 1fr);
            }

            .header__contact {
                justify-self: start;
            }
            
            .header .header__logo {
                display: block;
                place-self: center;
            }

            .header__container {
                max-width: 130rem;
            }

            .header label {
                justify-self: end;
            }
        }

/*
----------------------------------------------------------------------

SECTION: NAV

----------------------------------------------------------------------
*/ 

header nav {
    position: fixed;
    top: 0;
    left: 0;
    visibility: hidden;
    opacity: 0;
    height: 100%;
    width: 100%;
    background: var(--clr-dark);
    font-family: var(--font-oSanc);
    font-size: 1.5rem;
    text-align: right;
    text-transform: lowercase;
    z-index: 1;
    padding: 10rem 3rem;
    transition: all 250ms ease-out;
}

    header nav .nav {
        display: grid;
        grid-template-rows: repeat(3, min-content);
        justify-items: right;
        align-items: start;
        gap: 6rem;
        max-width: 80rem;
        margin-inline: auto;
    }

.nav__toggle:checked ~ nav {
    /* left: 0; */
    visibility: visible;
    opacity: 1;
}

    body .hide--scroll {
        overflow-y: hidden;
    }

    .nav__toggle:checked ~ .nav__toggle--label span::before {
        rotate: 315deg;
        top: 0;
        left: 0;
    }

    .nav__toggle:checked ~ label.nav__toggle--label span::after {
        rotate: +225deg;
        top: 0;
        left: 0;
    }


header nav div {
    display: grid;
    grid-template-rows: minmax(0, auto);
    justify-items: right;
    gap: .5rem;
}

header nav div.nav__return {
    gap: 2rem;
}

header nav .nav__projects a {
    width: fit-content;
    position: relative;
    font-size: clamp(1.5rem, 4vw, 3rem);
    z-index: 2;
}

header nav .nav__projects a,
header nav .nav__kontakt a:not(.nav__ommig) {
    text-shadow:
    2px 3px 0 var(--clr-dark),
    2px -3px 0 var(--clr-dark),
    -2px 3px 0 var(--clr-dark),
    -2px -3px 0 var(--clr-dark),
    2px 0px 0 var(--clr-dark),
    0px 3px 0 var(--clr-dark),
    -2px 0px 0 var(--clr-dark),
    0px -2px 0 var(--clr-dark);
}

header nav .nav__projects a::before,
header nav .nav__kontakt a:not(.nav__ommig)::before {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: var(--clr-dark);
    text-shadow:
    3px 3px 0 var(--clr-dark),
    3px -3px 0 var(--clr-dark),
    -3px 3px 0 var(--clr-dark),
    -2px -3px 0 var(--clr-dark),
    3px 0px 0 var(--clr-dark),
    0px 3px 0 var(--clr-dark),
    -3px 0px 0 var(--clr-dark),
    0px -3px 0 var(--clr-dark);
}

header nav .nav__projects a::after,
header nav .nav__kontakt a:not(.nav__ommig)::after {
    content:'';
    position: absolute;
    bottom: 0;
    right: 0;
    left: 100%;
    height: .2rem;
    background: var(--clr-red);
    transition: all 500ms ease;
    z-index: -2;
    backface-visibility: hidden;
}

    header nav .nav__projects a:hover::after,
    header nav .nav__kontakt a:not(.nav__ommig):hover::after {
        left: 0;
    }

    header nav div.nav__projects span,
    header nav div.nav__kontakt span {
        font-family: var(--font-SCP);
        color: var(--clr-gray);
        font-size: .75rem;
    }

header nav .nav__kontakt {
    font-size: 1rem;
}

    header nav .nav__kontakt a,
    header nav .nav__return a:not(.nav__ommig) {
        width: fit-content;
        position: relative;
        font-size: clamp(1rem, 3vw, 2rem);
        z-index: 2;
    }

    header nav .nav__return a.nav__ommig {
        font-family: var(--font-oSansC-B);
        text-transform: uppercase;
        font-size: .75rem;
        padding: .75rem 1.5rem;
        background: var(--clr-red);
    }

    /* header nav .nav__return svg {
        height: 1.5rem;
        width: 1.5rem;
        transition: all 250ms;
    } */

    header nav .nav__kontakt a:hover svg {
        fill: var(--clr-white);
    }

    @media (min-width: 48rem) {
        header nav div.nav__projects span,
        header nav div.nav__kontakt span {
            font-size: clamp(.75rem, 1.75vw, 1.25rem);
        }

        header nav .nav__projects a::after
        header nav .nav__kontakt a::after {
            bottom: .1rem;
        }
    }

    @media (min-width: 75rem) {
        header nav .nav__projects a::after {
            bottom: .3rem;
        }

        header nav .nav__kontakt a:not(.nav__ommig)::after {
            bottom: .1rem;
        }

        header nav .nav__return a.nav__ommig {
            font-size: 1.25rem;
            padding: 1rem 2rem;
        }
    }

/*
----------------------------------------------------------------------

SECTION: HERO

----------------------------------------------------------------------
*/ 

.hero {
    font-family: var(--font-BN);
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(6, 1fr);
    place-items: center;
    height: clamp(40rem, calc(100vh - 4rem), 90vh);
    margin-top: 6rem;
}

    .hero > div:first-child {
        grid-row: 1 / 3;
    }

    .hero > div:last-child {
        grid-row: 3 / 6;
    }

    .hero__nameTitle {
        vertical-align: baseline;
        text-align: center;
    }
    
    .hero__nameTitle h1 {
        font-size: 2rem;
        line-height: 1;
        color: var(--clr-red);
        font-weight: 500;
        letter-spacing: .1rem;
    }

    .hero__nameTitle h2 {
        font-size: 1.08rem;
        letter-spacing: .16rem;
        font-weight: 300;
    }

    .hero__passion {
        display: inline-grid;
        grid-template-columns: repeat(5, 1fr);
        grid-template-rows: repeat(3, 1fr);
        place-items: center;
        margin: 0 1rem;
    }

        .hero__passion h2 {
            line-height: .9;
        }

        .hero__creative { 
            grid-column: 1 / 6;
            justify-self: center;
        }

        .hero__comm {
            grid-column: 3 / 6;
            grid-row: 2 / 3;
            justify-self: left;
        }

        .hero__digital {
            grid-column: 1 / 3;
            grid-row: 2 / 3;
            justify-self: center;
        }

        .hero__design {
            grid-column: 1 / 6;
            justify-self: center;
        }

        .hero .hero__passion .hero__comm h2,
        .hero .hero__passion .hero__digital h2 {
            font-size: 2rem;
        }

        .hero .hero__passion .hero__creative h2,
        .hero .hero__passion .hero__design h2 {
            font-size: 5rem;
        }

        .hero__creative,
        .hero__design {
            font-weight: 600;
            background-image: linear-gradient(to right, currentcolor 0%, currentcolor 0%);
            background-repeat: no-repeat;
            background-position: .05rem bottom;
            background-origin: border-box;
            text-decoration: none;
            background-size: 0% 4px;
            line-height: .9;
            color: var(--clr-red);
        }

        .hero__creative {
            animation: 1000ms ease-out 500ms forwards slideInFromLeft;
        }

        .hero__design {
            animation: 1000ms ease-in 1300ms forwards slideInFromLeft;
        }

@keyframes slideInFromLeft {
    0% {
        background-size: 0% 4px;
    }
    100% {
        background-size: 100% 6px;
    }
}

@media (min-width: 32rem) {

    .hero__nameTitle h1 {
        font-size: 3rem;
    }

    .hero__nameTitle h2 {
        font-size: 1.75rem;
    }

    .hero__passion h2 {
        line-height: .8;
    }

    .hero__passion {
        grid-template-rows: auto auto;
        grid-template-columns: auto auto;
        column-gap: 2rem;
        /* row-gap: 1rem; */
    }

    .hero__creative { 
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        justify-self: right;
    }

    .hero__comm {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
        justify-self: left;
    }

    .hero__digital {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
        justify-self: right;
    }

    .hero__design {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
        justify-self: left;
    }

    .hero .hero__passion .hero__creative h2,
    .hero .hero__passion .hero__design h2 {
        font-size: clamp(5rem, 15vw, 8rem);
    }

    .hero .hero__passion .hero__comm h2,
    .hero .hero__passion .hero__digital h2 {
        font-size: clamp(2rem, 6vw, 3.5rem);
    }
}

    @media (min-width: 48rem) {

        .hero .hero__passion {
            gap: 2rem;
        }

        .hero .hero__passion .hero__creative h2,
        .hero .hero__passion .hero__design h2 {
            font-size: clamp(8rem, 15vw, 11rem);
        }

        .hero .hero__passion .hero__comm h2,
        .hero .hero__passion .hero__digital h2 {
            font-size: clamp(3.5rem, 7vw, 5rem);

        }
    }

    @media (min-width: 75rem) {
        .hero .hero__passion .hero__creative h2,
        .hero .hero__passion .hero__design h2 {
            font-size: 11rem;
        }

        .hero .hero__passion .hero__comm h2,
        .hero .hero__passion .hero__digital h2 {
            font-size: 5rem;
        }

        @keyframes slideInFromLeft {
            0% {
                background-size: 0% 10px;
            }
            100% {
                background-size: 100% 10px;
            }
        }
    }

/*
----------------------------------------------------------------------

SECTION: PORTFOLIO

----------------------------------------------------------------------
*/ 

.portfolio {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 1rem;
    row-gap: 6rem;
}

    .portfolio__titel {
        grid-column: 1 / span 12;
    }

    .portfolio__tdm,
    .portfolio__gf,
    .portfolio__mbmmab,
    .portfolio__alb,
    .portfolio__nemt {
        grid-column: 1 / span 12;
    }

    .portfolio .portfolio__titel > span:first-child {
        font-family: var(--font-SCP);
        font-size: 1rem;
        color: var(--clr-gray);
    }

    .portfolio figure div {
        overflow-y: hidden;
        height: 100%;
    }


    .portfolio .portfolio__mbmmab figure div {
        height: 100%;
    }

    .portfolio div.portfolio__mbmmab img {
        aspect-ratio: 3 / 1;
    }



    .portfolio .portfolio__katalog + .portfolio__katalog {
        margin-top: 1rem;
    }

        @media (min-width: 32rem) {
            .portfolio .portfolio__titel h2 {
                font-size: 3rem;
            }
        }

            @media (min-width: 48rem) {
                .portfolio__titel {
                    grid-column: 8 / 13;
                    margin-top: 20%;
                    display: grid;
                    grid-template-columns: auto 1fr;
                    grid-template-rows: 2rem 2.4rem;
                    column-gap: 1rem;
                }

                    .portfolio__titel h2 {
                        grid-column: 2 / 3;
                    }

                    .portfolio__titel span:first-child {
                        grid-column: 2 / 3;
                    }

                .portfolio__tdm {
                    grid-area: 1 / 1 / auto / 7;
                }

                .portfolio__gf {
                    grid-column: 8 / 13;
                    margin-top: -20rem;
                }

                .portfolio__mbmmab {
                    grid-column: 1 / 6;
                    margin-top: -8rem;
                }

                .portfolio__alb {
                    grid-area: 3 / 7 / auto / 13;
                    
                }

                .portfolio__nemt {
                    grid-area: 4 / 3 / auto / 11;
                    margin-top: 8rem;
                }
            }
            

                @media (min-width: 75rem) {
                    .portfolio {
                        column-gap: 4rem;
                    }

                    .portfolio__titel {
                        grid-template-rows: 2rem 4rem;
                        column-gap: 1rem;
                    }

                    .portfolio .portfolio__titel h2 {
                        font-size: 5rem;
                    }

                    .portfolio__alb {
                        margin-top: 12rem;
                    }



                }

                /* @media (min-width: 100rem) {
                    .portfolio__tdm {
                        grid-area: 1 / 1 / auto / 6;
                    }
                } */

/*
----------------------------------------------------------------------

SECTION: Was here

----------------------------------------------------------------------
*/ 


.washere {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4rem;
    margin: 12.5rem auto;
}

        .washere div {
            width: clamp(8rem, 20%, 13rem);
        }

        .washere h2 {
            flex-basis: 100%;
            text-align: center;
        }
        
        .washere h2 span {
            color: var(--clr-red);
        }

        .washere svg,
        .washere .admedia__logo rect {
            fill: var(--clr-white);
            transition: all 250ms;
        }

        .washere a:hover > svg,
        .washere a:hover > svg.admedia__logo > rect {
            fill: var(--clr-red) !important;
        } 

@media (min-width: 48rem) {
    .washere {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        column-gap: 8rem;
        row-gap: 4rem;
        margin: 20rem auto;
    }
}

/*
----------------------------------------------------------------------

SECTION: REFERENCES

----------------------------------------------------------------------
*/ 

.references {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin: 0 auto 10rem;
    /* padding: 0 2rem; */
}

    .references h2 {
        text-align: center;
        line-height: 1;
    }

    .references figure {
        display: block;
        font-family: "Open Sans";
        font-weight: 400;
        font-style: italic;
        letter-spacing: 1.2px;
        color: var(--clr-gray-light);
    }

    .references figure span.startquote {
        display: inline-flex;
        margin-right: 1rem;
    }

    .references figure span.endquote {
        display: inline-flex;
        margin-left: 1rem;
    }

    .references figure blockquote {
        display: inline;
        font-size: 1.2rem;
        line-height: 2;
    }

    .references svg {
        fill: var(--clr-white);
        height: .7rem;
    }

    .references .referee {
        font-family: var(--font-oSan);
        font-style: normal;
        font-size: .75rem;
        color: var(--clr-white);
        font-weight: 700;
        margin-top: 2rem;
    }

    .references .referee .referee__name {
        display: block;
    }

    .references .referee .referee__title {
        color: var(--clr-gray);
        font-weight: 500;
    }

    .references .references__refresh {
        margin-top: 2rem;
        background: none;
        border: none;
        color: var(--clr-white);
        display: flex;
        flex-wrap: wrap;
        align-content: center;
        justify-items: center;
        gap: 1rem;
        cursor: pointer;
    }

    .references button span {
        font-family: var(--font-BN);
        font-size: .75rem;
        text-transform: uppercase;
        letter-spacing: .2rem;
    }

    .references .references__refresh .refresh__svg {
        rotate: 30deg;
        height: .9rem;
        width: auto;
    }

@media (min-width: 32rem) {
    .references {
        width: clamp(20rem, 100%, 60rem);
    }

    .references .referee,
    .references button span {
        font-size: clamp(.75rem, 1.5vw, 1rem);
    }
}

@media (min-width: 48rem) {

    .references h2 {
        line-height: .9;
    }

    .references figure blockquote {
        font-size: 1.3rem;
    }

    .references .references__refresh .refresh__svg {
        height: 1.05rem;
    }
}

@media (min-width: 75rem) {

    .references {
        margin: 0 auto 20rem;
    }

}

/*
----------------------------------------------------------------------

SECTION: About me

----------------------------------------------------------------------
*/ 

.aboutme {
    display: grid;
    grid-template-columns: 1fr 1fr;
    row-gap: 3rem;
    margin: 0 auto 10rem;
}

    .aboutme h2 {
        font-size: 3rem;
    }

    .aboutme figure figcaption {
        font-family: var(--font-SCP);
        font-size: 1rem;
        margin-bottom: .75rem;
        display: flex;
        gap: .5rem;
        color: var(--clr-gray);
        align-items: end;
        justify-content: end;
    }

    .aboutme figure figcaption a svg {
        fill: var(--clr-gray);
    }

    .aboutme figure,
    .aboutme div,
    .aboutme a {
        grid-column: 1 / 3;
    }

    .aboutme figure div img {
        filter: saturate(0) contrast(110%);
    }

    .aboutme .aboutme__info {
        grid-row: 1 / 2;
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }

    .aboutme .aboutme__info p {
        font-family: var(--font-oSanC-SB);
        font-size: 1.75rem;
        line-height: 1.5;
    }

    /* .aboutme .cta {
        font-family: var(--font-oSansC-B);
        text-transform: uppercase;
        font-size: 1.25rem;
        padding: 1rem 2rem;
        background: var(--clr-red);
        max-height: 3.65rem;
    }

        .aboutme .cta div {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .aboutme .cta svg {
            fill: var(--clr-white);
            height: 1.5rem;
        } */

@media (min-width: 48rem) {
    .aboutme {
        grid-template-columns: repeat(12, minmax(0, 1fr));
        column-gap: 1rem;
        width: auto;
        max-width: 100%;
    }

    .aboutme .aboutme__info div {
        display: flex;
        column-gap: 1rem;
        height: 2.4rem;
    }

    /* .aboutme .aboutme__info div .arrow__svg {
        align-self: end;
        height: 1.35rem;
    } */

    .aboutme .aboutme__info {
        grid-column: 8 / 12;
        grid-row: 1 / 2;
    }

    .aboutme .aboutme__info p {
        font-size: 2rem;
        font-size: clamp(1.5rem, 3.1vw, 2rem);
    }

    .aboutme figure div img {
        max-width: 30rem;
    }

    .aboutme figure {
        grid-column: 2 / 7;
        grid-row: 2 / 3;
        margin-top: -5.5rem;
        justify-self: right;
    }

    .aboutme .cta {
        grid-column: 8 / 12;
    }
}

@media (min-width: 75rem) {
    /* .aboutme {
        column-gap: 6rem;
    } */

    .aboutme h2 {
        font-size: 6rem;
    }

    .aboutme .aboutme__info {
        row-gap: 3rem;
        justify-self: right;
    }

        .aboutme .aboutme__info div {
            height: 4.75rem;
        }

    .aboutme .aboutme__info p {
        font-size: 2.5rem;
    }
}

/*
----------------------------------------------------------------------

SECTION: Projekt

----------------------------------------------------------------------
*/ 

.projekt {
    display: flex;
    flex-direction: column;
    text-align: center;
    justify-content: center;
    height: 70vh;
}

    .projekt svg {
        fill: var(--clr-white);
        width: 10rem;
        margin-top: 1rem;
    }

    .projekt a {
        color: var(--clr-red);
    }

    .projekt p {
        font-size: 1.5rem;
        margin-top: 3rem;
    }

    @media (min-width: 48rem) {
        .projekt p {
            font-size: 2rem;
        }

        .projekt svg {
            width: 15rem;
        }
    }

/*
----------------------------------------------------------------------

SECTION: Profile

----------------------------------------------------------------------
*/

.profile {
    max-width: 46rem;
    place-self: center;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: auto auto 1fr;
    row-gap: 4rem;
    margin: clamp(4rem, 10vh, 5rem) auto;
}

    .profile h2 {
        grid-column: 1 / 13;
        font-size: 2.15rem;
        font-size: clamp(2.15rem, 8vw, 2.75rem);
    }

    .profile .profile__text {
        grid-area: 2 / 1 / auto / 13;
    }

    .profile .return__btn {
        grid-area: 4 / 1 / auto / 13;
    }

    .profile .profile__text p {
        font-family: var(--font-oSan), "Open Sans", "Sans-Serif";
        font-weight: 100;
        font-size: 1rem;
        line-height: 1.6;
        letter-spacing: 1.1px;
    }

    .profile .profile__text p + p,
    .profile .profile__text a {
        margin-top: 2rem;
    }

    .profile .profile__contacts {
        grid-area: auto / 1 / auto / 13;
        display: flex;
        flex-direction: column;
        gap: 2.5rem;
    }

        .profile__contacts > div {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }
    
    .profile .profile__contacts .contacts__item {
        display: flex;
        align-items: center;
        column-gap: 2rem;
        transition: all 250ms ease;
    }

        .profile .profile__contacts .contacts__item:hover {
            color: var(--clr-red)
        }

    .profile .profile__contacts > span {
        font-family: var(--font-SCP);
        color: var(--clr-gray);
        font-size: 1rem;
    }

    .profile .profile__contacts svg {
        fill: var(--clr-white);
        width: auto;
        transition: all 250ms ease;
    }

    .profile .profile__contacts .contacts__item:hover svg {
        fill: var(--clr-red);
    }

    .profile .profile__contacts .contacts__item span {
        font-family: var(--font-oSanC);
        text-transform: lowercase;
        font-size: 1.25rem;
    }

    /* .profile__contacts .return__btn {
        background: none;
        border: none;
        color: var(--clr-white);
        display: flex;
        gap: 2rem;
        cursor: pointer;
    }
    
        .profile__contacts .return__btn span {
            font-family: var(--font-BN);
            font-size: .9rem;
            font-weight: 300;
            line-height: .9;
            letter-spacing: .1rem;
            align-self: center;
            padding-top: .25rem;
        }
    
        .profile__contacts .return__btn .return__svg {
            height: .9rem;
            width: auto;
            align-self: center;
        } */

    @media (min-width: 48rem) {
        .profile {
            margin: 0 auto;
            gap: 2rem;
        }

        .profile h2 {
            grid-column: 1 / span 7;
        }

        .profile .profile__text {
            grid-area: 2 / 1 / 3 / 8;
        }

        .profile .profile__contacts {
            grid-area: 2 / 9 / 4 / 13;
        }

        .profile .return__btn {
            grid-area: 3 / 1 / auto / span 4;
            align-self: start;
        }
    }

    @media (min-width: 75rem) {
        .profile {
            max-width: 60rem;
        }

        .profile h2 {
            font-size: 4rem;
        }

        .profile .profile__text p {
            font-size: 1.35rem;
        }

        .profile .profile__contacts {
            grid-area: 2 / 10 / 4 / 13;
        }

        .profile__contacts div {
            gap: 1.5rem;
        }

        .profile .profile__contacts > span {
            font-size: 1.25rem;
        }

        .profile .profile__contacts svg {
            height: 2rem;
        }

        .profile .profile__contacts .contacts__item span {
            font-size: 1.5rem;
        }
    }


/*
----------------------------------------------------------------------

Page: Cases

----------------------------------------------------------------------
*/

.case__title {
    /* height: clamp(40rem, calc(100vh - 4rem), 90vh); */
    padding-top: 30vh;
    padding-bottom: 28vh;
    /* display: grid;
    place-items: center; */
}

.case__title h1 {
    font-size: clamp(4rem, 18vw, 12rem);
    text-align: center;
    letter-spacing: 2px;
    line-height: 1;
}

.case__hero figure {
    display: grid;
    gap: 2rem;
}

    .case__hero figure figcaption {
        font-family: var(--font-oSanC-SB);
        font-size: .85rem;
    }

.case__info {
    margin-top: 4rem;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: minmax(0, 1fr);
    row-gap: 4rem;
    font-family: var(--font-oSanC);
    font-weight: 100;
    /* height: auto; */
    margin: 8rem 0;
    letter-spacing: 1.1px;
}

    .case__info div span {
        display: block;
        font-family: var(--font-SCP);
        color: var(--clr-gray);
        font-size: 1rem;
    }
    
    .case__info div {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }

    .case__opgaver {
        grid-area: 2 / 1 / auto / 7;
    }

    .case__tekst {
        grid-area: 1 / 1 / auto / 13;
    }

        .case__tekst p {
            font-family: var(--font-oSan);
            font-size: 1.1rem;

        }

    .case__links {
        grid-area: 2 / 7 / auto / 13;
        text-align: right;
    }

        .case__links a {
            transition: all 300ms ease;
        }

        .case__links a:hover {
            font-weight: 700;
        }

            .links--nemt a {
                color: var(--clr-nemt);
            }

            .links--tdm a {
                color: var(--clr-tdm);
            }

            .links--gf a {
                color: var(--clr-gf);
            }

            .links--alb a {
                color: var(--clr-alb);
            }

    .case__opgaver ul,
    .case__links ul {
        list-style: none;
    }

        .case__opgaver ul li,
        .case__links ul li {
            padding: .15rem 0;
        }

    .case__avatar {
        margin: 4rem 0;
    }

    .case__avatar h2 {
        text-align: center;
    }

    .case__avatar img {
        width: 20rem;
        margin: 2rem auto;
    }

/* TDM CASE */

body.body--tdm.no--scroll {
    background-color: var(--clr-tdm);
}

/* GF CASE */

body.body--gf.no--scroll {
    background-color: var(--clr-gf);
}

/* ALB CASE */

body.body--alb.no--scroll {
    background-color: var(--clr-alb);
}

/* NEMT CASE */

body.body--nemt.no--scroll {
    background-color: var(--clr-nemt);
}



    @media (min-width: 32rem) {
        .case__info {
            padding: 0 2rem;
        }
    }

    @media (min-width: 48rem) {
        .case__title {
            padding-top: 28vh;
            padding-bottom: 26vh;
        }

        .case__title h1 {
            grid-area: 1 / 1 / auto / 12;
            /* font-size: 15rem; */
        }


        .case__title div {
            grid-area: 4 / 2 / auto / 12;
            width: 100%;
        }

        .case__opgaver {
            grid-area: 1 / 1 / auto / 5;
        }

        .case__tekst {
            grid-area: 1 / 5 / auto / 9;
        }

        .case__links {
            grid-area: 1 / 9 / auto / 13;
        }
    }

        @media (min-width: 75rem) {
            .case__title {
                padding-top: 34vh;
                padding-bottom: 30vh;
            }

            /* .case__hero figure figcaption {
                font-family: .85rem;
            } */
        }