header {
	color: #fff;
	background-color: var(--blue);
	background-image: linear-gradient(hsl(198.72deg 93.98% 26.08%), hsl(198.72deg 93.98% 26.08% / 70%)), url(/res/img/bg.webp);
    background-size: cover;
    background-position: center;
}
#headerContainer {
	width: 100%;
	max-width: calc(var(--max-width) + 2rem);
	margin: 0 auto;
	padding: 2rem 1rem 3rem;
}
header h1 {
	margin-bottom: 1.5rem;
}

#about h2 {
	margin-top: 2rem;
}
main p {
	margin-top: 1rem;
}

#search {
    box-shadow: 0 0 10px 4px hsl(198.72deg 100% 17.4%);
}
.search-icon {
    width: 1.25rem;
    height: 1.25rem;
    margin: 0.875rem 0.75rem 0.875rem 0.875rem;
}
#search input[type="search"] {
	font-size: 1.25rem;
}

#levelsContainer {
	display: grid;
	gap: 2.5rem 1.5rem;
	margin: 1.25rem auto 2rem;
}
#levelsSection {
	width: 100%;
}
#levelsNav .hidden {
	display: none;
}
#levelsNav h3 {
	margin-top: 1.25rem;
}
#levelsNav details {
	margin-top: 0.5rem;
	border-radius: 0.5rem;
	background-color: #fff;
}

#levelsNav summary {
	position: relative;
	padding: 0.75rem;
	list-style: none;
	cursor: pointer;
}
#levelsNav details[open] summary {
	border-bottom: 1px solid var(--bg-color);
}
summary::-webkit-details-marker {
  display: none;
}
#levelsNav summary::after {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 13.8'%3E%3Cdefs%3E%3Cstyle%3E.a%7Bfill:%23161718;%7D%3C/style%3E%3C/defs%3E%3Cpath class='a' d='M10.7,18.4.5,8.2a1.9,1.9,0,0,1,0-2.6h0a1.9,1.9,0,0,1,2.6,0L12,14.5l8.9-8.9a1.9,1.9,0,0,1,2.6,0h0a1.9,1.9,0,0,1,0,2.6L13.3,18.4A1.9,1.9,0,0,1,10.7,18.4Z' transform='translate(0 -5.1)'/%3E%3C/svg%3E");
    position: absolute;
    top: 50%;
    right: 0.75rem;
    width: 11px;
    transform: translateY(-50%);
}
#levelsNav ul {
	display: flex;
    flex-flow: row nowrap;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 0.5rem;
	width: 100%;
	padding: 0.75rem;
	line-height: 1.5rem;
	list-style-type: none;
}
#levelsNav li {
	width: 100%;
	aspect-ratio: 1;
	border-radius: 100%;
	background-color: #ffc8a3;
}
#levelsNav li:hover {
	background-color: #ffceae;
}
#levelsNav a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: var(--font-color);
	font-weight: 800;
	text-decoration: none;
}

#showMoreLevelsButton {
    position: relative;
	display: block;
	width: fit-content;
	margin: 1.5rem auto 0;
	padding: 0.5rem 3rem;
    border-radius: 0.75rem;
}
#showMoreLevels {
	position: absolute;
	top: 0;
	left: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    margin: 0;
	cursor: pointer;
}
#levelsSection:has(#showMoreLevels:checked) .hidden {
	display: block;
}
#showMoreLevelsButton:has(#showMoreLevels:checked) {
	display: none;
}

#levelsContainer aside {
	height: fit-content;
	padding: 0.75rem;
	text-align: center;
	border-radius: 0.5rem;
	background-color: #fff;
}
#hardLevels {
	list-style-type: none;
}
#hardLevels li {
	margin-top: 0.5rem;
    padding: 0.25rem 0.375rem;
    border-radius: 0.25rem;
    background-color: #f4f6f7;
}
#hardLevels a {
	color: var(--font-color);
	text-decoration: none;
}
#hardLevels a:hover {
	color: #912d00;
}

#about img {
	display: block;
	margin: 1rem auto 0;
}

/****** MEDIA BREAKPOINTS ******/
@media (min-width: 480px) {
	#levelsNav ul {
		grid-template-columns: repeat(10, 1fr);
	}
}
@media (min-width: 728px) {
	#headerContainer {
		padding: 3rem 1rem 4rem;
	}

	#levelsContainer {
		grid-template-columns: 2fr minmax(300px, 1fr);
	}
	#levelsContainer aside {
		position: sticky;
		top: 1rem;
		margin-top: 86px;

	}
}