:root{
    --accent: #92aad9;
    --accentFont: #000000;
    --mommy: #5501a3;
    --daddy: #49a300;
    --jimmy: #da7b00;
    --jack: #0030cf;
}

@font-face{
    font-family: 'Verdana';
    src: url('Verdana.woff') format('woff');
}

@font-face{
    font-family: 'Roboto';
    src: url('roboto.ttf') format('truetype');
}

@font-face{
    font-family: 'RobotoBold';
    src: url('Roboto-Condensed-Bold.woff') format('woff');
}

body{
    padding: 5px;
    width: calc(100% - 25px);
    font-family: Roboto;
    background-color: #000000;
    overflow: hidden;
    transition-duration: .2s;
}

.card{
    background-color: #ffffff;
    position: absolute;
    padding: 25px;
}

#welcomeArea{
    top: 25px;
    width: 630px;
    height: 315px;
    left: 25px;
}

#clockTodayDiv{
    border-top: 1px solid #dfdfdf;
    position: absolute;
    top: 125px;
    height: 1px;
    width: 430px;
    left: 20px;
}


#todayIsIcon{
    position: absolute;
    top: 110px;
    left: 655px;
    width: 50px;
}

#todayIsCurrentTempInside{
    position: absolute;
    font-family: 'RobotoBold';
    top: 100px;
    right: 720px;
    font-size: 5em;
}

#todayIsCurrentTempOutside{
    position: absolute;
    font-family: 'RobotoBold';
    top: 15px;
    right: 720px;
    font-size: 5em;
}

#clock{
    font-size: 10em;
    position: absolute;
    left: 5px;
    top: 10px;
    text-align: left;
    width: 100%;
    overflow: hidden;
    height: 162px;
}

.clockDigit{
    position: absolute;
    width: 50px;
    text-align: center;
    transition-duration: .2s;
    top: 0px;
}

.clockSep{
    position: absolute;
    width: 15px;
    text-align: center;
}

#clockAMPM{
    position: absolute;
    left: 520px;
    top: 75px;
    font-size: .5em;
}

#HH1{
    left: 10px;
}

#HH2{
    left: 80px;
}

#clockSepHHMM{
    left: 150px;
}

#MM1{
    left: 185px;
}

#MM2{
    left: 255px;
}

#clockSepMMSS{
    left: 325px;
}

#SS1{
    left: 360px;
}

#SS2{
    left: 430px;
}

.clockSeparator{
    animation: blinker 2s linear infinite;
    position: absolute;
    margin-top: -10px;
}

@keyframes blinker {  
    50% { opacity: 0; }
}

.combinedCalendarArea{
    background-color: #ffffff;
    position: absolute;
    left: 25px;
    bottom: 25px;
    width: 71.4%;
    height: 59.6%;
    display: none;
}

#calContainer{
    bottom: 0px;
    width: 40vw;
    height: 55vh;
}

#monthTitle{
    font-weight: bold;
    text-align: center;
    display: block;
    width:calc(100% - 20px);
    font-size: 2em;
    margin-bottom: 10px;
    background-color: var(--accent);
    padding: 10px;
    color: var(--accentFont);
}

#calendarTable{
    width: 100%;
    height: calc(100% - 70px);
    border-collapse: collapse;
}

#calendarTable th{
    padding: 10px;
    text-align: center;
    width: 14.2%;
}

#calendarTable td{
    padding: 10px;
    width: 14.2%;
    vertical-align: top;
    position: relative;
    cursor: pointer;
    border: 1px solid #dfdfdf;
    height: 20%;
}

.calMon{
    display: inline-block;
    font-family: 'RobotoBold';
    color: #adadad;
    margin-right: 5px;
}

.calNumber{
    font-family: 'RobotoBold';
    position: relative;
    z-index: 1;
}

.outsideMonthDay{
    color: #dfdfdf;
}

.thisIsToday{
    background-color: #f2f2f2;
    font-weight: bold;
    color: var(--accent);
}

.darkMode #calendarTable tbody tr .thisIsToday{
    background-color: #2d2d2d;
}

