/* ----------------------------------------------------------------------------*/
/* COLORS */
/* ----------------------------------------------------------------------------*/

:root{
    --border-radius-main-con: 35px;
    --border-radius-img: 25px;
    --border-radius-small: 20px;

    /*Neutral */
    --white: oklch(1 0 0);
    --whitesmoke: oklch(0.97 0 0);
    --black: oklch(0.0846 0.0139 275.94);

    /* Color-Palette */
    --olive: oklch(0.7746 0.0286 179.44);
    --greenleaf: oklch(0.4497 0.0719 146.66);
    --browngrey: oklch(0.3666 0.0074 153.53);
    --tanly: oklch(0.8947 0.0141 124.57);

    --olive_trans: oklch(0.7746 0.0286 179.44 / 50%);
    --browngrey_trans: oklch(0.3666 0.0074 153.53 / 10%);
    --transparent: oklch(0.3666 0.0074 153.53 / 0%)
}

/* ------------------------------------------------------------------------------*/
/* TEXT STYLES */
/* ------------------------------------------------------------------------------*/

h1{
    font-family: "Inter"; sans-serif;
    font-weight: 700;
    font-size: 3rem;
    line-height: 1;
    hyphens: auto;
    color: var(--browngrey);
}

h2{
    font-family: "Inter"; sans-serif; 
    font-weight: 700;
    font-size: 2rem;
    line-height: 1;
    hyphens: auto;
    color: var(--browngrey);
}

h3{
    font-family: "Inter"; sans-serif; 
    font-weight: 600;
    font-size: 1.6rem;
    line-height: 1;
    hyphens: auto;
}

h4{
    font-family: "Inter"; sans-serif; 
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1;
    hyphens: auto;
    color: var(--browngrey);
}

p{
    font-family: "Inter"; sans-serif; 
    font-weight: 400;
    font-size: 1.2em;
    line-height: 1.4;
    color: var(--browngrey);
}



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

/* BODY */
body{
    min-height: 100vh;
    line-height: 1.3;
    background-image: linear-gradient(-20deg, var(--olive) 0%, var(--tanly) 100%);
    color: var(--black);
}

/* HEADER */
header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px;
    backdrop-filter: blur(35px);
    position: fixed;
    top: 0;
    width: 100%;
    left: 0
}

.header-logo{
    cursor: pointer;
    font-family: "Sarina", cursive;
    color: var(--browngrey);
    font-size: 40px;
    text-decoration: none;
}
        
.header-nav{
    list-style: none;
    display: flex;
    & .nav-button{
        padding: 0.8em 1.2em;
        margin-left: 0.8em;
        border-radius: var(--border-radius-small);
        background-color: var(--browngrey);
        cursor: pointer;
        text-decoration: none;
        font-family: "Inter"; sans-serif;
        font-weight: 500;
        font-size: 1rem;
        color: var(--white);
        transition: all 0.3s ease-out;
        &:hover, :focus{
            background-color: var(--greenleaf);
        }
    }
}

.sidebar{
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    width: 100vw;
    z-index: 999;
    background-image: linear-gradient(-20deg, var(--olive) 0%, var(--tanly) 100%); 
    display: none;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
    list-style: none;
    animation: fadein 0.5s;
    & li{
        width: 80%;
    }
    & .sidebar-button{
        display: flex;
        padding: 1em 2em;
        margin: 10px 15px 0px 0px;
        border: none;
        border-radius: 20px;
        background-color: var(--browngrey);
        cursor: pointer;
        font-family: "Inter"; sans-serif;
            font-weight: 500;
            font-size: 1rem;
            text-decoration: none;
            color: var(--white);
    }
    & li:first-child{
        display: flex;
        justify-content: flex-end;
        margin-top: 5px;
        & a{
            padding: 1em 1.2em;
        }
        
    }
}

@keyframes fadein {
  from { opacity: 0}
  to   { opacity: 1}
}

.menu-button{
    display: none;
    padding: 0.8em 1.2em;
    border: none;
    border-radius: 20px;
    background-color: var(--browngrey);
    cursor: pointer;
    vertical-align: top;
    & .svg{
        display: flex-inline;
        align-items: center;
        justify-content: center;
        vertical-align: middle;
    }
}

/* FOOTER */
footer{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 30px 30px 80px 30px;
    width: 100%;
    & section{
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        row-gap: 15px;
        column-gap: 10px;
    }
    & p{
        margin: 1em 0em;
    }
}

