:root {
    --main: rgb(255, 166, 83);
    --black: rgb(0, 0, 0);
    --white: white;
    --sub: rgb(112, 139, 255);
    --width: 550px;
    --blah: rgb(255, 203, 154);
}

html{
    font-size: 62.7%;
    scroll-behavior: smooth;
}

* {
    box-sizing: border-box;
}

body{
    margin: 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    overflow: hidden;
}

i{
    font-size: 10rem;
}

.section{
    margin: 0 auto;
    padding: 40px 100px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

h1{
    font-size: 8rem;
    font-weight: 500;
    margin: 30px;
}

h2{
    font-size: 6rem;
    font-weight: 500;
    margin: 10px;
}

h3{
    font-size: 4.7rem;
    font-weight: 400;
    margin: 5px;
}

h4{
    font-size: 2.6rem;
    font-weight: 400;
    margin: 1rem;
}

h5{
    font-size: 2.2rem;
    font-weight: 200;
}

h6{
    font-size: 1.5rem;
    font-weight: 500;
}

div{
    font-size: 1.6rem;
}

#login-page{
    background-color: rgb(255, 255, 255);
    width: 100vw;
    height: 100vh;
    position: absolute;
    z-index: 500;
    display: flex;
    justify-content: center;
    align-items: center;
}

#login-deco{
    background-color: var(--main);
    width: 56vw;
    height: 56vw;
    top: 10vh;
    left: -10vw;
    animation: login-circle1 6s ease-in-out 0s;
    animation-fill-mode: forwards;
}
@keyframes login-circle1{
    100%{
        width: 54vw;
        height: 54vw;
        top: -16vh;
        left: -8vw;
    }
}

#login-deco2{
    background-color: rgb(255, 215, 106);
    width: 110vw;
    height: 110vw;
    top: 85vh;
    left: 65vw;
    border-radius: 3000px;
    animation: login-circle2 9s ease-in-out 0s;
    animation-fill-mode: forwards;
}
@keyframes login-circle2{
    100%{
        width: 110vw;
        height: 110vw;
        top: 70vh;
        left: 13vw;
    }
}

#login-deco3{
    background-color: rgb(170, 210, 255);
    width: 25vw;
    height: 25vw;
    top: -60vh;
    left: 100vw;
    border-radius: 3000px;
    animation: login-circle3 12s ease-in-out 0s;
    animation-fill-mode: forwards;
}
@keyframes login-circle3{
    100%{
        width: 55vw;
        height: 55vw;
        top: -45vh;
        left: 50vw;
    }
}

#create-acct{
    color: var(--main);
    text-decoration: underline;
    font-weight: 300;
    font-size: 1.6rem;
    cursor: pointer;
}

#login-title{
    margin: 15px;
}

#login-box{
    z-index: 520;
    border-radius: 500px;
    background-color: rgb(255, 255, 255);
    padding: 50px;
    width: 400px;
    height: 400px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
}

.login-input{
    width: 200px;
    height: 39px;
}

#loginBtn{
    font-size: 1.6rem;border-color: var(--main);
    font-weight: 400;
    color: var(--main);
    background-color: white;
    cursor: pointer;
    width: 200px;
    border-width: 1px;
}
#loginBtn:active{
    border-color: white;
    color: white !important;
    background-color: var(--main);
}

#slideUpBtn{
    z-index: 450;
    position: absolute;
    top: 92vh;
    left: 48.7vw;
    color: var(--main);
    font-size: 2.7rem;
    background-color: transparent;
    cursor: pointer;
    transition: .3s ease-in;
}
#slideUpBtn:active{
    color:white;
}

#filler{
    background-color: white;
    position: absolute;
    width: 100vw;
    height: 25px;
    top: 96vh;
    left: 0vw;
}

#slideDownBtn{
    position: absolute;
    top: 96vh;
    left: 48.2vw;
    font-size: 2.7rem;
    padding: 3rem 1rem 1rem 1rem;
    border-radius: 50px;
    transition: .3s ease-in;
    cursor: pointer;
    background-color: white;
    border: 3px solid var(--main);
    color: var(--main);
    
}
#slideDownBtn:active,#slideDownBtn:focus{
    color:white;
    background-color: var(--main);
    border: 3px solid white;
}

