
button, a {
    touch-action: manipulation;
}

/********************
***** Index page ****
********************/

#load_container {
	height: 100%;
	width: 100%;
	background-color: midnightblue;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

#load_box {
	height: 75%;
	width: 75%;
	max-width: 500px;
	max-height: 150px;
	opacity: 0;
}

#load_box_top, #load_box_bottom {
	width: 100%;
	height: 50%;
	display: flex;
	position: relative;
}

#load_text {
	font-family: 'Trebuchet MS', 'Tahoma', 'Times New Roman';
	margin: auto;
	font-size: 40px;
	animation-name: load_text;
	animation-duration: 2s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
}

@keyframes load_text {
    0% { color: lightblue; }
    50% { color: cornflowerblue; }
    100%  { color: lightblue; }
}

#load_box_bottom {
	border: thin solid black;
	background-color: lightblue;
}

#load_bar {
	height: 100%;
	width: 0%;
	background-color: royalblue;
}

#load_percentage_box {
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
}

#load_percentage {
	font-family: 'Trebuchet MS', 'Tahoma', 'Times New Roman';
	font-size: 50px;
	margin: auto;
}

#mainmenu_container {
	max-height: 768px;
	max-width: 1024px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	aspect-ratio: 4/3;
}

#mainmenu_container_top {
	width: 100%;
	height: 30%;
	background-image: linear-gradient(180deg, black, midnightblue);
	border: 7px outset purple;
	box-sizing: border-box;
	background-size: cover;
	border-radius: 150px;
}

#mainmenu_container_top_inner {
	width: 100%;
	height: 100%;
	margin-left: auto;
	margin-right: auto;
}

#mainmenu_container_middle {
	width: 100%;
	height: 65%;
}

#home_daisy {
	height: 100%;
	aspect-ratio: 1/1;
	border-radius: 150px;
	border: 2px solid black;
	box-sizing: border-box;
	background-image: url("https://conureworld.com/daisychallenge_v2/images/homeimages/daisy.png");
	background-size: contain;
	background-position: center;
	float: left;
	transform: rotateY(0deg);
}

#mainmenu_container_right {
	float: left;
	margin: auto;
	width: 71%;
	height: 100%;
}

@font-face { 
	font-family: Pacifico;
	src: url(../fonts/Pacifico-Regular.ttf);
}

@font-face { 
	font-family: roboto;
	src: url(../fonts/roboto.ttf);
}

#title_container {
	width: 100%;
	height: 61%;
}

#title {
	font-size: 102px;
	font-family: 'Pacifico', 'Tahoma', 'Times New Roman';
	color: lightsalmon;
	text-shadow: 2px 2px 2px saddlebrown;
	margin-top: 0px;
	margin-bottom: 0px;
	margin-left: 2%;
	user-select: none;
	animation-name: title;
	animation-duration: 10s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
}

@keyframes title {
    0% { color: lightsalmon; 
		text-shadow: 2px 2px 2px saddlebrown; }
	70% { color: lightsalmon; 
		text-shadow: 2px 2px 2px saddlebrown; }
    75% { color: orange; 
		text-shadow: 3px 3px 3px white; }
    95% { color: orange; 
		text-shadow: 3px 3px 3px white; }
    100%  { color: lightsalmon; 
		text-shadow: 2px 2px 2px saddlebrown; }
}

#version_container {
	height: 30%;
	width: 82%;
}

#version {
	font-size: 39px;
	font-family: 'Pacifico', 'Tahoma', 'Times New Roman';
	color: palevioletred;
	text-shadow: 2px 2px 2px black;
	margin-top: 0px;
	text-align: right;
	user-select: none;
}

#left_column {
	width: 37.5%;
	height: 100%;
	float: left;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: left;
}

#leaderboard_header_box, #news_header_box {
	width: 100%;
	height: 9.09%;
	display: flex;
	justify-content: center;
}

#next_update_box {
	width: 100%;
	height: 5%;
	display: flex;
}

#next_update {
	font-family: 'Trebuchet MS', 'Tahoma', 'Times New Roman';
	font-size: 14px;
	margin: auto;
	text-align: center;
	color: lightgray;
	font-weight: bold;
}

#leaderboard_header, #news_header {
	font-family: 'Trebuchet MS', 'Tahoma', 'Times New Roman';
	font-size: 24px;
	margin-top: 5px;
	margin-bottom: 5px;
	text-align: center;
	color: lightgray;
	display: inline;
}

