body {
    margin: 0;
    padding: 0;
    background-color: transparent;
    font-family: 'Lato', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
}

nav {
    width: 100%;
    height: 64px;
    background-color: #050100;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    z-index: 99;
    box-sizing: border-box;

    div.navigation-bar {
        width: 300px; /* 17.5 em = 280px*/
        height: 100%;
        display: flex;
        justify-content: space-evenly;

        a {
            width: 80px;
            height: 100%;
            margin: 0px 3px;

            box-sizing: border-box;
            text-decoration: none;
            color: white;

            font-size: 0.825em;
            font-family: 'Lato';
            font-weight: bold;
            text-align: center;

            display: flex;
            align-items: center;
            justify-content: center;
        }

        a:hover {
            color: black;
            background-color: white;
            transition: 0.2s ease-out;
            transform: scale(1.1);
        }
    }

    div#trademark {
        height: 64px;
        
        display: flex;
        justify-content: center;
        align-items: center;

        h3 {
            font-size: 20px;
        }
    }
}

#trademark {
    margin-right: 24px;

    h3 {
        color: white;
    }
}


header {
    height: 768px;
    width: 100%;
    overflow: hidden;
    position: relative;
}

header > video {
    height: 100%;
    width: 100%;
    /* min-height: inherit;
    min-width: 100%; */
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

header > img {
    height: 100%;
    width: 100%;
    position: absolute;
    object-fit: none;
}

header > section {
    position: absolute;
    height: inherit;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgb(0, 0, 0, 0.75);
    display: flex;
    justify-content: space-around;
}

header > section > main {
    width: fit-content;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: white;

    font-family: "Montserrat", sans-serif;
}

header > section > aside {
    width: fit-content;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: white;

    font-family: "Montserrat", sans-serif;
}

header #welcome-wrapper {
    width: 380px;
}

header #welcome-wrapper h1 {
    width: 380px;
    font-size: 2.7em; /*56px*/
    text-align: left;
    margin: 0 0 0 -5px;
}

header #welcome-wrapper p {
    font-weight: 300;
    font-size: 14px;
    text-align: justify;
    width: 370px;
    /* height: fit-content; */
}

article {
    /* padding: 48px; */
    box-sizing: border-box;
    width: inherit;
    height: fit-content;
    min-width: 100%;
    /* background-color: transparent; */
    background-color: grey;
    background-image: url("Assets/desktop-wallpaper-nordic-kde-winter-nordic.jpg");
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
}


@keyframes pulsating {
    0% {transform: scale(1.0);}
    50% {transform: scale(1.025)}
    100% {transform: scale(1.0)}
}

/* ANNOUNCEMENT */
section#announcement {
    width: 100%;
    height: 132px;
    background-color: #fca016;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    flex-flow: row nowrap;

    h1 {
        font-size: 1.5rem;
        font-family: 'Montserrat', sans-serif;
    }

    h3 {
        font-size: 1rem;
    }
}