/*  START  */
.index-con{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 2em;
    border: var(--red);
    margin: 9em 2em 2em 2em;

    & .index-subcon{
        background-color: var(--browngrey_trans);
        border-radius: var(--border-radius-main-con);
        display: flex;
        flex-direction: row;
        justify-content: space-around;
 
        & .index-subcon-content-1{
            padding: 2rem;
            order: 2;
            width: 1024px;
            display: grid;
            gap: 2rem;
            grid-template-columns: 1fr 1fr;
            grid-template-rows: auto auto auto;
            grid-template-areas:
            "box-4 box-1"
            "box-4 box-2"
            "box-4 box-3";

            & .index-subcon-1-img{
                grid-area: box-4;
                align-self: stretch;
                justify-self: stretch;
                display: grid;             
                place-items: center;       
                margin: 0;                 
                overflow: hidden;          
                > img {
                    display: block;        
                    max-width: 100%;       
                    height: auto;
                    border-radius: var(--border-radius-img)}
            }
            & .index-subcon-1-title{
                grid-area: box-1;
                text-align: right;
                padding: 0em 0em 1rem 0em;
            }
            & .index-subcon-1-text{
                grid-area: "box-2";
                justify-self: center; 
                align-self: center;
                padding: 1em 0em 1em 0em;
            }
            & .index-subcon-1-btn{
                grid-area: box-3; 
                justify-self: center; 
                align-self: center;
                padding: 1em;
            }
        }

        & .index-subcon-content-2{
            padding: 2rem;
            order: 2;
            width: 1024px;
            display: grid;
            gap: 2rem;
            grid-template-columns: 1fr 1fr;
            grid-template-rows: auto auto auto;
            grid-template-areas:
            "box-1 box-4"
            "box-2 box-4"
            "box-3 box-4";

            & .index-subcon-2-img{
            grid-area: box-4;
            align-self: stretch;
            justify-self: stretch;
            display: grid;             
            place-items: center;       
            margin: 0;                
            overflow: hidden;          
            > img {
                display: block;         
                max-width: 100%;       
                height: auto;
                border-radius: var(--border-radius-img);}
            }
            & .index-subcon-2-title{
                grid-area: box-1;
                text-align: left;
                padding: 0em 0em 1rem 0em;
            }
            & .index-subcon-2-text{
                grid-area: "box-2";
                justify-self: center; 
                align-self: center;
                padding: 1em 0em 1em 0em;
            }
            & .index-subcon-2-btn{
                grid-area: "box-3"; 
                justify-self: center; 
                align-self: center;
                padding: 1em;
            }
        }

        & .index-subcon-content-3{
            padding: 2rem;
            width: 1024px;
            display: grid;
            gap: 2rem;
            grid-template-columns: 1fr;
            grid-template-rows: auto auto auto;
            grid-template-areas:
            "box-1"
            "box-2"
            "box-3";

            & .index-subcon-3-title{
                grid-area: box-1;
                text-align: left;
                padding: 0em 0em 1rem 0em;
            }
            & .index-subcon-3-text{
                grid-area: "box-2";
                justify-self: center; 
                align-self: center;
                padding: 1em 0em 1em 0em;
            }
            & .index-subcon-3-form{
                width: 100%;
                text-align: left;
                font-family: "Inter"; sans-serif;
                display: flex;
                flex-wrap: wrap;
                justify-content: space-evenly;
                column-gap: 10px;
                & label{
                    display: block;
                    font-weight: 400;
                    font-size: 1em;
                    line-height: 1;
                    margin-bottom: 0.5em;
                    margin-top: 1em;
                }
                & input[type="text"]{
                    padding: 10px;
                    font-weight: 300;
                    font-size: 1.2em;
                    line-height: 1.4;
                    border-radius: 10px;
                    border-style: none;
                    background-color: var(--whitesmoke);
                    width: 100%;
                }
                & input[type="text"]::placeholder {
                color: var(--beige);
                }
                input[type="text"]:focus::placeholder {
                visibility: hidden;
                }
                & input[type="number"]{
                    padding: 10px;
                    font-weight: 300;
                    font-size: 1.2em;
                    line-height: 1.4;
                    border-radius: 10px;
                    border-style: none;
                    background-color: var(--whitesmoke);
                    width: 100%;
                }
                & input[type="email"]{
                    padding: 10px;
                    font-weight: 300;
                    font-size: 1.2em;
                    line-height: 1.4;
                    border-radius: 10px;
                    border-style: none;
                    background-color: var(--whitesmoke);
                    width: 100%;
                }
                & input[type="tel"]{
                    padding: 10px;
                    font-weight: 300;
                    font-size: 1.2em;
                    line-height: 1.4;
                    border-radius: 10px;
                    border-style: none;
                    background-color: var(--whitesmoke);
                    width: 100%;
                }
                & select {
                    padding: 10px;
                    font-weight: 300;
                    font-size: 1.2em;
                    border-style: none;
                    border-radius: 10px;
                    background-color: var(--whitesmoke);
                    width: 100%;
                }
                & textarea {
                    padding: 10px;
                    font-weight: 300;
                    font-size: 1.2em;
                    font-family: "Inter"; sans-serif;
                    border-radius: 10px;
                    border-style: none;
                    background-color: var(--whitesmoke);
                    width: 100%;
                    height: 300px;
                    resize: none;
                }
                & fieldset{
                    border: none;
                    flex-grow: 1;
                }
                & .message-area{
                    width: 100%;
                }
                & .form-button{
                    margin-top: 10px;
                    flex-grow: 1;
                    & input{
                        margin-right: 10px;
                        margin-top: 10px;
                    }
                }
                & input:focus, textarea:focus, select:focus{
                    outline-style: solid;
                    outline-color: var(--greenleaf);
                    outline-width: 2px;
                }
            }
        }
    }
}

