/* Basics *********************************************************************/

body {
    overflow-x: hidden;
    background-color: rgba(173, 216, 230, 0.1);
    min-height: 100vh;
}

p {
	text-align: justify;
	hyphens: auto;
}

a strong {
	hyphens: none;
}

h1 {
	text-align: center;
	margin-top: 1em;
	margin-bottom: 1em;
}

/* Images *********************************************************************/

/* Article card imgs on level 1 pages */
div.card img {
	height: 15em;
	object-fit: cover;
}

/* Article images */
div#main-content img {
	max-width: 100%;

	/* Centering */
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* Article sidebar image */
img.sidebar-img {
	margin: 0;
	width: 100%;
	height: auto;
	border: none;
	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.3);
}

/* Img container border */
p>img,
div.sidebar-img-box,
div.carousel-wrapper,
iframe {
	border: none;
}

div.sidebar-img-box>*:first-child {
	border: none;
}

div.sidebar-img-box>*:last-child,
div.card>div.card-body:last-child {
	border: none;
}

/* Top navigation *************************************************************/

nav#top-nav {
	background-color: #141414;
	box-shadow: 0px 10px 10px -10px rgba(0, 0, 0, 0.5);
}

.btn-nav-select {
	background-color: #303030;
}

.btn-nav-select:hover {
    background-color: #505050;
    color: white;
}

.btn-nav-select:focus {
    background-color: #505050;
    color: white;
}

/* Sub-lists have a <hr> under them. Do not display the last one. */
ul.dropdown-menu li:last-child hr {
	display: none;
}

ul.main-menu-sub {
	list-style-type: "›";
}

/* Article header *************************************************************/

.img-header {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	color: #eee;
	text-shadow: 0px 0px 8px black;
	box-shadow: 0px 10px 10px -10px rgba(0, 0, 0, 0.5);
}

.img-header strong {
	color: white;
}

div.justify-center {
	text-align: justify;
	text-align-last: center;
}

div.header-box {
	text-align: justify;
	text-align-last: center;
	/* Top shadow */
	box-shadow: 0px -10px 10px -10px rgba(0, 0, 0, 0.5);
}

/* Footer (1: top gray, 2: bottom black) **************************************/

.footer-1 p,
.footer-2 p,
.footer-1 a {
	color: #ddd;
	text-align: center;
}

.footer-1 {
	background-color: #333;
	box-shadow: 0px 10px 10px 10px rgba(0, 0, 0, 0.5);
}

.footer-2 {
	background-color: black;
	box-shadow: 0px 10px 10px 10px rgba(0, 0, 0, 0.5);
}

/* Foter navigation */

nav#nav-bottom {
	background: none;
}

nav#nav-bottom li a {
	padding-top: 0;
	padding-bottom: 0;
}

nav#nav-bottom li+li {
	border-left: 1px solid #333;
}

/* Partner logos **************************************************************/

div#main-content span.partner-logos {
	display: block;
	text-align: center;
	margin-top: 2em;
	text-wrap: balance;
}

div#main-content span.partner-logos img {
	display: inline;
	margin: 0.25em;
	height: 5em;
	border: none;
	margin: 1em;
}

.sponsor-logo {
	width: 23%;
}

/* Carousel *******************************************************************/

div.carousel-wrapper,
div.img-16-9-wrapper {
	/* 16:9 */
	width: 100%;
	padding-bottom: 56.25%;
	position: relative;
	background: #333;
}

div.carousel-wrapper div.carousel,
div.carousel-wrapper div.carousel-inner,
div.carousel-wrapper div.carousel-item,
div.img-16-9-wrapper div {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

div.img-16-9-wrapper img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

div.carousel-wrapper img {
	object-fit: contain;
	width: 100%;
	height: 100%;
}

div.carousel-caption {
	background-color: rgba(0, 0, 0, 0.6);
	left: 10%;
	right: 10%;
	padding: 1.5em 5%;
}

div.carousel-caption * {
	text-align: center;
	text-wrap: balance;
}

div.carousel-caption *:last-child {
	margin-bottom: 0;
}

div.carousel-caption a.carousel-more {
	color: #40A0FF;
}

div#main-content div.main-page-carousel-wrapper div.carousel-wrapper img {
	object-fit: cover;
}

div.card-carousel button {
	background: transparent;
	border: none !important;
	/* black arrow */
	filter: invert(100%);
}

button.carousel-control-next,
button.carousel-control-prev {
	filter: drop-shadow(0 0 3px black);
}

/* Category cards (level 1 pages) *********************************************/

div.card-body h5 {
	text-align: center;
}

div.card-body>*:last-child {
	margin-bottom: 0;
}

div.card.bg-dark>div.card-body {
	background-color: #333;
}

/* Category wrapper on the main page ******************************************/
div.category-wrapper:nth-child(odd) {
	background-color: #eee;
	box-shadow: 0px 10px 10px -10px rgba(0, 0, 0, 0.3),
		0px -10px 10px -10px rgba(0, 0, 0, 0.3);
}

div.category-wrapper h2:first-child {
	margin-top: 0;
}

/* Misc ***********************************************************************/

/* Embedded Youtube videos */
iframe {
	margin: auto;
	max-width: 100%;
	display: block;
	margin-bottom: 1em;
}

/* <span class="center"> in Markdown files */
p:has(span.center) {
	text-align: center;
}

/* Breadcrumbs */
nav ol.breadcrumb a {
	text-decoration: none;
}

div.category-card p {
	text-align: center;
	text-wrap: balance;
}

div.card {
	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.3);
}

div.card div.img-16-9-wrapper,
div.card div.img-16-9-wrapper img {
	border-radius: 4px 4px 0 0;
}