/*────────────────────────────────────────────*
 *                   Fonts                    *
 *────────────────────────────────────────────*/
@import url("SourceSansPro.css");

/*─────────────────────────────────────────────*
 *                   Colors                    *
 *─────────────────────────────────────────────*/

:root {
	--body-background-color: #252122;
	--content-background-color: #f7f7f7;
	--copyright-container-background-color: rgba(255, 255, 255, 0.05);
	--copyright-container-separator-border: 1px solid rgba(255, 255, 255, 0.05);
	--footer-color: #858484;
	--footer-link-color: #c5c4c4;
	--footer-strong-color: #fff;
	--header-background-color: #fff;
	--link-color: #5287c6;
	--main-columns-background-color: #fff;
}

/*─────────────────────────────────────────────*
 *                   Sizes                     *
 *─────────────────────────────────────────────*/

:root {
	--header-height: 190px;
	--content-pt: 20px;
	--content-pb: calc(var(--content-pt) - var(--header-height));
	--main-font-size: 12pt;
	--main-line-height: 1.75em;
	--main-letter-spacing: 0;
	--copyright-container-padding: 0.85em 2.25em;
}

/*─────────────────────────────────────────────*
 *               General Styles                *
 *─────────────────────────────────────────────*/

* {
	border: 0;
	font: inherit;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

	*,
	*:before,
	*:after {
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}

html,
body {
	font-size: var(--main-font-size);
	height: calc(100% - var(--header-height));
	width: 100%;
}

body {
	background: var(--body-background-color);
	color: black;
	font-family: "Source Sans Pro";
	font-weight: 300;
	letter-spacing: var(--main-letter-spacing);
	line-height: var(--main-line-height);
	overflow-x: hidden;
}

a {
	color: var(--link-color);
	font-weight: 400;
	outline: 0;
	text-decoration: none;
}

ol,
ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

.container {
	padding: 0;
	margin: 0 auto !important;
}

.row {
	margin: 0;
	padding: 0;
}

address {
	margin: 0;
}

	address p {
		margin: 0;
	}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 700;
	line-height: 1.4em;
}

h1,
h2,
h3 {
	color: #444;
}

h3 {
	font-size: 1.1em;
}

strong {
	line-height: 1em;
}

p {
	font-size: 1.1em;
}

h2[id^="heading-"] {
	scroll-margin-top: var(--header-height);
}

/*─────────────────────────────────────────────*
 *                Form Inputs                  *
 *─────────────────────────────────────────────*/

input,
textarea,
select {
	font-weight: 300;
	color: #5d5d5d;
}

	input[type=text],
	input[type=email],
	input[type=password],
	input[type=number],
	input[type=tel],
	select,
	textarea {
		font-size: 1em;
		border-radius: 5px;
		border: solid 1px #ddd;
		width: 100%;
	}

		input[type=text]:focus,
		input[type=email]:focus,
		input[type=password]:focus,
		input[type=number]:focus,
		input[type=tel]:focus,
		select:focus,
		textarea:focus {
			box-shadow: 0 0 1px 1px #43bff0;
		}

hr {
	border: 0;
	border-top: solid 1px #ddd;
	height: 1px;
	margin: 2em 0;
	opacity: 1;
}

/*─────────────────────────────────────────────*
 *               Header Styles                 *
 *─────────────────────────────────────────────*/

#page-wrapper > header {
	background: var(--header-background-color);
	min-height: var(--header-height);
	position: sticky;
}

	#page-wrapper > header .header-logo {
		margin-top: -14px;
		width: 220px;
	}

	#page-wrapper > header h1 {
		color: #444;
		font-size: 2em;
		font-weight: 900;
	}

	#page-wrapper > header .row {
		gap: 10px;
		padding: 40px 0 10px 0px;
		position: relative;
		text-align: center;
	}

.search-box-input {
	border: 1px solid #ddd;
	border-radius: 5px;
	height: 30px;
	padding: 0;
	padding-left: 10px;
}