/* ABOUT */
.about-con{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 2em;
    margin: 9em 2em 2em 2em;

    & .about-subcon{
        background-color: var(--browngrey_trans);
        border-radius: var(--border-radius-main-con);
        display: flex;
        flex-direction: row;
        justify-content: space-around;

        /* Über Mich - erster Container */
        & .about-subcon-content-1{
            padding: 2rem;
            width: 1024px;
            display: grid;
            gap: 1.5rem;
            grid-template-columns: 1fr 1fr;
            grid-template-rows: auto auto auto;
            grid-template-areas:
            "box-1 box-1"
            "box-2 box-4"
            "box-2 box-3";

            & .about-subcon-1-img{
            grid-area: box-4;
            align-self: stretch;
            justify-self: stretch;
            display: grid;            
            place-items: center;       
            margin: 0;                
            overflow: hidden;         
            > img {
                display: block;         
                max-width: 100%;        
                height: auto;
                border-radius: var(--border-radius-img);}
            }
            & .about-subcon-1-title{
                grid-area: box-1;
                text-align: left;
                padding: 0em;
            }
            & .about-subcon-1-text{
                grid-area: "box-2";
                justify-self: center; 
                align-self: center;
                padding: 1em 0em 1em 0em;
            }
            & .about-subcon-1-btn{
                grid-area: box-3; 
                justify-self: center; 
                align-self: center;
                padding: 1em;
            }
        }

        /* Über Mich - Skills Container */
        & .about-subcon-content-2{
            padding: 2rem;
            order: 2;
            width: 1024px;
            display: block;

            & .about-subcon-2-title{
                text-align: left;
                padding: 0em 0em 1em 0em;
            }

            & .about-subcon-2-skills-con{
                display: grid;
                grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
                gap: 15px;
                row-gap: 25px;
                justify-content: center;

                & .about-subcon-2-skillscard{
                    overflow: hidden;
                    border-radius: var(--border-radius-small);

                    > figure {
                        background-color: var(--browngrey_trans);
                        border-radius: var(--border-radius-small);
                        display: grid;
                        place-items: center;
                        overflow: hidden;
                        height: 150px;
                        & img {
                            border-radius: var(--border-radius-small);
                            height: 70%;
                        }
                    }
                    > div{
                        display: block;
                        gap: 1em;
                        background-color: var(--tanly);
                        width: 100%;
                        min-height: 100%;
                        padding: 1em;
                        margin-top: 1em;
                        border-radius: var(--border-radius-small);
                        >p{
                            padding: 0.2em 0.9em;
                            margin: 0em 0em 0.6em 0em;
                            width:fit-content;
                            background-color: var(--olive_trans);
                            border-radius: 12px;
                            font-size: 1em;
                        }
                    }
                }
            }
        } 

        /* Über Mich - Fotos Container */
        & .about-subcon-content-3{
            padding: 2rem;
            width: 1024px;
            display: block;

            & .about-subcon-3-title{
                text-align: left;
                padding: 0em 0em 1em 0em;
            }

            & .about-subcon-3-photos-con{
                display: grid;
                grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
                gap: 15px;
                row-gap: 30px;
                justify-content: center;

                > .about-subcon-3-photocard{
                    overflow: hidden;
                    border-radius: 20px;

                    > figure {
                        width: 100%;
                        & img {
                        border-radius: 20px;
                        width: 100%;
                    }
                    > img:hover{
                        opacity: 0.7;
                        cursor: pointer;
                    }
                    }
                    > div{
                        background-color: var(--tanly);
                        width: 100%;
                        min-height: 100%;
                        padding: 1em;
                        margin-top: 0.9em;
                        border-radius: 20px;
                    }
                }
            }
        }
    }
}

