html,
body {
    overscroll-behavior: none; /* */
}

body {
    background-color: #000; 
	color: #DDD;
	font-size: 1.2em;
	font-family: "Jost", sans-serif;
	margin: 0;
	padding: 0;
    -webkit-user-select: none;
    -moz-user-select: none;  
    -ms-user-select: none;   
    user-select: none;
}

body.light {
    background-color: #FFF;
    color: #333;
}

p {
    margin: .3em 0;
}

#menuPop p.heading {
    font-size: 1em;
    margin: 1em 0;
    text-align: center;
}

#playScreen {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
}

#ball {
    bottom: 4%;
    color: #F00;
    font-size: 1.5em;
    left: 1.4%;
    position: absolute;
    transform: translate(-50%, 50%);
    transition: bottom 1s, opacity .2s;
}

#clearRemainingButton {
    border: 1px solid #666;
    font-size: .7em;
    padding: .5em;
    cursor: pointer;
    position: absolute;
    right: 50%;
    text-align: center;
    top: 33%;
    transform: translate(50%, -100%);
}

#clickZone {
    display: flex;
    height: 100%;
    justify-content: center;
    margin-left: 1%;
    text-align: center;
    width: 97.23%;
}

#clickZone.pressed {
    animation: fadeInOut 1s linear;
    background: #FFF;
}

.light #clickZone.pressed {
    animation: fadeInOutLight 1s linear;
    background: #FFF;
}

#controlScreen {
    align-items: flex-end;
    display: flex;
    height: 33%;
    position: absolute;
    width: 100%;
    top: 66%;
}

#highScoreHeading {
    font-style: italic;
    margin-top: 2%;
}

#highScoreTable {
    font-size: .8em;
}

#highScoreTable span {
    margin-left: 2em;
}

#launchImg {
    width: 100%;
}

#launchZone {
    align-items: flex-end;
    display: flex;
    height: 100%;
    width: 2.77%;
}

.light #menuPop {
    background: #FFF;
}

#menuPop {
    background: #000;
    border: 1px solid #666;
    box-sizing: border-box;
    height: 80%;
    padding: 1.5em 1em 1em;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    z-index: 1;
}

#menuPop p {
    font-size: .8em;
}

#menuClose {
    cursor: pointer;
    font-size: 2em;
    position: absolute;
    right: .5em;
    top: 0;
}

#modeSwitch {
    background: #000;
    bottom: 33%;
    cursor: pointer;
    font-size: .8em;
    padding: 0 .5%;
    position: absolute;
    right: 0;
}

#playerInputButton {
    border: 1px solid #666;
    border-radius: .2em;
    display: inline-block;
    margin-top: 1em;
    padding: .5em;
    pointer: cursor;
}

#scoreDisplay {
    background: #000;
    padding: 0 .5%;
    position: absolute;
    right: 0;
    top: 0;
}

#startDialogue {
    height: 100%;
    margin-top: 10%;
    text-align: center;
}

#startText {
    animation: blink 2s infinite;
}

#tapContent {
    align-content: center;
    z-index: -1;
}

#starContent {
    font-size: .9em;
    position: absolute;
    word-break: break-all;
    z-index: -1;
}

.appt-line {
    display: flex;
    justify-content: flex-start;
    padding: .5% .25% 0;
    box-sizing: border-box;
}

.light .appt-line {
    border: 1px solid #DDD;
    padding: 1% 4%;
}

.light #launchImg {
    display: none;
}

.light #scoreDisplay,
.light #modeSwitch {
    color: #666;
    background: #FFF;
}

.light .block {
    border: 1px solid #AAA;
    border-radius: .2em;
    padding: 0.1% 0 0 0.5%;
}

.block span {
    display: none;
    font-size: .8em;
}

.light .block span {
    display: inline;
}

.block {
    border-radius: .1em;
    box-sizing: border-box;
    height: 100%;
    margin: 0 .25%;
}

.block.break {
    background-color: #F00;
    width: 2.77%;
}

.block.program_1 {
    background-color: #9370DB;
    width: 2.77%;
}

.block.program_2 {
    background-color: #9370DB;
    width: 5.54%;
}

.block.program_3 {
    background-color: #90EE90;
    width: 8.31%;
}

.block.program_4 {
    background-color: #87CEFA;
    width: 11.08%;
}

.block.lunch {
    background-color: #F00;
    width: 11.08%;
}

.block.program_5 {
    background-color: #87CEFA;
    width: 13.85%;
}

.block.program_6 {
    background-color: #87CEFA;
    width: 16.62%;
}

.block.program_7 {
    background-color: #F4A460;
    width: 19.39%;
}

.block.program_8 {
    background-color: #F4A460;
    width: 22.16%;
}

.hidden {
    opacity: 0;
    transition: visibility .3s, opacity .3s;
    visibility: hidden;
}

.hidden.show {
    opacity: 1;
    transition: visibility .3s, opacity .3s;
    visibility: visible;
}

@keyframes fadeInOut {
    0% {
        background: #000;
    }
    100% {
        background: #FFF;
    }
}

@keyframes fadeInOutLight {
    0% {
        background: #FFF;
    }
    100% {
        background: #000;
    }
}

@keyframes blink {
    0% {
        color: #444;
    }
    50% {
        color: #DDD;
    }
    100% {
        color: #444;
    }
}