/* 
landing page: 2C3639
title: #DCD7C9
wave: 4C5E6F
navbar: DCD7C9
about: 294877
wave: 4c5e6f
resume: 4f678c
wave: 2C3639
projects: 595AD2
contact: 29487

glow pictures: MS Paint: effects, foto, glow: 20, 34, 9 
*/

:root {
    --typewriterSpeed: 2s;
    --typewriterCharacters: 19;
    --headerFont: "Souce Code Pro", monospace;
    --paragraphFont: "Product Sans";
    --resumeFont: Arial, Helvetica, sans-serif;
    --content-width: 65vw;


                --step--2: clamp(0.91rem, calc(0.89rem + 0.10vw), 0.96rem);
                --step--1: clamp(1.09rem, calc(1.05rem + 0.21vw), 1.20rem);
                --step-0: clamp(1.31rem, calc(1.24rem + 0.37vw), 1.50rem);
                --step-1: clamp(1.58rem, calc(1.46rem + 0.59vw), 1.88rem);
                --step-2: clamp(1.89rem, calc(1.71rem + 0.89vw), 2.34rem);
                --step-3: clamp(2.27rem, calc(2.01rem + 1.29vw), 2.93rem);
                --step-4: clamp(2.72rem, calc(2.36rem + 1.83vw), 3.66rem);
                --step-5: clamp(3.27rem, calc(2.75rem + 2.56vw), 4.58rem);
                --step-6: clamp(3.92rem, calc(3.22rem + 3.52vw), 5.72rem);
                    --step-7: clamp(4.70rem, calc(3.75rem + 4.78vw), 7.15rem);
                    --step-8: clamp(5.64rem, calc(4.36rem + 6.43vw), 8.94rem);
                    --step-9: clamp(6.77rem, calc(5.05rem + 8.59vw), 11.18rem);
                    --step-10: clamp(8.13rem, calc(5.85rem + 11.40vw), 13.97rem);

}

html {
    scroll-behavior:smooth;
}

* {
    box-sizing: border-box;
    margin: 0px;
}

body {
    margin: 0px;
    padding: 0px;
    /*overflow: hidden;*/
    animation: scrollbarAppear 1s ease calc(var(--typewriterSpeed) + 2s + 1s) forwards;

}

html,body {
    height: 100%;
}

a {
    text-decoration: none;
    color: inherit;
}

/* Uitility Classes */
section {
    height: max(70vh, fit-content);
    display: grid;
    grid-template-rows: 1fr 5fr;
    text-align: center;
    place-items: center;
}

.header {
    font-size: /*calc(60px + 0.390625vw);*/ var(--step-5);
    font-family: var(--headerFont);
    text-align: center;
}

.content {
    line-height: calc(30px + 0.390625vw);
    font-family: var(--paragraphFont);
    font-size: /*calc(20px + 0.390625vw)*/ var(--step-1);
    width: var(--content-width)
}

button {
    font-size: /*1.5vw*/ var(--step--1);
    padding: 1vw 9vw;
}

button:hover {
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.4);
}

button:active {
    position: relative;
    top: 8px;
}

.wave {
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;
    background-color: none;
    line-height: 0;
    background-size: cover;
}

/* wave*/
#wave-navbar {
    background-image: url(./svg/wave-navbar.svg);
    aspect-ratio: 900/50;
    width: 100%;
}

#wave-about {
    background-image: url(./svg/wave-about.svg);
    aspect-ratio: 900/50;
    width: 100%;
}

#wave-contact {
    background-image: url(./svg/wave-contact.svg);
    aspect-ratio: 900/50;
    width: 100%;
}

#wave-end {
    background-image: url(./svg/wave-end.svg);
    aspect-ratio: 900/50;
    width: 100%;
}

/* Styling landing page */
#landing-page {
    position: relative;
    display: grid;
    place-items: center;
    max-width: 100%;
    min-height: 100vh;
    background-color: #2C3639;
}

#landing-page-content {
    height: 100vh;
    display: flex;
    flex-direction: column;
    text-align: center;
    justify-content: space-evenly;
}

#landing-page-content-text {
    display:grid;
    gap: 15px;
}


#title {
    font-size: /*clamp(1rem, 0.175rem + 8.333vw, 5rem)*/ var(--step-7);
    color: #DCD7C9;
    position: relative;
    font-family: var(--headerFont);
}