#colorpicker{
    position: absolute;
    right: 20px;
    bottom: 20px;
    text-align: right;
    font-size: .8em;
    cursor: pointer;
}

.calEventDivider{
    position: absolute;
    bottom: 25px;
    left: 60.5%;
    width: 1px;
    background-color: #dfdfdf;
    height: calc(100% - 50px);
}

#eventContainer{
    bottom: 0px;
    width: 25vw;
    height: 55vh;
    right: 0px;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0px;
    border: 25px solid white;
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}

#eventContainer::-webkit-scrollbar{
    display: none;
}

.dayDivider{
    display: inline-block;
    width: 100%;
    margin-bottom: 20px;
    font-size: 1.2em;
    font-family: 'RobotoBold';
    border-top: 1px solid var(--accent);
    border-bottom: 1px solid var(--accent);
    padding: 5px 0px 5px 5px;
    background-color: var(--accent);
    color: var(--accentFont);
}

.event{
    display: inline-block;
    width: 100%;
    margin-bottom: 20px;
    padding-left: 5px;
}

.holidayEvent{
    display: inline-block;
    width: calc(100% - 5px);
    margin-bottom: 10px;
    padding: 10px 0px 10px 5px;
    border-radius: 8px;
    background-color: #f1b8bd;
    position: relative;
}

.birthdayEvent{
    display: inline-block;
    width: calc(100% - 5px);
    margin-bottom: 10px;
    padding: 10px 0px 10px 5px;
    border-radius: 8px;
    background-color: #5bb85b;
    position: relative;
}

.darkMode .holidayEvent{
    color: black;
}

.darkMode .birthdayEvent{
    color: black;
}

.eventTitle{
    font-family: 'RobotoBold';
}

.weeklyEvents .event .eventTitle{
    line-height: 18px;
    margin-bottom: 7px;
}

.eventTime,.eventLocation{
    font-size: .8em;
}

.personIndicator{
    float: right;
    height: 100%;
    width: 30px;
}

.mommy{
    color: var(--mommy);
}

.daddy{
    color: var(--daddy);
}

.jack{
    color: var(--jack);
}

.jimmy{
    color: var(--jimmy);
}

#colorpicks{
    width: 9vw;
    bottom: 150px;
}

#google{
    width: 9vw;
    bottom: 25px;
}

#content{display: none;}

#settings{
    font-size: 1.2em;
    font-family: 'RobotoBold';
    margin-bottom: 20px;
}

.personColor{
    display: inline-block;
    width: 50%;
}

.personColorPicker{
    display: inline-block;
    width: 46%;
    text-align: right;
}

.eventMarker{
    background-color: var(--accent);
    width: 10px;
    height: 10px;
    display: inline-block;
    border-radius: 50%;
    margin: 5px;
    z-index: 1;
    position: absolute;
    bottom: 5px;
    left: 5px;
}

.daddyCircle{
    background-color: var(--daddy);
}

.mommyCircle{
    background-color: var(--mommy);
}

.jimmyCircle{
    background-color: var(--jimmy);
}

.jackCircle{
    background-color: var(--jack);
}

.holidayCircle{
    background-color: transparent;
    border-radius: 0;
}

#hourlyContainer{
    position: absolute;
    top: 25px;
    width: 35vw;
    height: 155px;
    text-align: center;
    right: 15px;
}

.hourlyCard{
    height: 100%;
    width: 19.1%;
    display: inline-block;
    margin-right: 3px;
    position: relative;
}

.hourlyDivider{
    height: 130px;
    width: 1px;
    background-color: #dfdfdf;
    position: absolute;
    top: 20px;
}

.hourlyTime{
    display: block;
    text-align: center;
    font-family: 'RobotoBold';
}

.hourlyText{
    font-family: 'RobotoBold';
    text-transform: capitalize;
}

.hourlyTemp{
    font-family: 'RobotoBold';
    font-size: 2.2em;
    position: absolute;
    left: 15px;
}

.hourlyPrec{
    font-family: 'RobotoBold';
    font-size: 1.2em;
    position: absolute;
    left: 65px;
    width: 100px;
    text-align: left;
}