.search-results-overlay {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: white;
	z-index: 1000;
	border: 1px solid #ccc;
	max-height: 300px;
	overflow-y: auto;
}

.user-bar-container {
	position: absolute;
	top: 0;
}

.user-bar {
	border-color: #ccc;
	border-radius: 0 0 7px 7px;
	border-style: solid;
	border-width: 0 1px 1px 1px;
	float: right;
	font-size: 0.8em;
	padding: 0px 15px 0px 15px;
}

	.user-bar a,
	.user-bar button {
		background: none;
		color: #aaa;
		font-weight: normal;
	}

		.user-bar a:after,
		.user-bar button:after {
			content: "|";
			padding: 0 7px;
		}

		.user-bar a:last-child:after,
		.user-bar form:last-child button:after {
			content: "";
			padding: 0;
		}

	.user-bar form {
		display: inline-block;
	}

#btn-mobile-menu {
	padding-top: 6px;
}

/*────────────────────────────────────────────*
 *               Button Styles                *
 *────────────────────────────────────────────*/
.btn-primary {
	background: #5287c6;
	border-color: #5287c6;
}

	.btn-primary:hover {
		background: #78a2d3;
		border-color: #78a2d3;
	}

/*─────────────────────────────────────────────*
 *               Content Styles                *
 *─────────────────────────────────────────────*/
.content {
	background-color: var(--content-background-color);
	padding-top: var(--content-pt);
	padding-bottom: var(--content-pb);
}

	.content .general-button {
		margin-left: auto;
		margin-top: -12px;
		width: auto;
	}

		.content .general-button > a {
			font-size: 1.3em;
			font-weight: bold;
			padding-left: 1.2em;
			padding-right: 1.2em;
			width: auto;
		}

	.content .form-group,
	.content .form-check {
		margin-bottom: 1em;
	}

#mobile-menu {
	overflow-y: auto;
}

#desktop-menu {
	display: none;
	position: relative;
}

	#desktop-menu nav.sidebar-item {
		margin-bottom: 1.5em;
	}

	#desktop-menu strong,
	#mobile-menu strong {
		color: #444;
		font-size: 1.1em;
		font-weight: 700;
	}

	#desktop-menu .header-list li {
		margin-bottom: 0.5rem;
	}

	#desktop-menu .header-list .nested-heading {
		font-size: 0.95em;
		margin-left: 1rem;
	}

#mobile-menu strong {
	color: #fff;
}

#desktop-menu ul {
	margin-top: 0.5em;
}

#desktop-menu li {
	line-height: 1.4;
}

#desktop-menu a {
	font-weight: 400;
}

#desktop-menu nav.sidebar-item,
main > div,
main > form {
	background: var(--main-columns-background-color);
}

#btn-back-to-top {
	border-radius: 0;
	bottom: 20px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
	height: 40px;
	opacity: 0;
	padding: 5px 0;
	position: fixed;
	right: 20px;
	transition: opacity 0.3s 0s, visibility 0s 0.3s;
	visibility: hidden;
	width: 40px;
}

	#btn-back-to-top.is-visible {
		opacity: 0.6;
		transition: opacity 0.3s 0s, visibility 0s 0s;
		visibility: visible;
	}

#btn-mobile-menu {
	background: rgba(150, 150, 150, 0.75);
	border: none;
	border-radius: 5px;
	color: #fff;
	height: 40px;
	left: 10px;
	position: fixed;
	top: 24px;
	width: 50px;
	z-index: 10001;
}

#mobile-menu {
	background: var(--body-background-color);
	display: block;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	transform: translateX(-275px);
	transition: transform 0.5s ease;
	width: 275px;
	z-index: 10002;
}

body.is-visible #mobile-menu {
	transform: translateX(0);
}

main h3 {
	margin-top: 30px;
}

	main h3:first-child {
		margin-top: 0;
	}

