/**************
GENERAL SETTINGS
**************/
html {
    touch-action: manipulation;
}

body {
background-color: #CCCCCC;
margin: 0;
height: 2000px;
min-height: 2000px; 
overflow: hidden;
background-color: #FFFFFF;
background-image: url('images/gradient.jpg');
background-repeat: repeat-x;
}

button:hover {
cursor: pointer;
background-color: yellow;
}

/**************
SPLASH
**************/

#splash {
border: 3px solid #000000;
background-color: #006699;
width: 400px;
display: inline-block;
padding: 20px;
box-shadow: 15px 15px 10px #666666;
border-radius: 25px;
}

#splash a,
#splash a:visited {
color: white;
text-decoration: none;
font-size: 24px;
}

#splash a:hover {
	color: yellow;
	border: 2px solid yellow;
}

#splash-title {
font-family: 'Fjalla One', sans-serif;
color: #FFCC00;
font-size: 64px;
}

#splash-body-1 {
font-family: arial;
font-size: 24px;
line-height: 36px;
color: #FFCC00;
}

#splash-body-2 {
font-family: arial;
font-size: 16px;
line-height: 36px;
color: #CCCCCC;
}

#splash-body-3 table {
width: 100%;
border-collapse: collapse;
}

#splash-body-3 td {
height: 80px;
text-align: center;
vertical-align: middle;
}

#splash-body-3 img,
#splash-body-3 button,
#help-guide,
#help-guide:visited {
height: 80px;
box-sizing: border-box;
display: inline-flex;
align-items: center;
justify-content: center;
vertical-align: middle;
}

#splash-body-3 img {
height: 78px;
width: auto;
}

#splash-body-3 button {
font-size: 30px;
width: 150px;
font-weight: bold;
}

#help-guide,
#help-guide:visited {
border: 2px solid #000000;
border-color: #999999;
padding: 0 20px;
font-size: 30px !important;
background-color: #DDDDDD;
color: black !important;
font-weight: bold;
}

#help-guide:hover {
background-color: yellow !important;
border: 2px solid #000000 !important;
border-color: #999999 !important;
} 

/**************
Set Title
**************/
#set-title {
float: left;
width: 100%;
height: 24px;
margin: auto;
position: relative;
text-align: center;
font-size: 24px;
font-family: arial;
font-style: italic;
color: #000000;
text-shadow: 2px 2px #FFFFFF;
}

#set-title-text {
display: block;
width: 100%;
}

#home-button {
background-color: black;
border: 2px solid white;
font-size: 16px;
cursor: pointer;
padding: 4px 8px;
line-height: 1;
display: none;
border-radius: 4px;
color: white;
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
}

#set-title-text:not(:empty) ~ #home-button {
display: inline-block;
}

#home-button:hover {
background-color: darkgreen;
}

/**************
PLAY AREA
**************/

#play-area {
float: left;
clear: left;
width: 100%;
height: 100%;
margin: auto;
text-align: center;
background-repeat: no-repeat;
background-size: auto;
background-position: center top;
}

#play-area-container {
	/*display: inline-block;*/
	display: none;
}

/**************
HOOKS
**************/

#front-hooks,
#back-hooks {
	width: 70px;
	background-color: #FFFFFF;
	height: 260px;
	border: 1px solid #000000;
	color: #000000;
	display: inline-block;
	vertical-align: top;
	margin: 0;
	padding: 0;
	font-size: 24px;
	font-family: courier;
}

#front-hooks {
margin-right: -5px;
}

#back-hooks {
margin-left: -5px;
}

/**************
LETTER SLOTS
**************/
#letter-slots {
text-align: center;
display: inline-block;
margin: 0;
padding: 0;
background-color: #000000;
}

#letter-slots-container {
display: flex;
justify-content: center;
align-items: center;
max-width: 300px;
}

.slots {
	display: none; /*Until called*/
	margin: 0;
	padding: 0;
}

.inner-slots {
	font-size: 92px;
	font-family: courier;
	vertical-align: top;
	border: 1px solid #333333;
	display: inline-block;
	text-transform: uppercase;
	background-color: #BBBBBB;
	margin: 0;
	padding: 0;
}

.slots > .on {
	background-color: #FFFF00 !important;
}

.slots > .active {
	background-color: #CCDDFF;
	cursor: pointer;
}

.slots > .active :hover {
	background-color: #FFFF00 !important;
}

.slots > .inactive {
	background-color: #EEEEEE;
}

/**************
PROGRESS BARS
**************/

