*{margin: 0; padding: 0;}
body {
    background-image: linear-gradient(to bottom, #243763, #243763, #1c2b4e, #1c2b4e, #131d34, #131d34);
    color: #FF6E31;
	width: 80vw;
    max-width: 1080px;
	margin: auto;
    height: 100vh;
    font-family: sans-serif;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow-y: hidden;
    /* Disable text selection */
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10 and IE 11 */
    user-select: none; /* Standard syntax */
}
#welcome {
    border-radius: 6px;
    margin-top: 8px;
    height: 25vh;
    width: 80%;
    padding: 8px;
    text-align: center;
}
#welcome img {
    opacity: .9;
    border-radius: 6px;
    max-width: 100%;
}
#menu {
    color: #a6fff9;
    box-shadow: 2px 2px inset;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 80%;
    min-width: 200px;
    background-color: rgba(0,0,0,.1);
    border-radius: 6px;
    padding: 8px;
    transition: opacity 2s ease-out;
}
#menu h3 {
    font-family: Tahoma, Verdana, sans-serif;
    font-weight: lighter;
    padding: 8px;
}
#openMenu:hover {
    cursor: pointer;
}
#options {
    height: 0px;
    overflow-y: hidden;
    opacity: 0;
    transition: opacity 2s ease-out;
}
#options, #options div {
    border-radius: 4px;
    width: 66%;
    min-width: 196px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.option {
    color: #FFEBB7;
    text-align: center;
    padding: 4px;
    margin: 2px;
    background-color: rgba(255,255,255,.1);
    border-radius: 4px;
    border: solid 1px rgba(0,0,0,0);
    width: 100%;
}
.option:hover {
    border: solid 1px #FF6E31;
    background-color: rgba(0,0,0,.1);
    cursor: pointer;
}
.selected {
    color: #AD8E70;
    background-color: rgba(0,0,0,0);
    text-align: center;
    padding: 4px;
    margin: 2px;
    border-radius: 4px;
    border: solid 1px rgba(0,0,0,0);
    width: 100%;
}
select {
	text-align: center;
	border-radius: 6px;
	border: 1px solid rgba(255, 255, 255, .5);
	color: #FFEBB7;
	background-color: rgba(0,0,0,.1);
	transition: 0.2s;
	padding: 4px;
    width: 100%;
    font-size: 1em;
}
select option {
  	color: #FFEBB7;
	background-color: #243763;
    padding: 8px;
}
#activities, #activities div {
    display: none;
}
#activity {
    background-color: rgba(0,0,0,.1);
    box-shadow: 2px 2px #FF6E31 inset;
    border-radius: 6px;
    margin-top: 8px;
    margin-bottom: 100px;
    opacity: 0;
    height: 60vh;
    /* min-height: calc(100vh - 200px);
    height: calc(100vh - 200px); */
    width: 80%;
    padding: 8px;
    color: #243763;
}
#timer, #penalty {
    color: #FF6E31;
    padding: 8px;
    width: 50%;
    margin: auto;
}
.timer, .penalty {
    text-align: center;
    font-family: monospace, monospace;
}
#wordsRemaining {
    color: #a6fff9;
    padding: 8px;
}
#wordsRemaining p {
    text-align: center;
    font-family: monospace, monospace;
}
#wordBank {
    color: black;
}
#wordBank {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.wordRow {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    width: 100%;
    margin-top: 4px;
    margin-bottom: 4px;
}
.wordRow span {
    flex: 1;
    text-align: center;
    background-color: #243763;
    padding: 8px;
    margin: 2px;
    border-radius: 4px;
    border: solid 1px #FFEBB7;
    color: #FFEBB7;
    max-width: 25%;
}
.wordRow span:hover {
    cursor: pointer;
}
#question {
    font-size: 1.1em;
    padding: 16px;
    margin: 32px;
    border-radius: 6px;
    background-image: linear-gradient(to bottom right, #ff6f31, #D61C4E, #D61C4E, #D61C4E, #D61C4E, #ff6f31);
    color: #FFEBB7;
}
#regularIrregular, #conjugation, #unscramble {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    width: 100%;
    margin-top: 4px;
    margin-bottom: 4px;
}
#regularIrregular span, #conjugation span, #unscramble span {
    flex: 1;
    text-align: center;
    background-color: #243763;
    padding: 8px;
    margin: 2px;
    border-radius: 4px;
    border: solid 1px #FFEBB7;
    color: #FFEBB7;
    max-width: 25%;
}
#regularIrregular span:hover, #conjugation span:hover {
    cursor: pointer;
}
#conjugation span, #unscramble span {
    display: block;
    padding: 0px;
    margin: 0px;
}
#preterite, #pastParticiple, #unscrambledWord {
    width: 100%;
    padding: 8px 0px 8px 0px;
    background-color: rgba(0,0,0,0);
    border: solid 0px rgba(0,0,0,0);
    color: #FFEBB7;
    border-radius: 4px;
    text-align: center;
}
#preterite:focus, #pastParticiple:focus, #unscrambledWord:focus {
    outline: none !important;
    background-image: linear-gradient(to bottom, #FFEBB7, rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), #FFEBB7);
}
#submitBtn {
    padding: 8px 0px 7px 0px !important;
}
.centerDiv {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 24px;
}
#leaderboard {
    background-color: rgba(0,0,0,.1);
    box-shadow: 2px 2px #FF6E31 inset;
    border-radius: 6px;
    margin-top: 8px;
    opacity: 0;
    height: 0px;
    width: 80%;
    padding: 8px;
    color: #243763;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.leaderboardTitle {
    color: #FFEBB7;
    padding: 16px;
    text-align: center;
    font-weight: bold;
}
.leaderboardRow {
    display: flex;
    justify-content: center;
    padding: 4px 16px 4px 16px;
    margin: 2px;
    border-radius: 6px;
    background-image: linear-gradient(to bottom, #a6fff9, rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), #a6fff9);
    color: #FFEBB7;
    width: 50%;
    min-width: 260px;
}
.currentTimeRow {
    display: flex;
    justify-content: center;
    padding: 4px 16px 4px 16px;
    margin: 2px;
    border-radius: 6px;
    background-image: linear-gradient(to bottom, #a6fff9, #a6fff934, #a6fff934, #a6fff934, #a6fff934, #a6fff934, #a6fff934, #a6fff934, #a6fff934, #a6fff9);
    color: #FFEBB7;
    width: 50%;
    min-width: 260px;
}
#tryAgain {
    color: #ff6f31;
    background-image: linear-gradient(to bottom, #ff6f31, rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), #ff6f31);
}
#tryAgain:hover {
    color: #a6fff9;
    background-image: linear-gradient(to bottom, #a6fff9, rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), rgba(0,0,0,.25), #a6fff9);
    cursor: pointer;
}
.leaderboardRow span, .currentTimeRow span {
    flex: 1;
}
.rank {
    max-width: 20%;
}
.time {
    text-align: right;
}
#credits {
    font-size: 0.8em;
    position: absolute;
    bottom: 0;
    padding-bottom: 8px;
}
#credits a {
	color: #a6fff9;
	text-decoration: none;
}
#credits a:hover {
	color: white;
    text-decoration: underline;
}
#overlay {
    display: none;
    justify-content: center;
    align-items: center;
    box-shadow: 2px 2px #a6fff9 inset;
    border-radius: 6px;
    width: auto;
    height: auto;
    background-color: #243763;
    z-index: 2;
    cursor: pointer;
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: 1.4em;
    color: #d61c4e;
    transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    padding: 24px;
    opacity: .85;
}
#overlay p {
    flex: 1;
    text-align: center;
}
#banner {
    position: absolute;
    bottom: 0;
    margin-bottom: 32px;
    max-height: 100px;
    text-align: center;
    padding-bottom: 4px;
}
#banner img {
    max-width: 100%;
    max-height: 100%;
    box-shadow: 0 0 0 0 rgb(87, 114, 187);
    transition: 0.2s;
    border-radius: 8px;
}
#banner img:hover {
    box-shadow: 0 0 12px 0 rgb(137, 181, 248);
}
#info {
    position: absolute;
    bottom: 0;
    right: 0;
    height: 32px;
    width: 32px;
    margin: 16px;
    border-radius: 50%;
    border: 2px solid #a6fff9;
    align-items: center;
}
#info:hover {
    cursor: pointer;
    border: 2px solid white;
    background-color: #a6fff93b;
}
#info p {
    color: #a6fff9;
    font-size: 1.5em;
    padding-top: 2px;
    text-align: center;  
    font-family: Georgia, 'Times New Roman', Times, serif; 
    font-weight: bold;
}
#info p:hover {
    color: white;
}
#infoBox, #recapBox {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-image: linear-gradient(to bottom, #10192e, #243763);
    border: 2px solid #a6fff9;
    border-radius: 8px;
    width: 40%;
    min-width: 400px;
    height: 33%;
    min-height: 300px;
    z-index: 2;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
}
#infoBox div, #recapBox div {
    text-align: right;
    width: 100%;
    color: red;
}
#infoBox div span, #recapBox div span {
    margin: 8px;
    padding-right: 4px;
    font-family: monospace;
    font-size: 2.5em;
}
#infoBox div span:hover, #recapBox div span:hover {
    cursor: pointer;
    color: #a6fff9;
}
#infoBox p {
    flex: 1;
    text-align: center;
    padding-bottom: 32px;
    color: #a6fff9;
}
#infoBox h3, #recapBox h3 {
    flex: 1;
    text-align: center;
    color: #a6fff9;
}
#infoBox hr, #recapBox hr {
    flex: 1;
    width: 100%;
    height: 1px;
    border: 0;
    border-top: 1px solid #a6fff9;
}
#recapBox p {
    flex: 1;
    text-align: center;
    color: #FFEBB7;
}
#resetLink {
    flex: 1;
    color: #D61C4E;
    text-align: center;
}
#mistakeLink {
    flex: 1;
    color: #ff6f31;
    text-align: center;
}
#resetLink:hover, #mistakeLink:hover {
    cursor: pointer;
    color: #a6fff9;
}
#mistakeForm {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow: 2px 2px #a6fff9 inset;
    border-radius: 6px;
    width: 33%;
    height: auto;
    background-color: #243763;
    z-index: 2;
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: 1.4em;
    color: #d61c4e;
    transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    padding: 24px;
}
#mistakeForm p {
    padding-bottom: 16px;
}
#mistakeForm input, #mistakeForm textarea, #mistakeForm button {
    flex: 1;
    text-align: center;
    border: 2px solid #243763;
    width: 100%;
    margin: 4px;
    border-radius: 4px;
    background-color: #10192e;
    color: #a6fff9;
    padding-top: 4px;
    padding-bottom: 4px;
}
#mistakeForm button {
    background-color: #a6fff9;
    color: #10192e;
}
#mistakeForm button:hover {
    background-color: #f8f8f8;
    cursor: pointer;
}
#correct, #incorrect {
    display: none;
    justify-content: center;
    align-items: center;
    width: auto;
    height: auto;
    z-index: 2;
    cursor: pointer;
    position: absolute;
    /* top: 66%;
    left: 50%; */
    transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    padding: 24px;
    opacity: .85;
}
#correct span, #incorrect span {
    flex: 1;
    text-align: center;
    width: 100px;
    height: 40px;
    border: none;
}

