:root{
    --branco: #fefefe;
    --branco-escuro: #fafafa;
    --gelo: #effeff;
    --cinza: #dddddd;
    --preto: #5e5e5e;
}

*{
    margin: 0;
    font-family: 'Orbitron', sans-serif;
    -webkit-font-smoothing: antialiased;
    color: var(--preto);
}

body{
    background-image: linear-gradient(to right, var(--branco), var(--branco-escuro));
}

header{
    width: 100%;
    background-image: linear-gradient(to right, var(--branco), var(--gelo));
    font-size: 3rem;
    padding: 1rem 0;
    margin-bottom: 3rem;
    box-shadow: 1px 1px 20px var(--cinza);
}

header h1{
    padding-left: 4rem;
    font-size: 3rem;
    font-weight: 300;
}

#container{
    position: relative;
    display: flex;
    width: 100%;
    justify-content: space-around;
}

#common, #centi, #range{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    width: 30vw;
}

#common-analog-container, #centi-analog-container, #range-analog-container{
    height: 30vh;
    width: 30vh;
    border: solid 1px var(--cinza);
    border-radius: 10px;
    box-shadow: 10px 10px 10px var(--cinza);
    background-color: #fff;
    position: relative
}

#three{
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translate(0, -50%);
}

#six{
    position: absolute;
    left: 50%;
    bottom: 1rem;
    transform: translate(-50%, 0);
}

#nine{
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translate(0, -50%);
}

#twelve{
    position: absolute;
    left: 50%;
    top: 1rem;
    transform: translate(-50%, 0);
}

#one-quarter{
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translate(0, -50%);
}

#two-quarters{
    position: absolute;
    left: 50%;
    bottom: 1rem;
    transform: translate(-50%, 0);
}

#three-quarters{
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translate(0, -50%);
}

#hundred{
    position: absolute;
    left: 50%;
    top: 1rem;
    transform: translate(-50%, 0);
}

#seconds-pointer, #centi-seconds-pointer, #range-seconds-pointer{
    position: absolute;
    height: 50%;
    width: 1px;
    background-color: rgb(248, 168, 168);
    left: 50%;
    transform: translateX(-50%);
    transform-origin: bottom;
}

#minutes-pointer, #centi-minutes-pointer, #range-minutes-pointer{
    height: 45%;
    width: 2px;
    background-color: rgb(212, 212, 250);
    position: absolute;
    left: 50%;
    top: 5%;
    transform: translateX(-50%);
    transform-origin: bottom;
}

#hours-pointer, #centi-hours-pointer, #range-hours-pointer{
    height: 30%;
    width: 3px;
    background-color: rgb(193, 243, 193);
    position: absolute;
    left: 50%;
    top: 20%;
    transform: translateX(-50%);
    transform-origin: bottom;
    border-radius: 10px;
}

#common-info, #centi-info, #range-info{
    width: 20rem;
}

#form{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

#common-title, #centi-title, #range-title{
    font-size: 2rem;
    text-align: center;
}

#common-clock, #centi-clock, #range-clock{
    display: flex;
    font-size: 2.5rem;
    justify-content: center;
    border: var(--cinza) 1px solid;
    border-radius: 10px;
    box-shadow: 10px 10px 10px var(--cinza);
    background-image: linear-gradient(to right, var(--branco), var(--gelo));
    padding: 0 1rem;
}

#range-container{
    display: flex;
    margin-top: 1rem;
    gap: 1rem;
}

#range-container input{
    border: 1px solid var(--cinza);
    width: 50%;
    height: 2rem;
    font-size: 1.5rem;
    border-radius: 5px;
    text-align: center;
}

#range-container input::placeholder{
    color: var(--cinza);
}

#range-message{
    width: 100%;
    text-align: center;
    margin-top: 1rem;
}

#timeline-container{
    display: flex;
}

#timeline{
    margin-top: 4rem;
    width: 85%;
    height: 1.2rem;
    border: 1px solid var(--cinza);
    border-radius: 10px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background-image: linear-gradient(to right, #191970, #ffdd40, #191970);
    display: flex;
    justify-content: right;
}

#overlayer{
    height: 100%;
    background-color: #fff;
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    border-radius: 0 8px 8px 0;
}

#percentage{
    transform: translate(-50%, -2.5rem);
    font-size: 0.8rem;
    text-align: right;
}

#noon{
    position: absolute;
    width: 1px;
    height: 2rem;
    left: 50%;
    top: 50%;
    transform: translateY(-50%);
    background-color: var(--cinza);
}

#usage{
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    margin: 4rem 0;
    border: solid 1px var(--cinza);
    border-radius: 10px;
    padding: 2rem;
    box-shadow: 10px 10px 10px var(--cinza);
}

#usage h2{
    margin-bottom: 1rem;
}

#usage p{
    margin-bottom: 2rem;
}

#usage p:last-child{
    margin-bottom: 0;
}

#usage h2, #usage h3, #usage p, #usage li{
    font-family: 'Roboto', sans-serif;
}


@media only screen and (max-width: 991px){
    :root{
        font-size: 12px;
    }

    #common-analog-container,
    #centi-analog-container,
    #range-analog-container{
        height: 15rem;
        width: 15rem;
    }
}

@media only screen and (max-width: 767px){
    :root{
        font-size: 10px;
    }

    #common-info, #centi-info, #range-info{
        width: 15rem;
    }

    #common-clock, #centi-clock, #range-clock{
        font-size: 1.5rem;
    }

    #common-analog-container,
    #centi-analog-container,
    #range-analog-container{
        height: 18rem;
        width: 18rem;
    }

    #container{
        flex-direction: column;
        gap: 4rem;
        align-items: center;
    }
}

@media only screen and (max-width: 599px){
    :root{
        font-size: 9px;
    }

    #container{
        flex-direction: column;
        gap: 4rem;
        align-items: center;
    }

    #common-analog-container,
    #centi-analog-container,
    #range-analog-container{
        height: 15rem;
        width: 15rem;
    }
}