.hourlyWind{
    font-family: 'RobotoBold';
    font-size: 1.2em;
    position: absolute;
    left: 65px;
    bottom: -18px;
    text-align: left;
    width: 100px;
}

.fa-wind{
    color: #6a6b6d;
    margin-bottom: 2px;
    margin-right: 5px;
    font-size: .8em;
}

.fa-cloud-rain{
    color: #5f98ef;
    margin-bottom: 2px;
    margin-right: 5px;
    font-size: .8em;
}

.fa-temperature-half{
    color: #6a6b6d;
    margin-bottom: 2px;
    margin-right: 5px;
    font-size: .8em;
}

#dayCards{
    top: 245px;
    width: 40vw;
    height: 105px;
    text-align: center;
    vertical-align: bottom;
}

.dayCard{
    width: 16.2%;
    display: inline-block;
    height: 83%;
    text-align: center;
    position: relative;
}

.dayCardTitle{
    text-align: center;
    font-family: 'RobotoBold';
    font-size: 1em;
}

.dayCardHeader{
    font-family: 'RobotoBold';
    font-size: 2em;
    margin-bottom: 10px;
}

.dayCardIcon img{
    height: 70px;
    position: absolute;
    left: 50%;
    margin-left: -35px;
    top: 15px;
}

.dayCardTemp{
    font-family: 'RobotoBold';
    font-size: 2em;
    position: absolute;
    top: 72px;
    width: 100%;
}

.dailyDivider{
    height: 120px;
    width: 1px;
    background-color: #dfdfdf;
    position: absolute;
    top: 20px;
}

.dayCardCondition{
    position: absolute;
    bottom: 40px;
    width: 100%;
    font-family: 'RobotoBold';
    display: none;
}

.settingsCard{
    position: absolute;
    transition-duration: .2s;
    right: -515px;
    bottom: 55px;
    height: 430px;
    width: 223px;
    z-index: 2;
}

.settingsIcon{
    font-size: 1.8em;
    position: absolute;
    top: 45px;
    right: 45px;
    cursor: pointer;
    z-index: 3;
}

.hiderIcon{
    font-size: 1.5em;
    position: absolute;
    bottom: 35px;
    right: 45px;
    z-index: 3;
    display: none;
}

.settingsCardOpen{
    right: 25px;
}

#weekendDivider{
    border-left: 2px solid var(--accent);
    height: 80%;
    width: 1px;
    position: absolute;
    top: 100px;
    left: 29.8vw;
}

.isOverlay{
    background-color: black;
}

.overlay{
    display: none;
    z-index: 2;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    opacity: 0.6;
}

#googleTitle{
    font-size: 1.2em;
    font-family: 'RobotoBold';
    margin-bottom: 20px;
}

#appearanceTitle{
    font-size: 1.2em;
    font-family: 'RobotoBold';
    margin-bottom: 20px;
}

#appearance{
    width: 9vw;
    bottom: 465px;
}

#reloadTitle{
    font-size: 1.2em;
    font-family: 'RobotoBold';
    margin-bottom: 20px;
}

#reload{
    width: 9vw;
    bottom: 722px;
}

#saverBtn{
    border: 1px solid #dfdfdf;
    border-radius: 6px;
    padding: 10px;
    display: block;
    text-align: center;
    cursor: pointer;
}

#reloadBtn{
    border: 1px solid #dfdfdf;
    border-radius: 6px;
    padding: 10px;
    display: block;
    text-align: center;
    cursor: pointer;
}


#fiveDayForecast{
    bottom: 25px;
    width: 22.5vw;
    height: 90.7vh;
    right: 25px;
    padding: 25px;
}

.forecastDay{
    width: 100%;
    margin: 10px 0px;
}

.fiveDay, .fiveCondition, .fiveHigh, .fiveHLbar, .fiveLow, .fivePrec{
    display: inline-block;
}

.fiveCondition img{
    height: 40px;
}

#forecastTable{
    width: 100%;
}

