:root {

    /* common */
    --primary-color: deepskyblue;

    --attention-color: lawngreen;


    /* dark mode */
    --bg-dark: hsl(0, 0%, 0%);

    --highlight-color-dark: hsl(0, 0%, 95%);

    --normal-color-dark: hsl(0, 0%, 80%);

    --border-color-dark: hsl(0, 0%, 20%);


    /* light mode */
    --bg-light: hsl(0, 0%, 100%);

    --highlight-color-light: hsl(0, 0%, 5%);

    --normal-color-light: hsl(0, 0%, 20%);

    --border-color-light: hsl(0, 0%, 80%);


    /* name transform */

    --name-1-transform: rotate(0deg) translate(-1.5rem, -10rem);
    --name-2-transform: rotate(45deg) translate(-3.7rem, -10.7rem);
    --name-3-transform: rotate(90deg) translate(-4.5rem, -9.7rem);
    --name-4-transform: rotate(135deg) translate(-4.5rem, -6.75rem);
    --name-5-transform: rotate(180deg) translate(-1.75rem, -4.5rem);
    --name-6-transform: rotate(225deg) translate(1.8rem, -5rem);
    --name-7-transform: rotate(270deg) translate(6rem, -9.5rem);
    --name-8-transform: rotate(315deg) translate(4.5rem, -15.5rem);

}
/* For Testing Purposes Only 
.testCircle {

    position: absolute;

    inset: 50%;

    translate: -48% -50%;

    width: 300px;

    height: 300px;

    background-color: transparent;

    border: 2px solid red;

    border-radius: 50%;

    z-index: 2;
}
*/

/* Dark Mode */
@media (prefers-color-scheme: dark) {

    body {

        background-color: var(--bg-dark);

    }


    .container {

        background-color: var(--bg-dark);

    }


    .header,
    .footer {

        background-color: var(--primary-color);

        color: var(--highlight-color-dark);

    }


    .clockOuter {

        background-color: var(--primary-color);

    }


    .clockMid,
    .line {

        background-color: var(--bg-dark);

    }

    .name {

        color: var(--highlight-color-dark);

    }

    h2 {

        color: var(--normal-color-dark);

    }

    .left div,
    .right div {

        color: var(--highlight-color-dark);

    }


    #button {

        background-color: var(--primary-color);

        color: var(--highlight-color-dark);

        font-size: 18px;

        border: 4px solid var(--attention-color);

    }

    #button:hover {

        color: var(--highlight-color-dark);

        cursor: pointer;

    }

}

/* Light Mode */
@media (prefers-color-scheme: light) {


    body {

        background-color: var(--bg-light);

    }


    .container {

        background-color: var(--bg-light);

        color: var(--text-color-light)
    }


    .header,
    .footer {

        background-color: var(--primary-color);

        color: var(--text-color-light);

    }


    .clockOuter {

        background-color: var(--primary-color);

    }


    .name {

        color: var(--text-color-light);

    }


    .clockMid,
    .line {

        background-color: var(--bg-light);

    }


    #button:hover {

        color: var(--text-color-light);

        cursor: pointer;

    }

}


/* Common Styles */
.container {

    display: grid;

    grid-template-areas:

        'header header header'

        'main main main'

        'left menu right'

        'footer footer footer'

    ;

    grid-template-columns: repeat(3, 1fr);

    grid-template-rows: repeat(auto-fill, minmax(50px, 1fr));

    gap: 5px;

    padding: 5px;

}


.main {

    grid-area: main;

    justify-content: center;

}

.img {

    max-width: 100%;

    display: block;

}


.menu {

    grid-area: menu;

    text-align: center;

    place-content: top;

    margin-top: 10px;

}


h3 {

    align-self: top;

    margin-top: 5px;

    word-spacing: 0.1rem;

    letter-spacing: 0.25rem;

}

.header {

    grid-area: header;

    text-align: center;

    letter-spacing: 0.2rem;

}


.footer {

    grid-area: footer;

    text-align: center;

    letter-spacing: 0.2rem;

}


h2 {

    margin-top: 10px;

    padding: 0.2rem;

}


.left {

    grid-area: left;

    margin: 20px 10px 10px 10px;

    text-align: left;

    word-spacing: 0.1rem;

    letter-spacing: 0.2rem;

}


.left div {

    padding: 0.2rem;

}


.right {

    grid-area: right;

    margin: 20px 10px 10px 10px;

    text-align: left;

    word-spacing: 0.1rem;

    letter-spacing: 0.2rem;

}


.right div {

    padding: 0.2rem
}


#button {

    position: relative;

    height: auto;

    width: auto;

    margin: 10px;

    border-radius: 0.5rem;

    word-spacing: 0.1rem;

    letter-spacing: 0.2rem;

}


.clockArrow {

    place-self: center;

    display: block;

    margin: 10px 10px 20px 10px;

}