/* CV */
.cv-con{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 2em;
    margin: 9em 2em 2em 2em;

    & .cv-subcon{
        background-color: var(--browngrey_trans);
        border-radius: var(--border-radius-main-con);
        display: flex;
        flex-direction: row;
        justify-content: space-around;

        & .cv-subcon-content{
            padding: 2rem;
            width: 1024px; 

            & .cv-subcon-title{
                grid-area: box-1;
                text-align: left;
                padding: 0em;
                margin-bottom: 1.5rem;
                
            }

            & .cv-subcon-step-container{
                display: flex;
                flex-direction: column;
                gap: 1.5em;

                & .cv-subcon-step-card{
                    display: flex;
                    flex-wrap: wrap;
                    gap: 2em;

                    & figure{
                        display: grid;
                        align-items: center;
                        height: 150px;
                        width: 150px;
                        overflow: hidden;
                        background-color: white;
                        border-radius: var(--border-radius-img);                        
                        & img{
                            margin-left: auto;
                            margin-right: auto;
                            width: 70%;
                        }
                    }
                    & div{
                        flex-grow: 1;
                        display: grid;
                        align-items: center;
                        padding: 1em 0em 1em 2em;
                        background-color: var(--tanly);
                        border-radius: var(--border-radius-img);
                        color: var(--browngrey);
                    }
                    & article1{
                        display: none;
                        }
                    & article2{
                        display: none;
                    }
                }
            }
        } 
    }
}

/* STUDY */
.study-con{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 2em;
    margin: 9em 2em 2em 2em;

    & .study-subcon{
        background-color: var(--browngrey_trans);
        border-radius: var(--border-radius-main-con);
        display: flex;
        flex-direction: row;
        justify-content: space-around;

        & .study-subcon-content-1{
            padding: 2rem;
            order: 2;
            width: 1024px;
            display: grid;
            gap: 1.5rem;
            grid-template-columns: 1fr 1fr;
            grid-template-rows: auto auto;
            grid-template-areas:
            "box-1 box-1"
            "box-2 box-3";

            & .study-subcon-1-img{
            grid-area: box-3;
            align-self: stretch;
            justify-self: stretch;
            display: grid;             
            place-items: center;   
            margin: 0;                 
            overflow: hidden;          
            > img {
                display: block;       
                max-width: 100%;       
                height: auto;
                border-radius: 25px;}
            }
            & .study-subcon-1-title{
                grid-area: box-1;
                text-align: left;
                padding: 0em;
            }
            & .study-subcon-1-text{
                grid-area: "box-2";
                justify-self: center; 
                align-self: center;
                padding: 1em 0em 1em 0em;
            }
        }

        & .study-subcon-content-2{
            padding: 2rem;
            order: 2;
            width: 1024px;
            display: grid;
            gap: 1.5rem;
            grid-template-columns: 1fr 1fr;
            grid-template-rows: auto auto;
            grid-template-areas:
            "box-1 box-1"
            "box-2 box-3";

            & .study-subcon-2-img{
            grid-area: box-3;
            align-self: stretch;
            justify-self: stretch;
            display: grid;             
            place-items: center;       
            margin: 0;                 
            overflow: hidden;       
            > img {
                display: block;         
                max-width: 100%;        
                height: auto;
                border-radius: 25px;}
            }
            & .study-subcon-2-title{
                grid-area: box-1;
                text-align: left;
                padding: 0em;
            }
            & .study-subcon-2-text{
                grid-area: "box-2";
                justify-self: center; 
                align-self: center;
                padding: 1em 0em 1em 0em;
            }
        }

        & .study-subcon-content-3{
            padding: 2rem;
            width: 1024px;

            & .study-subcon-3-title{
                grid-area: box-1;
                text-align: left;
                padding: 0em;
                gap: 2em;
            }
            & .study-subcon-3-projectcard{
                display: grid;
                gap: 1em;
                margin-top: 3em;
                grid-template-columns: 1fr 2fr;
                grid-template-rows: auto auto;
                grid-template-areas:
                "box-1 box-2"
                "box-1 box-3";
                & .study-subcon-3-projectcard-img{
                    grid-area: box-1;
                    overflow: hidden;
                    height: 340px;
                    display: grid;
                    border-radius: var(--border-radius-img);
                    & img{
                        width: 100%; 
                        align-content: center;
                        justify-content: center;
                    }
                }
                & .study-subcon-3-projectcard-title{
                    grid-area: box-2;
                    padding: 1em 0em 1em 2em;
                    background-color: var(--greenleaf);
                    color: var(--white);
                    border-radius: var(--border-radius-img);
                    flex-grow: 1;
                    align-self: center;
                }
                & .study-subcon-3-projectcard-text{
                    grid-area: box-3;
                    padding: 1em ;
                    background-color: var(--tanly);
                    border-radius: var(--border-radius-img);
                    min-height: 260px;
                }
            }
        }
    }
}