#forecastTable tr td:first-child{
    width: 20%;
    font-family: 'RobotoBold';
}
#forecastTable tr td:nth-child(2){width: 50px;}
#forecastTable tr td:nth-child(3){width: 25px; text-align: right;}
#forecastTable tr td:nth-child(4){position: relative;}
#forecastTable tr td:nth-child(5){width: 35px; font-family: 'RobotoBold';}
#forecastTable tr td:nth-child(6){width: 52px;}

.fiveHLbar{
    width: 100%;
    border-radius: 6px;
    height: 10px;
    background-color: #dfdfdf;
}

#forecastTitle{
    font-size: 1.2em;
    font-family: 'RobotoBold';
}

.fiveHLrange{
    border-radius: 6px;
    height: 10px;
    background-color: green;
    background-image: linear-gradient(to right, lightblue , green);
    position: absolute;
    margin-top: -14px;
}

#todayTitle{
    font-size: 1.2em;
    font-family: 'RobotoBold';
    margin-top: 30px;
}

#todayWeatherTable{
    width: 100%;
    margin-top: 10px;
    margin-bottom: 20px;
}

#todayWeatherTable tbody tr:nth-child(2){display: none;}

#todayWeatherTable tbody tr:nth-child(4){display: none;}

#todayWeatherTable td:first-child{width: 77px;}
#todayWeatherTable td:nth-child(2) img{width: 40px;}
#todayWeatherTable td:nth-child(2){width: 50px;}
#todayWeatherTable td:nth-child(4){width: 52px;}
#todayWeatherTable td:nth-child(4):not(i){
    font-family: 'RobotoBold'; 
    text-align: right; 
    padding-right: 10px;
}
#todayWeatherTable td:nth-child(5){width: 52px;}
#todayWeatherTable td:last-child{display: none;}

.todayIcon img{
    height: 60px;
    position: absolute;
    right: 35px;
    top: 310px;
}

#todayCondition{
    width: 70%;
}

#currentTitle{
    font-size: 1.2em;
    font-family: 'RobotoBold';
}

.updatedText{
    color: #a7a7a7;
    font-size: .7em;
    margin-bottom: 10px;
}

.currentTemp{
    border: 1px solid #dfdfdf;
    border-radius: 20px;
    padding: 5px 10px;
    display: inline-block;
    font-size: 0.8em;
}

.currentTemp svg{
    margin-right: 5px;
}

.currentTemp span{
    font-family: 'RobotoBold';
}

.timeOfDay{
    font-family: 'RobotoBold';
}

.eventHoliday img{
    width: 60px;
    position: absolute;
    top: 50%;
    margin-top: -24px;
    left: 50%;
    margin-left: -30px;
    z-index: 0;
    opacity: .8;
}

#controlsContainer{
    top: 25px;
    width: 620px;
    height: 315px;
    left: 725px;
}

#controlTitle{
    font-size: 1.2em;
    font-family: 'RobotoBold';
    margin-bottom: 20px;
}

.colorOption{
    margin: 10px 0px;
}

.colorModeBtn{
    border: 1px solid #dfdfdf;
    border-radius: 6px;
    padding: 10px;
    display: block;
    text-align: center;
    cursor: pointer;
    margin-bottom: 10px;
}

.selectedMode{
    background-color: var(--accent);
    color: black;
}

#homeassistant{
    height: calc(100% - 40px);
    width: 100%;
    border: transparent;
    margin-top: -15px;
}

#homeassistantDark{
    height: calc(100% - 40px);
    width: 100%;
    border: transparent;
    margin-top: -15px;
    display: none;
}

#viewTitle{
    font-size: 1.2em;
    font-family: 'RobotoBold';
    margin-bottom: 20px;
    margin-top: 20px;
    display: none;
}

.viewOptions{
    width: 100%;
    margin-top: 20px;
}

.viewOption{
    width: 42px;
    text-align: center;
    padding: 10px;
    font-size:.8em;
    font-family: 'RobotoBold';
    display: inline-block;
    border: 5px solid #dfdfdf;
    border-radius: 50%;
    cursor: pointer;
    background-color: white;
    box-shadow: 1px 4px 8px black;
}