#word-progress {
border: 1px solid #000000;
border-bottom-width: 0px;
height: 15px;
width: 300px;
background-color: #333333;
color: #FFFFFF;
font-weight: bold;
}

#word-progress-done {
background-color: green;
border-right: 1px solid #000000;
height: 15px;
width: 0px;
}

#word-progress-label {
margin-top: -16px;
}

#set-progress {
border: 1px solid #000000;
border-bottom-width: 0px;
height: 15px;
width: 300px;
background-color: #333333;
color: #FFFFFF;
font-weight: bold;
}

#set-progress-done {
background-color: orange;
border-right: 1px solid #000000;
height: 15px;
width: 0px;
}

#set-progress-label {
margin-top: -16px;
}

/**************
SCORE GRID
**************/

#score-grid {
background-color: #CCCCCC;
}

#score-grid table {
border-collapse: collapse;
width: 302px;
border: 1px solid #000000;
}

#score-grid-left {
border-width: 0px;
padding: 0px;
border-collapse: collapse;
}

#help-me{
border-bottom: 1px solid #000000;
height: 28px;
}

#help-me-button {
padding: 4px 40px 4px 40px;
display: none;
}

#game-over-reset {
padding: 4px 32px 4px 32px;
}

#lives {
height: 30px;
font-family: courier;
font-size: 16px;
border-bottom: 1px solid #000000;
background-color: #333;
color: #FFFFFF;
display: flex;
align-items: center;
justify-content: center;
}

#multiplier {
border-bottom: 1px solid #000000;
height: 30px;
width: 97px;
background-color: cyan;
}

#multiplier-done {
border-right: 1px solid #999999;
height: 30px;
width: 0px;
}

#multiplier-label {
height: 26px;
padding-top: 5px;
font-family: courier;
font-weight: bold;
font-size: 16px;
margin-top: -30px;
}

#score {
height: 26px;
padding-top: 5px;
font-family: courier;
font-size: 20px;
background-color: #000000;
color: #FFFFFF;
}

/**************
MESSAGES
**************/
#message {
border: 1px solid #000000;
width: 185px;
max-width: 185px;
}

#set-complete {
cursor: pointer;
overflow: hidden;
width: 180px;
}

#set-complete-message {
background-color: lime;
color: #000000;
font-size: 20px;
padding-top: 1px;
}

#set-complete img {
width: 200px;
height: 95px;
margin-bottom: -5px;
}

#mode-complete img {
max-width: 100%;
height: auto;
margin-bottom: -5px;
}


#wrong-answer {
background-color: red;
color: black;
font-weight: bold;
font-size: 24px;
line-height: 22px;
}

#game-over {
font-size: 50px;
background-color: black;
color: white;
font-family: arial;
}

#game-over img {
width: 200px;
height: 120px;
margin-bottom: -13px;
}

#mode-complete {
font-size: 30px;
background-color: white;
color: green;
font-family: arial;
}


/**************
WORD DEFS
**************/

#word-defs {
	background-color: #999999;
	width: 444px;
	height: 80px;
	margin: auto;
	visibility: hidden;
}

#part-of-speech {
	width: 70px;
	height: 54px;
	border: 1px solid #000000;
	float: left;
	font-size: 24px;
	padding-top: 24px;
	font-family: courier;
}

#word-def {
	width: 371px;
	height: 78px;
	border: 1px solid #000000;
	border-left-width: 0px;
	float: left;
	color: white;
	background-color: #333333;
	display: flex;
	align-items: center;
}

/**************
REMEMBER / WHOOPS
**************/

#help {
	background-color: #999999;
	width: 444px;
	height: 40px;
	margin: auto;
	visibility: hidden;
}

#help-label {
	width: 70px;
	height: 38px;
	background-color: #000000;	
	border: 1px solid #000000;
	float: left;
	font-size: 16px;
	font-family: courier;
	color: white;
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom-color: white
}

#help-words {
	width: 366px;
	padding-left: 5px;
	background-color: white;	
	border: 1px solid #000000;
	border-left-width: 0px;
	font-size: 14px;
	color: black;
	font-weight: bold;
	height: 38px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

#whoops {
	background-color: #999999;
	width: 444px;
	height: 40px;	
	margin: auto;
	visibility: hidden;
}

#whoops-label {
	width: 70px;
	height: 38px;	
	background-color: #000000;	
	border: 1px solid #000000;
	float: left;
	font-size: 16px;
	font-family: courier;
	color: white;
	display: flex;
	align-items: center;
	justify-content: center;
}