#select_date {
    width: 35%;
    height: 60%;
    font-size: 19px;
    margin-top: auto;
    margin-bottom: auto;
    margin-left: 2%;
	display: inline;
}

#leaderboard_controls_container {
	height: 100%;
	width: 10%;
	display: flex;
	align-items: center;
	justify-content: center;
}

#leaderboard_controls_button {
	height: 65%;
	cursor: pointer;
	border: thin solid black;
	aspect-ratio: 1/1;
	background-size: contain;
}

.play {
	background-image: url("https://conureworld.com/daisychallenge_v2/images/play.png");
}

.pause {
	background-image: url("https://conureworld.com/daisychallenge_v2/images/pause.png");
}

#leaderboard_inner {
	width: 100%;
	height: 100%;
}

.leaderboard_row {
	width: 100%;
	height: 8.59%;
}

.leaderboard_row {
	background-color: sandybrown;
}

.alternate {
	background-color: antiquewhite;
}

.leaderboard_row_top, .leaderboard_row_bottom {
	width: 100%;
	height: 50%;
}

.leaderboard_row_top_left {
	width: 70%;
	height: 100%;
	float: left;
}

.leaderboard_name, .leaderboard_score, .leaderboard_date {
	font-family: "roboto", "Tahoma", "Times New Roman";
	font-size: 16px;
	margin-top: auto;
	margin-bottom: auto;
}

.leaderboard_name {
	margin-left: 3px;
	font-weight: bold;
}

.leaderboard_score {
	margin-right: 3px;
	text-align: right;
	font-weight: bold;
}

.leaderboard_date {
	margin-right: 3px;
	text-align: right;
}

.leaderboard_row_top_right {
	width: 30%;
	height: 100%;
	float: right;
}

#middle_column {
	width:  25%;
	height: 100%;
	float: left;
	margin: auto;
	display: flex;
	align-items: center;
}

#button_panel {
	height: 95%;
}

.mainmenu_button {
	height: 19%;
	width: 100%;
	border: 8px outset midnightblue;
	border-radius: 10px;
	cursor: pointer;
	background-image: linear-gradient(215deg, dodgerblue, lightblue);
}

.mainmenu_button:hover {
	border: 8px outset goldenrod;
	background-image: linear-gradient(215deg, white, goldenrod);
}

#play_multi, #play_single, #how_to_play, #settings {
	margin-bottom: 2.5%;
}

.mainmenu_button_text {
	font-family: 'Trebuchet MS', 'Tahoma', 'Times New Roman';
	font-size: 24px;
	margin: auto;
}

#right_column {
	width: 37.5%;
	height: 100%;
	float: left;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: right;
}

#leaderboard, #news {
	width: 90%;
	height: 95%;
	border: inset 4px navy;
	background-color: darkslateblue;
}

#all_news_items {
	height: 90.91%;
	overflow: overlay;
}

.news_item {
	margin-left: 5px;
	margin-right: 5px;
	margin-bottom: 10px;
}

.headline, .news_date, .news_text, .comments {
	font-family: 'roboto', 'Tahoma', 'Times New Roman';
}

.headline {
	font-size: 16px;
	margin-top: 0px;
	margin-bottom: 0px;
	text-decoration: underline;
	display: inline;
	font-weight: bold;
}

.news_date {
	margin-top: 0px;
	font-size: 14px;
	color: burlywood;
	font-weight: bold;
	display: inline;
	margin-right: 5px;
}

.news_text {
	font-size: 16px;
	color: thistle;
	display: inline;
}

.comments {
	font-size: 14px;
	text-decoration: underline;
	color: burlywood;
}

#mainmenu_container_bottom {
	width: 100%;
	height: 5%;
	background-color: darkblue;
	background-image: linear-gradient(45deg, black, darkblue);
	border: 1px solid rebeccapurple;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	border-bottom-left-radius: 15px;
	border-bottom-right-radius: 15px;
}

#page_load_time_container, #creator_container, #audio_buttons_container {
	height: 100%;
	width: 33.33%;
	display: flex;
}

#page_load_time {
	font-family: 'Trebuchet MS', 'Tahoma', 'Times New Roman';
	font-size: 14px;
	color: rebeccapurple;
	margin-left: 3%;
	display: flex;
	align-items: center;
	justify-content: left;
}

#creator_text {
	font-family: 'Trebuchet MS', 'Tahoma', 'Times New Roman';
	text-align: center;
	font-size: 26px;
	color: slateblue;
	margin: auto;
}


