body {
	background-color: rgb(238, 238, 251);
	font-family: "Avenir New", "Avenir", Helvetica, sans-serif;
	font-size: 16px;
	line-height: 20px;
	margin: 0;
	padding: 0px;
}

#leaderboard {
	border-collapse: collapse; /* This ensures the border behaves as expected */
	margin: auto; /* Centers the table */
}

#leaderboard td {
	padding: 10px; /* Adds padding to table cells */
	border-bottom: 1px solid gainsboro; /* Adds a bottom border to each cell */
}

#leaderboard tr:first-child td {
	font-weight: bold; /* Makes the font weight bold for the first row */
	border-bottom: 1px solid gainsboro; /* Ensures the first row also has a bottom border */
}

.unicode { cursor: pointer; font-size: 200%;}
.slimmer { width: 500px; }

#timer { border: 1px dotted gainsboro; margin: 10px auto; background-color: lightyellow; padding: 8px; text-align: center; width: 100px; font-family: "Courier New", Courier, monospace; display:none; }

.alert { text-align: center; padding: 5px; color: firebrick; font-weight: bold; }

.bigger {
	padding: 10px 10px 0px 10px;
	font-size: 16px;
	line-height: 20px;
	margin-bottom: 0px; 
	text-align: center;
}

#whitebox {
	background-color: white;
	padding: 20px; 
	margin: 10px auto; 
	border: 1px solid gainsboro;
	text-align: center;
}

#puzzle {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

button {
	box-sizing: border-box;
	width: calc(25% - 2%);
	box-shadow:0 .15em .25em rgba(0,0,0,.25);
	padding: 2em;
	margin: 1%;
	background-color: #FAE6F0;
	border: 3px dotted #7B7EB6;
	border-radius: .5em;
	cursor: pointer;
	font-size: 16px;
	text-align: center;
	overflow: hidden;
	transition: all 0.3s ease;
	word-wrap: break-word;
	overflow-wrap: break-word;
	color: black;
	font-weight: bold;
}

button.tapped {
	background-color: purple;
	border-color: orange;
	color: white;
}

/* Apply hover styles only on devices that have hover capability */
@media (hover: hover) {
	button:hover {
		background-color: rgb(225, 117, 225);
		border-color: orange;
		color: white;
	}
}

button:active, button:focus {
	background-color: gainsboro;
}


.selected {
	background-color: purple;
	color: white;
	border: 1px solid black;
}

.selected:hover {
	background-color: rgb(149, 2, 149);
	border: 1px solid orange;
}
		
@media (max-width: 480px) {
	button {
		font-size: 12px; /* Larger font size for smaller mobile devices */
		padding: 2px; /* Smaller padding for smaller mobile devices */
		width: 23%; /* Adjusted width */
		margin: 1%; /* Adjusted margin */
		height: 23vw; /* Adjusted height to make it square */
	}
}
			
#puzzle {
	width: 100%;
}

#correctGroups, #remainingWords {
	width: 100%;
	box-sizing: border-box; /* Include padding and border in element's content width */
}

.group-box {
	max-width: 700px;
	text-align: center;
	padding: 20px; 
	margin: 10px auto;
	border: 1px solid gainsboro; 
	box-sizing: border-box; /* Include padding and border in element's content width 
	/* Other styles */
}

.yellow { background-color: yellow; }
.green { background-color: palegreen; }
.purple { background-color: #a880d1; }
.blue { background-color: lightblue; }

.word { text-transform: uppercase; }

#oneAwayMessage {
	display: none; /* Initially hidden */
	font-size: 18px;
	font-weight: bold;
	background-color: purple;
	padding: 30px;
	text-align: center; color: white; margin-top: 10px;
	
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	text-align: center;
	box-sizing: border-box;
	z-index: 1000; /* To make sure it appears above other elements */
}

#wordchecker, #shuffle, #little-help, #lotta-help, #giveup {
font-size: 16px; 
background-color: purple;
background-color: lavender;
border: 5px solid #9898EA;
color: #fff;
color: #9898EA;
width: 75%;
text-transform: uppercase;
padding: 1em;
border-radius: .5em;
margin: 1em 0;
font-weight: bold;
cursor: pointer;
}

#wordchecker { font-size: 20px; }

#wordchecker:hover { background-color: purple; color: #fff;}
#shuffle, #little-help, #lotta-help { width: auto; color: #fff;}
#shuffle { background: purple;}
#little-help { background: #f90; }
#lotta-help { background: #f60; }

#shuffle:hover, #little-help:hover, #lotta-help:hover {
	background-color: lightyellow;
	color: purple;
}

#giveup {
	width: 10%;
	padding: 7px;
	font-size: 12px; background-color: black; color:white;
}

#giveup:hover {
	background-color:firebrick;
}

.container {
	width: 50%;
	margin: auto;
}

#button-container input[type="button"]:not(:last-child) {
	margin-right: 20px;
}

.puzzle-list {
	list-style-type: none;
	padding: 0;
	background: #fff;
	margin: 20px 0;
	box-shadow: 0px 0px 10px 0px #0000001a;
	border-radius: 5px;
}

.puzzle-item {
	margin: 0;
	padding: 15px;
	border-bottom: 1px solid #e1e1e1;
}

.puzzle-item:last-child {
	border-bottom: none;
}

.puzzle-link {
	text-decoration: none;
	color: #007bff;
	font-size: 18px;
	font-weight: 500;
	display: block;
	padding: 15px;
}

.puzzle-link:hover {
	text-decoration: underline;
	color: #0056b3;
	background-color: #f0f0f0;
}

.puzzle-date {
	font-size: 12px;
	color: #666;
	margin-top: 5px;
	display: block;
}

.modal {
	display: none;
	position: fixed;
	z-index: 1;
	left: -20px;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0,0,0,0.5);
}

.modal-content {
	background-color: #fff;
	margin: 15% auto;
	padding: 20px;
	border: 3px solid #df7bea;
	width: 70%;
	max-width: 625px;
	box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
}

.close {
	color: #aaa;
	float: right;
	font-size: 28px;
	font-weight: bold;
}

.close:hover,
.close:focus {
	color: black;
	text-decoration: none;
	cursor: pointer;
}

#footer {
	color:black;
	padding-top: 2px;
	font-size: 14px; 
}

#footer a, #footer a:link, #footer:visited, #footer a:active {
	color: firebrick; text-decoration: none; display: inline-block; padding: 0px;
}

#footer a:hover {
	color: black; text-decoration: underline;
}

.extra-big-font {
	font-size: 2em !important;
}
