:root {
	--focus-color: #cf0000;
	--focus-color-opacity20: #cf000042;
	--fancybox-opacity: 0.8;
}

b, strong {
	font-weight: 700;
}

h2 {
	@media (max-width: 991px) {
		font-size: 28px;
	}

	@media (min-width: 992px) {
		font-size: 48.55px;
	}
}

h3 {
	@media (max-width: 991px) {
		font-size: 28px;
	}

	@media (min-width: 992px) {
		font-size: 48.55px;
	}

	font-weight: 300;
}

hr {
	opacity: 1;
	border: 1px solid #2a292a;
}

header {
	background: #fff;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	padding: 10px 0;
}

header .row {
	justify-content: space-between;
}

.logo {
	width: auto;
	max-width: 100%;
	max-height: 40px;
}

p.intro {
	@media (max-width: 991px) {
		font-size: 18px;
	}

	@media (min-width: 992px) {
		font-size: 20px;
	}
}

div.version {
	margin-top: 10px;
	padding-bottom: 25px;
}

div.version .form-select {
	border-radius: 0;
	border-top: 2px solid #000;
	border-bottom: none;
	border-left: none;
	border-right: none;
	background-color: transparent;
	font-size: 20px;
	font-weight: 400;
	color: #6f7071;
}

div.intro {
	padding-top: 65px;
	padding-bottom: 32px;
}

div.intro h1 {
	font-weight: bold;
	letter-spacing: -1.5px;
	transition: 0.15s;
	cursor: pointer;
	color: #00a583;

	@media (max-width: 991px) {
		font-size: 36px;
	}

	@media (min-width: 992px) {
		font-size: 62.55px;
	}
}

div.help {
	padding-top: 50px;
	padding-bottom: 100px;
}

div.back {
	margin-top: 25px;
	text-align: left;
}

div.back a {
	color: #2a292a;
	background: url(../img/zurueck.svg) 15px center no-repeat #fff;
	border-radius: 20px;
	transition: 0.25s;
	padding: 0 25px 0 40px;
	line-height: 40px;
	display: inline-block;
	text-decoration: none;
	background-size: 15px;
	margin: 10px 0;
	font-size: 18px;
}

div.back a:hover {
	background-color: #e6e6e6;
	color: #2a292a;
}

div.next {
	margin-top: 25px;
	text-align: right;
}

div.next a {
	color: #2a292a;
	background: url(../img/weiter.svg) calc(100% - 15px) center no-repeat #fff;
	border-radius: 20px;
	transition: 0.25s;
	padding: 0 40px 0 25px;
	line-height: 40px;
	display: inline-block;
	text-decoration: none;
	background-size: 15px;
	margin: 10px 0;
	font-size: 18px;
}

div.next a:hover {
	background-color: #e6e6e6;
	color: #2a292a;
}

div.tile-menu {
	padding-top: 25px;
	padding-bottom: 25px;
}

div.menu-level-1-choice {
	padding-top: 75px;
	padding-bottom: 50px;
}

div.search img {
	margin-bottom: 12px;
}

div.search img.slider {
	width: 100%;
}

div.search label {
	width: 100%;
	position: relative;
}

div.search .select2-container .select2-selection--single {
	border: none;
	background: none;
	border-radius: 0 !important;
	height: 36px;
	padding: 2px 0 0 10px;
}

div.search .select2 .select2-selection__arrow {
	top: 7px;
	right: 15px;
}

div.search .select2 .select2-selection__arrow b {
	border: none;
	background-image: url(/img/suchfeld.svg);
	background-size: cover;
	width: 20px;
	height: 20px;
	margin: 0;
	left: 0;
	top: 2px;
}

.select2-container--open .select2-dropdown {
	border-radius: 20px !important;
	top: -36px;
}

.select2-container--open .select2-dropdown.select2-dropdown--above {
	top: auto;
	margin-top: 36px;
}

.select2-container .select2-search--dropdown {
	padding: 0;
}