#birthdayBtn{
    width: 42px;
    text-align: center;
    padding: 10px;
    font-size:.8em;
    font-family: 'RobotoBold';
    display: inline-block;
    border: 4px solid #dfdfdf;
    border-radius: 50%;
    cursor: pointer;
    position: absolute;
    background-color: white;
    bottom: 35px;
    left: 35px;
    box-shadow: -1px 4px 8px black;
}

#monthView{
    position: absolute;
    bottom: 10px;
    right: -5px;
}

#weekView{
    position: absolute;
    bottom: 10px;
    right: -5px;
}

.weeklyCalendarArea{
    background-color: #ffffff;
    position: absolute;
    left: 25px;
    bottom: 25px;
    width: 71.4%;
    height: 59.6%;
}

#weeklyCalendarTable{
    width: calc(100% - 60px);
    height: calc(100% - 60px);
    margin: 30px;
}

#weeklyCalendarTable td{
    border-left: 1px solid #dfdfdf;
    padding-left: 10px;
    width: 14.2%;
    text-align: left;
    vertical-align: top;
    position: relative;
    padding-top: 20px;
}

#weeklyCalendarTable .event{
    padding-top: 10px;
    border-top: 1px solid #dfdfdf;
}

.weeklyDay{
    font-family: 'RobotoBold';
    font-size: 1.5em;
}

.weeklyDate{
    margin-bottom: 30px;
}

.weeklyEvents{
    width: 96%;
}

.weeklyNoEvents{
    font-style: italic;
    font-size: .8em;
}

.isToday{
    background-color: #fbf9f9;
}

.todayIndicator{
    font-family: 'RobotoBold';
    font-size: 1.8em;
    color: #2b73ff;
    text-align: center;
    width: calc(100% - 20px);
    position: absolute;
    bottom: 20px;
    display: none;
}

.darkMode{
    background-color: black !important;
    color: white !important;
}

.darkModeBody{
    background-color: #474545 !important;
    color: white;
}

.darkModeBorder{
    border-color: white !important;
}


.darkMode#eventContainer{
    border: 25px solid black;
}

.darkMode #weeklyCalendarTable tbody tr .isToday{
    background-color: #2d2d2d;
}

.eventBirthday img{
    width: 25px;
    top: 10px;
    right: 10px;
    position: absolute;
}

.bdayPicture{
    position: absolute;
    right: 10px;
    top: 10px;
}

.bdayPicture img{
    height: 40px;
}

.holidayPicture{
    position: absolute;
    right: 10px;
    top: 7px;
}

.holidayPicture img{
    height: 40px;
}

.locationOverlay{
    display: none;
    z-index: 2;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    opacity: 0.6;
}

.locationWindow{
    display: none;
    z-index: 3;
    position: fixed;
    top: 50vh;
    left: 50vw;
    margin-left: -400px;
    margin-top: -300px;
    width: 800px;
    height: 600px;
    background-color: white;
    box-shadow: 0px 0px 10px black;
    border-radius: 8px;
    overflow: hidden;
}

.locationBtn{
    position: absolute;
    padding: 15px;
    border: 1px solid #dfdfdf;
    border-radius: 6px;
    width: 60px;
    text-align: center;
    background-color: white;
    font-size: 1.6em;
    top: 15px;
}

#locationBtn{
    right: 15px;
    color: lightcoral;
}

#directionsBtn{
    right: 120px;
    color: rgb(68, 146, 219);
}

.locationMap{
    height: 100%;
    width: 100%;
}

.locationMap iframe{
    height: 100%;
    width: 100%;
    border: 0px;
}

.eventClickLocation{
    font-size: .8em;
    margin-top: 2px;
}

.homeAssistantOverlay{
    display: none;
    z-index: 2;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    opacity: 0.6;
}

.homeAssistantWindow{
    display: none;
    z-index: 3;
    position: fixed;
    top: 50vh;
    left: 50vw;
    margin-left: -750px;
    margin-top: -450px;
    width: 1500px;
    height: 900px;
    background-color: white;
    box-shadow: 0px 0px 10px black;
    border-radius: 8px;
    overflow: hidden;
}