#subtitle {
    font-size: /*clamp(0.5rem, 0.055rem + 8.333vw, 3.5rem)*/ var(--step-4);
    font-family: var(--paragraphFont);
    color: #dcd7c9c7;
    opacity: 0;
    animation: fadeInUp 2s ease calc(var(--typewriterSpeed) + 2s) forwards;
}

#scroll-button {
    border-radius: 15px;
    border: 1px solid #d6bcd6;
    display: inline-block;
    cursor:pointer;
    color: #2C3639;
    font-family: var(--resumeFont);
    text-decoration: none;
    text-shadow: 0px 1px 0px #e1e2ed;
    border: none;
    animation: fadeInUp 2s ease calc(var(--typewriterSpeed) + 2s) forwards;
    background-color: #ededed;
    opacity: 0;
    transition: all 200ms linear;
}



/* navbar */
#navbar {
    display: grid;
    grid-template-columns: 1fr 5fr 1fr;
    place-items: center;
    width: 100%;
    background-color: #DCD7C9;
    z-index: 1;
}

#logo {
    width: var(--step-10);
    padding: 10px;
}

#navpoints {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    color: #292929;
}


#navbar a {
    position: relative;
    font-family: var(--paragraphFont);
    font-size: /*clamp(1.5vw, 2.5vw, 3vw)*/ var(--step-0);
    list-style: none;
    text-decoration: none;
}



#navbar li:hover {
    color:#000;
    z-index: 10;
}

#navbar li::before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: #000;
    transform: scaleX(0);
    transition: transform 0.3s ease;
    z-index: 10;
}

#navbar li:hover::before {
    transform: scaleX(1);
    z-index: 10;
}



/* about */
#about {
    background-color: #294877;
    min-width: 100%;
    text-align: center;
}

#about-text {
    display: inline-block;
    margin-bottom: 2em;
}




/* Contact */
#contact {
    background-color: rgb(79, 103, 140);
}

#contact-space {
    height: fit-content;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    gap: 2em;
}

#contact-text {
    font-family: var(--paragraphFont);
    text-align: center;
}

#contact-button {
    border-radius: 15px;
        border: 1px solid #d6bcd6;
        display: inline-block;
        cursor: pointer;
        color: #2C3639;
        font-family: var(--resumeFont);
        text-decoration: none;
        text-shadow: 0px 1px 0px #e1e2ed;
        position: relative;
        border: none;
        background-color: #ededed;
        transition: all 200ms linear;
}



#title::before,
#title::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

#title::before {
    background: #2C3639;
    animation: typewriter var(--typewriterSpeed) steps(var(--typewriterCharacters)) 1s forwards;
}

#title::after {
    width: 0.125em;
    background: black;
    animation: typewriter var(--typewriterSpeed) steps(var(--typewriterCharacters)) 1s forwards,
    blink 750ms steps(var(--typewriterCharacters)) infinite;
}

@keyframes typewriter {
    to {
        left: 97%;
    }
}

@keyframes blink {
    to {
        background: transparent;
    }
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes scrollbarAppear {
    to {
        overflow: visible;
            
    }
}

@font-face {
    font-family: "Product Sans";
    font-style: normal;
    font-weight: 400;
    src: local('Open Sans'), local('OpenSans'), url(https://fonts.gstatic.com/s/productsans/v5/HYvgU2fE2nRJvZ5JFAumwegdm0LZdjqr5-oayXSOefg.woff2) format('woff2');
}


@media screen and (max-width: 490px) {
    #navbar,
    .wave {
        height: 10vh;
    }

    section {
        --content-width: 80vw;
    }
}

@media screen and (max-width: 300px) {
        .sectionTitle {
            font-family: var(--paragraphFont);
        }
    
        .sectionContent {
            display: grid;
            gap: 0.8em;
        }
    
        .sectionContent h2 {
            font-family: var(--paragraphFont);
        }
    
        .mainPoint {
            font-family: var(--resumeFont)
        }
    
        .subDetails {
            font-family: var(--resumeFont);
            font-style: italic;
            word-break: break-all;
        }
}

@media screen and (max-width: 450px) {
    #logo {
        display: none;
    }
    #navbar {
        grid-template-columns: 100%;
        place-items: center;
    }
}