.select2-container .select2-search--dropdown .select2-search__field,
.select2-container .select2-search--dropdown .select2-search__field:focus-visible {
	border: none !important;
	outline: none !important;
	background: url(/img/suchfeld.svg) calc(100% - 13px) 5px no-repeat;
	background-size: 20px;
	padding: 0 15px;
	height: 33px;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
	background-color: #5f6069;
}

/*
.select2-container .select2-results > .select2-results__options > li:last-child {
        display: none;
}
*/

.select2-dropdown {
	overflow: hidden;
	border-radius: 0px !important;
	border: 2px solid #000 !important;
}

div.search label::after:focus-visible {
	scale: 1.2;
}

div.search input:focus-visible {
	outline: none;
}

span.active {
	background-color: red;
	border: 2px solid red;
	border-radius: 50%;
	height: 10px;
	width: 10px;
	display: inline-block;
	margin-right: 8px;
	margin-left: 8px;
}

span.inactive {
	border-radius: 50%;
	height: 10px;
	width: 10px;
	display: inline-block;
	border: 2px solid #aaa;
	margin-right: 8px;
	margin-left: 8px;
}

div.title-menu {
	padding: 50px 0;
}

div.title-menu h1 {
	transition: 0.25s;
	letter-spacing: -1.5px;
	font-weight: 600;

	@media (max-width: 991px) {
		font-size: 40px;
		line-height: 44px;
	}

	@media (min-width: 992px) {
		font-size: 60px;
		line-height: 68px;
	}
}

div.title-menu img {
	width: auto;
	overflow: hidden;
	margin-bottom: 50px;

	@media (max-width: 991px) {
		max-width: 100%;
	}

	@media (min-width: 992px) {
		max-width: 60%;
	}
}

div.help-wrapper-background {
	background: linear-gradient(45deg, rgba(255, 255, 255, 1) 0%, rgba(239, 239, 239, 1) 100%);
}

div.tile-menu div.tile-inside {
	color: #2a292a;
	background: #fff;
	border-radius: 20px;
	transition: 0.25s;
	padding: 0 20px;
	position: relative;
}

div.tile-menu div.tile-inside:hover {
	background-color: #e6e6e6;
	color: #2a292a;
}

div.tile-menu div.tile-inside p {
	position: absolute;
	left: 75px;
	top: 50%;
	transform: translateY(-50%);
}

div.tile-inside {
	min-height: 80px;
	padding-bottom: 25px;
	margin: 10px 0;
}

div.tile-menu a {
	text-decoration: none;
}

div.tile-menu div.tile-inside img {
	max-width: 60px;
	padding: 20px 20px 0 0;
	float: left;
}

div.tile-menu div.tile-inside img:hover {
	scale: 1.1;
	transition: 0.15s;
	animation: shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
	transform: translate3d(0, 0, 0);
	backface-visibility: hidden;
	perspective: 1000px;
}

div.tile-menu div.col-md-3 {
	transition: 0.25s;
}

div.search label {
	width: 100%;
}

div.search label input {
	width: 100%;
	border-radius: 16px;
	border: 2px solid #dfdfdf;
	padding-left: 12px;
	height: 36px;
	padding-right: 42px;
	transition: 0.25s;
}

div.menu-level-2-choice {
	background: #fff;
	border-radius: 20px;
	margin-bottom: 50px;
    overflow: auto;
}

div.menu-level-2-choice .image {
    width: 75px;
    float: left;
}

div.menu-level-2-choice .title {
    width: calc(100% - 75px);
    padding-right: 15px;
    float: right;
}

div.menu-level-2-choice img {
	@media (max-width: 991px) {
    	width: 50px;
        margin: 15px;
	}

	@media (min-width: 992px) {
    	width: 50px;
        margin: 25px 15px;
	}
}

div.menu-level-2-choice h1 {
	font-weight: 700;

	@media (max-width: 991px) {
		font-size: 28px;
		padding: 18px 0;
		hyphens: auto;
	}

	@media (min-width: 992px) {
		font-size: 50px;
		padding: 15px 0;
	}
}