#homeassistantFull{
    height: 100%;
    width: 100%;
    border: 0px;
}

#showFullHomeAssistant{
    font-size: 1.8em;
    position: absolute;
    bottom: 5px;
    left: 10px;
}

#overallContainer{
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background-color: #f2f2f2;
}

#outerspace{
    width: 100vw;
    height: 100vh;
}

#confetti-canvas{
    width: 100vw;
    height: 100vh;
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    display: none;
}

.crazybday{
    z-index: 9;
}

#jimmyBday{
    position: absolute;
    display: none;
    height: 1000px;
    right: -1000px;
    bottom: -10px;
}

#jackBday{
    position: absolute;
    display: none;
    height: 1500px;
    left: -1000px;
}


.weeklyEvents .birthdayEvent .eventTitle{
    width: 64%;
}

.dinnerIcon{
    width: 50px !important;
    display: inline-block;
}

.dinnerIcon img{
    width: 40px;
}

.dinner{
    bottom: 70px;
    position: absolute;
}

.dinnerName{
    font-size: .9em;
    font-family: 'RobotoBold';
    width: auto !important;
}

.dinnerTable{
    width: 100%;
}

.dinnerTable td{
    border: none !important;
    padding: 0px !important;
    position: initial !important;
    vertical-align: middle !important;

}

.whereIs{
    width: 134px;
    height: 115px;
    display: inline-block;
    padding: 10px;
    background-color: #f2f2f2;
    border-radius: 8px;
    position: relative;
    top: 175px;
}

.darkMode > .whereIs{background-color: #353535;}

.wherePic{
    height: 55px;
    width: 55px;
    border-radius: 50%;
    border: 3px solid black;
    overflow: hidden;
}

#momWherePic{
    border-color: var(--mommy);
}

#dadWherePic{
    border-color: var(--daddy);
}

#jimmyWherePic{
    border-color: var(--jimmy);
}

#jackWherePic{
    border-color: var(--jack);
}

.wherePicture{
    width: 100%;
    height: 100%;
}

.whereMiles, .whereTime, .whereZone{
    font-size: 0.9em;
    font-family: 'RobotoBold';
    position: absolute;
    left: 5px;
}

.whereMiles{
    top: 96px;
}

.whereMiles::after{
    margin-left: 2px;
    color: grey;
    content: 'miles';
    font-size: .9em;
    font-family: Roboto;
}

.whereTime{
    top: 112px;
}

.whereTime::after{
    margin-left: 2px;
    color: grey;
    content: 'minutes';
    font-size: .9em;
    font-family: Roboto;
}

.whereZone{
    top: 80px;
    width: 100px;
}

.chores{
    width: 25px;
    height: 25px;
    border-radius: 50%;
    position: absolute;
    bottom: -8px;
    right: -18px;
    font-size: 1.5em;
    background-color: white;
    display: none;
}

.choreCheck{color: rgb(97, 177, 97); display: none;}
.choreX{color: rgb(192, 85, 85);}

.choreStatus{
    font-family: 'RobotoBold';
    font-size: 0.9em;
    position: absolute;
    top: 80px;
    left: 5px;
    line-height: 17px;
    width: 90px;
}

.choreCount::after{
    content: 'points today';
    font-family: Roboto;
    font-size: 0.9em;
    color: grey;
    position: absolute;
    width: 90px;
    top: 17px;
    margin-left: 2px;
}

.choreCountWeek::after{
    content: 'points this week';
    font-family: Roboto;
    font-size: 0.9em;
    color: grey;
    position: absolute;
    width: 90px;
    top: 34px;
    margin-left: 2px;
}

.choresOverlay{
    display: none;
    z-index: 2;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    opacity: 0.6;
}

.choresView{
    display: none;
    z-index: 3;
    position: fixed;
    width: 30vw;
    height: calc(80vh - 100px);
    margin-top: 10vh;
    margin-left: 35vw;
    background-color: white;
    padding: 50px;
}