#clockAnim {

    animation-name:
        spin-1,
        spin-2,
        spin-3,
        spin-4,
        spin-5,
        spin-6,
        spin-7,
        spin-8;

}


.clockOuter {

    position: relative;

    margin: auto;

    width: 350px;

    height: 350px;

    border-radius: 50%;

    margin: auto;

}


.clockMid {

    position: relative;

    inset: 50%;

    translate: -50% -50%;

    width: 200px;

    height: 200px;

    border-radius: 50%;

}


.line {

    position: absolute;

    inset: 50%;

    translate: -50% -50%;

    width: 100%;

    height: 5px;

}


.line-1 {

    transform: rotate(22.5deg);

    -webkit-transform: rotate(22.5deg);



}


.line-2 {

    transform: rotate(67.5deg);

    -webkit-transform: rotate(67.5deg);

}


.line-3 {

    transform: rotate(112.5deg);

    -webkit-transform: rotate(112.5deg);

}


.line-4 {

    transform: rotate(157.5deg);

    -webkit-transform: rotate(157.5deg);

}


.name {

    position: absolute;

    inset: 50%;

    translate: -50% -50%;

    font-size: 16px;

    letter-spacing: 0.1rem;

}


#name-1 {

    transform: var(--name-1-transform);

    -webkit-transform: var(--name-1-transform);

}


#name-2 {

    transform: var(--name-2-transform);

    -webkit-transform: var(--name-2-transform);

}


#name-3 {

    transform: var(--name-3-transform);

    -webkit-transform: var(--name-3-transform);

}



#name-4 {

    transform: var(--name-4-transform);

    -webkit-transform: var(--name-4-transform);

}


#name-5 {

    transform: var(--name-5-transform);

    -webkit-transform: var(--name-5-transform);

}


#name-6 {

    transform: var(--name-6-transform);

    -webkit-transform: var(--name-6-transform);

}


#name-7 {

    transform: var(--name-7-transform);

    -webkit-transform: var(--name-7-transform);

}


#name-8 {

    transform: var(--name-8-transform);

    -webkit-transform: var(--name-8-transform);

}


@keyframes spin-1 {

    from {

        transform: rotate(45deg);

    }



    to {

        transform: rotate(0deg);

    }

}



@keyframes spin-2 {

    from {

        transform: rotate(0deg);

    }



    to {

        transform: rotate(-45deg);

    }

}



@keyframes spin-3 {

    from {

        transform: rotate(-45deg);

    }



    to {

        transform: rotate(-90deg);

    }

}



@keyframes spin-4 {

    from {

        transform: rotate(-90deg);

    }



    to {

        transform: rotate(-135deg);

    }

}



@keyframes spin-5 {

    from {

        transform: rotate(-135deg);

    }



    to {

        transform: rotate(-180deg);

    }

}



@keyframes spin-6 {

    from {

        transform: rotate(-180deg);

    }



    to {

        transform: rotate(-225deg);

    }

}



@keyframes spin-7 {

    from {

        transform: rotate(-225deg);

    }



    to {

        transform: rotate(-270deg);

    }

}



@keyframes spin-8 {

    from {

        transform: rotate(-270deg);

    }



    to {

        transform: rotate(-315deg);

    }

}

/* Responsive */

@media (max-width: 600px) {

    .container {

        width: 100%;

    }

    .clockArrow {

        display: block;

        margin-left: auto;

        margin-right: auto;

    }

    .name {

        position: absolute;

        inset: 50%;

        translate: -50% -50%;

        font-size: 16px;

        letter-spacing: 0.1rem;

    }


    #name-1 {

        transform: var(--name-1-transform);

        -webkit-transform: var(--name-1-transform);

    }


    #name-2 {

        transform: var(--name-2-transform);

        -webkit-transform: var(--name-2-transform);

    }


    #name-3 {

        transform: var(--name-3-transform);

        -webkit-transform: var(--name-3-transform);

    }



    #name-4 {

        transform: var(--name-4-transform);

        -webkit-transform: var(--name-4-transform);

    }


    #name-5 {

        transform: var(--name-5-transform);

        -webkit-transform: var(--name-5-transform);

    }


    #name-6 {

        transform: var(--name-6-transform);

        -webkit-transform: var(--name-6-transform);

    }


    #name-7 {

        transform: var(--name-7-transform);

        -webkit-transform: var(--name-7-transform);

    }


    #name-8 {

        transform: var(--name-8-transform);

        -webkit-transform: var(--name-8-transform);

    }

}



@media (min-width: 601px) and (max-width: 900px) {

    .container {

        width: 100%;

    }


    .clockArrow {

        display: block;

        margin-left: auto;

        margin-right: auto;

    }

}



@media (min-width: 901px) {

    .body {

        justify-content: center;

        align-items: center;

    }

    .container {

        place-self: center;

        width: 900px;

    }

}