@media all and (max-height: 799px) and (min-width: 1000px) {
    #banner {
        width: 50%;
    }
    #activity {
        max-height: calc(100vh - 200px);
    }
}

@media all and (max-width: 820px) {
    #banner {
        width: 66%;
    }
    #activity {
        max-height: calc(100vh - 200px);
    }
}

@media all and (max-width: 600px) {
    #regularIrregular, #conjugation {
        flex-direction: column;
    }
    #regularIrregular span, #conjugation span {
        margin-top: 16px;
        max-width: 90%;
        width: 90%;
    }
    #banner {
        width: 66%;
    }
    #info {
        margin: 8px;
    }
    #infoBox, #recapBox {
        width: 90%;
        height: auto;
        min-width: 0;
        font-size: .9em;
        padding: 8px;
    }
    #mistakeForm {
        width: 80%;
    }
    #timer, #penalty {
        width: 90%;
    }
}

@media all and (max-width: 550px) {
    body {
        justify-content: flex-start;
    }
    #menu, #activity, #leaderboard {
        width: 90%;
        margin: 2px;
    }
    #options, #options div {
        width: 90%;
    }
    #question {
        padding: 8px;
        margin: 4px;
        margin-top: 32px;
    }
    .leaderboardRow, .currentTimeRow {
        width: 90%;
        min-width: auto;
    }
    .leaderboardTitle {
        padding: 8px;
    }
    .rank {
        max-width: 25%;
    }
}

@media all and (max-width: 324px) {
    body {
        font-size: 0.9em;
    }
    #options, #options div {
        min-width: 160px;
    }
    #menu {
        width: 90%;
    }
    #menu h3 {
        font-size: 1em;
    }
}