.choresHeaderPic{
    height: 120px;
    width: 120px;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
}

#jimmyChores .choresHeaderPic{
    border: 4px solid var(--jimmy);
}

#jackChores .choresHeaderPic{
    border: 4px solid var(--jack);
}

.choresView img{
    position: absolute;
    height: 100%;
}

.choresHeaderTitle{
    font-family: 'RobotoBold';
    font-size: 4.2em;
    position: absolute;
    left: 200px;
    top: 50px;
}

.choresHeaderSubTitle{
    font-family: 'RobotoBold';
    font-size: 2.7em;
    position: absolute;
    left: 205px;
    top: 120px;
}

.choresHeaderHR{
    position: absolute;
    top: 200px;
    left: 50px;
    width: calc(100% - 100px);
    height: 2px;
    background-color: grey;
}

input[type="checkbox"] {
    position: relative;
    top: 10px;
    width: 2.5em;
    height: 2.5em;
    color: black;
    border: 1px solid gray;
    border-radius: 4px;
    appearance: none;
    outline: 0;
    cursor: pointer;
    transition: background 175ms cubic-bezier(0.1, 0.1, 0.25, 1);
    &::before {
      position: absolute;
      content: '';
      display: block;
      top: 2px;
      left: 10px;
      width: 8px;
      height: 19px;
      border-style: solid;
      border-color: white;
      border-width: 0 2px 2px 0;
      transform: rotate(45deg);
      opacity: 0;
    }
    &:checked {
      color: white;
      border-color: var(--jimmy);
      background: var(--jimmy);
      &::before {
        opacity: 1;
      }
      ~ label::before {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
      }
    }
  }
  
  label {
    position: relative;
    cursor: pointer;
    font-size: 1.5em;
    font-weight: 600;
    padding: 0 0.25em 0;
    user-select: none;
    &::before {
      position: absolute;
      top: 0px;
      content: attr(data-content);
      color: lightgray;
      clip-path: polygon(0 0, 0 0, 0% 100%, 0 100%);
      text-decoration: line-through;
      text-decoration-thickness: 3px;
      text-decoration-color: black;
      transition: clip-path 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }
  }

.choresList{
    margin-top: 30px;
}

.points{
    position: absolute;
    bottom: 50px;
    font-size: 8em;
    font-family: 'RobotoBold';
    text-align: right;
    width: 130px;
}

.choresScore{
    color: grey;
    font-family: 'RobotoBold';
    position: absolute;
    bottom: 98px;
    font-size: 2.5em;
    line-height: 35px;
    opacity: 0.7;
    margin-left: 140px;
}

.weekPoints{
    left: 320px;
}

.choresScoreWeek{
    left: 320px;
}

#jimmyChores .weekPoints{
    color: var(--jimmy);
}

#jackChores .weekPoints{
    color: var(--jack);
}

.lastWeekPoints{
    position: absolute;
    bottom: 30px;
    font-size: 1.3em;
    text-align: right;
    right: 50px;
}

.showLastWeekPoints{
    font-family: 'RobotoBold';
}

#apps{
    bottom: 25px;
    width: 9vw;
    right: 12vw;
}

#appsTitle{
    font-size: 1.2em;
    font-family: 'RobotoBold';
    margin-bottom: 20px;
}

.appIcon{
    height: 60px;
    width: 60px;
    border-radius: 50%;
    border: 4px solid black;
    position: relative;
    display: inline-block;
}

#netflix{
    margin-left: 30px;
}

.appIcon img{
    height: 90%;
    margin-left: 3px;
    margin-top: 5px;
}

#youtubetv::after{
    font-family: 'RobotoBold';
    content: 'YouTube TV';
    position: absolute;
    margin-top: calc(100% + 5px);
    margin-left: calc(-125% + 4px);
    position: absolute;
    text-align: center;
    width: 150%;
}

#netflix::after{
    font-family: 'RobotoBold';
    content: 'Netflix';
    position: absolute;
    margin-top: calc(100% + 5px);
    margin-left: calc(-125% + 4px);
    position: absolute;
    text-align: center;
    width: 150%;
}


