:root {

    /*Green Scale*/
    --green: rgb(170, 226, 191);
    --dark-green: rgb(63, 228, 126);

    /*Black Scale*/
    --black: black;
    --black-hover: rgb(32, 30, 30);
    --dark: rgba(32, 30, 30, 0.774);
    --grey: rgb(83, 78, 78);
    
    /*White Scale*/
    --white: rgb(255, 255, 255);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 15% 1fr 15%;
    grid-template-areas: "header header"
                         "main aside"
                         "footer footer";

    margin: 2vw 2vh;

    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;

    z-index: 1;

    max-width: 1920px;
    max-height: 1080px;
}

body a {
    text-decoration: none;
    color: black;
}

body a:hover {
    text-decoration: none;
    color: var(--grey);
}

header {
    display: flex;
    justify-content: space-evenly;
    align-items: center;

    font-size: 0.9rem;

    grid-area: header;

    margin-bottom: 20px;
}

header img {
    width: 5vw;
    height: 5vw;
}

header nav ul {
    display: flex;

    list-style: none;
}

header nav ul li {
    padding: 1vw;
    font-size: 1.1vw;
}

header nav ul li button {
    border: 2px solid var(--black);
    border-radius: 8px;

    padding: 4px;

    cursor: pointer;

    text-align: center;
    font-size: 1.1vw;

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

header nav ul li button:hover {
    color: var(--black-hover);
}

main {
    display: flex;    
    flex-direction:column;
    align-items: start;

    grid-area: main;
    gap: 8px;

    margin-left: 15vw;
    margin-top: 15vh;
    padding: 0 3vw;
}

main h1 {
    font-size: 4vh;
}

main p {
    color: var(--dark);
    font-size: 2vh;
}

main button {
    position: relative;

    top: 30px;
    background-color: var(--green);

    border: none;
    border-radius: 5px;

    padding: 17px;

    cursor: pointer;

    color: var(--black);

    min-width: 13vw;
    height: 10vh;

    font-size: 2.1vh;
    text-align: center;

    margin-left: 10px;
    flex-wrap: wrap;
}

main button:hover {
    color: var(--white);
    background-color: var(--dark-green);
}

main h1 span {
    border-radius: 4px;

    background-color: var(--green);
}

aside {
    display: flex;
    align-items: center;

    justify-content: space-between;

    grid-area: aside;
}

aside img {
    width:  20px;
    height: 20px;
}

#doctors {
    width: 25vw;
    height: 30vw;
}

aside nav ul {
    list-style: none;
}

aside ul li {
    margin-bottom: 10px;
}

footer {
    grid-area: footer;

    margin-top: 3vh;

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

footer p, footer p a {
    color: var(--dark);
    font-size: 1vw;
}

footer a:hover {
    font-weight: bold;
}

/*Media Queries*/

@media (max-width: 479px) {

    body {
        display: flex;
        flex-direction: column;
        margin: 5vw;
    }
    
    header {
        flex-direction: column;
        align-items: center;
    }
    
    header img {
        width: 20vw;
        height: 20vw;
    }
    
    header nav ul {
        list-style: none;
        gap: 20px;
    }
    
    header nav ul li {
        font-size: 4vw;
        text-decoration: underline;
    }
    
    header nav ul li button {
        border: 2px solid var(--black);
        border-radius: 4px;
    
        padding: 3px;
    
        cursor: pointer;
    
        text-align: center;
        font-size: 4vw;
    }
    
    header nav ul li button:hover {
        color: var(--black-hover);
    }

    main {
        margin-left: 28px;
        justify-content: center;
        align-items: center;

        margin-top: 10px;
        padding: 2vh;
    }
    
    main h1 {
        font-size: 4vh;
    }
    
    main p {
        color: var(--dark);
        font-size: 2vh;

        margin-top: 3vh;
    }
    
    main section button {
        background-color: var(--green);

        border-radius: 5px;

        margin-top: 50px;

        width: 50%;
    
        cursor: pointer;
    
        color: var(--black);
    }
    
    main section button {
        background-color: var(--green);
    
        border: none;
        border-radius: 5px;
    
        padding: 17px;
    
        cursor: pointer;
    
        color: var(--black);
    
        width: 40vw;
        height: 10vh;
    
        font-size: 2.1vh;
        text-align: center;

        margin: 1vw auto;
    }
    
    main h1 span {
        border-radius: 4px;
    
        background-color: var(--green);
    }
    
    aside {
        align-items: center;
        margin-top: 5vh;

        flex-direction: column;
    }

    #doctors {
        width: 60vw;
        height: 70vw;
    }

    aside nav ul {
        display: flex;
        
        gap: 20px;
        margin-top: 3vh;
    }
    
    aside img {
        width:  8vw;
        height: 8vw;
    }

    footer p, footer p a {
        font-size: 2vh;
        justify-content: center;
        text-align: center;
    }
}