div.menu-level-2-choice h2 {
	font-weight: normal;
	font-size: 1.5rem;
	font-weight: 300;
}

div.menu-level-2 {
	padding-top: 12px;
	padding-bottom: 12px;
	margin-bottom: 100px;
}

div.menu-level-2:hover {
}

div.menu-level-2 hr {
	border-width: 2px;
	margin: 0px;
}

div.menu-level-2-item {
	padding: 2px 0;
}

div.menu-level-2-item a {
	text-decoration: none;
	color: #000;
	transition: 0.25s;
	width: 100%;
	display: inline-block;
}

div.menu-level-2-item:hover a {
	color: #5f6069;
}

a.menu-level-2-item-link::after {
	content: '';
	background-image: url(/img/rechts_black.svg);
	position: inherit;
	width: 27px;
	height: 27px;
	transition: 0.25s;
	display: inline-block;
	float: right;
}

div.menu-level-3 {
	background: #fff;
	padding: 20px;
	border-radius: 20px;
}

html {
	height: 100%;
}

body {
	font-family: 'Moderat', sans-serif;
	font-weight: 400;
	background: #f7f7f7;
	height: 100%;

	@media (max-width: 991px) {
		font-size: 18px;
	}

	@media (min-width: 992px) {
		font-size: 20px;
	}
}

body.detail2 {
	background: #f7f7f7;
}

body.export, body.support {
	background: #fff;
}

header > img {
	margin-top: 16px;

	padding-right: 16px;
}

header div.company-logo {
	width: 50%;
}

header div.company-logo img {
	width: 100%;

	object-fit: contain;
}

header div.operators {
	width: 50%;

	display: flex;

	flex-direction: row;

	margin-top: 10px;

	margin-left: 64px;
}

header div.operators img {
	width: 32px;

	height: 32px;

	margin-left: 12px;

	margin-right: 12px;
}

header > a {
	margin-left: auto;
}

aside.environment {
	background: linear-gradient(45deg, rgba(69, 152, 10, 1) 0%, rgba(173, 227, 55, 1) 100%);

	color: white;

	line-height: 1.66;

	font-size: 1.25rem;

	padding: 20px 0;
}

aside.environment h1, aside.environment h2 {
	font-weight: bold;
	text-transform: uppercase;
}

footer {
	background: #FBBA00 ;
	background: linear-gradient(90deg,rgba(251, 186, 0, 1) 0%, rgba(234, 82, 151, 1) 100%);
	color: #2a292a;
	line-height: 1.6;
	padding-top: 18px;
	padding-bottom: 12px;
	height: 240px;
	margin-top: -240px; /* Höhe des Footers */

	@media (max-width: 991px) {
		border-top-left-radius: 25px;
		border-top-right-radius: 25px;
	}

	@media (min-width: 992px) {
		border-top-left-radius: 50px;
		border-top-right-radius: 50px;
	}
}

footer a {
	color: #FFF;
	text-decoration: none;
}

footer img {
	margin-top: 35px;
	width: auto;
	max-height: 40px;
	display: block;
}

footer p {
	color: #FFF;
	font-size: 18px;
}

.site {
	height: auto;
	min-height: 100%;
}

main {
	padding-bottom: 300px; /* Höhe des Footers */
}

.file a {
	color: #2a292a;
	text-decoration: none;
	border-radius: 0;
	border: none;
	padding: 10px 15px;
	font-style: italic;
	font-weight: bold;
}

.file a:hover {
}

.file a.no-background, .file a.no-background:hover {
	background: none;
	padding: 10px 0;
}

.file a.no-background img {
	max-width: 100%;
}

.file img {
        max-width: 100%;
        height: auto;
}

.file .row > div {
	margin-bottom: 30px;
}

.file .row > div:last-of-type {
	margin-bottom: 0;
}

.file1, .file2, .file3 {
	margin: 10px 0;
}

.file1 .col-2 img, .file2 .col-2 img, .file3 .col-2 img {
	width: 100%;
}