/********************
***** Gameboard *****
********************/

@font-face { 
    font-family: Digital7;
    src: url(../fonts/digital-7.ttf);
  }
  
body {
    background: url("https://www.conureworld.com/daisychallenge_v2/images/homeimages_new/space_blue.png") no-repeat center center fixed;
    background-color: midnightblue;
    background-size: cover;
    overflow: hidden;
    margin: auto;
    display: flex;
    justify-content: center;
	height: 100%;
	width: 100%;
    touch-action: manipulation;
}

#main_window {
    height: 100%;
    width: 100%;
    position: absolute;
    max-width: 1200px;
    opacity: 0; 
}

#left_button, #right_button {
	width: 30px;
	height: 100%;
}

#left_button {
	float: left;
	/* border-top-left-radius: 50px; */
	/* border-bottom-left-radius: 50px; */
}

#right_button {
	float: right;
	/* border-top-right-radius: 50px; */
	/* border-bottom-right-radius: 50px; */
}

#top_button, #bottom_button {
	height: 30px;
	width: 100%;
}

.button_divider.top_bottom {
	height: 100%;
	width: 100%;
	float: left;
	font-size: 22px;
}

.button_divider.left_right {
	height: 33.33%;
	width: 100%;
	font-size: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#top_button {
	border-top-left-radius: 50px;
	border-top-right-radius: 50px;
}

#bottom_button {
	border-bottom-left-radius: 50px;
	border-bottom-right-radius: 50px;
}

#top_button, #bottom_button, #left_button, #right_button {
	background-color: mediumslateblue;
	border: thin solid black;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	padding-block: 0px;
	padding-inline: 0px;
	cursor: pointer;
	display: block;
	position: absolute;
	visibility: hidden;
	opacity: 0;
}

#top_button:enabled:hover, #bottom_button:enabled:hover, #left_button:enabled:hover, #right_button:enabled:hover {
	background-color: #A193F3;
}

#main_window_top {
    height: 15%;
    width: 100%;
    display: flex;
}

.topic_name {
    font-family: Trebuchet MS, Tahoma, Times New Roman;
    text-shadow: 2px 2px gray;
    text-align: center;
    margin: auto;
    font-size: 48px;
    user-select: none;
}

.topic_name.topic {
    color: white;
}

.topic_name.achievements {
	color: gold;
}

#main_window_middle {
    width: 100%;
    height: 70%;
}

#main_window_middle_left, #main_window_middle_right {
    width: 0%;
    height: 100%;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    background-image: url("https://www.conureworld.com/daisychallenge_v2/images/backgrounds/bluemarble.jpg");
    border-left: thin solid black;
    border-top: thin solid black;
    border-right: thin solid black;
    box-sizing: border-box;
    /* visibility: hidden; */
}

#main_window_middle_left {
    float: left;
}

#main_window_middle_middle {
    width: 100%;
    height: 99%;
    float: left;
    /* display: flex; */
    align-items: center;
    justify-content: center;
}

#gameboard {
    width: 100%;
    height: 100%;
    /* background-color: teal; */
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    /* opacity: 0; */
}

.column {
    width: 8.333%;
    height: 100%;
    /* background-color: green; */
    float: left;
}