#logout-page{
    background-color: white;
    position: absolute;
    top: -100vh;
    left: 0vw;
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    z-index: 400;
    padding: 0px 5%;
}
.slideTopMid{
    animation: slideTopMid-anim 1.5s ease-in-out 0s;
    animation-fill-mode: forwards;
}
@keyframes slideTopMid-anim{
    0%{
        top: -100vh;
    }
    100%{
        top: 0vh;
    }
}
.slideMidTop{
    animation: slideMidTop-anim 1.5s ease-in-out 0s;
    animation-fill-mode: forwards;
}
@keyframes slideMidTop-anim{
    0%{
        top: 0vh;
    }
    100%{
        top: -100vh;
    }
}

#logoutBtn{
    position: absolute;
    top: 3vh;
    left: 2vw;
    display: none;
}

.logout-text {
    font-size: 2.5rem;
    font-weight: 200;
}

.logout-text-small {
    font-size: 2rem;
    font-weight: 200;
}

.logout-input{
    border: 0px solid black;
    font-size: 2rem;
    font-weight: 200;
    width: 55px;
    margin: 0;
}

#logout-flex-1{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
    height: 80vh;
    padding: 0;
}

#btn-flexbox{
    display: flex;
    flex-direction: row;
    width: 100%;
    align-items: center;
    justify-content: space-around;
}

.goalset{
    text-align: center;
    width: 100%;
}

.logout-flex-2{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    height: 63vh;
    padding: 0;
}
.percent-complete{
    position: relative;
    top: -43%;
    text-align: center;
    font-size: 3.5rem;
    font-weight: 300;
    top: -43%;
}

.usableBtn{
    background-color: rgba(49, 49, 49, 0.884);
    color: white;
    cursor: pointer;
    transition: .3s ease-in;
    border-radius: 5px;
    padding: 8px 15px;
    font-size: 1.8rem;
    font-weight: 300;
    text-align: center;
}
.usableBtn:active{
    background-color: rgb(160, 160, 160);
}

.unusableBtn{
    display: inline-block;
    background-color: rgb(202, 202, 202);
    color: white;
    cursor: auto;
    transition: .5s ease-in;
    border-radius: 5px;
    padding: 8px 15px;
    font-size: 1.8rem;
    font-weight: 300;
}

#section-mid{
    position: absolute;
}
.slideMidLeft{
    animation: slideMidLeft-anim 1.5s ease-in-out 0s;
    animation-fill-mode: forwards;
}
@keyframes slideMidLeft-anim{
    0%{
        left: 0vw;
    }
    100%{
        left: -100vw;
    }
}
.slideLeftMid{
    animation: slideLeftMid-anim 1.5s ease-in-out 0s;
    animation-fill-mode: forwards;
}
@keyframes slideLeftMid-anim{
    0%{
        left: -100vw;
    }
    100%{
        left: 0vw;
    }
}

#circles{
    opacity: 0%;
}

.circle{
    width: 6px;
    height: 6px;
    border-radius: 500px;
    position: absolute;
    left: 70vw;
    top: 50vh;
    border: 6px solid white;
    z-index: 200;
    transition: 1.5s ease-in;
}

#circle1{
    left: 75vw;
    top: 78vh;
}
@keyframes circle-anim1 {
    5%{
        left: 75vw;
        top: 78vh;
        width: 10px;
        height: 10px;
    }
    70%{
        border-width: 2px;
        width: 800px;
        height: 800px;
        top: -100vh;
        left: 0vw;
    }
    100%{

    }
}

#circle2{
    left: 72vw;
    top: 65vh;
}
@keyframes circle-anim2 {
    23%{
        left: 72vw;
        top: 65vh;
        width: 10px;
        height: 10px;
    }
    65%{
        border-width: 5px;
        width: 400px;
        height: 400px;
        top: -50vh;
        left: 80vw;
    }
    97%{
        left: 72vw;
        top: 65vh;
        width: 10px;
        height: 10px;
    }
}

#circle3{
    left: 83vw;
    top: 40vh;
}
@keyframes circle-anim3 {
    20%{
        width: 10px;
        height: 10px;
        left: 83vw;
        top: 40vh;
    }
    50%{
        border-width: 20px;
        top: 80vh;
        left: 80vw;
        width: 300px;
        height: 300px;
    }
    83%{
        width: 10px;
        height: 10px;
        left: 83vw;
        top: 40vh;
    }
}

#circle4{
    left: 75vw;
    top: 49vh;
}
@keyframes circle-anim4 {
    10%{
        width: 10px;
        height: 10px;
        left: 75vw;
        top: 49vh;
    }
    60%{
        border-width: 10px;
        top: 50vh;
        left: 50vw;
        width: 600px;
        height: 600px;
    }
    93%{
        width: 10px;
        height: 10px;
        left: 75vw;
        top: 49vh;
    }
}

