.min-vh-50 {
	min-height: 50vh;
}
:root {
	/* sf colors */
	--sf-primary: #ffd447;
	--sf-secondary: #4B575F;
	--sf-primary-lighter: #ffdd6d;
	--sf-primary-darker: #ffcd28;
	--sf-secondary-lighter: #616f79;
	--fh-primary: #00a48c;
	--fh-secondary: rgba(31,130,192,0.85);
	--fh-secondary-lighter: rgba(31, 130, 192, 0.288);
	--fh-secondary-lightest: rgba(31, 130, 192, 0.048);
}

#header {
	background-color: var(--sf-primary);
	color: var(--sf-secondary);
}

#logo {
	width: min(400px, 72vw);
	height: 130px;
	object-fit: contain;
}

#version {
	display: inline-block;
	max-width: min(82vw, 420px);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 0.85rem;
	color: rgba(255, 255, 255, 0.78);
	background-color: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	padding: 0.25rem 0.75rem;
	margin: 0.25rem 0 0;
}

.admin-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
	align-items: center;
	padding: 0 1rem 0.85rem;
}

.admin-nav-link {
	display: inline-flex;
	align-items: center;
	min-height: 2.25rem;
	padding: 0.35rem 0.8rem;
	border: 1px solid rgba(75, 87, 95, 0.35);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.7);
	color: var(--sf-secondary);
	font-weight: 700;
	text-decoration: none;
}

.admin-nav-link:hover,
.admin-nav-link.active {
	background: var(--sf-secondary);
	color: white;
}

#footer {
	background-color: var(--sf-secondary);
	color: white;
	min-height: 20rem;
	padding: 2rem 1rem 1rem;
}
#footer a {
	color: white;
}

.m-n1 {
	margin: -2rem !important;
}

.btn {
	background-color: var(--sf-primary);
	border-color: var(--sf-primary);
	font-weight: bold;
	border-radius: 25px 0px 0px 0px;
}
.btn-b-l {
	border-radius: 0px 25px 0px 0px;
}
/* pretty sure this is the wrong way aroung if t = top */
.btn-t-l {
	border-radius: 0px 0px 0px 25px;
}
.btn-t-r {
	border-radius: 0px 0px 25px 0px;
}
.btn-t {
	border-radius: 0px 0px 25px 25px;
}
.btn-0 {
	border-radius: 0px 0px 0px 0px;
}

.btn-white {
	background-color: white;
}

.btn:hover {
	background-color: var(--sf-primary-lighter);
	border-color: var(--sf-primary);
}
.btn:active {
	background-color: var(--sf-primary);
}
.btn:focus {
	background-color: var(--sf-primary);
}

.btn:disabled {
	background-color: var(--sf-primary-lighter);
	border-color: var(--sf-primary);
}

.container {
	max-width: 720px;
	background-color: white;
}

.support-logos {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
}

.support-logo {
	display: block;
	width: auto;
	height: auto;
	object-fit: contain;
}

.support-logo-cuna {
	max-width: min(230px, 62vw);
	max-height: 95px;
	filter: brightness(0) invert(1) opacity(0.72);
}

.support-logo-fraunhofer {
	max-width: min(330px, 72vw);
	max-height: 92px;
	opacity: 0.92;
}

.admin-menu-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem;
}

.admin-menu-card {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	min-height: 7rem;
	padding: 1rem;
	border: 1px solid rgba(75, 87, 95, 0.16);
	border-radius: 8px;
	background: rgba(31, 130, 192, 0.048);
	color: #16212b;
	text-decoration: none;
}

.admin-menu-card strong {
	color: var(--sf-secondary);
	font-size: 1.05rem;
}

.admin-menu-card span {
	color: #66747d;
}

.admin-menu-card:hover {
	border-color: rgba(31,130,192,0.55);
	background: rgba(31,130,192,0.1);
}

 /* X-Small devices (portrait phones, less than 576px)
 No media query for `xs` since this is the default in Bootstrap */

/* // Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {

}

/* // Medium devices (tablets, 768px and up) */
@media (max-width: 768px) {
	#logo {
		height: 105px;
	}

	#support-logo-container img {
		padding-block: 0.25rem;
	}

	.admin-menu-grid {
		grid-template-columns: 1fr;
	}
}

/* // Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
	#support-logo-container {
		margin-inline: 20%;
	}
}

/* // X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {  }

/* // XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {  }

/* The toast - position it at the bottom and in the middle of the screen */
#toast {
	visibility: hidden; /* Hidden by default. Visible on click */
	min-width: 250px; /* Set a default minimum width */
	margin-left: -125px; /* Divide value of min-width by 2 */
	background-color: var(--sf-secondary-lighter); /* Black background color */
	color: #fff; /* White text color */
	text-align: center; /* Centered text */
	border-radius: 2px; /* Rounded borders */
	padding: 16px; /* Padding */
	position: fixed; /* Sit on top of the screen */
	z-index: 1; /* Add a z-index if needed */
	left: 50%; /* Center the snackbar */
	bottom: 30px; /* 30px from the bottom */
}

/* Show the toast when clicking on a button (class added with JavaScript) */
#toast.show {
	visibility: visible; /* Show the toast */
	/* Add animation: Take 0.5 seconds to fade in and out the toast.
	However, delay the fade out process for 2.5 seconds */
	-webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
	animation: fadein 0.5s, fadeout 0.5s 2.5s;
}

#toast.error {
	background-color: rgb(201, 38, 38);
}

/* Animations to fade the toast in and out */
@-webkit-keyframes fadein {
	from {bottom: 0; opacity: 0;}
	to {bottom: 30px; opacity: 1;}
}

@keyframes fadein {
	from {bottom: 0; opacity: 0;}
	to {bottom: 30px; opacity: 1;}
}

@-webkit-keyframes fadeout {
	from {bottom: 30px; opacity: 1;}
	to {bottom: 0; opacity: 0;}
}

@keyframes fadeout {
	from {bottom: 30px; opacity: 1;}
	to {bottom: 0; opacity: 0;}
}