.tags-overview {
	margin-left: calc(var(--bs-gutter-x) * -.5);
	margin-right: calc(var(--bs-gutter-x) * -.5);
	margin-top: 0.5em;
}

	.tags-overview > div:last-of-type {
		margin: 0;
	}

	.tags-overview a {
		border: 1px solid #aaa;
		display: inline-block;
		height: 175px;
		margin: 0 0 20px 0;
		padding: 5px;
		text-align: center;
		width: 100%;
		word-wrap: break-word;
	}

	.tags-overview img {
		max-height: 110px;
		max-width: 100%;
	}

.tag-list .tags-overview p {
	line-height: normal;
}

.tag-list li.item:not(:last-of-type) {
	border-bottom: 1px solid #aaa;
	margin-bottom: 15px;
	padding-bottom: 20px;
}

.tag-list img {
	width: 90px;
	height: 90px;
}

.tag-list .description li {
	color: black;
	font-weight: 300;
}

	.tag-list .description li:before {
		content: " ◦";
		padding-right: 5px;
		margin-left: -10px;
	}

.about-overview .umb-block-grid__layout-container {
	gap: 1em;
	margin-bottom: 1.5em;
}

.about-overview .box {
	border: 1px solid;
	height: 100%;
	padding: 2em 1em 0.75em 1em;
	position: relative;
}

	.about-overview .box.box-orange {
		border-color: #ee7239 !important;
	}

	.about-overview .box.box-green {
		border-color: #aecc36 !important;
	}

	.about-overview .box.box-blue {
		border-color: #5388c7 !important;
	}

	.about-overview .box header {
		text-align: center;
	}

		.about-overview .box header img {
			height: 110px;
			margin-top: 1em;
		}

	.about-overview .box hgroup {
		margin-top: 1em;
		margin-bottom: 7em;
	}

		.about-overview .box hgroup h3 {
			margin: 0;
			min-height: 60px;
		}

		.about-overview .box hgroup p {
		}

	.about-overview .box footer {
		bottom: 12px;
		position: absolute;
	}

		.about-overview .box footer .btn {
			font-size: 1.25em;
			font-weight: 700;
			padding: 0.65em 0 0.65em 0;
			width: 100%;
		}

.nav-tabs > .nav-item > a {
	border: 1px solid #dee2e6;
}

.nav-tabs > .nav-item:not(:first-child) > a {
	border-radius: 0;
}

.nav-tabs > .nav-item {
	width: 100%;
}

.tab-content {
	border: 1px solid #dee2e6;
	border-top: none;
}

.news-overview {
	margin-top: 0.5em;
}

	.news-overview > ul > li {
		padding: 0;
	}

	.news-overview .tab-content p {
		margin: 0;
	}

	.news-overview .tab-content ul > li {
		padding: 0 0 1em 0;
	}

		.news-overview .tab-content ul > li:last-of-type {
			padding: 0;
		}

	.news-overview .tab-content > .tab-pane,
	.news-overview .tab-content > .tab-pane .row {
		padding: 0;
	}

		.news-overview .tab-content > .tab-pane .row a,
		.news-overview .tab-content > .tab-pane .row p {
			font-size: 1em;
		}

.article .paywall img {
	float: left;
	margin-right: 1em;
	width: 90px;
}

.article .headline h2 button {
	font-size: 0.7em;
}

.article .headline h3 {
	font-size: 1.3em;
}

.article ul:not(.nav-tabs) {
	list-style: none;
	padding-left: 1em;
	margin-bottom: 1em;
}

.article li:not(.nav-item) {
	position: relative;
	padding-left: 1.0em;
}

	.article li:not(.nav-item)::before {
		content: "◦";
		position: absolute;
		left: 0;
	}

.article ul ul {
	padding-left: 1rem;
}

.article ul:has(+ p) {
	margin-bottom: 1rem;
}

.article > ul:not(.nav-tabs) {
	/*margin-top: -0.8em;*/
	margin-bottom: 1rem;
}
/*
	.article ul:not(.nav-tabs) li::before {
		content: " ◦";
		padding-right: 5px;
		margin-left: 10px;
	}
*/