#circle5{
    left: 69vw;
    top: 85vh;
}
@keyframes circle-anim5 {
    15%{
        left: 69vw;
        top: 85vh;
        width: 10px;
        height: 10px;
    }
    50%{
        border-width: 25px;
        width: 400px;
        height: 400px;
        top: -50vh;
        left: 50vw;
    }
    78%{
        left: 69vw;
        top: 85vh;
        width: 10px;
        height: 10px;
    }
}

#circle6{
    left: 61vw;
    top: 75vh;
}
@keyframes circle-anim6 {
    0%{
        left: 61vw;
        top: 75vh;
        width: 10px;
        height: 10px;
    }
    60%{
        border-width: 15ßpx;
        width: 400px;
        height: 400px;
        top: 0vh;
        left: 60vw;
    }
    90%{
        left: 61vw;
        top: 75vh;
        width: 10px;
        height: 10px;
    }
}

#circle7{
    left: 86vw;
    top: 22vh;
}

.label{
    font-weight: 600;
    font-size: 1.8rem;
    color: var(--main);
    color: white;
    margin: 15px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

.stats{
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.419);
    color: rgb(255, 255, 255);
    margin: 0;
}

.button{
    display: inline-block;
    border: 3px solid white;
    border-radius: 50px;
    padding: .9rem 1.5rem;
    margin: 0;
    background: var(--main);
    color: white;
    font-family: inherit;
    font-size: 1.9rem;
    font-weight: 500;
    text-align: center;
    transition: 1s ease;
}
.button:hover, .button:focus {
    cursor: pointer;
}
.button:active {
    cursor: pointer;
    background: white;
    border: 3px solid var(--main);
    color: var(--main) !important;
}

.blueBtn{
    background-color: white;
    color: var(--sub);
    border-color: var(--sub);
    display: inline-block;
    border-radius: 50px;
    padding: .9rem 1.5rem;
    margin: 0;
    font-family: inherit;
    font-size: 1.9rem;
    font-weight: 500;
    text-align: center;
    transition: 1s ease;
    cursor: pointer;
}
.blueBtn:active{
    background-color: var(--sub);
    color: white !important;
    border-color: white;
}

#slider{
    background-color: var(--main);
    z-index: 0;
}

.slideR{
    animation: slideR-anim 1.5s ease-in-out 0s;
    animation-fill-mode: forwards;
}
@keyframes slideR-anim{
    0%{
        left: 0px;
        background-color: var(--main);
    }
    50%{
        background-color: var(--main);
    }
    100%{
        left: 50vw;
        background-color: var(--sub);
    }
}
.slideL{
    
    animation: slideL-anim 1.5s ease-in-out 0s;
    animation-fill-mode: forwards;
}
@keyframes slideL-anim{
    0%{
        left: 50vw;
        background-color: var(--sub);
    }
    50%{
        background-color: var(--main);
    }
    100%{
        left: 0vw;
        background-color: var(--main);
    }
}

.disappear{
    opacity: 100%;
    animation: disappear-anim .5s ease-in-out 0s;
    animation-fill-mode: forwards;
}
.disappearSlow{
    opacity: 100%;
    animation: disappear-anim 1.5s ease-in-out 0s;
    animation-fill-mode: forwards;
}
@keyframes disappear-anim{
    0%{
        opacity: 100%;
    }
    100%{
        opacity: 0%;
    }
}
.appear{
    opacity: 0%;
    animation: appear-anim .5s ease-in-out 0s;
    animation-fill-mode: forwards;
}
.appearSlow{
    opacity: 0%;
    animation: appear-anim 1.5s ease-in-out 0s;
    animation-fill-mode: forwards;
}
@keyframes appear-anim{
    0%{
        opacity: 0%;
    }
    100%{
        opacity: 100%;
    }
}

#section1{
    z-index: 10;
    transition: 1s ease-in;
    color: white;
}

#goal-main-display{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    top: -3rem;
}

.big-number{
    font-size: 5rem;
}

#sleepGoalChart{
    position: relative;
    top: 2rem;
}

#title0{
    color: white;
    opacity: 0%;
}

#title1{
    position: relative;
    color: white;
    margin: 50px 0px;
}

#profile-flex-1{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 80%;
}

#profile-flex-2{
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    text-align: center;
    width: 50vw;
    position: relative;
    top: -30px;
}

