:root{
    --background-color: #314453;
    --darker-background-color: #243848;
    --accent-color: #41DCE1;
    --text-color: #FFFFFF;
    --navbar-height: 80px;
}
*{
    margin: 0;
    padding: 0;
    font-size: 22px;
    font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: var(--text-color);
}
html{
    height: 100%;
}
body{
    height: 100%;
    background-color: var(--darker-background-color)
}
nav{
    height: var(--navbar-height);
    background: var(--background-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
nav .logo{
    margin-left: 30px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 35px;
    font-variant: small-caps;
    text-decoration: none;
}
nav ul{
    height: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    list-style: none;
}
nav li{
    height: 100%;
    width: 150px;
    text-align: center;
    position: relative;
}
nav li:hover{
    background: var(--accent-color)
}
nav ul a{
    height: 100%;
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    text-decoration: none;
}
.dropdown{
    height: min-content;
    width: 200px;
    background: var(--background-color);

    display: none;
    flex-direction: column;

    position: absolute;
    left: 0;
    top: var(--navbar-height);
}
.dropdown li{
    height: 70px;
    width: 100%;
}
.dropdown li a{
    justify-content: flex-start;
    padding-left: 30px;
    width: calc(100% - 30px);
}
nav li:hover .dropdown{
    display: flex;
}
nav input[type="checkbox"]{
    display: none;
}
.expandable_li{
    display: flex;
    justify-content: center;
    align-items: center;
}
.toggle_button{
    width: 30px;
    height: 23px;


    position: absolute;
    top: 25px;
    right: 25px;

    display: none;
    flex-direction: column;
    justify-content: space-between;
}
.bar{
    height: 4px;
    width: 100%;
    background: var(--text-color);
    border-radius: 100px;
}
@media(max-width: 850px){
    .toggle_button{
        display: flex;
    }
    nav ul{
        height: min-content;
        width: ;
        background: var(--background-color);

        display: none;
        position: absolute;
        top: var(--navbar-height);
        right: 0;
        border-radius: 0 0 0 25px;
    }
    nav li{
        height: min-content;
        width: 100%;
    }
    nav ul a{
        padding: 30px 0;
    }
    .expandable_li{
        display: block;
    }
    .expandable_li label{
        padding: 30px;
        cursor: pointer;
        display: block;
    }
    .expandable_li:hover .dropdown{
        display: none;
    }
    .expandable_li input[type="checkbox"]:checked ~ .dropdown{
        display: block;
    }
    .dropdown{
        position: static;
        width: 100%;
    }
    .dropdown li{
        padding: 0;
        display: block;
        position: static;
        background: var(--darker-background-color);
    }
    .dropdown li a{
        width: 100%;
        padding: 0;
        justify-content: center;
    }
    #toggle_button:checked ~ ul{
        display: block;
    }
}
h1{
    font-size: 100px;
    margin-top: 200px;
}

header{
    padding: 100px 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 50px;
    flex-wrap: wrap;
}
.circle{
    height: 600px;
    width: 600px;

    max-height: 40vw;
    max-width: 40vw;

    overflow: hidden;
    border-radius: 50%;
    border: 20px solid var(--accent-color);

    display: flex;
    justify-content: center;
    align-items: center;
}
.circle img{
    width: 100%;
}
@media(max-width: 800px){
    h1{
        font-size: 12vw;
        text-align: center;
    }
    .subheading{
        text-align: center;
        margin-top: 25px;
    }
}
@media(max-width: 1365px){
    h1{text-align: center;}
}
#about_me_section{
    padding: 100px 0;
    background-color: #314453;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 100px;
    flex-wrap: wrap-reverse;
}
.about_me_container{
    width: 750px;
    max-width: 90%;
}
#about_me_section img{
    width: 400px;
    max-width: calc(90% - 30px);
    border: 15px solid var(--text-color);
}
.about_me_container h2{
    font-size: 60px;
}
.about_me_container p{
    text-align: justify;
    line-height: 175%;
}
@media(max-width: 800px){
    #about_me_section{
        padding: 50px 0;
    }
    #about_me_section h2{
        text-align: center;
        font-size: 12vw;
    }
}
#services_section{
    padding: 70px 0;
    background-color: #243848;
}
#services_section h2{
    font-size: 50px;
    text-align: center;
}
#impressum_section{
    padding: 70px 0;
    background-color: #243848;
}
#impressum_section h2{
    font-size: 50px;
    text-align: center;
}

.impressum_container{
    margin-top: 1cm;
    margin-left: 0.5cm;
}

.flex_container{
    margin-top: 50px;
    display: flex;
    gap: 40px;
    justify-content: center;
    flex-wrap: wrap;
}
.card{
    width: 350px;
    max-width: calc(90% - 40px);
    background-color: #314453;
    border-radius: 100px;
    padding: 60px 20px;

    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}
.card *{
    text-align: center;
}
h3{
    font-size: 38px;
}
.card a{
    background-color:#41DCE1;
    width: min-content;
    padding: 15px 40px;
    border-radius: 50px;
    margin: 0 auto;
    text-decoration: none;
    color: var(--text-color);
    border: 4px solid var(--accent-color);
    transition: 150ms ease-in-out;
}
.card a:hover{
    background: transparent;
}
@media(max-width: 800px){
    #services_section h2{
        font-size: 12vw;
    }
}
footer{
    padding: 70px 0;
    background-color: var(--background-color);
}
footer h2{
    font-size: 50px;
    text-align: center;
}

.grid_container{
    margin: 60px auto;
    width: 1500px;
    max-width: 90%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 300px 300px;
    gap: 15px;
    grid-template-areas:
    "item1 item1 item2 item3"
    "item4 item5 item5 item3";
}
.grid_item{
    background-color: var(--darker-background-color);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 50px;
    gap: 50px;
}
.grid_item img{
    height: 150px;
    width: 150px;
}
#item1{
    grid-area: item1;
}
#item2{
    grid-area: item2;
    flex-direction: column;
    gap: 10px;
}
#item3{
    grid-area: item3;
    flex-direction: column;
    justify-content: flex-start;
    justify-items: flex-start;
    gap: 10px;
}
#item4{
    grid-area: item4;
    flex-direction: column;
    gap: 10px;
}
#item5{
    grid-area: item5;
}

#impressum{
    position: relative;
    bottom: 0;
    text-align: center;
}

@media(max-width: 1300px){
        .grid_container{
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-rows: 300px 300px 300px;

        grid-template-areas:
        "item1 item1 item2"
        "item4 item5 item5"
        "item3 item3 Item3";
    }
}
@media(max-width: 900px){
    .grid_container{
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto auto;

    grid-template-areas:
    "item1 item1"
    "item5 item5"
    "item2 item4"
    "item3 item3";
}
}
@media(max-width: 650px){
    footer h2{
        font-size: 9vw;
    }
    .grid_item{
        padding: 20px;
    }
    .grid_item img{
        height: 100px;
        width: 100px;
    }
    .grid_item h3{
        font-size: 24px;
    }
    body{
        font-size: 16px;
    }
}