.slot {
    height: 14.2857143%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.square {
    height: 98%;
    width: 98%;
    border: thin solid black;
    border-radius: 25px;
    background-color: royalblue;
	padding-left: 4px;
	padding-right: 4px;
}

.square:hover {
    background-color: dodgerblue;
}

.square:hover:enabled {
    cursor: pointer;
}

.square:hover:disabled {
    background-color: royalblue;
    cursor: default;
}

.square.mystery {
	border: thin solid white;
	background-image: url("https://whispering-hamlet-91401-c1341eecaffb.herokuapp.com/images/mystery.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	animation-name: mystery;
	animation-duration: 2s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
}

.square.mystery:hover {
	border: thin solid yellow;
	animation-name: none;
}

.fade { /* Class that triggers the fading effect for the gameboard squares */
  animation: fade 2s linear;
  animation-iteration-count: 1;
}

@keyframes fade {
    0% { background-color: #4169e1; }
    50% { background-color: #1E90FF; }
    100%  { background-color: #4169e1; }
}

@keyframes mystery {
	0%   {border: thin solid blue;}
	50%  {border: thin solid white;}
	100% {border: thin solid blue;}
}

.choice {
    font-family: "roboto", "Times New Roman";
    font-size: 14px;
    color: white;
    margin-top: 0px;
    margin-bottom: 0px;
    background-color: none;
    user-select: none;
	text-align: center;
}

.choice.mystery {
	background-color: purple;
}

#main_window_middle_right {
    float: right;
}

#main_window_bottom {
    height: 12%;
    width: 100%;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    background-image: url("https://www.conureworld.com/daisychallenge_v2/images/backgrounds/woodpanel.jpg");
    background-size: auto;
    border-left: thin solid black;
    border-bottom: thin solid black;
    border-right: thin solid black;
    box-sizing: border-box;
}

#in_game_message_container {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 165px;
    width: 1000px;
    display: table;
    z-index: 0;
	opacity: 0;
	pointer-events: none;
}

.in_game_message {
    font-family: Trebuchet MS, Tahoma, Times New Roman;
    text-shadow: 2px 2px gray;
    text-align: center;
    font-size: 65px;
    color: white;
}

.score_container {
	height: 50%;
	width: 14%;
	background-color: black;
	border: inset;
	box-sizing: border-box;
    float: left;
}

.score { /* Text displaying the score */
	font-family: Digital7, Tahoma, Trebuchet MS, Times New Roman;
	font-size: 38px;
	text-align: right;
	color: lawngreen;
	margin: auto;
	margin-right: 2%;
	user-select: none;
}

#congratulation { /* Div that contains a congratulatory message when the user has gotten a bunch of correct answers in a row */
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;  
	margin: auto;
	background-color: transparent;
	font-family: Tahoma, Trebuchet MS, Arial, Helvetica, sans-serif;
	font-size: 40px;
	font-weight: bold;
	height: 20px;
	width: 20px;
	color: limegreen;
	-webkit-text-stroke: 1pt black;
	z-index: 7;
	pointer-events: none;
}

.lineclear { /* Div that contains a message reading "Line clear!" */
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;  
	margin: auto;
	background-color: transparent;
	font-family: Tahoma, Trebuchet MS, Arial, Helvetica, sans-serif;
	font-size: 40px;
	font-weight: bold;
	height: 50px;
	width: 215px;
	color: #FFCC33;
	-webkit-text-stroke: 1pt black;
	z-index: 7;
	pointer-events: none;
}

.temp {
    float: left;
    color: white;
    font-family: system-ui;
    font-size: 32px;
    margin-left: 10px;
    margin-right: 10px;
}


/********************
******** Clock ******
********************/

#clock {
	border: 2px solid darkslategray;
	height: 100%;
	width: 100%;
	margin: auto;
	box-sizing: border-box;
	display: flex;
	background-color: black;
	border-radius: 12px;
}

#clock_left {
	background-color: transparent;
	height: 100%;
	width: 50%;
}

#clock_right {
	background-color: white;
	height: 100%;
	width: 50%;
	transform: rotate(-151deg);
	transform-origin: left;
}

#clock_top { /* Top layer of the clock inside the left side panel */
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	box-sizing: border-box;
	overflow: hidden;
	background-color: transparent;
	display: flex;
}

#clock_cover_left {
	background-color: transparent;
	height: 100%;
	width: 50%;
}

#clock_cover_right { /* Covers one half of the clock so that another half slides underneath it */
	background-color: white;
	height: 100%;
	width: 50%;
	transform: rotate(180deg);
	transform-origin: left;
}

#time { /* Number of seconds, displayed inside the timer */
	font-family: Digital7, Trebuchet MS, Times New Roman;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: auto;
	font-size: 50px;
	user-select: none;
	color: orangered;
}

.minsec {
	font-size: 45px;
}

.sec {
	font-size: 60px;
}


/***********************
** In-game scoreboard **
***********************/

#scoreboard {
	height: 100%;
	width: 20%;
	border-left: 2px solid darkgreen;
	border-right: 2px solid darkgreen;
	float: left;
	margin-left: 1%;
	box-sizing: border-box;
}

.scoreboard_row {
	height: 20%;
	width: 100%;
	background-color: black;
}

#your_row_positive {
	background-color: darkgreen;
}

#your_row_zero {
	background-color: lightgray;
}

#your_row_negative {
	background-color: darkred;
}

#your_name {
	font-weight: bold;
}

.scoreboard_row_left {
	height: 100%;
	width: 75%;
	float: left;
}

