/*Allgemein*/

:root {
	--fontcolor: #808088;
	--linkcolor: #3085ee;
	--hovercolor: #4f9fff;
	--medium_gray: #f0f1f4;
}

@media screen {
	body {
		height:100.1vh!important;
	}
}

body, h1, h2, h3, h4, h5, h6 {
	color: var(--fontcolor);
}

.container.grid-xl {
	max-width: 1260px;
}

.bg-gray {
	background: var(--medium_gray)!important;
}

table {
	border-collapse: collapse;
}

/*Kopfzeile*/

#header {
	border:none;
	color: var(--fontcolor);
	-webkit-box-shadow: 0px 4px 10px rgb(0 0 0 / 5%);
	box-shadow: 0px 4px 10px rgb(0 0 0 / 5%);
	font-size: 1em;
}

#header a {
	color: var(--fontcolor);
}

/*Seite*/

#body-wrapper .container {
	margin-bottom: 3em;
}

@media print, screen and (min-width: 768px) {
	#body-wrapper p {
		text-align: justify;
	}
}

.noimage h4 {
	margin-top: 0;
}

.page_image {
	width: 100%;
	height: auto;
}

.justified-gallery {
	margin-top: 2rem;
}

button.back {
	background-color: var(--linkcolor);
	border: none;
	border-radius: 2px;
	padding: 0.3em 0.5em;
}

button.back:hover {
    background-color: var(--hovercolor);
	cursor: pointer;
}

button.back:focus {
	outline-color: var(--linkcolor);
}

button.back span {
	color: #fff;
}

button.back span:before {
    font-family: "FontAwesome";
    font-weight: bold;
    content: "\f060";
    margin-right: 0.3em;
}

/*Fusszeile*/

#footer {
	width: 100%;
	height: 3em;
	position: fixed;
	bottom: 0;
	margin: 0;
	padding: 0;
}

#footer .container p {
	margin: 1em 0 0;
	color: var(--fontcolor);
	line-height: 1em;
}

/*Mobilmenue*/

.mobile-logo img {
	max-width: 70%;
	margin-top: 0.6rem;
}

.mobile-container .treemenu li a:not(.active) {
	color: #fff!important;
}

.mobile-container .treemenu li.tree-empty>.toggler {
	display:none;
}

/*Messages*/

#messages .toast {
	padding-top: 0.25em;
	text-align: center;
}

#messages .icon {
	font-style: normal;
}

#messages .icon:before {
	font-family: "FontAwesome";
	margin-right: 0.3em;
}

.dripicons-checkmark:before {
	content: "\f00c";
}

.dripicons-information:before {
	content: "\f05a";
}

.dripicons-wrong:before {
	content: "\f071";
}

/*Login*/

#grav-login {
	padding: 0.8rem 0 2rem;
}

#grav-login h1 {
	margin-top: 1rem;
	font-size: 1.8rem;
}

#grav-login form {
	margin-top: 1em;
}

#grav-login .form-field input {
	width: 100%;
}

#grav-login .form-data {
  margin: 1rem auto;
  max-width: 20em;
}

#grav-login p, #grav-login .button-wrapper, #grav-login .form-actions, #grav-login .form-field input {
	text-align: center;
	font-size: 0.8em;
}

#grav-login div.rememberme {
	display: block;
	margin-bottom: 0.5rem;
	float: none;
}

#grav-login .form-actions .button {
  margin: 0 0.5em;
}

/*Intranet*/

.kontakte #body-wrapper table, .kurzwahlen #body-wrapper table {
	margin: 2rem 0;
}

.kontakte #body-wrapper td, .kurzwahlen #body-wrapper td {
	padding: 5px;
	border: 1px solid var(--fontcolor);
}

.kontakte #body-wrapper tr:first-child td, .kurzwahlen #body-wrapper tr:first-child td {
	font-weight: bold;
}

.kontakte #body-wrapper tr:nth-child(odd) td, .kurzwahlen #body-wrapper tr:nth-child(odd) td {
	background-color: var(--medium_gray);
}

.kurzwahlen #body-wrapper td:nth-child(even) {
	text-align: center;
	font-weight: bold;
}

.downloads #body-wrapper table {
	margin: 0.3em 0 1em;
}

.downloads #body-wrapper table.first {
	margin-top: 1.6em;
}

.downloads #body-wrapper table.last {
	margin-bottom: 2em;
}

.downloads #body-wrapper table td {
	min-width: 13em;
}

/*Fehlerseiten*/

#error {
	margin-top: 0;
	padding: 0.8rem 0 2rem;
}

#error h1 {
	margin-top: 1rem;
	font-size: 1.8rem;
}

#error p {
	text-align: center;
}

#error img {
	max-height: 12em;
}

/*Druck*/

@media print {
	
	#header {
		border-bottom: 2px solid #c0c0c0;
		-webkit-box-shadow: none;
		box-shadow: none;
	}
	
	.desktop-menu, .mobile-menu, .back {
		display: none!important;
	}
	
	.justified-gallery {
		overflow: visible;
		transform: scale(0.55);
		position: relative;
		left: -22%;
		top: -6.5rem;
	}
	
}