/* PROFILE */
section#profile {
    height: fit-content;
    padding: 96px 5% 32px;
    background-color: #ffffff;
    background-size: cover;
    display: flex;
    align-items: center;
    flex-flow: column nowrap;

    div#intro-container {
        height: fit-content;
        box-sizing: border-box;
        display: flex;
        flex-flow: column wrap;

        div#intro-top {
            width: 100%;
            height: 36px;
            position: relative;
            display: flex;
            align-items: center;

            h3, span {
                font-family: 'Red Hat Display';
                font-weight: bold;
                font-size: 1.35rem;
                transition: all 1s ease-in-out;
            }

            h3 {
                margin: 0px 3px;
                display: inline-block;
            }

            span:nth-child(3) {position: absolute; z-index: 2; right: 0px; display: inline-block;}
        }

        hr {
            margin: 3px 0px;
            box-sizing: border-box;
        }

        > hr:nth-child(2) {
            width: 100%;
        }

        > hr:nth-child(3) {
            width: 98%;
            align-self: center;
        }

        div#intro-body {
            width: 100%;
            height: fit-content;
            margin: 24px 0px 36px;
            padding: 0px 10px;
            display: flex;
            flex: 0 0 auto;
            box-sizing: border-box;

            div#intro-paragraph {
                height: 100%;
                line-height: 1.75;
                font-family: 'Red Hat Display', sans-serif;
                font-weight: 400;
                flex-flow: column nowrap;
                box-sizing: border-box;

                p:first-child {
                    margin: 0;
                }

                p {
                    text-align: justify;
                    padding-right: 24px;
                    font-size: 18px;

                    a#uni {
                        color: #FFDD00;
                        font-weight: bold;
                        text-decoration: none;
                    }

                    span#aws {
                        color: #232B37;
                        font-weight: bold;
                    }

                    span#gcp {
                        color: #4285F4;
                        font-weight: bold;
                    }
                }
            }

            div#intro-card {
                min-width: 292px;
                height: fit-content;
                padding: 16px 16px;
                box-sizing: border-box;
                background-color: #fcfcfc;
                box-shadow: 0px 2px 24px lightslategrey;
                display: flex;
                flex-flow: column nowrap;
                box-sizing: border-box;

            
                img {
                    width: auto;
                    /* height: auto; */
                    /* width: 184px; */
                    height: 184px;
                    min-height: 50px; 
                    margin: 18px 0px;
                    box-shadow: 0px 8px 12px rgb(0, 48, 49);
                    border-radius: 50%;
                    align-self: center;
                    transition: transform 0.2s ease-out;
                }

                > img:hover {
                    transform: scale(1.02);
                    transition: transform 0.2s ease-out;
                    box-shadow: 0px 8px 12px rgb(49, 0, 0)
                }

                h3 {
                    margin: 8px 0px 0px;
                    align-self: center;
                }

                h6 {
                    margin: 2px 0px 16px;
                    align-self: center;
                }

                div#label {
                    width: 100%;
                    height: 128px;
                    background-image: linear-gradient(90deg, #bfad8d 0%, #d6c9b0 20%, #e1d8c3 40%, #f0ebe3 100%);
                    box-shadow: 0px 6px 6px darkgray;
                    border-radius: 32px 12px 128px 0px;
                    text-align: left;
                    box-sizing: border-box;
                    display: flex;
                    align-items: center;
                    justify-content: center;

                    table {
                        width: 65%;
                        align-self: center;
                        font-size: 14px;

                        tr {
                            width: 100%;
                            margin: 0;
                            padding: 0;
                            /* border: 1px solid blue; */
                            display: block;

                            th > h5 {
                                min-width: 40px;
                                display: inline-block;
                            }
                        }

                        tr:nth-child(1) {
                            border-bottom: 1px solid black;
                        }

                        tr:nth-child(2) {
                            border-bottom: 1px solid black;
                        }
                    }
                }
                }
            }
        }

        div#intro-bottom {
            width: 100%;
            height: 26px;
            position: relative;
            text-align: right;

            h3, span {
                font-family: 'Red Hat Display';
                font-weight: bold;
                font-size: 1.2rem;
                transition: all 1s ease-in-out;
            }

            h3 {
                margin: 0px 3px;
                display: inline-block;
            }

            span:nth-child(1) {position: absolute; z-index: 2; left: 0px; display: inline-block;}
        }
    }


/* PROJECT */
section#project {
    height: fit-content;
    padding: 96px 5%;
    background-image: linear-gradient(0deg, #252422 0%, #343434 50%, #464646 100%);
    background-size: auto;
    color: #050100;
    /* display: flex; */
    /* justify-content: center; */
}

section#project > div#project-container {
    /* width: 100%; */
    height: 100%;
    font-family: 'Red Hat Display', sans-serif;
    box-sizing: border-box;
    display: flex;
    flex-flow: column nowrap;
    color: #fffafa;
}

div#project-header {
    width: 100%; /* 1230px */
    /* text-shadow: 1px 0px 2px red; */
    font-size: 1.5rem;
    display: flex;
    flex-flow: row nowrap;
    align-self: center;
    justify-content: space-between;
    /* align-items: flex-end; */
}

div#project-header > div > h1 {
    font-size: 1.5rem;
    display: inline-block;
}

div#project-header > div > h4 {
    font-size: 0.85rem;
}

