
/* source-code-pro-200 - latin */
@font-face {
    font-display: swap; 
    font-family: 'Source Code Pro';
    font-style: normal;
    font-weight: 200;
    src: url('fonts/source-code-pro-v23-latin-200.woff2') format('woff2'); 
  }


  /* source-sans-3-300 - latin */
@font-face {
    font-display: swap; 
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 300;
    src: url('fonts/source-sans-3-v10-latin-300.woff2') format('woff2'); 
  }


:root{
    --sec-color: #4B525C;
    --light-color:#918076;
    --text-color: black;
}

html{
    scroll-snap-type: y mandatory;
    height: 100vh;
}

h1, h2, h3, h4{
    font-family: 'Source Code Pro';
    text-align: center;
    color:#4B525C;
}

h1 {
    font-size: 1.5em;
    border: 1.5px solid var(--light-color);
    padding: 0.7em;
    margin: 1em;
    background-color: rgba(255, 255, 255, 0.5);
}

h2 {
    font-size: 1.2em;
    gap: 0 0.5 0 0.5;
}

h3 {
    font-size: 1.2em;
    margin: 0 0 0 0;
}

body{
    height: 100vh;
    width: 100%;
    font-size: 70%;
    
    overflow: scroll;
    scroll-snap-type: y mandatory;

    font-family: 'Source Sans 3';
    text-align: center;
    color: var(--text-color);
    hyphens: auto;

    background: url("images/map_light_alpha030.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: fixed;

}


header {
    position: fixed;
    display:flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 2.5em; 
    width: 100%;
    padding: 0;
    top: 0.1em;
    font-size: 1em;
    color: var(--sec-color)
}

footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 10vh;
    width: 100%;
    bottom: 10em;
}

nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
    padding: 0;
    margin: 0;
}

.note{
    color: #B34A49;
    background-color: white;
}

a{
    color: var(--text-color);
    text-decoration: none;
}

a:hover{
    color: var(--secondary-light-color);
}

ul{
    list-style-position: outside;
    padding-left:0;
}

nav li{
    list-style: none;
    margin: 0 10px;
    float:left;
}

footer li{
    list-style: none;
    margin: 0 10px;
    float:left;
}


section{
    height: 100vh;
    display:flex;
    justify-content:center;
    align-items: center;
    flex-wrap: wrap;    
    scroll-snap-align: start;
}

.content-container{
    padding: 2.5em 0.2em 0 0.2em;
    margin: 0;
    gap: 0.4em;
    display:inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}


#home {
    padding: 0 4em;
    background: url("images/map_green_alpha030.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: fixed;
    hyphens: none;

}

.description {
    width: 80%;
    text-align: justify;
    hyphens: auto;
}

.profile-image {
    width: 250px;
    height: 250px;

    max-height: 40vw;
    max-width: 40vw;

    border-radius: 50%;
    border: 1px solid var(--sec-color);
  
    display: inline-block;
    object-fit: cover;
  }


.portfolio-items {
    padding: 3em 1em 3em 1em;
    display: grid;
    height: 85%;
    grid-template-rows: repeat(3, 1fr);
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 0.5em;

}

.portfolio-items li{
    list-style: none;
}


.portfolio-item{
    padding: 0.15em;
    background: #918076;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;

    &.small{
        grid-row: span 1;
        grid-column: span 1;
        background: #4B525C;
    }

    &.medium{
        grid-row: span 2;
        grid-column: span 2;
        background: #4B525C;
    }

    &.wide3 {
        grid-row:  span 1;
        grid-column: span 3;
    }
    
    &.wide2green{
        grid-row:  span 1;
        grid-column: span 2;
        background: #477555;
    }
    &.wide2{
        grid-row:  span 1;
        grid-column: span 2;
    }
}


.contact-section{
    height: 90vh;
}

.contact-container li{
    list-style: none;
}

.impressum-section{
    height: 90vh;
    display:flex;
    justify-content:center;
    align-items: center;
    flex-wrap: wrap;    
}

.impressum-section ul{
    list-style: none;
}

.impressum-container{
    width:100%;
    text-align: center;
}

.impressum-tmg{
    margin:auto;
    width: 25em;
    text-align: center;
    border: 1.5px solid var(--secondary-light-color);
    background-color: white;
}

.impressum-contact{
    margin:auto;
    width: 25em;
    text-align: center;
    border: 1.5px solid var(--secondary-light-color);
    background-color: white;
}

.privacy-section {
    height: 90vh;
    display:flex;
    justify-content:center;
    align-items: center;
    flex-wrap: wrap;   
    padding: 0.5em 0.5em;

}

.privacy-container{
    text-align: left;
    max-width: 80%;
    max-height: 90%;
}

.privacy-section h2  {
    text-align: left;
}

.privacy-section h3 {
    font-size: 95%;
    text-align: left;
}

.privacy-section h4 {
    font-size: 90%;
    text-align: left;
}


@media(min-width: 250px){
    body{
        font-size: 80%;
    }
}

@media(min-width: 300px){
    body{
        font-size: 85%;
    }
}

@media(min-width: 350px){
    body{
        font-size: 100%;
    }

    .portfolio-items {
        max-width: 90%;
        max-height: 90%;
        grid-gap: 0.6em;
    
    }
}


@media(min-width: 600px){

    h1 {
        font-size: 2em;
    }
    
    h2, h3 {
        font-size: 1.5em;
    }

    .privacy-section h3 {
        font-size: 95%;
        text-align: left;
    }
    
    .privacy-section h4 {
        font-size: 80%;
        text-align: left;
    }
    

    .description {
        width: 50%;
        text-align: justify;
        hyphens: auto;
    }

    .content-container{
        padding: 5em 0.5em 5em 0.5em;
        gap: 5em;
    }

    .portfolio-items {
        padding: 5em 8em;
        max-width: 70%;
        max-height: 70%;
        grid-gap: 0.8em;
    }
    

}