/* HOBBIES */ 
.hobbies-con{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 2em;
    margin: 9em 2em 2em 2em;

    & .hobbies-subcon{
        background-color: var(--browngrey_trans);
        border-radius: var(--border-radius-main-con);
        display: flex;
        flex-direction: row;
        justify-content: space-around;

        & .hobbies-subcon-content-1{
            padding: 2rem;
            order: 2;
            width: 1024px;
            display: grid;
            gap: 1.5rem;
            grid-template-columns: 1fr 1fr;
            grid-template-rows: auto auto;
            grid-template-areas:
            "box-1 box-1"
            "box-2 box-3";

            & .hobbies-subcon-1-img{
            grid-area: box-3;
            align-self: stretch;
            justify-self: stretch;
            display: grid;           
            place-items: center;      
            margin: 0;             
            overflow: hidden;         
                & img {
                    display: block;         
                    max-width: 100%;    
                    height: auto;
                    border-radius: var(--border-radius-img);}
            }
            & .hobbies-subcon-1-title{
                grid-area: box-1;
                text-align: left;
                padding: 0em;
            }
            & .hobbies-subcon-1-text{
                grid-area: "box-2";
                justify-self: center; 
                align-self: center;
                padding: 1em 0em 1em 0em;
            }
        }

        & .hobbies-subcon-content-2{
            padding: 2rem;
            order: 2;
            width: 1024px;
            display: grid;
            gap: 1.5rem;
            grid-template-columns: 1fr 1fr;
            grid-template-rows: auto auto;
            grid-template-areas:
            "box-1 box-1"
            "box-3 box-2";

            & .hobbies-subcon-2-img{
            grid-area: box-3;
            align-self: stretch;
            justify-self: stretch;
            display: grid;           
            place-items: center;      
            margin: 0;                
            overflow: hidden;    
                & img {
                    display: block;       
                    max-width: 100%;        
                    height: auto;
                    border-radius: var(--border-radius-img);}
            }
            & .hobbies-subcon-2-title{
                grid-area: box-1;
                text-align: left;
                padding: 0em;
            }
            & .hobbies-subcon-2-text{
                grid-area: "box-2";
                justify-self: center; 
                align-self: center;
                padding: 1em 0em 1em 0em;
            }
        }

        & .hobbies-subcon-content-3{
            padding: 2rem;
            order: 2;
            width: 1024px;
            display: grid;
            gap: 1.5rem;
            grid-template-columns: 1fr 1fr;
            grid-template-rows: auto auto;
            grid-template-areas:
            "box-1 box-1"
            "box-3 box-2";

            & .hobbies-subcon-3-img{
            grid-area: box-3;
            align-self: stretch;
            justify-self: stretch;
            display: grid;            
            place-items: center;       
            margin: 0;                 
            overflow: hidden;          
                & img {
                    display: block;        
                    max-width: 100%;       
                    height: auto;
                    border-radius: var(--border-radius-img);}
            }
            & .hobbies-subcon-3-title{
                grid-area: box-1;
                text-align: left;
                padding: 0em;
            }
            & .hobbies-subcon-3-text{
                grid-area: "box-2";
                display: flex;
                flex-direction: column;
                flex-wrap: wrap;
                padding: 1em 0em 1em 0em;
                & a{
                    margin-right: 1em;
                    margin-bottom: 1em;
                    width: fit-content;
                }
                & p{
                justify-self: center; 
                align-self: center;
                padding: 1em 0em 1em 0em;
                margin-bottom: 0em;
                }
            }
        }

        & .hobbies-subcon-content-4{
            padding: 2rem;
            order: 2;
            width: 1024px;
            display: grid;
            gap: 1.5rem;
            grid-template-columns: 1fr 1fr;
            grid-template-rows: auto auto;
            grid-template-areas:
            "box-1 box-1"
            "box-3 box-2"
            "box-4 box-4";

            & .hobbies-subcon-4-img{
            grid-area: box-3;
            align-self: stretch;
            justify-self: stretch;
            display: grid;             
            place-items: center;       
            margin: 0;                
            overflow: hidden;          
                & img {
                    display: block;         
                    max-width: 100%;       
                    height: auto;
                    border-radius: var(--border-radius-img);
                }
            }
            & .hobbies-subcon-4-title{
                grid-area: box-1;
                text-align: left;
                padding: 0em;
            }
            & .hobbies-subcon-4-text{
                grid-area: box-2;
                justify-self: center; 
                align-self: center;
                padding: 1em 0em 1em 0em;
            }

            & .hobbies-subcon-4-photos-con{
                grid-area: box-4;
                display: grid;
                grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
                gap: 15px;
                justify-content: center;
                > .hobbies-subcon-4-photocard{
                    border: 1px pink;
                    border-style: var(--border);
                    overflow: hidden;
                    border-radius: 20px;

                    > figure {
                        & img {
                        border-radius: var(--border-radius-img);
                        width: 100%;
                        }
                        > img:hover{
                        opacity: 0.7;
                        cursor: pointer;
                        }
                    }
                    > div{
                        background-color: var(--tanly);
                        width: 100%;
                        min-height: 100%;
                        padding: 1em;
                        margin-top: 0.5em;
                        border-radius: 20px;
                    }
                }
            }
        }
    }
}

