@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

/* --------- General --------- */

:root {
    /* Colours */
    --primary-clr: hsla(0, 0%, 100%, 1);
    --secondary-clr: hsla(0, 0%, 65%, 1);
    --orange-clr: hsl(45, 57%, 50%);
    --black-clr: hsla(180, 3%, 7%, 1);

    /* Montserrat */

    /* Font weight */
    --bold-fw: 700;
    --semibold-fw: 600;
    --medium-fw: 500;
    --regular-fw: 400;
    --light-fw: 300;

    /* Font size */
    --xlarge-fs: 2.5rem; /* 40px */
    --large-fs: 2.25rem; /* 36px */
    --medium-fs: 1.5rem; /* 24px */
    --small-fs: 1.125rem; /* 18px */
    --xsmall-fs: 1rem; /* 16px */

    /* Font size */
    --pointer-cursor: pointer;

    /* Transition */
    --transition-val: 0.2s ease-in-out;
    
    /* Section Padding */
    --padding-size: 150px;
}

/* --------- General --------- */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
    list-style: none;
    transition: var(--transition-val);
}

html, body {
    overflow-x: hidden;
}

body {
    font-family: Montserrat;
    background-color: var(--black-clr);
}

/* Text elements */

h1 {
    font-weight: var(--semibold-fw);
    font-size: var(--xlarge-fs);
    color: var(--primary-clr);
}

h2 {
    font-weight: var(--bold-fw);
    font-size: var(--large-fs);
    color: var(--orange-clr);
    font-style: italic;
}

p {
    font-weight: var(--medium-fw);
    font-size: var(--xsmall-fs);
    color: var(--secondary-clr);
}

a {
    color: var(--primary-clr);
}

a:hover {
    cursor: var(--pointer-cursor);
}

/* Other elements */

button {
    background-color: var(--orange-clr);
    color: var(--primary-clr);
    font-weight: var(--bold-fw);
    font-size: var(--small-fs);
    padding: 10px 40px;
    width: fit-content;
    height: fit-content;
    border: none;
    border-radius: 4px;
}

button:hover {
    cursor: var(--pointer-cursor);
    background-color: hsl(45, 61%, 59%);
}

/* Sections */

div.picture-description {
    display: flex;
}

.section-padding {
    padding-left: var(--padding-size);
    padding-right: var(--padding-size);
}

.top-section {
    padding-top: 91px;
}

/* Other */

.line {
    width: 100%;
    height: 1px;
    background-color: var(--primary-clr);
}

/* ---------- Nav ---------- */

nav {
    /*border: solid black 1px;*/
    display: flex;
    justify-content: space-between;
    
    margin-top: 10px;
    padding: 10px 70px;
    position: fixed;
    width: 90%;
    left: 50%;
    transform: translateX(-50%);

    background-color: hsla(0, 0%, 0%, 0.1);
    border: 1px solid hsla(0, 0%, 100%, 0.05);
    border-radius: 10px;
    z-index: 2;
    
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

nav img {
    width: 100px;
}

nav ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 550px;
}

nav ul li a {
    font-weight: var(--semibold-fw);    
}

nav ul li a:hover {
    color: var(--orange-clr); 
}


div.nav-container {
    align-content: center;
    width: 100%;
}

.glass-card {
    background-color: hsla(0, 0%, 100%, 0.1);
    border-radius: 10px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* ---------- Footer ---------- */

footer {
    margin-top: 100px;

    .body {
        margin-top: 50px;
        margin-bottom: 100px;
        display: flex;
        justify-content: space-between;

        > img {
            width: 150px;
            align-self: flex-start;
        }

        li {
            color: var(--primary-clr);
        }

        .contact-info {
            h1 {
                margin-bottom: 10px;
            }

            li {
                margin-bottom: 10px;
            }

            li.picture-description {
                display: flex;
                flex-direction: row;
                gap: 10px;
                align-items: flex-start;

                img {
                    width: 20px;
                }
            }
        }
    }

    .copyright {
        text-align: center;
        margin-bottom: 20px;

        > a > p {
            color: #FF6600;
        }
    }

    .line {
        background-color: var(--orange-clr);
    }

    .line.two {
        height: 20px;        
    }
}

/* ---------- Hamburger Menu ---------- */

.hamburger-menu {
    height: 100vh;
    width: 100vw;
    position: fixed;
    background-color: var(--black-clr);
    top: 0;
    right: -1000px;
    display: none;
    transition: 0.4s ease-in-out;
    z-index: 2;
}

.hamburger-menu.active {
    right: 0px;
}

.hamburger-menu ul {
    padding-top: 100px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

.hamburger-menu ul li {
    width: 100%;
    margin: 4vh 0;
    text-align: center;
}

.hamburger-menu ul li a {
    color: var(--primary-clr);
    font-weight: 500;
    font-size: 30px;
}

.hamburger-menu ul li a:hover {
    color: var(--orange-clr);
}

.hamburger-btn {
    display: none;
    color: var(--primary-clr);
    font-size: var(--large-fs);
}

.hamburger-btn:hover {
    cursor: var(--pointer-cursor);
    color: var(--orange-clr);
}

.construction {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    height: 170px;

    h1 {
        margin-bottom: 20px;
    }
}

@media (max-width: 1280px) {
    :root {
        --padding-size: 30px;
    }
}

@media (max-width: 900px) {
    :root {
        --xlarge-fs: 2rem;
        --large-fs: 1.5rem;
        --medium-fs: 1.2rem;
    }

    .section-padding.picture-description {
        flex-direction: column;
        align-items: center;
    }

    nav {
        padding: 10px 30px;
        align-items: center;
    }

    footer .body{
        flex-direction: column;
        gap: 30px;

        >img {
            display: none;
        }
    }

    nav ul{
        display: none;
    }

    .hamburger-btn, .hamburger-menu {
        display: block;
    }

    .construction {
        h1 {
            font-size: var(--large-fs);
            margin-bottom: 50px;
            margin-top: 80px;
        }
    }
}

/*
@media (max-width: 768px)
@media (max-width: 1024px)

@media (min-width: 1601px)*/