#whoops-words {
	width: 366px;
	padding-left: 5px;
	background-color: #FFF0F3;	
	border: 1px solid #000000;
	border-left-width: 0px;
	font-size: 14px;
	color: black;
	font-weight: bold;
	height: 38px;
	display: flex;
	align-items: center;
	text-decoration: line-through;
	flex-wrap: wrap;	
}

/**************
SAVE RESULTS
**************/

#save-results {
	background-color: #999999;
	width: 444px;
	height: 40px;	
	margin: auto;
	visibility: hidden;
}

#save-results-label {
	width: 70px;
	height: 40px;	
	background-color: yellow;	
	border: 1px solid #000000;
	float: left;
	font-size: 16px;
	font-family: courier;

}

#save-results-initials  {
	width: 198px;
	background-color: blue;	
	border: 1px solid #000000;
	border-left-width: 0px;
	float: left;
	font-size: 24px;
	color: white;
	font-weight: bold;
	height: 38px;	
}

#save-results-button {
font-size: 24px;
}

#save-results-button-div {
	width: 171px;
	background-color: blue;	
	border: 1px solid #000000;
	border-left-width: 0px;
	float: left;
	font-size: 24px;
	color: red;
	font-weight: bold;
	height: 38px;	
}

#initials-input {
	width: 70px;
	font-size: 24px;
	text-transform: uppercase;
}

/**************
MOBILE UI
**************/

/*** mobile keyboard ***/

#mobile-keyboard {
margin: auto;
height: 750px;
display: inline-block;
text-align: center;
display: none;
width: 100%;
}

#mobile-keyboard table {
margin: auto;
width: 450px;
margin-top: 0px;
}

#mobile-keyboard td {
font-size: 40px;
width: 80px;
border: 1px solid #FFFFFF;
background-color: #000000;
color: #FFFFFF;
height: 70px;
}

#mobile-keyboard td:hover {
cursor: pointer;
}

#OK {
width: 100px;
}

/**************
WORD DATA
**************/
#word-data {
display: none;
}

.word-answer {
cursor: pointer;
}

/**************
OPTIONS SELECT
**************/
#options-select {
	border: 1px solid #000000;
	width: 440px;
	background-color: #000000;
	color: #FFFFFF;
	margin: auto;
	margin-top: 40px;
	padding-bottom: 20px;
	box-shadow: 15px 15px 10px #666666;
	border-radius: 25px;
	display: none;
}

#options-select h2 {
	font-size: 24px;
}

#options-select table {
	margin: auto;
}

#options-select {
font-size: 24px;
}

#options-select td {
vertical-align: middle;
width: 100px;
}

#options-select input {
	width: 70px;
	height: 50px;
	font-size: 24px;
	font-weight: bold;
	vertical-align: middle;
}

#options-select button {
	width: 75px;
	height: 40px;
	font-size: 24px;
	font-weight: bold;
}

/**************
CATEGORY SELECT
**************/

#category-select {
	border: 1px solid #000000;
	width: 440px;
	background-color: #000000;
	color: #FFFFFF;
	margin: auto;
	margin-top: 40px;
	padding-bottom: 20px;
	box-shadow: 15px 15px 10px #666666;
	border-radius: 25px;
	display: none;
}

#category-select h2 {
	font-size: 30px;
}

#category-select table {
	margin: auto;
}

#category-select button {
	width: 130px;
	height: 70px;
	font-size: 24px;
	font-weight: bold;
}

/**************
SET SELECT
**************/
#set-select {
	border: 1px solid #000000;
	width: 440px;
	background-color: #000000;
	color: #FFFFFF;
	margin: auto;
	margin-top: 40px;
	padding-bottom: 20px;
	box-shadow: 15px 15px 10px #666666;
	border-radius: 25px;
	display: none;
}

#set-select h2 {
	font-size: 30px;
}

#set-select table {
	margin: auto;
	display: none; /* until called */
}

#set-select button {
	width: 130px;
	height: 60px;
	font-size: 16px;
	font-weight: bold;
}

#four-sets button,
#nonword-four-sets button {
	width: 65px;
}

#image-preload  {
	display: none;
}

#NASPA {
margin-top: 20px;
font-size: 12px;
text-align: center;
color: white;
}

#NASPA a {
	font-size: 12px;
	color: white;
	text-decoration: none;
}

#NASPA a:hover {
	text-decoration: underline;
}

@media screen and (max-width: 600px) {
    #front-hooks,
    #back-hooks {
        height: 255px;
    }
}