/* IMPRESSUM */
.impressum-con{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 2em;
    margin: 9em 2em 2em 2em;

    & .impressum-subcon{
        background-color: var(--browngrey_trans);
        border-radius: var(--border-radius-main-con);
        display: flex;
        flex-direction: row;
        justify-content: space-around;

        & .impressum-subcon-content{
            padding: 2rem;
            width: 1024px; 
            & .impressum-subcon-title{
                text-align: left;
                margin-bottom: 1rem;
            }
            & h2{
                margin-top: 2rem;
                margin-bottom: 1rem;
            }
            & .impressum-subcon-adress{
                margin: 2em 0em 2em 2em;
            }
            & h3{
                margin-top: 2rem;
            }
            & ul{
                width: fit-content;
                display: flex;
                align-items: flex-start;
                justify-content: flex-start;
                flex-wrap: wrap;
                flex-direction: row;
                list-style: none;
                margin-top: 15px;
                row-gap: 15px;
                column-gap: 15px;
                & a{
                    display: flex;
                    padding: 1em 2em;
                    border-radius: var(--border-radius-small);
                    background-color: var(--tanly);
                    cursor: pointer;
                    font-family: "Inter"; sans-serif;
                        font-weight: 500;
                        font-size: 1rem;
                        text-decoration: none;
                        color: var(--browngrey);
                }
                & a:hover{
                    background-color: var(--greenleaf);
                    color: var(--white);
                }
            }
        }
    }
}        

/* ------------------------------------------------------------------------------*/
/* COMPONENTS */
/* ------------------------------------------------------------------------------*/
.button{
    padding: 1em 2em 1em 2em;
    border-radius: 20px;
    border-style: solid;
    border-color: var(--browngrey);
    border-width: 2px;
    background-color: var(--transparent);
    text-decoration: none;
    color: var(--browngrey);
    font-family: "Inter"; sans-serif; 
    font-weight: 600;
    font-size: 1em;
    line-height: 1.4;
    transition: all 0.3s ease-out;
    &:hover, :focus{
        background-color: var(--greenleaf);
        color: var(--white);
        border-color: var(--greenleaf);
    }
}

.button-footer{
    padding: 0.8em 1.6em;
    border-radius: 20px;
    background-color: var(--browngrey);
    text-decoration: none;
    color: var(--white);
    font-family: "Inter"; sans-serif; 
    font-weight: 400;
    font-size: 1em;
    line-height: 1.3;
    transition: all 0.3s ease-out;
    &:hover, :focus{
        background-color: var(--greenleaf);
        color: var(--white);
    }     
}

.scroll-to-top-button{
    display: none;
    position: fixed;
    bottom: 20px;
    right: 30px;
    z-index: 99;
    padding: 1em 2em 1em 2em;
    border-radius: var(--border-radius-main-con);
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 19px 0 rgba(0, 0, 0, 0.19);
    background-color: var(--tanly);
    text-decoration: none;
    color: var(--browngrey);
    font-family: "Inter"; sans-serif; 
    font-weight: 600;
    font-size: 1em;
    line-height: 1.4;
    transition: all 0.3s ease-out;
    border: none;
    &:hover, :focus{
        background-color: var(--greenleaf);
        color: var(--white);
        border-color: var(--greenleaf);
        cursor: pointer;
    }
}