#todayIsDay{
    font-size: 3em;
    font-weight: bold;
}

#todayIsDate{
    font-size: 1.5em;
    margin-top: -5px;
}

.clockDivider{
    border-top: 1px solid #dfdfdf;
    position: absolute;
    left: 25px;
    top: 195px;
    width: 92%;
}

#todayIsText{
    vertical-align: middle;
    width: 440px;
    height: 100px;
    color: black;
    margin-top: 25px;
}

.darkMode > #todayIsText{color: white;}

#familyPhoto{
    position: absolute;
    right: 25px;
    bottom: 20px;
    width: 200px;
    overflow: hidden;
    height: 140px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    border-radius: 9px;
    display: none;
}

#familyPhoto img{
    width: 100%;
    margin-top: -10px;
}

#locationUpdated{
    position: absolute;
    bottom: 10px;
    margin-bottom: 0px;
}


.dailyWeatherOverlay{
    display: none;
    z-index: 2;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    opacity: 0.6;
}

.dailyWeatherWindow{
    display: none;
    z-index: 3;
    position: fixed;
    top: 50vh;
    left: 50vw;
    margin-left: -750px;
    margin-top: -450px;
    width: 1500px;
    height: 900px;
    background-color: white;
    box-shadow: 0px 0px 10px black;
    border-radius: 8px;
    overflow: hidden;
}

.dailyWeatherDay{
    font-size: 3em;
    font-family: 'RobotoBold';
    position: absolute;
    top: 25px;
    left: 25px;
}

.dailyWeatherDate{
    position: absolute;
    top: 80px;
    left: 27px;
    font-family: 'RobotoBold';
    font-size: 2em;
}

.dailyWeatherBackground{
    position: absolute;
    bottom: -10px;
    width: 100%;
}

.dailyWeatherBackground img{
    width: 100%;
    height: 450px;
}

.dailyWeatherCondition{
    position: absolute;
    top: 140px;
    height: 220px;
    width: 220px;
    left: 25px;
}

.dailyWeatherDescription{
    position: absolute;
    left: 25px;
    top: 360px;
    width: 250px;
}

.dailyWeatherDescription table{
    width: 100%;
}

.dailyWeatherDescription table td{
    width: 50%;
    font-size: .9em;
}

.dailyWeatherDescription table tr:first-child td{
    font-size: 1.3em;
}

.dailyCondish{
    font-family: 'RobotoBold';
    font-size: 1.5em;
}

.dailyWeatherHourly{
    position: absolute;
    left: 300px;
    top: 60px;
    width: 1150px;
}

.dailyHours{
    width: 100%;
}

.dailyHours td{
    text-align: center;
}


.dailyHours tr:first-child td{
    text-align: center;
    font-weight: bold;
}


.dailyHoursBotTimes td{
    font-weight: bold;
    padding-top: 60px;
}

.dailyHourlyData td{
    font-size: .9em;
}

.dailyHourlyData hr{
    width: 80%;
    border-style: solid;
    border-right: 1px solid white;
    border-left: 1px solid white;
    border-top: 1px solid white;
    border-bottom: 1px solid #dfdfdf;
}

.dailyHourlyData .fa-solid{
    font-weight: bold;
    margin-right: 5px;
}

.hourlyData{
    width: 100%;
}

.hourlyData table{
    width: 100%;
}

.hourlyData table td:first-child{
    text-align: right;
}

.hourlyData table td:last-child{
    text-align: left;
}


.hourlyData tr:first-child td{
    font-size: 1.5em;
    text-align: center;
}

.weeklyStillLoading{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color:white;
    z-index: 1;
 }

 .loadGoogle{
    position: absolute;
    width: 300px;
    height: 200px;
    left: 50%;
    margin-left: -150px;
    top: 50%;
    margin-top: -100px;
    text-align: center;
 }

 .googleAuth{
    display: inline-block;
    padding: 10px;
    color: white;
    background-color: #0072c6;
    cursor: pointer;
    border-radius: 6px;
 }