div#loading-container {
    width: 230px;
    height: 50px;
    display: flex;
    align-items: center;
    /* animation: ease-out shadows 5s infinite; */

    div#loading-bar {
        width: 80%;
        height: 100%;
        padding-bottom: 1px;
        display: flex;
        justify-content: end;
        align-items: end;
        box-sizing: border-box;

        h6 {
            font-size: 1.25rem;
        }
    }

    div#percentage {
        width: 20%;
        height: 50px;
        font-weight: bold;
        font-size: 1.05rem;
        display: flex;
        justify-content: end;
        align-items: end;
    }
}

@keyframes shadows {
    0% {
        text-shadow: none;
    }

    25% {
        text-shadow: -24px 12px 0px red,
        24px -12px 0px red;
    }

    75% {
        text-shadow: -24px -12px 0px red,
        24px 12px 0px orange;
    }

}

div#project-header ~ hr {
    margin: 3px 0px;
    width: 100%;
    align-self: center;
}

div#project-container > div#project-body {
    width: 100%; /* 1230px */
    height: fit-content;
    padding: 16px 0px;
    display: grid;
    grid-template-areas:
    "main main aside"
    "main main aside"
    "small-left small-middle small-right";
    grid-template-columns: repeat(3, 24rem);
    grid-template-rows: repeat(2, 14rem); /* original : 442px */
    column-gap: 2%; /* 20px */
    gap: 30px;
    align-self: center;
    /* grid-auto-rows: minmax(252px, auto); */
}

div#project-body {

    div.big {
        /* width: 800px;
        height: 472px; */
        grid-area: main;
        padding: 0;
        box-sizing: border-box;
        display: inline-block;
        box-shadow: 0px 12px 16px black;

        .img-big {
            width: 100%;
            height: 80%;
            display: block;
            background-color: red;

            img {
                width: 100%;
                height: 100%;
            } 
        }

        .caption {
            width: 100%;
            height: 20%;
            padding-left: 1rem;
            background-color: #353839;
            display: block;
            position: relative;
            box-sizing: border-box;
            display: flex;
            align-items: center;

            h1 {
                width: 80%;
                font-weight: 400;
                font-size: 1.3rem;
                text-align: justify;
                /* outline: 1px solid yellow; */
            }
        }
    }

    div.left {
        grid-area: small-left;
        height: 256px;
        box-sizing: border-box;
        display: inline-block;
        box-shadow: 0px 12px 16px black;
        align-self: stretch;

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

        .caption {
            /* width: 100%; */
            height: 25%;
            padding-left: 1rem;
            background-color: #353839;
            position: relative;
            display: flex;
            align-items: center;

            h4 {
                font-weight: 400;
            }
        }
    }

    div.right {
        grid-area: small-middle;
        height: 256px;
        padding: 0;
        box-sizing: border-box;
        display: inline-block;
        box-shadow: 0px 12px 16px black;
        align-self: stretch;

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

        .caption {
            /* width: 100%; */
            height: 25%;
            padding-left: 1rem;
            background-color: #353839;
            position: relative;
            display: flex;
            align-items: center;

            h4 {
                font-weight: 400;
            }
        }
    }
}

#decorative-dots {
    width: calc(18px * 3);
    height: fit-content;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    position: absolute;
    right: 1%;
    bottom: 10%;

    span {
        width: 8px;
        height: 8px;
        display: inline-block;
        border-radius: 50%;
        border: 2px solid lightgrey;
    }
}


div#project-newsline-container {
    /* width: 404px;
    height: 472px; */
    grid-area: aside;
    background-color: transparent;
    box-sizing: border-box;
    display: flex;
    flex-flow: column wrap;
    justify-content: space-between;

    hr {
        width: 100%;
        height: 1px;
        margin: 0px;
        color: white;
        box-sizing: border-box;
    }

    figure.newsline {
        width: 100%;
        height: 152px;
        margin: 0px;
        padding: 0px;
        background-color: #353839;
        box-sizing: border-box;
        display: flex;
        transition: 0.3s ease-out;
        box-shadow: 0px 2px 12px black;

        img {
            width: auto;
            height: 100%;
        }

        div {
            width: calc(404px - 152px);
            height: 100%;
            padding: 0px 24px 0px 16px;
            display: flex;
            flex-flow: column nowrap;
            justify-content: center;

            /* h1 {
                padding-left: 12px;
            } */

            hr {
                width: 100%;
                margin: 2px 0px;
                padding: 0px;
                box-sizing: border-box;
            }

            p {
                font-size: 14px;
            }
        }
    }

    figure.newsline:nth-child(2) {
        text-align: right;

        div {
            padding: 0px 16px;

            hr {
                width: 95%;
                align-self: end;
            }

            p {
                font-size: 13px;
            }
        }
    }

    figure.newsline:hover {
        box-shadow: 0px 0px 6px white;
        transform: scale(1.05);
        cursor: pointer;
    }
}