/* Modal Image Styling */
.modal {
  z-index: 99;
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: auto;
  background-color: var(--olive_trans);
  backdrop-filter: blur(34px);
  /* display: flex; when shown*/
  display: none; /* hide initially*/
  justify-content: center;
  align-items: center;
}
.modal-content {
  margin: auto;
}
#modalimg {
  width: auto;
  height: auto;
  display: block;
  margin: auto;
  max-height: calc(100vh - 4rem);
  max-width: calc(100% - 4rem);
  object-fit: contain;
  border-radius: var(--border-radius-main-con);
}
.close {
  position: absolute;
  right: 30px;
  top: 2rem;
  z-index: 2;
  background: var(--tanly);
  border-radius: var(--border-radius-main-con);
  color: var(--browngrey);
  cursor: pointer;
  padding: 1em 2em 1em 2em;
  display: flex;
  font-size: 1em;
  justify-content: center;
  align-content: center;
  &:hover, :focus{
        background-color: var(--greenleaf);
        color: var(--white);
        border-color: var(--greenleaf);
    }
}
.modal-content {
  animation: fade 1s ease;
}
@keyframes fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
#modalimg {
  animation: zoom 0.5s ease;
}
@keyframes zoom {
  from {
    transform: scale(0);
  }
  to {
    transform: scale(1);
  }
}


/* ------------------------------------------------------------------------------*/
/* MEDIA QUERY*/
/* ------------------------------------------------------------------------------*/

