html {
    scroll-behavior: smooth;
    font-size: clamp(17px, 3.8vw, 18px);
}

body {
    background-color: #FFFFFF;
    color: #000000;
    font-family: "Lato", sans-serif;
    font-weight: 400;
    margin-bottom: 200px;
    overflow-x: hidden;
    width: 100%;
}

p {
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: normal;
}

h1 {
    font-size: 350%;
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: normal;
    background-image: url("img/arrow.png");
    background-repeat: no-repeat;
    background-position: center bottom;
    height: 170px;
}

#main_image img {
     width: 100%;
     max-width: 500px;
     height: auto;
}

img {
    max-width: 100%;
    height: auto;
}

#menu
{
    border-bottom-style: solid;
    border-bottom-width: 5px;
    border-color: #000000;
    width: 60%;
}

#menu ul li
{
    list-style-type: none;
    margin: 0;
    padding: 0;
}

#menu ul li a
{
    font-size: 80%;
    font-family: "Lato", sans-serif;
    font-weight: 400;
    text-transform: uppercase;
    text-decoration: none;
    margin: 10 0 10 0;
    padding: 20 30 20 30;
}

#menu ul li a:link
{
    color: #000000;
}

#menu ul li a:visited
{
    color: #000000;
}

#menu ul li a:hover
{
    background-color: rgba(0, 0, 0, 0.2);
}

#language
{
    font-size: 80%;
    margin: 20 0 30 0;
}

#language a
{
    margin: 10 15 10 15;
    text-decoration: none;
}

#language a:link
{
    color: #000000;
    text-decoration: none;
}

#language a:visited
{
    color: #000000;
    text-decoration: none;
}

#language a:hover
{
    color: #000000;
    text-decoration: underline;
}

.section {
    clear: both;
}

#aboutme {
    display: flex;
}


#aboutme .right_align {
    max-width: 500px;
    margin-left: auto;
    margin-right: 50px;
}

#header {
    display: block;
    position: relative;
}

#menu {
    background-color: #FFFFFF;
    float: left;
    /*position: fixed;*/
    top: 0px;
    z-index: 100;
}

#menu ul{
    display: flex;
    flex-direction: row;
}

#language {
    float: right;
}

#main_image img {
    width: 500px;
}

#name {
    font-family: "Anton SC", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 300%;
    text-transform: uppercase;
}

#description {
    font-family: "Lato", sans-serif;
    font-weight: 300;
    font-style: italic;
    font-size: 150%;
}

.section-background {
    position: absolute;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
}

#background-part-1 {
    background-image: url("img/background_part_1.svg");
    top: 100px;
    height: 500px;
    z-index: -1;
}

#background-part-2 {
    background-image: url("img/background_part_2.svg");
    top: 600px;
    height: 750px;
    z-index: -3;
}

#background-part-3 {
    background-image: url("img/background_part_3.svg");
    top: -80px;
    height: 400px;
    z-index: -2;
}

#background-part-4 {
    background-image: url("img/background_part_4.svg");
    top: -80px;
    height: 900px;
    z-index: -3;
}

#background-part-5 {
    background-image: url("img/background_part_5.svg");
    top: 800px;
    height: 400px;
    z-index: -2;
}

.right_align {
    text-align: right;
}

.center-align {
    text-align: center;
}

.example {
    position: relative;
    z-index: 10;
    display: flex;
    width: auto;
    padding: 40px 0px 0px 50px;
}

.logo {
    flex-direction: column;
    max-width: 300px;
}

.example img {
    border-radius: 20px;
    box-shadow: 0px 0px 38px -2px rgba(120, 120, 120, 1);
}

.example .left_part {
    display: flex;
    width: 50%;
    justify-content: flex-start;

    flex-direction: column;
    max-width: 450px;
    padding: 5px 40px 10px 30px;

    text-align: right;
}

.example .right_part {
    display: flex;
    width: 50%;
    justify-content: flex-start;

    flex-direction: column;
    max-width: 450px;
    padding: 5px 40px 10px 30px;
}

.example_section {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.section_title {
    position: relative;
    left: 16%;
}

.section_title img {
    position: absolute;
    z-index: 1;
}

.section_title h2 {
    position: relative;
    z-index: 3;
    font-size: 130%;
    font-weight: 800;
}

.vertical {
    flex-direction: column;
}

.horizontal {
    flex-direction: row;
}

.description {
    max-width: 500px;
    margin: 20px 15px 20px 15px;
}

.left_part .description {
    padding-top: 10%;
}

.right_part .description {
    padding-top: 10%;
}

.title {
    font-size: 140%;
    font-weight: 600;
    margin-bottom: 10px;
}

.section_title .light_color {
    color: #FFFFFF;
}

.section_title .dark_color {
    color: #000000;
}

.overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    visibility: hidden;
    opacity: 0;
    transition: opacity .3s ease;
    z-index: 1000; /* above everything */
}

.overlay.active {
    visibility: visible;
    opacity: 1;
}

.overlay img {
    max-width: 90vw;
    max-height: 90vh;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
    border-radius: 8px;
}

.overlay .close-btn {
    position: absolute;
    top: 24px;
    right: 32px;
    font-size: 48px;
    line-height: 1;
    color: #fff;
    cursor: pointer;
    user-select: none;
}

div.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 1.2s ease, transform 1.2s ease;
}

img.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity .6s ease, transform .6s ease;
}

.reveal.visible {
    opacity: 1;
    transform: none;
}

@media (min-with: 800px) {
    #poster2-img {
        margin-top: -160px;
    }
}

@media (max-width: 800px) {
    #menu            { width: 100%; }
    #menu ul         {
        flex-direction: column;
        align-items: flex-start;
    }
    #menu ul li  {
        padding: 10px 15px 10px 15px;
    }
    #menu ul li a  {
        padding: 10px 15px 10px 15px;
    }

    /* about-me */
    #aboutme             { flex-direction: column; align-items: center; }
    #aboutme .right_align{ margin: 25px auto 0 auto; text-align: center; }
    /* work examples */
    .example             { flex-direction: column; padding: 20px 10px; }
    .example .left_part,
    .example .right_part { width: 100%; max-width: none; text-align: left; padding: 5px 5px; justify-content: center; }

    .reverse {
        flex-direction: column-reverse;
    }

    .horizontal {
        flex-direction: column;
    }

    .description {
        margin-top: 0px;
        margin-left: 10px;
        padding-top: 10px !important;
    }

    html { font-size: 87.5%; }        /* scales every rem/percent font-size down a bit */

    h1       { font-size: 220%; height: 120px; }
    #name    { font-size: 200%; }
    #description { font-size: 120%; }

    .Image {
        width: 86%;
        margin: auto;
    }

    /* optional: stack menu inside a collapsible hamburger */
    #menu::before   {                           /* draw ☰ icon */
        content: '☰ MENU';
        display: block;
        padding: 14px 20px;
        cursor: pointer;
        font-weight: 700;
        text-transform: uppercase;
    }

    #menu ul {
        display: flex;          /* override display:none in style.css */
        flex-direction: column;
        overflow: hidden;
        max-height: 0;
        opacity: 0;
        transition: max-height 0.35s ease, opacity 0.35s ease;
    }
    #menu.open ul {
        /* JS inserts exact height for smooth animation; fallback below */
        max-height: 400px;
        opacity: 1;
    }
}
