/*General Styles*/

body {
	font-family: Arial, sans-serif;
	font-size: 125%;
	margin: 20px;
	background: #1f1f30;
	background: linear-gradient(112deg, rgba(42, 42, 59, 1) 0%, rgba(20, 20, 37, 1) 100%);
	color: #ffffff;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

span {
	font-weight: bold;
}

a {
	text-decoration: none;
	color: #3498db;
	transition: color .5s ease;
}

a:hover {
	color: #ff44ff;
	/* Color on hover */
}

h1 {
	color: #ffffff;
	text-align: center;
	margin-bottom: 20px;
}

li {
	margin-top: 10px;
	margin-bottom: 15px;
}

/*Nav Styles*/

nav {
	text-align: center;
}

nav a {
	display: inline-block;
	/* Display links inline */
	margin-left: 20px;
	margin-right: 20px;
	/* Adjust the spacing between links */
	color: #ffffff;
	/* Link color */
	text-decoration: none;
	/* Remove underline */
	transition: color .5s ease;
}

nav a:hover {
	color: #3498db;
	/* Color on hover */
}

/*Section Styles*/

.nav-section {
	margin: 0 auto;
	/* Center the nav-section */
	max-width: 20%;
	/* Set a maximum width for the nav-section */
	margin-bottom: 20px;
}

.normalsection {
	display: block;
	background: #2a2a3b;
	/* Background color for the section */
	background: linear-gradient(112deg, rgba(53, 53, 70, 1) 0%, rgba(31, 31, 48, 1) 100%);
	padding: 20px;
	/* Add some padding to the section */
	margin-bottom: 20px;
	/* Add some margin below the section */
	border-radius: 8px;
	/* Apply border radius to round the corners */
	box-shadow: 0 5px 13px 5px rgba(0, 0, 0, 0.2);
	/* Add a box shadow */
}

.expandedsection {
	display: none;
	/* Hide section content by default */
	flex: 1;
	/* Take remaining space */
}

section h2 {
	color: #ffffff;
	/* Color for the section heading */
	display: inline-block;
	text-align: left;
	/* Center the heading text */
}

/*Div Styles - currently unused*/

.collapseddiv {
	display: block;
	/* Use flexbox for layout */
	align-items: center;
	/* Center items vertically */
	margin-left: 15px;
	margin-right: 15px;
	margin-bottom: 15px;
	background: #333344;
	background: linear-gradient(112deg, rgba(62, 62, 79, 1) 0%, rgba(40, 40, 57, 1) 100%);
	padding: 15px;
	border-radius: 8px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.expandeddiv {
	display: none;
	/* Hide content by default */
	flex: 1;
	/* Take remaining space */
	margin-top: 45px;
	margin-left: 38px;
}

/*Object Styles*/

.image {
	width: 300px;
	/* Set the desired width */
	display: inline;
	/* Make the image a block element */
	margin-bottom: 15px;
	float: left;
	margin-right: 30px;
}

.image-banner {
	width: 600px;
	/* Set the desired width */
	display: block;
	/* Make the image a block element */
	margin: 0 auto;
	/* Center the image horizontally */
	object-fit: cover;
	/* Crop the image to cover the container */
	height: 100px;
	/* Set the desired height (adjust as needed) */
	margin-bottom: 15px;
}

button {
	font-size: 22px;
	cursor: pointer;
	border: none;
	border-radius: 8px;
	background: #333344;
	color: #cccccc;
	margin-right: 15px;
	padding: 2px 7px;
}

/* Dropdown Styles */

label {
	color: #ffffff;
	/* Label color to match the overall theme */
	margin-bottom: 5px;
	/* Adjust spacing between label and select */
	display: block;
	/* Ensure label is on its own line */
}

select {
	padding: 10px;
	/* Add some padding */
	border-radius: 8px;
	/* Round the corners */
	border: 1px solid #ccc;
	/* Add a subtle border */
	background: #3a3a4b;
	/* Background color */
	color: #ffffff;
	/* Text color */
	width: 25%;
	/* Full width of parent */
	font-size: 100%;
}

optgroup {
	color: #ffffff;
	/* Set the color to a different color than the default gray */
	font-weight: bold;
	background: #363647;
}

select option {
	background: #3a3a4b;
	/* Background color for options */
	color: #ffffff;
	/* Text color for options */
	max-height: 10px;
	/* Set a maximum height for the dropdown */
	overflow-y: auto;
}

select option:checked {
	/* Highlight the selected option */
	color: #3498db;
}

/* Table Styles */

/* General table styles */
table {
	width: fit-content;
	border-collapse: collapse;
	margin-bottom: 20px;
	background: linear-gradient(112deg, rgba(31, 31, 48, 0.5) 0%, rgba(42, 42, 59, 0.5) 100%);
}

/* Header and cell styles */
th,
td {
	border: 1px solid #3a3a4b;
	padding: 10px;
	text-align: center;
	color: #ffffff;
}

/* Header background */
th {
	background: linear-gradient(112deg, rgba(25, 42, 57, 1) 0%, rgba(35, 50, 67, 1) 100%);
}

/* Alternating row colors */
tr:nth-child(even) {
	background: linear-gradient(112deg, rgba(35, 50, 67, 0.3) 0%, rgba(25, 42, 57, 0.3) 100%);
}

/*Album Styles*/
.album-container {
	display: flex;
	align-items: flex-start;
}

.album-art-container {
	flex: 0 0 auto;
	margin-right: 20px;
	margin-bottom: 20px;
}

.album-art {
	max-width: 300px;
	/* Adjust size as needed */
	height: auto;
}

.album-tracks {
	flex: 1;
}

/* Responsive Styles */
@media (max-width: 768px) {
	body {
		font-size: 100%;
	}

	h1 {
		font-size: 200%;
	}

	.nav-section {
		max-width: 80%;
	}

	.image,
	.album-art {
		width: 100%;
		height: auto;
		float: none;
		margin-right: 0;
		margin-bottom: 15px;
	}

	.image-banner {
		width: 100%;
		height: auto;
	}

	select {
		width: 100%;
	}

	table {
		width: 100%;
	}

	.album-container {
		flex-direction: column;
		align-items: center;
	}

	.album-art-container,
	.album-tracks {
		width: 100%;
		text-align: center;
		margin: 0;
		padding: 0;
	}
}

@media (max-width: 480px) {
	body {
		font-size: 90%;
	}

	h1 {
		font-size: 200%;
	}

	button {
		font-size: 18px;
		padding: 5px 10px;
	}
}

.video-wrapper {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 1rem; /* Optional padding for mobile side spacing */
}

.video-container {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/*Footer Styles*/

footer {
	margin-top: auto;
	text-align: center;
	font-size: 0.8em;
}

footer p {
	margin: 0;
}
