* {
	margin: 0;
	padding: 0;	
}

:root {
	--background-color: #000;
	--text-color: #fff;
	--red: #bd1919;

	--radius: 5px;
}

::selection { 
	color: var(--red); 
}

body {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-color: var(--background-color);
	font-family: "Liberation", sans-serif;
	color: var(--text-color); 
	gap: 40px;
}

header { 
	width: 100%;
	height: 700px;
}

header .banner {
	height: 390px;
	background-image: url("imgs/backgrnd.webp");
	background-size: cover;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

header .logo {
	position: relative;
	top: -210px;
	width: 210px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	background-color: var(--background-color);
	border-radius: var(--radius);
	padding-top: 20px;
}

header .logo h1 { 
	font-size: 180%; 
	line-height: initial;
}

header aside {
	width: 250px;
	height: 70px;
	box-shadow: 0px 10px 6px rgb(0, 0, 0, 0.3) inset;
	background-color: var(--red);
	text-align: center;
	border-radius: 0 0 var(--radius) 0;
}

header aside img { 
	width: 35px;  
}

header aside p { 
	padding-bottom: 3px; 
}

main {
	display: flex;
	flex-direction: column;
	width: 50%;
	gap: 40px;
}

footer {
	display: flex;
	width: 100%;
	height: 60px;
	border-top: 1px solid var(--text-color);
	align-items: center;
	justify-content: center;
}

footer p {
	line-break: auto;
	width: 96%;
	text-align: center;
}

blockquote, main article .citation-author {
	text-align: center;
	font-family: initial;
	font-style: italic;
	font-size: 90% !important;
}

main article {
	display: flex;
	align-content: center;
	justify-content: center;
	flex-direction: column;
	gap: 30px;
}

main article p, main article ul { 
	font-size: 110%; 
}

main article h2 {
	font-size: 180%;
	line-height: initial;
}

main article h3 {
	line-height: initial;
}

main article ul {
	margin-left: 30px;
	line-height: 30px;
}

main article details section {
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding-top: 10px;
	padding-left: 15px;
}

main article details section div {
	display: flex;
	flex-direction: column;
}

main article details section div span {
	font-weight: bolder;
}

main article details section a {
	width: fit-content;
}

main article details summary {
	cursor: pointer;
	transition: all 0.3s;
	width: fit-content;
}

main article details summary:hover {
	background-color: var(--text-color);
	color: var(--background-color);
	padding-left: 5px;
	padding-right: 5px;
	border-radius: var(--radius);
}

main article .bordered {
	padding-left: 10px;
	border-left: 1px solid var(--text-color);
}

main article .gallery-figure {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
}

main article .gallery-figure figure {
	height: 300px;
	position: relative;
	flex-grow: 1;
}

main article .gallery-figure figure img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	vertical-align: middle;
	border-radius: var(--radius);
	transition: all 0.3s;
}

main article .gallery-figure figure img:hover {
	filter: opacity(80%);
}

main article .gallery-access-anchor {
	display: flex;
	width: 100%;
	height: 70px;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius);
	text-decoration: none;
	background-image: url("imgs/photos/12.jpg");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	background-position-y: -550px;
	color: var(--text-color);
	transition: all 0.5s;
}

main article .gallery-access-anchor span {
	background-color: black;
	border-radius: var(--radius);
	padding: 5px;
}

main article .gallery-access-anchor:hover, .gallery-access-anchor:focus {
	filter: opacity(90%);
}

main article .map-div {
	height: 350px;
	border-radius: var(--radius);
}

main article .definition {
	font-size: 90%;
}

main article .flyer-list {
	display: flex;
	gap: 10px;
}

main article .flyer-list a img {
	width: 520px;
}

main article .flyer-list a img:hover {
	filter: opacity(90%);
}

.text-anchor, .text-anchor-centered {
	text-decoration: underline;
	color: #d00;
	transition: all 0.3s;
}

.text-anchor-centered {
	text-align: center;
}

.text-anchor:hover, .text-anchor-centered:hover,
.text-anchor:focus, .text-anchor-centered:focus {
	background-color: #a20000;
	color: var(--background-color);
	text-decoration: none;
	border-radius: var(--radius);
}

.main-large{
	width: 60%;
}

.separator {
	display: block;
	margin-left: auto;
	margin-right: auto;
	height: 1px;
	background-color: var(--text-color);
	width: 70%;
}

@media (max-width: 1570px) {
	main { 
		width: 70%; 
	}

	header { 
		height: 600px; 
	}

	header .banner { 
		background-repeat: no-repeat;
		background-position: center;
	}

	header .logo { 
		top: -310px; 
	}

}

@media (max-width: 1090px) {
	main { 
		width: 80%; 
	}
}

@media (max-width: 870px) {
	header { 
		height: 600px; 
	}

	main { 
		width: 90%; 
	}

	main article .gallery-figure figure { 
		width: 100%; 
	}

	.main-large { 
		width: 80%; 
	}
}

@media (max-width: 800px) {
	header { 
		height: 500px; 
	}

	header aside { 
		display: none; 
	}
}

@media (max-width: 620px) {
	footer { 
		text-align: center; 
		height: 80px;
	}

	main article ul { 
		margin-left: 20px; 
	}

	main article h2 { 
		font-size: 150%;
	}

	.main-large { 
		width: 90%; 
	}
}

@media (max-width: 590px) {
	main article .flyer-list a img {
		width: 100%;
	}
}

@media (max-width: 470px) {
	main article .gallery-access-anchor {
		background-position-y: -100px;
	}
}