.scoreboard_row_right {
	height: 100%;
	width: 25%;
	float: right;
}

.scoreboard_name, .scoreboard_score {
	font-family: Trebuchet MS, Tahoma, Times New Roman;
	font-size: 16px;
	margin: auto;
	user-select: none;
}

.scoreboard_name {
	margin-left: 3px;
}

.scoreboard_score {
	text-align: right;
	margin-right: 3px;
}

.firstminute {
	animation-name: firstminute;
}

.secondminute {
	animation-name: secondminute;
}

.firstminute, .secondminute {
	animation-duration: 60s;
	animation-iteration-count: 1;
	animation-timing-function: linear;
	animation-fill-mode: forwards;
}

@keyframes firstminute {
    0% { background-color: #006400; }
    8% { background-color: #2E9700; }
    16% { background-color: #58AC00; }
    24% { background-color: #83C100; }
    32% { background-color: #ADD600; }
    40% { background-color: #D8EB00; }
    52% { background-color: #FFFC00; }
    60% { background-color: #FFD100; }
    68% { background-color: #FFA600; }
    76% { background-color: #FF7C00; }
    84% { background-color: #FF5200 }
    92% { background-color: #FF2400; }
    100% { background-color: #FF0000; }
}

@keyframes secondminute {
    0% { background-color: #006400; }
    8% { background-color: #036B03; }
    16% { background-color: #0D800D; }
    24% { background-color: #1A9B1A; }
    32% { background-color: #27B627; }
    40% { background-color: #2FC72F; }
    52% { background-color: #32CD32; }
    60% { background-color: #2FC72F; }
    68% { background-color: #27B627; }
    76% { background-color: #1A9B1A; }
    84% { background-color: #0D800D }
    92% { background-color: #036B03; }
    100% { background-color: #006400; }
}

.message_box {
	position: absolute;
	margin: auto;
	background-color: transparent;
	z-index: 1;
	pointer-events: none;
	opacity: 0;
}

.message {
	font-family: "Tahoma", "Trebuchet MS", "Arial", "Helvetica", sans-serif;
	font-size: 40px;
	-webkit-text-stroke: 1pt black;
	font-weight: bold;
	margin: auto;
	text-align: left;
	text-wrap: nowrap;
}

.line_clear {
	color: #FFCC33;
}

.congratulation {
	color: lightgreen;
}

/****************************
**** Pre-game dialog box ****
****************************/

#multiplayer_choice_box {
    width: 100%;
    background-image: linear-gradient(45deg, skyblue, dodgerblue);
    border: 8px outset midnightblue;
    border-radius: 13px;
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-width: 500px;
    max-height: 300px;
    box-sizing: border-box;
}

#multiplayer_choice_box_top {
	height: 15%;
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: center;
	align-items: center;
}

#your_name_field {
	font-family: "Tahoma", "Times New Roman";
	font-size: 24px;
	display: inline;
}

.your_name {
	font-family: "Tahoma", "Times New Roman";
	font-size: 24px;
	display: inline;
	margin-right: 5px;
}

#multiplayer_choice_box_bottom {
	height: 85%;
}

.multiplayer_choice_button {
	height:75%;
	width:75%;
	cursor:pointer;
	background-color: lightblue;
	border: 7px outset dodgerblue;
	display: flex;
	justify-content: center;
	align-items: center;
}

.multiplayer_choice_button.menu {
	background-color: mediumslateblue;
	border: 7px outset blueviolet;
}

.multiplayer_choice_button:hover {
	cursor:pointer;
	background-color: aliceblue;
	font-weight: bold;
}

.multiplayer_choice_button.menu:hover {
	background-color: lightpink;
}

.multiplayer_choice_text, .pregame_choice_text {
	font-family: "Tahoma", "Times New Roman";
	font-size: 18px;
}

.multiplayer_choice_cell {
	height:50%;
	width:50%;
	float:left;
	display: flex;
	justify-content: center;
	align-items: center;
}

a {
	text-decoration:none;
	color:black;
}

#multiplayer_choice_box_bottom_top, #multiplayer_choice_box_bottom_bottom {
	height:50%;
	width:100%;
	text-align: center;
}

#enter_code_field {
	font-family: monospace;
	font-size: 57px;
	width: 137px;
	margin-top: 12px;
	text-align: center;
}

.enter_code {
	font-family: "Tahoma", "Times New Roman";
	font-size: 24px;
	margin-top: 0px;
}

/***********************
**** Bonus item box ****
***********************/

#bonus_item_box {
	height: 100%;
	width: 18%;
	border-left: 2px solid darkgreen;
	border-right: 2px solid darkgreen;
	float: left;
	margin-left: 1%;
	box-sizing: border-box;
}

.bonus_item_box_row {
	height: 25%;
	width: 100%;
	background-color: black;
	border: none;
	padding: 0;
	display: block;
    padding-block: 0px;
    padding-inline: 0px;
}

.bonus_item_box_row:enabled {
	cursor: pointer;
}

.bonus_item_box_row_left {
	height: 100%;
	width: 88%;
	float: left;
}

.bonus_item_box_row_right {
	height: 100%;
	width: 12%;
	float: right;
}

.icon {
	height: 80%;
	float: left;
}

.bonus_item_name, .bonus_item_amount {
	font-family: Trebuchet MS, Tahoma, Times New Roman;
	font-size: 18px;
	margin: auto;
	user-select: none;
	color: gray;
}

.bonus_item_name {
	margin-left: 3px;
	float: left;
}

.bonus_item_amount {
	text-align: right;
	margin-right: 3px;
}

/***********************
***** Challenge box ****
***********************/

#challenges_container {
	height: 100%;
	width: 48%;
	float: left;
	margin-left: 1%;
	box-sizing: border-box;
}

#challenge_header {
	width: 100%;
	height: 20%;
}

#challenge_header_tab {
	width: 30%;
	height: 100%;
	background-color: yellowgreen;
	box-sizing: border-box;
	border-left: 2px solid darkgreen;
	border-top: 2px solid darkgreen;
	border-right: 2px solid darkgreen;
	border-top-left-radius: 15px;
	border-top-right-radius: 15px;
	display: flex;
	justify-content: center;
	align-items: center;
	float: left;
}

#challenge_result {
	width: 70%;
	height: 100%;
	background-color: indianred;
	float: left;
	display: flex;
	align-items: center;
	opacity: 0;
}

#challenge_row_container {
	overflow: overlay;
	width: 100%;
	height: 80%;
	border-left: 2px solid darkgreen;
	border-right: 2px solid darkgreen;
	box-sizing: border-box;
	background-color: black;
}

.challenge_row {
	width: 100%;
	display: flex;
	align-items: center;
	padding-right: 16px;
	box-sizing: border-box;
	padding-top: 3px;
	padding-bottom: 3px;
}

.challenge_result_text, .challenge_tab_text, .challenge_name, .challenge_text, .challenge_clock {
    font-family: roboto, "Times New Roman";
    font-size: 14px;
    margin-top: 0px;
    margin-bottom: 0px;
    user-select: none;
}

.challenge_clock {
	background-color: orange;
	font-weight: bold;
	padding-left: 0.5%;
	padding-right: 0.5%;
	margin-left: 1%;
	margin-right: 1%;
	text-align: left;
	width: 3%;
}

.challenge_name {
    font-weight: bold;
    color: orange;
    text-align: left;
    width: 30%;
}

.challenge_text {
    margin-left: 1%;
    color: white;
    text-align: left;
    width: 40%;
}

.challenge_tab_text {
	font-weight: bold;
	text-align: center;
	color: black;
}

.challenge_result_text {
	margin-left: 1%;
	font-weight: bold;
}

.challenge_yes, .challenge_no {
	font-family: roboto, "Times New Roman";
	width: 11%;
	cursor: pointer;
	height: 90%;
	border: none;
	user-select: none;
	float: left;
}

.challenge_yes:hover, .challenge_no:hover {
	font-weight: bold;
	background-color: yellow;
}

.challenge_yes {
	background-color: lightgreen;
	margin-left: 1%;
}

.challenge_no {
	background-color: indianred;
}

button.challenge_square, button.challenge_yes, button.challenge_no {
	padding-inline: 0px;
	padding-block: 0px;
}

#gameboard_button_panel_container {
	height: 100%;
	width: 10%;
	position: relative;
	margin-right: auto;
	float: left;
	margin-left: 0.5%;
}

#clock_container {
	height: 50%;
	width: 100%;
	padding-top: 10%;
}

#gameboard_menu_container {
	height: 40%;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

#gameboard_menu_button, #gameboard_quit_button {
	height:50%;
	margin-left: 3%;
	margin-right: 3%;
	width: 42%;
	cursor: pointer;
	user-select: none;
	font-family: 'roboto', 'Tahoma', 'Times New Roman';
	background-color: tan;
	padding: 0;
	border: thin solid black;
}

#gameboard_menu_button:hover, #gameboard_quit_button:hover {
	background-color: chocolate;
	font-weight: bold;
}




/***************************************
***** Quit dialog box during a game ****
***************************************/

#quit_dialog {
	height: 20%;
	width: 35%;
	background-image: linear-gradient(45deg, orange, #FFAE42);
	position: absolute;
	top: 0;
	bottom: 0;
	left:  0;
	right: 0;
	margin: auto;
	z-index: 5;
	border: darkred outset 5px;
}

#quit_dialog_top {
	width: 100%;
	height: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}

#quit_dialog_text {
    font-family: Trebuchet MS, Tahoma, Times New Roman;
    text-align: center;
    margin: 1%;
    font-size: 28px;
    color: black;
    user-select: none;
}

#quit_dialog_bottom {
	width: 100%;
	height: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

#quit_yes, #quit_no {
	margin-left: 5%;
	margin-right: 5%;
	cursor: pointer;
	font-family: Trebuchet MS, Tahoma, Times New Roman;
	font-size: 28px;
	user-select: none;
	width: 25%;
	border: thin solid black;
}

#quit_yes {
	background-color: lightgreen;
}

#quit_yes:hover {
	background-color: lawngreen;
	font-weight: bold;
}

#quit_no {
	background-color: indianred;
}

#quit_no:hover {
	background-color: lightsalmon;
	font-weight: bold;
}


/********************************************************
***** End-of-game achievements and statistics screen ****
********************************************************/

#final_score_box_container {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

#final_score_box {
	width: 80%;
	height: 96%;
}

.achievement_row {
	height: 26.8%;
	width: 100%;
	opacity: 0;
}

.achievement_row_top {
	width: 100%;
	height: 35%;
	/* background-color: midnightblue; */
	background-image: linear-gradient(45deg, royalblue, midnightblue);
}

.achievement_row_top_left {
	height: 100%;
	float: left;
}

.achievement_row_top_right {
	height: 100%;
	float: right;
}

.achievement_row_bottom {
	width: 100%;
	height: 65%;
}

.achievement_type, .periods, .achievement_amount {
	font-family: 'Trebuchet MS', 'Tahoma', 'Times New Roman';
	font-size: 48px;
	margin: auto;
	color: white;
	text-shadow: 2px 2px gray;
	display: inline;
}

.achievement_type {
	padding-left: 8px;
}

.achievement_player {
	font-family: 'Trebuchet MS', 'Tahoma', 'Times New Roman';
	font-size: 36px;
	margin: auto;
	color: tan;
	text-shadow: 2px 2px black;
	display: inline;
	padding-left: 8px;
	padding-right: 8px;
}

.achievement_info {
	font-family: 'Trebuchet MS', 'Tahoma', 'Times New Roman';
	font-size: 20px;
	margin: auto;
	color: lightgray;
	font-style: italic;
	padding-left: 8px;
}

.final_score_row {
    width: 100%;
    height: 15%;
    border: thick outset black;
    box-sizing: border-box;
    margin-bottom: 5px;
	opacity: 0;
}

.final_score_row#first {
	background-image: linear-gradient(45deg, goldenrod 0%, goldenrod 46%, #FDDC5C 49%, #FDDC5C 53%, goldenrod 56%, goldenrod 100%);
	background-size: 100% 2000%;
	background-position: 0% 0%;
	animation: first 6s ease infinite;
	animation-timing-function: linear;
}

@keyframes first {
	0% { background-position: 0% 0%;
		 border: thick outset gold; }
	25% { border: thick outset darkorange; }
	50% { border: thick outset gold; }
	75% { background-position: 0% 0%; 
		  border: thick outset darkorange; }
	100% { background-position: 0% 100%;
		 border: thick outset gold; }
}

.final_score_row#second {
	background-image: linear-gradient(45deg, silver 0%, silver 46%, white 49%, white 53%, silver 56%, silver 100%);
	background-size: 100% 2000%;
	background-position: 0% 0%;
	animation: second 6s ease infinite;
	animation-timing-function: linear;
}

@keyframes second {
	0% { background-position: 0% 0%;
		 border: thick outset white; }
	25% { border: thick outset silver; }
	50% { border: thick outset white; }
	75% { background-position: 0% 0%; 
		  border: thick outset silver; }
	100% { background-position: 0% 100%;
		 border: thick outset white; }
}

.final_score_row#third {
	background-image: linear-gradient(45deg, #CD7F32 0%, #CD7F32 46%, tan 49%, tan 53%, #CD7F32 56%, #CD7F32 100%);
	background-size: 100% 2000%;
	background-position: 0% 0%;
	animation: third 6s ease infinite;
	animation-timing-function: linear;
}

@keyframes third {
	0% { background-position: 0% 0%;
		 border: thick outset #C4A484; }
	25% { border: thick outset chocolate; }
	50% { border: thick outset #C4A484; }
	75% { background-position: 0% 0%; 
		  border: thick outset chocolate; }
	100% { background-position: 0% 100%;
		 border: thick outset #C4A484; }
}

.final_score_row#opponent, .final_score_row#bottom {
	background-image: linear-gradient(275deg, dodgerblue, royalblue);
}

.final_score_row_top {
	height: 75%;
	width: 100%;
}

.rank_container {
	height: 100%;
	width: 7%;
	float: left;
}

.name_container {
	height: 100%;
	width: 65%;
	float: left;
}

.final_score_container {
	height: 100%;
	width: 28%;
	float: left;
}

.rank, .name, .final_score, .name_small {
	font-family: 'Trebuchet MS', 'Tahoma', 'Times New Roman';
	margin: auto;
	color: black;
	text-align: center;
}

.rank {
	font-weight: bold;
	font-size: 50px;
}

.name {
	text-align: left;
	font-size: 50px;
	display: inline;
}

.final_score {
	text-align: right;
	margin-right: 5%;
	font-size: 50px;
}

.final_score_row_bottom {
	height: 25%;
	width: 100%;
}

.final_score_row_bottom_left {
	height: 100%;
	width: 15%;
	float: left;
}

.final_score_row_bottom_right {
	height: 100%;
	width: 85%;
	float: right;
}

.end_game_stats, .end_game_player_type {
	font-family: roboto, 'Tahoma', 'Times New Roman';
	margin: auto;
	font-size: 14px;
	font-style: italic;
	margin-left: 7%;
	margin-right: 2%;
	color: black;
}

.end_game_stats {
	text-align: right;
}

.end_game_player_type {
	text-align: left;
}

.end_game_player_type#you {
	font-weight: bold;
}

#end_of_game_button_panel {
	height: 19.5%;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

#return_to_main_menu, #submit_score, #play_again, #continue {
	height: 45%;
	width: 25%;
	margin-left: 1%;
	margin-right: 1%;
	cursor: pointer;
	background-image: linear-gradient(45deg, maroon, darkred);
	color: navajowhite;
}

#return_to_main_menu, #submit_score, #play_again {
	opacity: 0;
}

