html {
    scroll-padding-top: 170px;
    --primaryColor: black;
    --secondaryColor: rgb(0, 64, 128);
    --thirdColor: rgb(0, 96, 192);
    --fourthColor: rgb(0, 128, 255);
}

body {
    color: var(--primaryColor);
    font-family: 'Arial';
    font-size: 1.1rem;
}

#content {
    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;
}

h1 a {
    font-size: 5vw;
    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;
}

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.3rem;
    margin: 0px;
    padding: 0px;
    text-align:center;
}

h5 {
    font-size: 1.0rem;
    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;
}

.headerright ul {
    list-style-type: none;
    margin: 0;
    padding: 0;  
    text-align:center; 
}

nav ul {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
}

ul {

    padding-inline-start: 0px;
}

ol li {
    text-align:left;
    list-style-type: decimal;
    padding: 10px 0px;
}

li {
    padding: 2px 0px;
    margin: 2px 0px;
    list-style-type: none;
}

nav ul li {
    display: block;
    flex: 0 1 auto;
    /* Default */
    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;
}

/* main ul li{
    text-align:left;
} */

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: var(--fourthColor);
    border: 4px black solid;
    border-radius: 50px;
    padding: 0px 6px 0px 6px;
}

aside {
    grid-area: aside;
    text-align: center;
    padding: 0px;
    font-size: 1.3rem;
    font-weight: bold;
}


main {
    grid-area: main;
    padding: 0px 10px 0px 10px;
    text-align: center;
}

.putitleft {
    text-align: left;
}

.bigbold {
    font-size: 1.2rem;
    font-weight: bold;
    color: var(--thirdColor);
}

.highlight {
    display: inline;
    font-weight: bold;
    color: var(--secondaryColor);
}

.image {
    display: inline;
    margin-left: auto;
    margin-right: auto;
    height: 250px;
    max-width: 48%;
    padding: 5px;
    border-radius: 20px;
}

aside img {
    /* display: inline;
     margin-left: auto;
    margin-right: auto; */
    width: 100%;
    border-radius: 10px;
}

cite {
    padding-bottom: 0;
    margin-bottom: 3px;
}

.author {
    padding-top: 0;
    margin-top: 3px;
    color: var(--thirdColor);
}




@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-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;
    }

    .image {
        display: inline;
        margin-left: auto;
        margin-right: auto;
        height: 250px;
        max-width: 98%;
        padding: 5px;
        border-radius: 20px;
    }
}