html {
    scroll-padding-top: 170px;
    --primaryColor: black;
    --secondaryColor: rgb(128, 0, 0);
    --thirdColor: rgb(192, 0, 0);
    --fourthColor: rgb(255, 0, 0);
}

body {
    color: var(--primaryColor);
    font-family: 'Arial';
    font-size: 1.1rem;
}

#content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 3fr;
    grid-gap: 0px;
    grid-template-areas:
        "header header"
        "main aside"
        "footer footer";
}

header {
    grid-area: header;
    /* font-size: 2.5rem;
    font-weight: bold; */
    position: sticky;
    top: 0;
    display: grid;
    grid-template-columns: 2fr 1fr;
    /* grid-auto-rows: minmax(auto, auto); */
    grid-template-areas:
        "hl hr"
        "nav nav";
    align-items: center;
    background: white;
}

h1 a {
    font-size: 4vw;
    font-weight: bold;
    margin: 0;
    padding: 0;
    /* animation */
    color: transparent;
    background-image: linear-gradient(to right, var(--primaryColor), var(--secondaryColor), var(--thirdColor), var(--fourthColor), var(--thirdColor), var(--secondaryColor));
    -webkit-background-clip: text;
    background-clip: text;
    background-size: 200%;
    background-position: -200%;
    animation: animated-gradient 10s infinite alternate-reverse;
}

h1 {

    margin: 0;
    padding: 0;
}

@keyframes animated-gradient {
    to {
        background-position: 200%;
    }
}


h2 a {
    font-size: 2.2vw;
    font-weight: bold;
    margin: 0;
    padding: 0;
    /* animation */
    color: transparent;
    background-image: linear-gradient(to right, var(--primaryColor), var(--secondaryColor), var(--thirdColor), var(--fourthColor), var(--thirdColor), var(--secondaryColor));
    -webkit-background-clip: text;
    background-clip: text;
    background-size: 200%;
    background-position: -200%;
    animation: animated-gradient 10s infinite alternate-reverse;
}

h2 {
    font-size: 6vw;
    margin: 0;
    padding: 5;
    color: red;
}

h3 {
    /* font-size: 1.2rem; */
    font-size: 2.5vw;
    font-weight: bold;
    color: var(--secondaryColor);
    margin:10px 0px 0px 0px;
    padding: 0px 0px 1px 0px;
}

h4 {
    /* font-size: 1.2rem; */
    font-size: 2vw;
    font-weight: bold;
    color: var(--secondaryColor);
    margin:0px;
    padding: 10px 0px 5px 0px;
}

.headerleft {
    grid-area: hl;
    text-align: center;
}

.headerright {
    grid-area: hr;
    margin:0;
    padding:0;
}

.headerright ul li {
    margin:1px;
    padding:1px;    
}

ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    text-align: center;
    padding-inline-start: 0px;
}

nav ul {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    padding: 0;
}

nav ul li {
    display: block;
    flex: 0 1 auto;
    /* Default */
    list-style-type: none;
    font-size: 1.3rem;
    font-weight: bold;
    margin:0;
    padding:0;
}

nav {
    grid-area: nav;
    padding: 2px 40px 1px 40px;
    border-bottom: 2px solid black;
    border-top: 2px solid black;
    background: white;
}

footer {
    grid-area: footer;
    text-align: center;
}

.phone {
    font-size: 1.7rem;
    font-weight: bold;
    color: var(--thirdColor);
}

.address {
    font-size: 1.0rem;
    font-weight: bold;
    text-align: center;
    color: var(--secondaryColor);
}

a {
    text-decoration: none;
    color: var(--thirdColor);
}

a:hover {
    color: red;
    border: 4px black solid;
    border-radius: 50px;
    padding: 0px 6px 0px 6px;
}

aside {
    grid-area: aside;
}

main {
    grid-area: main;
    padding: 0px 10px 0px 10px;
    text-align: center;
}

.bigbold {
    font-size: 1.2rem;
    font-weight: bold;
    color: var(--thirdColor);
}

.image {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 90%;
}

li {
    padding: 2px 0px;
    margin: 2px 0px;
}

@media screen and (max-width: 600px) {

    body {
        font-size: 1rem;
    }

    #content {
        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;
    }

    h1 {
        font-size: 5vw;
    }

    h2 {
        font-size: 1.0rem;
    }

    h3 {
        font-size: 3.5vw;
    }

    nav ul {
        display: flex;
        align-items: stretch;
        justify-content: space-between;
        flex-direction: column;
    }

    nav ul li {
        display: inline;
        font-size: 1.0rem;
        font-weight: bold;
        padding: 3px 0px;
        margin: 3px 0px;
        
    }

    nav {
        grid-area: nav;
        padding: 4px 0px 3px 0px;
        background: white;
    }

    .phone {
        font-size: 1.7rem;
    }

    .address {
        font-size: 1.1rem;
    }

    footer {
        font-weight: normal;
    }

    .bigbold {
        font-size: 1.1rem;
    }

    li {
        padding: 3px 0px;
        margin: 3px 0px;
    }
}