#return_to_main_menu:hover, #submit_score:hover, #play_again:hover, #continue:hover {
	background-image: none;
	background-color: indianred;
	color: black;
	font-weight: bold;
}

.end_of_game_button_text {
	font-family: roboto, 'Tahoma', 'Times New Roman';
	font-size: 20px;
	margin: auto;
}

/*********************************
*** Bonus item description box ***
*********************************/

.bonus_item_description_box {
	position: absolute;
	background-image: linear-gradient(45deg, teal, lightblue);
	height: 0px;
	width: 0px;
	margin: auto;
	top: 0px;
	left: 0px;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	border-left: 3px solid lightgray;
	border-top: 3px solid lightgray;
	border-right: 3px solid lightgray;
	box-sizing: border-box;
}

.bonus_item_type, .bonus_item_description, .bonus_item_requirement {
	font-family: roboto, 'Tahoma', 'Times New Roman';
	margin: 4px;
}

.bonus_item_type {
	font-size: 18px;
	font-weight: bold;
}

.bonus_item_description {
	font-size: 14px;
}

.bonus_item_requirement {
	font-size: 14px;
}

#temp {
	height: 50%;
	width: 60%;
	margin: auto;
}

#temp_top {
	width: 100%;
	height: 75%;
}

#temp_top_inner {
	width: 100%;
	height: 100%;
	background-image: url("https://www.daisychallenge.io/images/daisy.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

#temp_bottom {
	width: 100%;
	height: 25%;
	display: flex;
}

.construction {
	margin: auto;
	font-size: 60px;
	font-family: 'roboto', 'Tahoma', 'Times New Roman';
	text-align:  center;
	color: white;
}