html {
    scroll-padding-top: 170px;
    --primaryColor: black;
    --firstColor: rgb(0, 0, 255);
    --secondColor: rgb(0, 85, 255);
    --thirdColor: rgb(0, 170,255);
    --fourthColor: rgb(0,255,255);
    --linkColor: rgb(0, 0, 255);
}

body {
    font-size:16pt;
    font-family: 'Arial';
    /* background: rgb(255, 255, 220) */
    
    display: grid;
    grid-template-columns: 3fr 1fr;
    grid-template-rows: 3fr;
    grid-gap: 0px;
    grid-template-areas:
        "header header"
        "main aside"
        "footer footer";
}

header {
    grid-area: header;
    position: sticky;
    top: 0;
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-areas:
        "hl hr"
        "nav nav";
    align-items: center;
    background: white;
}

.headerleft {
    grid-area: hl;
    text-align: center;
    margin: 0;
    padding: 0;
}

.headerleft a {
    font-size: 5vw;
    font-weight: bold;
    /* animation */
    color: transparent;
    background-image: linear-gradient(to right, var(--firstColor), var(--secondColor), var(--thirdColor), var(--fourthColor), var(--thirdColor), var(--secondColor));
    -webkit-background-clip: text;
    background-clip: text;
    background-size: 200%;
    background-position: -200%;
    animation: animated-gradient 10s infinite alternate-reverse;
}

@keyframes animated-gradient {
    to {
        background-position: 200%;
    }
}

.headerright {
    grid-area: hr;
    margin: 0;
    padding: 0;
}

.headerright ul li {
    margin: 1px;
    padding: 1px;
}

.headerright ul {
    list-style-type: none;
    margin: 0;
    padding: 0;  
    text-align:center; 
    padding-inline-start: 0px;
}

.phone {
    font-size: 22pt;
    font-weight: bold;
    color: var(--primaryAColor);
}

.address {
    font-size: 12pt;
    font-weight: bold;
    text-align: center;
    color: var(--thirdColor);
}

nav {
    grid-area: nav;
    padding: 2px 40px 1px 40px;
    border-bottom: 2px solid black;
    border-top: 2px solid black;
    background: white;
}

nav ul {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
}

nav ul li {
    display: block;
    flex: 0 1 auto;
    /* Default */
    font-size: 1.3rem;
    font-weight: bold;
    margin: 0;
    padding: 0;
}

footer {
    grid-area: footer;
    text-align: center;
    color: black;
}

footer a {
    color: black;
}

aside {
    grid-area: aside;
    text-align: center;
    padding: 0px;
    font-size: 1.3rem;
    font-weight: bold;
}

aside ul {
    padding-inline-start: 0px;
}


aside ul li {
    padding: 6px 0px 6px 0px;

}

aside ul ul li {
    padding: 1px 0px 1px 0px;

}

aside img {
    padding: 20px 0px 0px 0px;
    width: 100%;
    border-radius: 10px;
}

main {
    grid-area: main;
    text-align: left;
}

main img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    border-radius: 20px;
}

main ol li {
    padding: 10px 0px 10px 0px;
}

main ul li {
    padding: 10px 0px 10px 0px;
}

main ul ul li {
    padding: 0px 0px 0px 0px;
}


h2 {
    color: var(--thirdColor);
    font-size:24pt;
}

h3 {
    color: var(--secondColor);
    font-size:20pt;

}

h4 {
    color: var(--firstColor);
    font-size:16pt;
    margin: 0px;
    display: inline;
}

ul {
    list-style-type: none;
}

a {
    text-decoration: none;
    color: var(--linkColor);
}

a:hover {
    color: var(--fourthColor);
    border: 4px black solid;
    border-radius: 50px;
    padding: 0px 6px 0px 6px;
}

@media screen and (max-width: 600px) {

    body {
        font-size: 14pt;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 5fr;
        grid-gap: 0px;
        grid-template-areas:
            "header"
            "main"
            "aside"
            "footer";
    }

    header {
        grid-area: header;
        position: relative;
        top: 0;
        display: grid;
        grid-template-columns: 1fr;
        grid-auto-rows: minmax(auto, auto);
        grid-gap: 0px;
        grid-template-areas:
            "hl"
            "hr"
            "nav";
        align-items: center;
        background: white;
    }

    .headerleft a {
        font-size: 24px;
    }

    nav {
        grid-area: nav;
        padding: 4px 0px 3px 0px;
        background: white;
    }

    nav ul {
        display: flex;
        align-items: stretch;
        justify-content: space-between;
        flex-direction: column;
    }

    nav ul li {
        display: inline;
        font-weight: bold;
        padding: 3px 0px;
        margin: 3px 0px;
    }

    nav ul ul li {
        display: inline;
        font-weight: bold;
        padding: 1px 0px;
        margin: 1px 0px;
    }

    .phone {
        font-size: 24pt;
    }

    .address {
        font-size: 16pt;
    }

    h2 {
        font-size:22pt;
    }
    
    h3 {
        font-size:18pt;
    
    }
    
    h4 {
        font-size:14pt;
    }
    

}