.article p:has(+ ul) {
	/*margin-top: 1rem;*/
	margin-bottom: 0;
}

.article img:not(.logo) {
	max-width: 100%;
	object-fit: contain;
}

.article .umb-block-grid__layout-item[data-content-element-type-alias="blockgridMedia"] img:not(.logo) {
	max-width: none;
	object-fit: contain;
}

.representation-view-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

	.representation-view-container > div {
		align-items: center;
		display: flex;
		flex-direction: column;
		margin: 10px;
		text-align: center;
	}

		.representation-view-container > div > a > img {
			height: 130px;
			width: auto;
		}

		.representation-view-container > div > p {
			font-size: 0.98em;
			margin-top: 5px;
		}

.shop-progress {
	text-align: center;
}

.shop-progress ul {
	display: inline-block;
	margin: 0;
	padding: 0;
}

	.shop-progress li {
		background-color: #767676;
		color: white;
		display: inline-block;
		font-size: 18px;
		line-height: 40px;
		margin-left: 30px;
		padding: 10px 10px 10px 30px;
		position: relative;
		text-align: center;
		text-indent: 12px;
	}

		.shop-progress li:first-child {
			margin-left: 0;
			padding-left: 10px;
		}

		.shop-progress li:last-child {
			padding-right: 30px;
		}

		.shop-progress li:not(:last-child):after {
			border-bottom: 30px solid transparent;
			border-left: 25px solid #767676;
			border-top: 30px solid transparent;
			content: "";
			height: 0;
			margin: -10px 0 0 10px;
			position: absolute;
			width: 0;
		}

		.shop-progress li.done:not(:last-child):after {
			border-bottom: 30px solid transparent;
			border-left: 25px solid #5388c7;
			border-top: 30px solid transparent;
			content: "";
			height: 0;
			margin: -10px 0 0 10px;
			position: absolute;
			width: 0;
		}

		.shop-progress li:has(~ li.done):after {
			border-left: 25px solid #5388c7;
		}

		.shop-progress li:not(:first-child):before {
			border-bottom: 30px solid transparent;
			border-left: 25px solid white;
			border-top: 30px solid transparent;
			content: "";
			height: 0;
			left: 0;
			margin: -10px 0 0 0;
			position: absolute;
			width: 0;
		}

		.shop-progress li:has(~ li.done) {
			background-color: #5388c7;
		}

		.shop-progress li.done {
			background-color: #5388c7;
		}

/*─────────────────────────────────────────────*
 *               Footer Styles                 *
 *─────────────────────────────────────────────*/
footer {
	color: var(--footer-color);
	padding-top: 3em;
}

	footer a {
		color: var(--footer-link-color);
	}

	footer p {
		font-size: 1em;
	}

	footer h3 {
		color: var(--footer-strong-color);
		font-size: 1.1em;
		font-weight: 700;
		margin-top: 40px;
	}

	footer .block:first-of-type h3 {
		margin-top: 0;
	}

	footer .copyright-container {
		background-color: var(--copyright-container-background-color);
		border-radius: 5px;
		display: inline-block;
		margin: 3em auto;
		padding: var(--copyright-container-padding);
		text-align: center;
		width: auto;
	}

		footer .copyright-container li {
			border-top: var(--copyright-container-separator-border);
			padding: 0.25em 0;
		}

			footer .copyright-container li:first-child {
				border-top: none;
				padding-top: 0;
			}

			footer .copyright-container li:last-child {
				padding-bottom: 0;
			}

		footer .copyright-container small {
			font: inherit;
		}

	footer .umb-block-grid__layout-container {
		grid-auto-rows: min-content;
	}

/*────────────────────────────────────*
 *               Accordion            *
 *────────────────────────────────────*/

.accordion-header img {
	height: 64px;
	margin-right: 15px;
	width: 64px;
}