.file1 table, .file2 table, .file3 table {
	width: 100%;
}

.file1 table p, .file2 table p, .file3 table p {
	margin: 0;
}

.file1 table th, .file2 table th, .file3 table th {
	background: none;
	padding: 5px 15px;
	vertical-align: center;
	border-bottom: 2px solid #000;
}

.file1 table tr, .file2 table tr, .file3 table tr {
	border-bottom: 1px solid #5f6069;
}

.file1 table td, .file2 table td, .file3 table td {
	padding: 5px 15px;
}

.overlay button {
	background: #000;
	border-radius: 0;
	border: none;
	padding: 10px 15px;
	margin: 15px auto;
	width: 50px;
	color: #fff;
}

.overlay button:hover {
	background: #5f6069;
}

.menu {
	display: flex;
}

.dropdown {
	position: static;
}

.language, .language:hover, .language:active, .language:focus, .language.show {
	background: none;
	border: none;
	color: #2a292a;

	@media (max-width: 991px) {
		font-size: 18px;
		padding: 7px 0 0;
	}

	@media (min-width: 992px) {
		font-size: 20px;
		padding: 0;
	}
}

.realm, .realm:hover, .realm:active, .realm:focus {
	background: url(/img/menu.svg) center no-repeat;
	border: none;
	width: 30px;
	height: 30px;
	background-size: 25px;

	@media (max-width: 991px) {
		margin-top: 6px;
	}

	@media (min-width: 992px) {
		margin-top: 2px;
	}
}

.realm.show, .realm.show:hover, .realm.show:active, .realm.show:focus {
	background: url(/img/close.svg) center no-repeat;
	background-size: 25px;
}

.realm:after {
	display: none;
}

.realm + ul {
	width: calc(100% + 4px);
	border: none;
	border-radius: 0;
	background-color: #fff;
	padding: 0 15px 50px;
	transform: translate(-2px, 55px) !important;
	overflow-y: auto;
}

.realm + ul li {
	background-size: 20px;
	background-repeat: no-repeat;
	background-position: 25px center;
	border-top: 1px solid #2a292a;
	padding: 0;
}

.realm + ul li a {
	padding: 0 15px;
	display: block;
	white-space: nowrap;
	text-decoration: none;
	color: #2a292a;
	line-height: 50px;
	background: url(../img/rechts.svg) calc(100% - 30px) center no-repeat;
	background-size: 27px;
}

.realm + ul li span {
	width: 50px;
	text-align: right;
	display: inline-block;
	padding-right: 10px;
}

.realm + ul li:first-child a:before, .realm + ul li:last-child a:before {
	display: none;
}

.filter, .filter:hover, .filter:active, .filter:focus {
	background: url(/img/filter.svg) #00a583 center no-repeat;
	background-size: 20px;
	border: none;
	border-radius: 100%;
	width: 40px;
	height: 40px;
}

.filter:after {
	display: none;
}

.filter + .dropdown-menu {
	border-radius: 20px;
	background: #00a583;
	color: #fff;
}

.filter + .dropdown-menu .btn {
	border-radius: 20px;
	background: #00a583;
	border: none;
	color: #fff;
}