.stats-flex{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

#title2{
    position: relative;
    color: var(--main);
}

#avg-box{
    width: 100%;
    margin: 20px 0px 15px 0px;
    display: flex;
    justify-content: space-around;
}

#section2{
    z-index: -10;
    padding: 80px inherit;
}

#seeMonthlyBtn{
    position: absolute;
    left: 70%;
    font-size: 1.4rem;
    padding: 7px 13px;
}

#slideBtn{
    position: absolute;
    top: 50vh;
    left: 46.7vw;
    z-index: 300 !important;
    font-weight: bolder;
    width: 85px;
    height: 55px;
}

.button2 {
    background-color: white;
    width: 90px;
    text-align: center;
    border: 2px solid var(--sub);
    border-radius: 50px;
    padding: 10px 16px;
    margin: 4px;
    color: var(--sub);
    cursor: pointer;
    font-size: 1.6rem;
    font-weight: 300;
    transition: 1s ease;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

.button2:active{
    background-color: var(--sub);
    color: white;
    border-color: white;
}

button{
    outline-width: 0ch;
    border: none;
    font-family: inherit;
}
  
input{
    background-color: #ffffff;
    border: 1px solid rgb(155, 155, 155);
    color: rgb(70, 70, 70);
    border-radius: 5px;
    padding: 5px 10px;
    margin:0 2px 0 0;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-size: 1.8rem;
    font-weight: 300;
    width: 100px;
    height: 39px;
    outline-width: 0ch;
}
input:hover{
    cursor: pointer;
}

#data-flex-0{
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    justify-content: space-between;
    width: 110%;
    padding: 20px;
}

#data-flex-1{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 95%;
    padding: 0;
}

#saveBtn{
    width: 115px
}

#data-flex-3{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    height: 100px;
    justify-content: space-between;
}

#data{
    width: 60px;
    text-align: center;
    margin-left: 3%;
}

@media (max-width: 1300px){
    #addDataBtn{
        width: 70px;
    }
    #removeDataBtn{
        width: 85px;
    }
    #saveBtn{
        width: 110px;
    }
}

.averages{
    color: rgb(88, 88, 88);
    font-weight: 300;
}

#section3{
    z-index: 0;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    opacity: 0%;
}

audio{
    left: 500px;
}

#beginBtn{
    border-color: var(--main);
    color: var(--main);
    background-color: white;
    cursor: pointer;
    position: relative;
    top: 200px;
}
#beginBtn:active{
    border-color: white;
    color: white !important;
    background-color: var(--main);
}

.set{
    position: absolute;
    width: 50vw;
    height: 100vh;
    top: 0px;
    left: 0px;
}

.set2{
    position: absolute;
    width: 50vw;
    height: 100vh;
    top: 0px;
    left: 50vw;
}

#title3{
    position: relative;
    top: 80px;
    color: var(--main);
    opacity: 100% !important;
}

.deco{
    width: 100px;
    height: 100px;
    background-color: rgba(255, 232, 189, 0.781);
    position: absolute;
    border-radius: 500px;
    top: 10px;
    left: 10px;
}
#deco1{
    background-color: rgba(255, 236, 200, 0.781);
    top: 180px;
    left: 90px;
    z-index: 30;
}
#deco2{
    background-color: rgba(252, 128, 26, 0.705);
    top: -70px;
    left: -70px;
    width: 300px;
    height: 300px;
    z-index: 30;
}
#deco3{
    background-color: rgba(255, 192, 98, 0.781);
    top: 90px;
    left: -40px;
    width: 200px;
    height: 200px;
    z-index: 30
}

/** ------------- LINE OF DEATH -------------- DO NOT CROSS ------------ **/

.base-timer {
    position: relative;
    width: 300px;
    height: 300px;
}

.base-timer__svg {
    transform: scaleX(-1);
}

.base-timer__circle {
    fill: none;
    stroke: none;
}

.base-timer__path-elapsed {
    stroke-width: 7px;
    stroke: grey;
}

.base-timer__path-remaining {
    stroke-width: 7px;
    stroke-linecap: round;
    transform: rotate(90deg);
    transform-origin: center;
    transition: 1s linear all;
    fill-rule: nonzero;
    stroke: currentColor;
}

.base-timer__path-remaining.green {
    color: rgb(65, 184, 131);
}

.base-timer__path-remaining.orange {
    color: orange;
}

.base-timer__path-remaining.red {
    color: red;
}

.base-timer__label {
    position: absolute;
    width: 300px;
    height: 300px;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
}