@media(max-width: 769px){
    
    /*header*/
    header{
        padding: 15px;
    }

    /*Navigation-Bar*/
    .header-nav{
        & .nav-button{
            display: none;
        }
    }

    .menu-button{
        display: inline-block;
    }

    .scroll-to-top-button{
    right: 0.8em;
    }

    /*FOOTER*/
    footer{
        justify-content: space-between;
        padding: 30px 15px 60px 15px;
        flex-direction: column;
        & section{
            flex-direction: column;
            order: 1;
            & a{
                text-align: center;
            }
        }
        & p{
            order: 2;
            margin: 2em 0em 0em 0em;
        }
    }    

    /*Index-Page*/
    .index-con{
        display: flex;
        flex-direction: column;
        flex-grow: 1;
        gap: 2em;
        border: var(--red);
        margin: 7.5em 0.8em 0.8em 0.8em;
        & .index-subcon{

            & .index-subcon-content-1{
                margin: 0rem;
                padding: 1.5rem 1rem;
                display: grid;
                gap: 1rem;
                grid-template-columns: 1fr;
                grid-template-rows: auto auto auto auto;
                grid-template-areas:
                "box-1"
                "box-4"
                "box-2"
                "box-3";
            }
            & .index-subcon-content-2{
                margin: 0rem;
                padding: 1.5rem 1rem;
                display: grid;
                gap: 1rem;
                grid-template-columns: 1fr;
                grid-template-rows: auto auto auto auto;
                grid-template-areas:
                "box-1"
                "box-2"
                "box-3"
                "box-4";
            }
            & .index-subcon-content-3{
                padding: 1.5rem 1rem;
                gap: 1rem;
            }
        }
    }

    /* ABOUT */
    .about-con{
        gap: 2em;
        margin: 7.5em 0.8em 0.8em 0.8em;
        & .about-subcon{
            /* Über Mich - erster Container */
            & .about-subcon-content-1{
                padding: 1.5rem 1rem;
                gap: 1.5rem;
                grid-template-columns: 1fr;
                grid-template-rows: auto auto auto auto;
                grid-template-areas:
                "box-1"
                "box-2"
                "box-4"
                "box-3";
            }
            & .about-subcon-content-2{
                padding: 1.5rem 1rem;
            }
            
            /* Über Mich - Fotos Container */
            & .about-subcon-content-3{
                padding: 1.5rem 1rem;
                & .about-subcon-3-photos-con{
                    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
                }
            }
        }
    }

    /* CV */
    .cv-con{
        gap: 2em;
        margin: 7.5em 0.8em 0.8em 0.8em;

        & .cv-subcon{
            & .cv-subcon-content{
                padding: 1.5rem 1rem;
                & .cv-subcon-title{
                    margin-bottom: 1.5rem;
                }
                & .cv-subcon-step-container{
                    gap: 2em;
                    & .cv-subcon-step-card{
                        gap: 0.5em;
                        & figure{
                            height: 80px;
                            width: 100%;                     
                            & img{
                                height: 70px;
                                width: auto;
                            }
                        }
                        & div{
                            display: none;
                        }
                        & article1{
                            flex-grow: 1;
                            display: block;
                            align-items: center;
                            width: 100%;
                            padding: 1em 1em 1em 1em;
                            background-color: var(--browngrey_trans);
                            border-radius: var(--border-radius-img);
                            color: var(--browngrey);
                            order: 2;
                        }
                        & article2{
                            flex-grow: 1;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            padding: 1em 1em 1em 1em;
                            background-color: var(--tanly);
                            border-radius: var(--border-radius-img);
                            color: var(--browngrey);
                            order: 1;
                        }
                    }
                }
            } 
        }
    }

    /* STUDY */
    .study-con{
        gap: 2em;
        margin: 7.5em 0.8em 0.8em 0.8em;
        & .study-subcon{
            & .study-subcon-content-1{
                padding: 1.5rem 1rem;
                gap: 1.5rem;
                grid-template-columns: 1fr;
                grid-template-rows: auto auto auto;
                grid-template-areas:
                "box-1"
                "box-2"
                "box-3";
            }

            & .study-subcon-content-2{
                padding: 1.5rem 1rem;
                gap: 1.5rem;
                grid-template-columns: 1fr;
                grid-template-rows: auto auto auto;
                grid-template-areas:
                "box-1"
                "box-2"
                "box-3"; 
            }

            & .study-subcon-content-3{
                padding: 1.5rem 1rem;
                & .study-subcon-3-title{
                    text-align: left;
                    padding: 0em;
                    gap: 2em;
                }
                & .study-subcon-3-projectcard{
                    gap: 1em;
                    margin-top: 3em;
                    grid-template-columns: 1fr;
                    grid-template-rows: auto auto auto;
                    grid-template-areas:
                    "box-2"
                    "box-1"
                    "box-3";
                }
            }
        }
    }

    /* HOBBIES */ 
    .hobbies-con{
        gap: 2em;
        margin: 7.5em 0.8em 0.8em 0.8em;

        & .hobbies-subcon{
            & .hobbies-subcon-content-1{
                padding: 1.5rem 1rem;
                order: 2;
                width: 1024px;
                display: grid;
                gap: 1.5rem;
                grid-template-columns: 1fr;
                grid-template-rows: auto auto auto;
                grid-template-areas:
                "box-1"
                "box-2"
                "box-3";
            }

            & .hobbies-subcon-content-2{
                padding: 1.5rem 1rem;
                gap: 1.5rem;
                grid-template-columns: 1fr;
                grid-template-rows: auto auto auto;
                grid-template-areas:
                "box-1"
                "box-3"
                "box-2";
            }

            & .hobbies-subcon-content-3{
                padding: 1.5rem 1rem;
                gap: 1.5rem;
                grid-template-columns: 1fr;
                grid-template-rows: auto auto auto;
                grid-template-areas:
                "box-1"
                "box-3"
                "box-2";

                & .hobbies-subcon-3-title{
                    grid-area: box-1;
                    text-align: left;
                    padding: 0em;
                }
                & .hobbies-subcon-3-text{
                    padding: 0em 0em 0em 0em;
                    & a {
                        margin-right: 0em;
                        margin-bottom: 1em;
                        width: 100%;  
                    }
                    & p{
                    padding: 0em 0em 0em 0em;
                    margin-bottom: 1em;
                    }
                }
            }

            & .hobbies-subcon-content-4{
                padding: 1.5rem 1rem;
                gap: 1.5rem;
                grid-template-columns: 1fr;
                grid-template-rows: auto auto auto auto;
                grid-template-areas:
                "box-1"
                "box-3"
                "box-2"
                "box-4";
                & .hobbies-subcon-4-text{
                    padding: 0em 0em 0em 0em;
                }
            }
        }
    }

    /* IMPRESSUM */
    .impressum-con{
        gap: 2em;
        margin: 7.5em 0.8em 0.8em 0.8em;
        & .impressum-subcon{
            & .impressum-subcon-content{
                padding: 1.5rem 1rem
                & .impressum-subcon-title{
                    margin-bottom: 1.5rem;
                }
            }
        }
    }
    
    /* FONTS */
    h1{
        font-family: "Inter"; sans-serif;
        font-weight: 700;
        font-size: 2.3rem;
        line-height: 1;
        hyphens: auto;
        color: var(--browngrey);
    }

    h2{
        font-family: "Inter"; sans-serif; 
        font-weight: 700;
        font-size: 1.8rem;
        line-height: 1;
        hyphens: auto;
        color: var(--browngrey);
    }

    h3{
        font-family: "Inter"; sans-serif; 
        font-weight: 600;
        font-size: 1.4rem;
        line-height: 1;
        hyphens: auto;
    }

    h4{
        font-family: "Inter"; sans-serif; 
        font-weight: 500;
        font-size: 1.1rem;
        line-height: 1;
        hyphens: auto;
        color: var(--browngrey);
    }

    p{
        font-family: "Inter"; sans-serif; 
        font-weight: 400;
        font-size: 1.1em;
        line-height: 1.4;
        color: var(--browngrey)
    }

}