.flex-direction-nav a {
	bottom: -40px;
	top: auto;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

.flex-direction-nav a.flex-prev {
	background: url(/img/links.svg);
	left: 0 !important;
	opacity: 1;
}

.flex-direction-nav a.flex-next {
	background: url(/img/rechts.svg);
	right: 0 !important;
	opacity: 1;
}

.flex-direction-nav a::before {
	display: none;
}

.flex-control-paging li a {
	background: #f2f2f2;
}

.flex-control-paging li a.flex-active {
	background: #cd0000;
}

.step {
	font-size: 1.5rem;
}

.fancybox__container .has-image .fancybox__content {
	width: 90% !important;
	height: 90% !important;
}

form.search {
	background: #00a583;
	height: 40px;
	border-radius: 20px;
	position: relative;
}

form.search input[type='text'] {
	padding: 5px 15px 0 40px;
	border: none;
	width: 100%;
	background: none;
	color: #fff;
}

form.search input[type='submit'] {
	background: url(/img/suchfeld.svg) center no-repeat;
	border: none;
	background-size: 20px;
	width: 20px;
	position: absolute;
	left: 10px;
	top: 0;
	height: 40px;
}

.container-xxl {
	--bs-gutter-x: 2.5rem;
}

.btn-home {
	background: url(/img/Zum-Produkt.svg) 15px center no-repeat #2a292a !important;
	padding-left: 40px !important;
}

.btn-extern {
	background: url(/img/Zur-muli-Website.svg) calc(100% - 15px) center no-repeat #2a292a !important;
	padding-right: 40px !important;
}

.btn-home,
.btn-extern {
	background-size: 15px !important;
	border-radius: 20px !important;
	display: inline-block !important;
	color: #fff !important;
}

.btn-primary {
	background: #2a292a;
	border-radius: 20px;
	border: none;
	color: #fff;
	padding: 10px 15px;
	margin: 15px 0;
	width: 100%;
	font-size: 18px;
	max-width: 150px;
}

.btn-primary:active, .btn-primary:focus, .btn-primary:hover {
	color: #fff !important;
	background: #4d4d4d !important;
}

.btn-dark {
	background: #000;
	border-radius: 20px;
	border: none;
	padding: 10px 15px;
	margin: 15px auto;
	width: 100%;
	max-width: 150px;
}

.btn-dark:hover {
	background: #5f6069;
}

.btn-wait {
	cursor: wait;
	opacity: 0.5;
}

.dropdown-menu {
	border-radius: 0;

	@media (max-width: 991px) {
		font-size: 18px;
	}

	@media (min-width: 992px) {
		font-size: 20px;
	}
}

.dropdown-item:focus, .dropdown-item:hover {
	color: #fff;
	background: #5f6069;
}

.export h1, .support h1 {
	margin: 15px 0;
	font-size: 30px;
}

.export p, .support p {
	margin-bottom: 15px;
	font-size: 18px;
}

.export ul, .support ul {
	list-style: none;
	padding: 0;
}

.export a, .support a {
	color: #2a292a;
	font-size: 14px;
	text-decoration: none;
	line-height: 40px;
	padding: 0 15px;
}

.export .mail, .support .mail {
	background: url(../img/mail.svg) left center no-repeat;
	padding-left: 30px;
}

.export .telefon, .support .telefon {
	background: url(../img/telefon.svg) left center no-repeat;
	padding-left: 30px;
}

.fancybox__content {
	border-radius: 20px;
}

.green {
	background: url(../img/Kreis-nachhaltigkeit.svg) center no-repeat;
	background-size: cover;
	padding: 75px;
	position: relative;
	text-align: center;
}

.scroll-top {
	overflow: hidden;
	transition: all 0.3s ease-in-out;
	z-index: 1020;
	background-color: #494949;
	color: #ffffff;
	bottom: 15px;
	right: 15px;
	position: fixed;
	opacity: 0;
	width: 3em;
	height: 3em;
	border-radius: 4px;
}

.scroll-top.scroll-top-visible {
	opacity: 1;
}

.scroll-top .scroll-top-icon {
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
}

.scroll-top .scroll-top-icon::before {
	content: "";
	position: absolute;
	height: 30%;
	width: 30%;
	border-top: 1px solid;
	border-left: 1px solid;
	top: 55%;
	left: 55%;
	transform: translate(-50%,-50%);
}

.category {
    background: #FFF;
    padding: 20px;
    border-radius: 20px;
}

.category a {
    background: url(../img/weiter.svg) no-repeat calc(100% - 15px) center #f7f7f7;
    background-size: 15px;
    border-radius: 20px;
    color: #000;
    display: block;
    padding: 5px 15px;
    text-decoration: none;
    margin-bottom: 15px;
}

.category h2 {
    margin-bottom: 15px;
}
