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

a, a:link, a:active, a:visited {
	color: rgb(92, 5, 137);
}

a:hover { color: rgb(165, 59, 227); }

.unicode {
	cursor: pointer;
	font-size: 200%;
	display: inline-block;
	padding: 0 10px;
}

.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;
}

.highlighted {
	color: blue;
}

.highlightborder {
	border: 1px solid blue;
}

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

button {
	box-sizing: border-box;
	width: calc(13% - 2%);
	box-shadow:0 .15em .25em rgba(0,0,0,.25);
	padding: 1em;
	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;
	font-family: "Avenir Next";
}

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;
}


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

.chunked:hover {
	background-color: rgb(149, 2, 149);
	border: 1px solid orange;
}

.length { color:#999; }
.found { color:midnightblue; font-weight: bold; }
		
@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 {
	width: 100%;
	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 */
}

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

#entries {
	display: flex;
	width: 768px; /* or max-width if you prefer */
	margin: 0 auto;
	justify-content: center; /* Center everything */
	align-items: center;
}

.button-wrapper {
	flex: 1; /* Allows the button wrappers to grow */
	display: flex;
	justify-content: center; /* Center the buttons within the wrapper */
	gap: 10px; /* Adjust gap between buttons */
}

#answer {
	flex: 2; /* Gives #answer more room to grow compared to button wrappers */
	margin: 0 20px; /* Maintain margin for visual spacing */
	border: 2px solid midnightblue;
	background-color: rgb(234, 216, 245);
	padding: 10px;
	text-align: center;
	max-width: 700px; /* Optional based on your design requirements */
}

#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: 20px;
	margin-top: 20px;
	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;
}

#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 */
}

.plan {
  background-color: white;
  border: 1px solid gainsboro;
  padding: 20px;
  margin-bottom: 20px; /* Adds space between plans on mobile */
  cursor: pointer;
}

.plan.selected {
	border: 1px solid rgb(100, 3, 133);
	background-color: rgb(218, 178, 236);
}

@media (min-width: 768px) { /* Adjusts for desktop view */
  .plan {
	display: inline-block; /* Makes items sit side-by-side */
	width: calc(33.333% - 40px); /* Adjust width for 3 items in a row, accounting for padding */
	margin-right: 20px; /* Adds space between items, right side */
	margin-bottom: 20px; /* Removes bottom margin in desktop view */
  }
  .plan:last-child {
	margin-right: 0; /* Removes right margin for the last item */
  }
}

.plan:hover {
	background-color: lightyellow;
}

#submit-button {
	border: 1px solid purple; background-color: aliceblue; width: 50%;
}

#submit-button:hover {
	color: purple;
	background-color:palegreen;
	border: 1px solid midnightblue;
}

.warn { text-align: center; margin: 10px auto; border: 1px solid gainsboro; background-color: lightyellow; color: firebrick; font-weight: bold; padding: 20px; }