.accordion-button:not(.collapsed) {
	color: black;
	background-color: transparent;
	box-shadow: none;
}

.accordion-button:focus {
	box-shadow: none;
}

#accordionBySections .accordion-button {
	border-top: 1px solid #aaa;
	box-shadow: none;
	padding: 0;
}

#accordionByCategories > .accordion-item {
	border: 0;
}

#accordionByCategories .accordion-button {
	border: 0;
}

#accordionByCategories > .accordion-item + .accordion-item {
	border-top: 1px solid #aaa;
	margin-top: 15px;
	padding-top: 15px;
}

#accordionByCategories > .accordion-item > .accordion-header .accordion-button {
	box-shadow: none;
	padding: 0;
}

.accordion-button::after {
	background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !important;
}

.accordion-button[disabled]::after {
	background-image: none !important;
}

.article .accordion-item {
	border: 0;
}

.article .accordion-button {
	border-radius: 0 !important;
}

.article table {
	margin-bottom: 15px;
}

.article table,
.article th,
.article td {
	border: 1px solid #aaa;
}

.article th {
	font-weight: 200;
	text-align: center;
}

#article-nav {
	position: sticky;
	top: calc(var(--header-height) + var(--content-pt));
}

/*───────────────────────────────────────────*
 *               Lightbox2 Styles            *
 *───────────────────────────────────────────*/

.lightbox {
	align-content: center;
	align-items: center;
	height: 100%;
	display: flex;
	flex-direction: column;
	position: fixed !important;
	top: 0 !important;
}

#lightboxOverlay {
	height: 100% !important;
	left: 0;
	position: fixed !important;
	top: 0;
	width: 100% !important;
}

.lb-outerContainer {
	margin: auto;
}

.lb-image {
	margin: auto;
}

.lb-close {
	bottom: 100%;
	position: fixed;
	right: 3%;
	top: 30px;
}

/*─────────────────────────────────────────────*
 *               Media Query Styles            *
 *─────────────────────────────────────────────*/

@media (min-width: 300px) {
	.about-overview .box footer .btn {
		font-size: 1.1em;
		padding: 0.5em 1em 0.5em 1em;
		width: auto;
	}
}

@media (min-width: 576px) {
	.container {
		margin: 0;
		max-width: 100%;
		width: 100%;
	}

	.about-overview .box footer .btn {
		font-size: 1.1em;
		padding: 0.5em 1em 0.5em 1em;
		width: auto;
	}

	.nav-tabs > .nav-item {
		width: auto;
	}

		.nav-tabs > .nav-item > a:not(.active) {
			border: 1px solid transparent;
		}

		.nav-tabs > .nav-item > a {
			border-top-right-radius: 0.375em !important;
			border-top-left-radius: 0.375em !important;
		}
}

@media (min-width: 768px) {
	:root {
		--content-pt: 44px;
		--header-height: 116px;
	}

	#desktop-menu {
		display: block;
	}

	#mobile-menu {
		display: none;
	}

	#page-wrapper > header .row {
		align-items: center;
		gap: 0;
		padding: 10px 0 10px 0;
		text-align: left;
	}

	#btn-back-to-top {
		font-size: 2em;
		height: 60px;
		padding: 8px 0;
		width: 60px;
	}

	.header-text {
		font-size: 2em;
	}

	.header-text-container {
		text-align: left;
	}

	.search-container {
		margin-top: 65px;
	}

	footer h3 {
		margin-top: 0px;
	}

	footer .copyright-container li {
		border-left: var(--copyright-container-separator-border);
		border-top: none;
		display: inline-block;
		padding: 0 1em;
	}

		footer .copyright-container li:first-child {
			border-left: none;
			padding-left: 0;
		}

		footer .copyright-container li:last-child {
			padding-right: 0;
		}

	#btn-mobile-menu {
		visibility: hidden;
	}
}

@media (min-width: 1200px) {
	.container {
		max-width: 1200px;
	}
}