div#schedule {
    grid-area: small-right;
    background-color: rgb(255, 255, 0);
    box-sizing: border-box;
    box-shadow: 0px 12px 16px black;

    iframe {
        width: 100%;
        height: 100%;
    }
}

/* EXPERIENCE */
section#experience {
    height: fit-content;
    padding: 96px 5%;
    background-color: #fcfcfc;
    font-family: 'Red Hat Display', sans-serif;
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-between;
}

section#experience > div#exp-header {
    width: 100%;
    height: fit-content;
    clear: left;

    h1 {
        font-size: 1.5rem;
    }

    h4 {
        font-size: 0.845rem;
    }

    hr {
        margin: 6px 0px;
    }
}

/* div#exp-header::after {
    content: "";
    clear: both;
    display: table
    ;
} */


.timeline-container {
    max-width: 1200px;
    margin: 0 auto;
    /* overflow-x: auto; */
    padding: 20px 0;

    .timeline {
        display: flex;
        min-width: 800px;
        position: relative;
        padding: 40px 0;
    }

    .timeline::before {
        content: '';
        position: absolute;
        top: 120px;
        left: 0;
        right: 0;
        height: 4px;
        background: #3498db;
        z-index: 1;
    }

    .timeline-item {
        flex: 1;
        position: relative;
        padding: 0 20px;
        text-align: center;
    }

    .timeline-year {
        font-weight: bold;
        font-size: 1.5rem;
        color: #2c3e50;
        margin-bottom: 10px;
    }

    .timeline-month {
        font-weight: bold;
        font-size: 1.1rem;
        color: #2c3e50;
        margin-bottom: 10px;
    }

    .timeline-marker {
        width: 15px;
        height: 15px;
        border-radius: 50%;
        background: #3498db;
        border: 4px solid #fff;
        position: absolute;
        top: 70px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 2;
    }

    .timeline-content {
        background: white;
        padding: 20px;
        border-radius: 8px;
        box-shadow: 0 3px 10px rgba(0,0,0,0.1);
        margin-top: 40px;
        transition: transform 0.3s ease;
    }

    .timeline-content:hover {
        transform: translateY(-5px);
    }

    .timeline-content h3 {
        margin-top: 0;
        margin-bottom: 12px;
        color: #3498db;
    }

    .timeline-content ul {
        text-align: left;
        padding-left: 20px;
    }

    .timeline-title {
        text-align: center;
        margin-bottom: 40px;
        color: #2c3e50;
    }

    @media (max-width: 768px) {
        .timeline {
            flex-direction: column;
            min-width: auto;
        }

        .timeline::before {
            display: none;
        }

        .timeline-item {
            margin-bottom: 40px;
        }

        .timeline-marker {
            display: none;
        }

        .timeline-content {
            margin-top: 10px;
        }
    }
}

div#exp-skillbar {
    min-width: 100%;
    height: fit-content;
    /* background-color: #1D2E28; */

    table {
        width: 100%;

        td {
            min-height: 168px;
            margin: -2px 0px 0px;
            padding: 0px 0px;
            display: flex;
            /* border-bottom: 1px solid black; */

            span {
                min-height: 100%;
                display: flex;
                align-items: center;
                box-sizing: border-box;
            }

            span:nth-child(1) {
                min-width: 15%;
                border-right: 1px solid black;
                /* border-bottom: 1px solid black; */
                justify-content: center;
            }

            span:nth-child(2) {
                padding-top: 2%;
                padding-bottom: 2%;
                padding-left: 2%;
                min-width: 85%;
            }
        }

        tr:not(:last-child)::after {
            width: 90%;
            height: 1px;
            background: black;
            content: '';
            position: absolute;
        }
    }
}

/* FOOTER */
footer {
    width: 100%;
    height: 108px;
    background-color: #1D2E28;

    display: flex;
    align-items: center;
    justify-content: center;

    h6 {
        font-family: 'Lato', sans-serif;
        color: white;
    }
}
