html {
	scroll-padding-top: 7.75rem;
}

body {
	overflow-y: scroll;
	font-size: 1.25rem;
	line-height: 1.75rem;
}

h1,
.h1 {
	font-size: 3.375rem;
	font-weight: 500;
}

h2,
.h2 {
	font-size: 3.0rem;
/*	font-weight: 700;*/
	font-weight: 500;
	margin-bottom: 3rem;
}

h3,
.h3 {
	font-size: 2.125rem;
	font-weight: 500;
	line-height: 1.4;
	margin-bottom: 1.5rem;
}

h4,
.h4 {
	font-size: 1.75rem;
	font-weight: 500;
}

a {
	text-decoration: none;
	color: rgba(var(--bs-link-hover-color-rgb), 1);
}

/*a {
	text-decoration: underline;
	text-decoration-color: rgba(var(--bs-link-hover-color-rgb), 1);
}*/

a:hover {
/*	color: rgba(var(--bs-link-hover-color-rgb), 1);*/
/*	text-decoration: none;*/
	color: var(--bs-body-color);
}

p:last-of-type {
	margin-bottom: 0;
}

ul.icon-li-blue li,
ul.icon-li-green li,
ul.icon-li-pdf li {
	list-style: none;
	margin-bottom: 1rem;
}

ul.icon-li-blue li::before {
	font-family: 'Font Awesome 6 Pro';
	content: "\e1d4";
	position: absolute;
	margin-left: -2rem;
	color: var(--bs-secondary-4);
}

ul.icon-li-green li::before {
	font-family: 'Font Awesome 6 Pro';
	content: "\e1d4";
	position: absolute;
	margin-left: -2rem;
/*	color: var(--bs-primary-bg-subtle);*/
	color: var(--bs-primary);
}

ul.icon-li-pdf li::before {
	font-family: 'Font Awesome 6 Pro';
	content: "\e094";
	position: absolute;
	margin-left: -2rem;
	color: var(--bs-body-color);;
}

ul.icon-li-blue,
ul.icon-li-green,
ul.icon-li-pdf {
	padding-left: 2rem;
}

input:focus {
	box-shadow: 0 0 0 .25rem rgba(153, 201, 22,.25)!important;
}

input[readonly] {
	background: transparent!important;
	box-shadow: inset 0px 0px 0px .125rem var(--bs-primary-3);
}

select {
	padding-right: 2.25rem!important;
}

legend {
	font-size: 1.25rem;
	line-height: 1.75rem;
}

button:focus-visible {
	box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, .5);
}


/* TYPO3 Reboot */
.extbase-debugger {
	overflow: visible;
}

.frame-type-textmedia .ce-gallery, 
.frame-type-textmedia .ce-column,
.frame-type-textmedia .ce-outer,
.frame-type-textmedia .ce-inner {
	float: none;
}

.ce-gallery figure {
	display: inline-block;
	margin: 0 0 1rem;
}

.ce-gallery figure.video {
	width: 100%
}

.ce-gallery figcaption {
	display: block;
}

.ce-outer, 
.ce-inner {
	width: 100%;
}

.ce-left .row > * {
	text-align: left;
}

.ce-center .row > * {
	text-align: center;
}

.ce-right .row > * {
	text-align: right;
}

.typo3-messages {
	list-style: none;
    padding-left: 0;
}


/* Bootstrap */
.placeholder {
	background-color: transparent;
}

.fs-5 {
	font-size: 1.3125rem !important;
}

.fs-7 {
	font-size: 0.875rem !important;
}

.border-10 {
	border-width: 10px !important;
} 

figure {
	margin: 0 0 0;
}

.text-primary-5 {
	--bs-text-opacity: 1;
	color: rgba(var(--bs-primary-5-rgb), var(--bs-text-opacity)) !important;
}

.bg-primary-1 {
	--bs-bg-opacity: 1;
	background-color: rgba(var(--bs-primary-1-rgb),var(--bs-bg-opacity))!important
}

.bg-secondary-1 {
	--bs-bg-opacity: 1;
	background-color: rgba(var(--bs-secondary-1-rgb), var(--bs-bg-opacity)) !important;
}

.btn-primary-3 {
    --bs-btn-bg: var(--bs-primary-3);
    --bs-btn-border-color: var(--bs-primary-3);
    --bs-btn-hover-bg: var(--bs-primary-3);
    --bs-btn-hover-border-color: var(--bs-primary-3);
    --bs-btn-active-bg: var(--bs-primary-3);
    --bs-btn-active-border-color: var(--bs-primary-3);
    --bs-btn-disabled-color: var(--bs-white);
    --bs-btn-disabled-bg: var(--bs-primary-3);
    --bs-btn-disabled-border-color: var(--bs-primary-3);
}

.navbar {
	--bs-navbar-color: rgba(var(--bs-dark-rgb), 1);
	--bs-navbar-active-color: rgba(var(--bs-primary-rgb), 1);
	--bs-navbar-hover-color: rgba(var(--bs-dark-rgb), 1);
	border-radius: var(--bs-border-radius-xl);
}

.navbar .dropdown-item:focus,
.navbar .dropdown-item:hover {
	background-color: transparent;
}

.navbar .dropdown-item:focus,
.navbar .dropdown-item:hover,
.navbar .dropdown-item.active {
	color: var(--bs-body);
}

#menuHeader .dropdown-menu {
	--bs-dropdown-min-width: 100%;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	border: 0;
	visibility: hidden;
	opacity: 0;
	transition: opacity .25s ease-in-out;
}

.navbar .dropdown-menu {
	--bs-dropdown-min-width: 74rem;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	border-radius: 0;
	border: 0;
	visibility: hidden;
	opacity: 0;
	transition: opacity .25s ease-in-out;
}

.navbar .dropdown-menu .dropdown-item img.wrap-img-active {
	transition: opacity .25s ease-in-out;
	opacity: 0;
}

.navbar .dropdown-menu .dropdown-item.active img.wrap-img-active,
.navbar .dropdown-menu .dropdown-item:hover img.wrap-img-active {
	opacity: 1;
}

#menuHeader .dropdown:hover > .dropdown-menu,
#menuHeader .dropdown > .dropdown-menu.show,
.navbar .dropdown:hover > .dropdown-menu,
.navbar .dropdown > .dropdown-menu.show {
	visibility: visible;
	opacity: 1;
}

#menuHeader .nav-item.dropdown,
.navbar .nav-item.dropdown {
	position: static;
}

#menuHeader .nav-item {
	cursor: pointer;
}

#menuHeader .nav-link {
	line-height: 2;
}

#menuHeader .nav-link.hover-active {
	background-color: var(--bs-btn-active-bg);
	border-color: var(--bs-btn-active-border-color);
	color: white;
}

#menuHeader .dropdown .nav-link.hover-active {
	--bs-bg-opacity: 1;
	background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}

#menuHeader .nav:hover .nav-link:not(.active, .hover-active) {
	color: var(--bs-body-color) !important;
}

.navbar .nav-item.dropdown .nav-link .icon {
	color: var(--bs-body-color);
}

.navbar .nav-item.dropdown .nav-link.active .icon {
	transform: rotate(180deg);
	color: var(--bs-primary) !important;
}

#menuHeader .wrap-dropdown-menu.shadow,
.navbar .wrap-dropdown-menu.shadow {
	box-shadow: 0px 4px 5px -1px rgba(0, 0, 0, 0.15) !important;
}

#menuHeader .wrap-dropdown-menu {
	margin: 0 -3rem;
	padding-top: 7rem;
}

#menuHeader .wrap-dropdown-menu.no-child {
	padding: 2.5rem;
}

.accordion-header {
	cursor: pointer;
}

.text-dark-3 {
	color: var(--bs-dark-3);
}

.spinner-border {
	background: url(/typo3conf/sites/default/images/icon_windrad.svg);
	border: 0;
}

/* frames */
.frame:not(.frame-type-shortcut) {
	margin-bottom: 4rem;
}

.frame-space-before-extra-small { margin-top: 1em!important; }
.frame-space-before-small { margin-top: 2em!important; }
.frame-space-before-medium { margin-top: 3em!important; }
.frame-space-before-large { margin-top: 4em!important; }
.frame-space-before-extra-large { margin-top: 5em!important; }

.frame-space-after-extra-small { margin-bottom: 1em!important; }
.frame-space-after-small { margin-bottom: 2em!important; }
.frame-space-after-medium { margin-bottom: 3em!important; }
.frame-space-after-large { margin-bottom: 4em!important; }
.frame-space-after-extra-large { margin-bottom: 5em!important; }
.frame-space-after-mb-accordion { margin-bottom:.5rem!important; }
.frame-space-after-mb-0 { margin-bottom:0!important; }
.frame-space-after-none { margin-bottom:0!important; }
.frame-space-after-mb-0-pb-0 { margin-bottom:0!important;padding-bottom:0!important; }


/* frame_class */
[class*="frame-bg-"],
[class*="frame-indent-bg-"] {
	clip-path: inset(0 -100vw);
}

.frame-layout-6,
.frame-layout-20,
.frame-layout-22,
.frame-layout-26,
.frame-layout-27 {
	box-shadow: none !important;
	clip-path: none !important;
}

[class*="frame-bg-"] #formOuterwrap {
	background-color: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
}


.frame-bg-primary-subtle:not(.frame-layout-30) {
	background-color: var(--bs-primary-bg-subtle);
	box-shadow: 0 0 0 100vw var(--bs-primary-bg-subtle);
	padding-top: 3rem;
	padding-bottom: 3rem;
}

.frame-bg-primary-1:not(.frame-layout-10) {
	background-color: var(--bs-primary-1);
	box-shadow: 0 0 0 100vw var(--bs-primary-1);
	padding-top: 3rem;
	padding-bottom: 3rem;
}

.frame-indent-bg-primary-1 {
	background-color: var(--bs-primary-1);
	box-shadow: 0 0 0 100vw var(--bs-primary-1);
	padding-top: 3rem;
	padding-bottom: 3rem;
	margin-left: 15%;
	margin-right: 15%;
}

.frame-bg-secondary {
	background-color: var(--bs-secondary);
	box-shadow: 0 0 0 100vw var(--bs-secondary);
	padding-top: 3rem;
	padding-bottom: 3rem;
}

.frame-bg-secondary-1:not(.frame-layout-10) {
	background-color: var(--bs-secondary-1);
	box-shadow: 0 0 0 100vw var(--bs-secondary-1);
	padding-top: 3rem;
	padding-bottom: 3rem;
}

.frame-bg-secondary-subtle:not(.frame-layout-30) {
	background-color: var(--bs-secondary-bg-subtle);
	box-shadow: 0 0 0 100vw var(--bs-secondary-bg-subtle);
	padding-top: 3rem;
	padding-bottom: 3rem;
}

.frame-bg-light {
	background-color: var(--bs-light);
	box-shadow: 0 0 0 100vw var(--bs-light);
	padding-top: 3rem;
	padding-bottom: 3rem;
}

.frame-bg-info-subtle {
	background-color: var(--bs-info-bg-subtle);
	box-shadow: 0 0 0 100vw var(--bs-info-bg-subtle);
	padding-top: 3rem;
	padding-bottom: 3rem;
}


/* frame-layout */
.frame-layout-5 .accordion {
	--bs-accordion-bg: var(--bs-primary);
	--bs-accordion-border-radius: var(--bs-border-radius-lg);
	--bs-accordion-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
	min-height: 11.25rem;
}

.frame-layout-5 .accordion-header.collapsed .icon {
	transform: rotate(0);
}

.frame-layout-5 .accordion-header .icon {
	transition: .3s all;
	transform: rotate(180deg);
}

.frame-layout-5.frame-bg-primary-subtle {
	padding-bottom: 0.375rem;
}

.frame-layout-6 .btn {
	margin-top: 4rem;
}

.frame-layout-6 .btn {
	width: 75%;
}

.frame-layout-10 .accordion-header.collapsed {
	transition: 1s border-radius;
	border-radius: var(--bs-border-radius-lg) !important;
}

.frame-layout-10 .accordion-header {
	border-bottom-right-radius: 0 !important;
	border-bottom-left-radius: 0 !important;
}

.frame-layout-10 .accordion-body > *:last-child {
	margin-bottom: 0;
}

.frame-layout-11 .bg-overlay {
	background: linear-gradient(to bottom, transparent 10%, var(--bs-info) 100%);
	padding-top: 8rem;
	padding-bottom: 2rem;
}

.frame-layout-12 iframe {
	border-radius: var(--bs-border-radius-xl) !important;
}

.frame-layout-16.frame-bg-16-primary-1 .bg-overlay {
	background: linear-gradient(to bottom, transparent 16%, var(--bs-primary-1) 16%, var(--bs-primary-1) 84%, transparent 84%);
}

.frame-layout-16.frame-bg-16-secondary-3 .bg-overlay {
	background: linear-gradient(to bottom, transparent 16%, var(--bs-secondary-3) 16%, var(--bs-secondary-3) 84%, transparent 84%);
}

.frame-layout-17.frame-bg-17-secondary-1 .bg-overlay {
	background: linear-gradient(to left, transparent 55%, var(--bs-secondary-1) 55%);
}

.frame-layout-17.frame-bg-17-secondary-1 .bg-overlay.overlay-right {
	background: linear-gradient(to right, transparent 55%, var(--bs-secondary-1) 55%);
}

.frame-layout-17 .py-special {
	padding-top: 5rem;
	padding-bottom: 5rem;
}

.frame-layout-20 .bg-overlay {
/*	padding-top: 11.875rem;*/
/*	padding-bottom: 11.875rem;*/
	padding-top: 7rem;
	padding-bottom: 7rem;
}

.frame-layout-20.frame-bg-20-secondary-3 .bg-overlay {
	background: linear-gradient(to right, transparent 55%, var(--bs-secondary-3) 55%);
}

.frame-layout-20.frame-bg-20-primary-1 .bg-overlay {
	background: linear-gradient(to right, transparent 55%, var(--bs-primary-1) 55%);
}

.frame-layout-20.frame-bg-20-secondary-3 .bg-overlay.overlay-left {
	background: linear-gradient(to left, transparent 55%, var(--bs-secondary-3) 55%);
}

.frame-layout-20.frame-bg-20-primary-1 .bg-overlay.overlay-left {
	background: linear-gradient(to left, transparent 55%, var(--bs-primary-1) 55%);
}

.frame-layout-20 .img-bubble {
/*	top: -9rem;*/
	top: -6rem;
}

.frame-layout-24 h3 {
	font-weight: 400;
	color: var(--bs-dark-3);
}

.frame-layout-25 a {
	text-decoration: underline;
	color: var(--bs-primary-5);
}

.frame-layout-26 .min-h-special {
	min-height: 3.5rem;
}

.frame-layout-26 {
	background-color: var(--bs-primary-bg-subtle);
	box-shadow: 0 0 0 100vw var(--bs-primary-bg-subtle);
	padding-top: 3rem;
	padding-bottom: 3rem;
	clip-path: inset(0 -100vw);
}

.frame-layout-26.frame-numbers-animation-2-bg-secondary-1 {
	background-color: var(--bs-secondary-1);
	box-shadow: 0 0 0 100vw var(--bs-secondary-1);
}

.frame-layout-27 .wrap-title,
.frame-layout-28 .wrap-title {
	min-height: 9rem;
}

.frame-layout-27 ul {
	text-align: left;
}

.frame-layout-30 .bg-overlay {
/*	background: linear-gradient(to right, transparent 33%, var(--bs-primary-bg-subtle) 33%);*/
	padding-top: 3rem;
	padding-bottom: 3rem;
}

.frame-layout-30 .description h2,
.frame-layout-30 .description .h2 {
	color: var(--bs-primary-5);
	font-weight: 400;
	line-height: 1.1;
}

.frame-layout-30.frame-bg-secondary-subtle .description h2 {
	color: var(--bs-secondary);
}

.frame-layout-30 .icon-arrow {
	padding: 1.25rem 1.34375rem;
}

.frame-layout-30 .carousel-control-next,
.frame-layout-30 .carousel-control-prev {
	position: relative;
	width: auto;
	opacity: 1;
}

.frame-layout-30 .carousel-indicators {
	font-size: 1.75rem;
}

.frame-layout-30 .carousel-indicators [data-bs-target] {
	text-indent: 0;
	background-color: transparent;
	cursor: auto;
	width: 100%;
	height: 100%;
	margin: 0;
}

.frame-layout-30 .carousel-indicators [data-bs-target]:not(.active) {
	display: none;
}

.frame-layout-30 .icon-quotes {
	left: -15rem;
	top: 1.5rem;
}

.frame-layout-35 h3,
.frame-layout-35 .h3 {
	font-size: 1.5rem;
	margin-bottom: 0;
}

.frame-layout-40 .h3 {
	font-size: 1.75rem;
	margin-bottom: 0;
}

.frame-layout-45 h4 {
	font-size: 1.5rem;
}

.frame-layout-45 .description p {
	font-size: 1.5rem;
}

.frame-layout-45 .description h3 {
	margin-bottom: 1rem;
	hyphens: auto;
}

.frame-layout-45 .description a {
/*	text-decoration: underline;*/
/*	color: var(--bs-primary-5);*/
	word-wrap: break-word;
}

.frame-layout-45 .max-h-special {
	max-height: 200px;
}

.frame-layout-100 .bg-item-overlay {
	top: -2rem;
	bottom: -4rem;
}

.frame-layout-32 .bg-item-overlay {
	top: -2rem;
	height: 2rem;
}

.frame-layout-100 .nav-link .btn-text,
.frame-layout-32 .nav-link .btn-text {
	transition: color .15s linear;
}

.frame-layout-100 .nav-link.active .btn-text,
.frame-layout-100 .nav-link:hover .btn-text,
.frame-layout-32 #thumbsBubble .splide__slide.is-active .nav-link .btn-text,
.frame-layout-32 .nav-link:hover .btn-text {
	color: var(--bs-body-color)!important;
}

.frame-layout-100 .nav-link .bubble-img-hover,
.frame-layout-32 .nav-link .bubble-img-hover,
.frame-layout-32 #splideBubble .splide__slide:not(.is-active) .text-bottom {
	opacity: 0;
	transition: opacity .15s linear;
}

.frame-layout-100 .nav-link:not(.active):hover .bubble-img-hover,
.frame-layout-32 #thumbsBubble .splide__slide:not(.is-active) .nav-link:hover .bubble-img-hover {
	opacity: 1;
}

.frame-layout-100 .nav-link.active .bubble-img-active,
.frame-layout-100 .nav-link:not(.active) .bubble-img-default,
.frame-layout-32 #thumbsBubble .splide__slide.is-active .nav-link .bubble-img-active,
.frame-layout-32 #thumbsBubble .splide__slide:not(.is-active) .nav-link .bubble-img-default {
	opacity: 1;
	transition: opacity .15s linear;
}

.frame-layout-100 .nav-link:not(.active) .bubble-img-active,
.frame-layout-100 .nav-link.active .bubble-img-default,
.frame-layout-32 #thumbsBubble .splide__slide:not(.is-active) .nav-link .bubble-img-active,
.frame-layout-32 #thumbsBubble .splide__slide.is-active .nav-link .bubble-img-default {
	opacity: 0;
}

.frame-layout-100 .splide__slide,
.frame-layout-32 .splide__slide {
	transition: opacity .2s ease-in;
}

.frame-layout-100 .bg-overlay-txt .image:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	background: linear-gradient(to bottom, rgba(38, 88, 116, 1) 0%, transparent 50%);
}

.frame-layout-32 #splideBubble .splide__slide:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	background: linear-gradient(to bottom, rgba(38, 88, 116, 1) 0%, transparent 50%);
}

.frame-layout-32 #splideBubble .splide__arrow--prev,
.frame-layout-32 #splideBubble .splide__arrow--next {
	/*opacity: 0;*/
	/*width: 30%;*/
	/*height: 100%;*/
	/*border-radius: 0;*/
	/*background: transparent;*/
	opacity: 1;
	--bs-bg-opacity: .2;
	background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity));
	width: 50px;
	height: 50px;
	padding: .8rem;
}

.frame-layout-32 #splideBubble .splide__arrow svg {
	fill: white;
}

#thumbsBubble .splide__slide.is-active {
	border: none;
}

.frame-layout-109 {
	padding-bottom: 0;
}

.frame-layout-10 .accordion-header .icon,
.frame-layout-110 .accordion-header .icon {
	transition: .3s all;
	transform: rotate(180deg);
}

.frame-layout-10 .accordion-header.collapsed .icon,
.frame-layout-110 .accordion-header.collapsed .icon {
	transform: rotate(0);
}

.frame-layout-120 .next-form-link,
.tx-dm-tariffcalculator .next-form-link {
	writing-mode: tb-rl;
	transform: rotate(-180deg);
	line-height: 2.5;
}

.frame-layout-120 .ms-negativ,
.tx-dm-tariffcalculator .ms-negativ {
	margin-left: -1rem;
}

.frame-layout-120 .px-special,
.tx-dm-tariffcalculator .px-special {
	padding-left: 2rem;
	padding-right: 1rem;
}

.frame-layout-33 .bg-item-overlay {
	top: -2rem;
	height: 2rem;
}

.frame-layout-33 #splide3Columns .splide__slide:not(.is-active) .text-bottom {
	opacity: 0;
	transition: opacity .15s linear;
}

.frame-layout-33 .splide__slide {
	transition: opacity .2s ease-in;
}

.frame-layout-33 #splide3Columns .splide__arrow--prev,
.frame-layout-33 #splide3Columns .splide__arrow--next {
	opacity: 1;
	--bs-bg-opacity: .2;
	background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity));
	width: 50px;
	height: 50px;
	padding: .8rem;
}

.frame-layout-33 #splide3Columns .splide__arrow svg {
	fill: white;
}


/* news */
.news .article .header h3 {
	font-size: 1.75rem;
}

.news .article .news-list-date {
	font-size: 1.125rem;
}

.news-single .teaser-text {
	font-size: 1.25rem !important;
	color: var(--bs-body-color) !important;
}

.news-single .bg-full-width {
	clip-path: inset(0 -100vw);
	background-color: #f3f7fa;
	box-shadow: 0 0 0 100vw #f3f7fa;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}

.news .footer {
	color: var(--bs-body-color) !important;
}

.news .footer p {
	line-height: 1.75rem !important;
}

.news ul.f3-widget-paginator {
	font-size: 1.5rem;
	float: right;
	padding-left: 0;
	display: flex;
	justify-content: center;
	width: 100%
}

.news ul.f3-widget-paginator li {
	display: block;
	padding: 0 0.3125rem;
}

.news ul.f3-widget-paginator li.current,
.news ul.f3-widget-paginator li:hover {
	color: var(--bs-primary);
}

.news-img-caption {
	color: var(--bs-body-color) !important;
	font-size: 1rem;
}

#splideNewsDetail:not(.arrows) .splide__arrows {
	display: none;
}

#splideNewsDetail .splide__arrow svg {
	fill: var(--bs-primary);
}

#splideNewsDetail .splide__arrow {
	background: white;
}

#splideNewsDetail .splide__slide img {
	max-height: 500px;
	object-fit: cover;
}

#thumbsNewsDetail .splide__track--nav>.splide__list>.splide__slide.is-active {
	border-color: var(--bs-primary);
}


/* indexedsearch */
ul.tx-indexedsearch-browsebox {
	display: flex;
	justify-content: center;
}

ul.tx-indexedsearch-browsebox li {
	float: none !important;
	display: block;
	padding: 0 0.3125rem !important;
	background: none;
}


/* Page */
body > header {
	top: -3.5rem !important;
}

body > header #logo img {
	transition: max-width .3s ease-in;
}

body > header.shrink #logo img {
	max-width: 75%;
}

body > header {
	z-index: 1050 !important;
}

body > header.bg-header {
	background: none;
}

body > header.bg-header #menuHeader .nav:not(:hover) .text-color-change {
	text-shadow: 1px 1px 4px #000;
}

body > header.bg-header.media-false {
	background: linear-gradient(to bottom, var(--bs-primary-1) 45%, transparent 45%);
}

body > header.bg-header.media-false #menuHeader .nav .text-color-change {
	text-shadow: none;
}

body > main {
	margin-top: 3rem;
}

body > main #media {
/*	margin-top: -8rem;*/
	margin-top: -11rem;
}

body > main #media .ratio-16x9 {
/*	--bs-aspect-ratio: 56.25%;*/
	--bs-aspect-ratio: 38.6%;
}

body > main #media img:not(.header-image-bubble),
body > main #media .placeholder {
	min-height: 740px;
	max-height: 740px;
	object-fit: cover;
}

body > main #media.media-image > div {
	max-height: 740px;
}

/*body > main #media > div,
body > main #media .ratio {
	max-height: 740px;
}*/


body > main .btn {
	font-size: 1.5rem;
	width: 50%;
	--bs-btn-padding-y: 1.469rem;
	--bs-btn-border-radius: var(--bs-border-radius-xl);
}

body > main .btn.min-w-50 {
	width: auto;
	min-width: 50%;
}

body > main .btn:hover,
body > main .btn.active,
.frame-layout-35 .wrap-element:hover {
	box-shadow: inset 0 .2rem .4rem rgba(0, 0, 0, 0.15) !important;
}

body > main form .btn {
	width: auto;
	/*font-size: 1.75rem;*/
	font-size: 1.5rem;
	font-weight: 500;
	--bs-btn-padding-x: 1.469rem;
/*	--bs-btn-padding-y: .875rem;*/
	--bs-btn-padding-y: .375rem;
	--bs-btn-border-radius: var(--bs-border-radius-lg);
}

body > footer h4 {
	font-size: 1.5rem;
	font-weight: 700;
}

body > footer {
	padding: 4rem 0;
}

.mw-1920 {
	max-width: 1920px;
}

#menuMobile:not(.mm-spn) {
	display: none;
}

#menuHeader {
	font-size: 1rem;
}

/*#menuHeader .tab-pane.active:before {
	content: '';
	position: absolute;
	top: 0;
	left: -3rem;
	z-index: -1;
	height: 100%;
	width: 500px;
	background-color: var(--bs-secondary-1);
	border-bottom-left-radius: var(--bs-border-radius-xl);
	border-bottom-right-radius: var(--bs-border-radius-xl);
}*/

/*#menuHeader [aria-selected="false"] {
	color: var(--bs-body-color) !important;
}*/

#menuMain {
	font-size: 1.125rem;
}

#media h1,
#media .h1 {
	font-size: 5.125rem;
}

#media .bg-overlay-txt {
	width: 75%;
/*	background: linear-gradient(75deg, rgba(var(--bs-info-rgb), 1) 49.9%, transparent 50%);*/
	background: linear-gradient(to right, rgba(var(--bs-info-rgb), 1) -10%, transparent 60%);
}

#marqueeTextSlide {
	padding: .75rem 0;
	margin-top: -.25rem;
}

#marqueeTextSlide .marquee-content {
	margin-top: -.25rem;
	display: flex;
	white-space: nowrap;
	animation: marquee 20s linear infinite;
}

@keyframes marquee {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-100%); }
}

#marqueeTextSlide .marquee-content .marquee-item {
	padding-right: 20rem;
}

#marqueeTextSlide .marquee-content .marquee-item a {
/*	color: var(--bs-primary);*/
}

#menuFooter {
	font-size: 1.125rem;
}

#menuSide {
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 9999999999;
}

#menuSide .wrapper .leading {
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
}

#menuSide .wrapper .content {
	left: 50px;
	top: 0;
/*	width: 400px;*/
	width: 600px;
	margin-right: -350px;
	box-shadow: none;
	transition: .4s ease;
}

#menuSide .wrapper {
	width: 50px;
	z-index: 2;
	transition: .4s ease;
}

#menuSide .wrapper:hover,
#menuSide .wrapper.js-focus {
/*	width: 450px;*/
	width: 600px;
	z-index: 99;
}

#menuSide .wrapper .leading {
	transition: .4s ease;
}

#menuSide .wrapper:hover .content,
#menuSide .wrapper.js-focus .content {
	box-shadow: 0 0.5rem 1rem rgb(0 0 0 / 15%) !important;
}


/* Menu mobile */
:root {
	--mm-spn-item-height: 55px;
}

.navbar-toggler a .line {
	display: block;
	width: 25px;
	height: 3px;
	margin: 6px auto;
	background-color: var(--bs-primary);
}

.navbar-toggler:focus {
	box-shadow: none;
}

.mm-spn.mm-spn--light {
	color: var(--bs-white);
	background: var(--bs-primary);
}

.mm-spn li {
	background: var(--bs-primary);
}

.mm-spn a:hover,
.mm-spn span:hover,
.mm-spn .mm-selected > a,
.mm-spn .mm-selected > a:hover,
.mm-spn .mm-selected > span {
	color: var(--bs-white);
	text-decoration: none;
}

.mm-spn li:after {
	margin-left: 0;
}

.mm-spn.mm-spn--navbar:before,
.mm-spn li:before {
	opacity: 1;
}

.mm-spn.mm-spn--navbar:after {
	opacity: 1;
}

.mm-spn ul:after {
	display: none;
}

.vp-player-ui-overlays {
	display: none;
}


/* forms */
.form-label {
	display: none;
}

.is-invalid .invalid-feedback {
	display: block;
}

.form-text {
	margin-top: .15rem;
	font-size: .75em;
	color: var(--bs-body-color);
}

.form-select, 
.form-control {
	border: 0;
	font-size: 1.25rem;
	border-radius: var(--bs-border-radius-lg);
	color: var(--bs-body-color);
	padding: .5rem .75rem;
}

.form-select option {
	color: var(--bs-body-color);
}

.form-select::placeholder,
.form-select:invalid,
.form-select:has(option[value=""]:checked),
.form-control::placeholder {
	/*color: var(--bs-dark-3);*/
	color: var(--bs-body-color);
}

.form-control.min-h-special {
	min-height: 6.8rem;
}

.form-check-input {
	--bs-form-check-bg: var(--bs-white);
	--bs-form-check-bg-image: none!important;

	border: 0;
	border-radius: .25em!important;
}

.form-check-input:checked {
	background-color: var(--bs-primary);
}

.form-check-input:checked {
	--bs-form-check-bg-image: url('/typo3conf/sites/default/images/icon_forms/icon_checked.svg')!important;
	background-color: var(--bs-white)!important;
	background-size: 80%;
}

.form-element-dropdown label {
	width: 100%;
	cursor: pointer;
}

.form-element-dropdown label {
	font-family: "Font Awesome 6 Pro";
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}

.form-element-dropdown label:before {
	content: "\f078";
	color: var(--bs-dark-3);
	font-size: 2rem;
	font-weight: 900;
}

.form-element-dropdown label span {
	font-family: var(--bs-body-font-family);
}

.tx-dm-tariffcalculator .tariff-type-select input:checked ~ label {
	background-color: var(--bs-primary-bg-subtle) !important;
	border-color: transparent !important;
	box-shadow: inset 0 .2rem .4rem rgba(0, 0, 0, 0.15) !important;
}

.tx-dm-tariffcalculator .tariff-type-select a:focus-visible {
	box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, .5) !important;
}

.tx-dm-tariffcalculator #result {
	scroll-margin-top: calc(50vh - 2rem - 7.75rem);
}

.tx-dm-tariffcalculator .tariffs {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tx-dm-tariffcalculator .tariff {
	grid-template-rows: subgrid;
	grid-row: auto / span 99;
}

.tx-dm-tariffcalculator .tariff .badge {
	margin-top: -2.375rem;
	margin-left: -.625rem;
}

.tx-dm-tariffcalculator .tariff:hover {
	border-color: var(--bs-primary)!important;
}

.tx-dm-tariffcalculator .tariff:hover .badge,
.tx-dm-tariffcalculator .tariff:hover .description {
	display: block!important;
}

.tx-dm-tariffcalculator .tariff .description {
	transform: translateY(100%);
	padding-left: calc(1.5rem + 10px) !important;
	padding-right: calc(1.5rem + 10px) !important;
	margin-left: -10px;
	margin-right: -10px;
}

div[id$="persons"] label {
	cursor: pointer;
}

div[id$="persons"] label .active {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: 0;
	transition: opacity .15s linear;
}

div[id$="persons"] input:checked[type=radio] ~ label .active {
	opacity: 1;
}

form[id^="contact"] textarea.form-control.min-h-special {
	min-height: 10.67rem;
}

/*TODO*/
form[id^="solarpotenzialrechner"] .img-dachform {
	cursor: pointer;
}

form[id^="solarpotenzialrechner"] .img-dachform .img-active {
	width: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: 0;
	transition: opacity .15s linear;
}


form[id^="solarpotenzialrechner"] .form-check-input:checked[type=radio] ~ .img-dachform .img-active,
form[id^="solarpotenzialrechner"] .img-dachform:hover .img-active {
	opacity: 1;
}

form[id^="solarpotenzialrechner"] .form-check-input:checked[type=radio] ~ .img-dachform .form-check-label {
	color: var(--bs-primary);
}
/*TODO*/






/* tx-dm-energy */
.tx-dm-energy .bg-overlay {
	background: linear-gradient(to right, white 25%, transparent 25%);
}

.tx-dm-energy .wrap-table-header {
	min-height: 8rem;
}

.tx-dm-energy .wrap-location {
	box-shadow: 5px 0 5px -5px rgba(0, 0, 0, 0.15);
}

.tx-dm-energy .swiper {
	--swiper-navigation-size: 25px;
}

.tx-dm-energy .swiper-button-next, .swiper-button-prev {
	top: 13%;
}



/* Media queries */
@media (max-width: 1919px) {
/*	body > main #media .ratio iframe {
		width: 1920px;
	}*/
}

@media (max-width: 1589px) {
	.frame-layout-19.frame-space-after-mb-0,
	.frame-layout-20.frame-space-after-mb-0 {
		margin-bottom: 3rem !important;
	}

	.tx-dm-tariffcalculator .tariff-type-select .btn:not(.active) .label {
		display: none;
	}
}

@media (max-width: 1399px) {
	body > header.sticky-top {
/*		position: fixed;*/
	}

	body > header {
		top: 0 !important;
	}

	body > header.bg-header {
		background: white !important;
		box-shadow: var(--bs-box-shadow);
	}

	body > main {
/*		margin-top: 0;*/
	}

	body > main #media h1,
	body > main #media .h1 {
		font-size: 1.3125rem;
	}

	body > main #media h2,
	body > main #media .h2,
	body > main #media h3,
	body > main #media .h3,
	body > main #media h4,
	body > main #media .h4 {
		font-size: 0.75rem;
		font-weight: 400;
	}

	body > main #media .description {
		position: relative !important;
		transform: none !important;
		background-color: var(--bs-primary-bg-subtle) !important;
		color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
		padding-top: 1rem !important;
		padding-bottom: 1rem !important;
	}

	body > main #media .description h1 {
		margin-bottom: 0 !important;
	}

/*
	body > main #media .description .mobile h1,
	body > main #media .description .mobile .h1 {
		margin-bottom: 0 !important;
	}
*/
	
	body > main #media {
/*		margin-top: 0;*/
		margin-top: -3rem;
	}

	body > main #media > div,
	body > main #media .img-mobile > div {
		max-height: 250px !important;
	}

	body > main #media img:not(.header-image-bubble),
	body > main #media .placeholder,
	body > main #media .img-mobile img,
	body > main #media .img-mobile .placeholder {
		object-fit: cover;
		min-height: 250px;
		max-height: 250px;
	}

	body > main #media #headerImageBubble {
		top: 30% !important;
	}

	.navbar {
		border-radius: 0;
	}

	.frame-layout-32 h2,
	.frame-layout-32 .h2 {
		font-size: 1.75rem;
	}
}

@media (max-width: 1199px) {
	.tx-dm-tariffcalculator .tariffs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.frame-layout-17.frame-bg-17-secondary-1 .bg-overlay,
	.frame-layout-17.frame-bg-17-secondary-1 .bg-overlay.overlay-right {
		background: var(--bs-secondary-1);
	}

	.frame-layout-17 .py-special {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}
	.frame-layout-20 .img-bubble {
		top: -2rem;
		max-width: 100px;
	}

	.frame-layout-20 .wrap-element {
/*		margin-top: 12rem;*/
		margin-top: 5rem;
	}

	.frame-layout-20 .bg-overlay {
		padding-top: 0;
		padding-bottom: 3rem;
	}

	.frame-layout-20.frame-bg-20-primary-1 .bg-overlay,
	.frame-layout-20.frame-bg-20-primary-1 .bg-overlay.overlay-left {
/*		background: linear-gradient(to bottom, transparent 40%, var(--bs-primary-1) 55%);*/
		background: var(--bs-primary-1);
	}

	.frame-layout-20.frame-bg-20-secondary-3 .bg-overlay,
	.frame-layout-20.frame-bg-20-secondary-3 .bg-overlay.overlay-left {
/*		background: linear-gradient(to bottom, transparent 40%, var(--bs-secondary-3) 55%);*/
		background: var(--bs-secondary-3);
	}

	.bg-white-after {
		position: relative;
		z-index: 1;
	}

	.bg-white-after:after {
	    content: '';
	    background: #fff;
	    position: absolute;
	    left: -50vw;
	    right: -50vw;
	    top: 0;
	    bottom: -1rem;
	    z-index: 0;
	    z-index: -1;
	}

	.only-top-news img,
	.frame-layout-19 .wrap-img {
		max-height: 250px;
		object-fit: cover;
	}

	.news .news-list-view .article .header h3,
	.news .news-list-view .article .header h3 {
		line-height: 2rem;
	}
	.news .news-list-view .article .teaser-text,
	.news .news-list-view .article .teaser-text,
	.news .news-list-view .article .more-link,
	.news .news-list-view .article .more-link {
		display: none;
	}

	.news .news-list-view .article .header h3,
	.news .news-list-view .article .header h3 {
		font-size: 1.5rem;
	}
}

@media (max-width: 991px) {
	body {
		line-height: 1.5rem;
	}

	h1,
	.h1 {

	}

	.frame-indent,
	.frame-indent-bg-primary-1 {
		margin-left: 0;
		margin-right: 0;
	}
/*
	.form-label {
		display: inline-block;
	}
*/

	.frame-layout-30 .bg-overlay.bg-color-mobile-1 {
		background: linear-gradient(to right, var(--bs-secondary-bg-subtle) 33%, var(--bs-secondary-bg-subtle) 33%) !important;
	}

	.frame-layout-30 .bg-overlay.bg-color-mobile-2 {
		background: linear-gradient(to right, var(--bs-primary-bg-subtle) 33%, var(--bs-primary-bg-subtle) 33%) !important;
	}

	.tx-dm-tariffcalculator .tariffs {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.tx-dm-tariffcalculator .tariff:hover .description {
		position: static!important;
		transform: none!important;
		margin-bottom: -1px;
	}

	body > main #media .header-image-bubble,
	.frame-layout-19 .img-bubble,
	.frame-layout-25 .img-bubble {
		max-width: 100px;
	}

	.frame-layout-26 img,
	.frame-layout-27 img,
	.frame-layout-28 img,
	.frame-layout-35 img {
		max-height: 80px;
	}

	.frame-layout-26 .min-h-special,
	.frame-layout-27 .wrap-title,
	.frame-layout-28 .wrap-title {
		min-height: auto;
	}

	.frame-layout-32 .bg-item-overlay,
	.frame-layout-33 .bg-item-overlay {
		width: 100%;
	}

	.frame-layout-32 #splideBubble .splide__arrows {
		/*display: none;*/
	}

	.frame-layout-45 h4,
	.frame-layout-45 .description p {
		font-size: 1rem;
	}

	    #menuSide {
        display: flex !important;
        top: calc(100% - 50px);
        right: .25rem;
		left: .25rem;
        transform: none;
        flex-direction: row !important;
        width: auto;
        gap: .25rem;
		justify-content: flex-end;
    }

	#menuSide .wrapper {
		width: 50px !important;
		position: static !important;
		margin-top: 0 !important;
	}


	#menuSide .wrapper .content {
		bottom: 0;
		left: 0;
		transform: translateY(100%);
		top: unset;
		height: auto !important;
		min-height: 100%;
		
	}

	#menuSide .wrapper .leading {
		border-radius: var(--bs-border-radius) !important;
	}

	#menuSide .wrapper:hover .content {
		transform: translateY(0);
		box-shadow: 0 -0.25rem 1rem rgba(0, 0, 0, 0.15) !important;
	}
}

@media (max-width: 767px) {
	body {
		font-size: 1rem;
	}

	h1,
	.h1 {
		font-size: 2rem;
		margin-bottom: 1.5rem;
	}

	h2,
	.h2 {
		font-size: 1.75rem;
		margin-bottom: 1.5rem;
	}

	h3,
	.h3 {
		font-size: 1.5rem;
		margin-bottom: 1rem;
	}

	h4,
	.h4 {
		font-size: 1.25rem;
	}

	.fs-3 {
		font-size: 1.4rem!important;;
	}

	.fs-4 {
		font-size: 1.2rem!important;;
	}

	.fs-5 {
		font-size: 1rem !important;
	}

	.fs-6 {
		font-size: .8rem !important;
	}

	.form-select,
	.form-control {
		padding: .5rem .5rem;
		font-size: 1rem;
	}

	.container,
	.container-fluid,
	.container-lg,
	.container-md,
	.container-sm,
	.container-xl,
	.container-xxl {
		--bs-gutter-x: 2.5rem;
	}

	.frame-space-before-large,
	.frame-space-before-extra-large {
	    margin-top: 3em !important;
	}

	.frame-space-after-large,
	.frame-space-after-extra-large {
	    margin-bottom: 3em !important;
	}

	.frame:not(.frame-type-shortcut) {
	    margin-bottom: 3rem;
	}

	.frame-bg-secondary-1:not(.frame-layout-10),
	.frame-bg-primary-subtle:not(.frame-layout-30),
	.frame-layout-26 {
	    padding-top: 2rem;
	    padding-bottom: 2rem;
	}

	body > main .btn,
	body > main .btn.min-w-50,
	.frame-layout-6 .btn {
		font-size: 1.25rem;
		width: 100%;
		--bs-btn-padding-y: 1rem;
	}

	.tx-dm-energy .wrap-location .location,
	.tx-dm-energy .wrap-table-header {
		font-size: 1rem;
	}

	.frame-layout-6 .btn {
	    margin-top: 1rem;
	}

	.frame-layout-6 .h3,
	.frame-layout-7 .h3 {
		font-size: 1.25rem;
	}

	.frame-layout-23 img {
		border-top-right-radius: var(--bs-border-radius-xl) !important;
		border-bottom-left-radius: 0 !important;
	}

	.frame-layout-27 .wrap-title, .frame-layout-28 .wrap-title {
		min-height: unset;
	}

	.frame-layout-30 .description h2,
	.frame-layout-30 .description .h2 {
		font-size: 1.5rem;
		font-weight: 500;
		line-height: 1.4;
	}

	.frame-layout-35 h3,
	.frame-layout-35 .h3 {
		font-size: 1rem;
		hyphens: auto;
	}

	ul.icon-li-blue li,
	ul.icon-li-green li,
	ul.icon-li-pdf li {
		margin-bottom: .5rem;
	}

	body > main form .btn {
		font-size: 1.25rem;
	}

	body > footer {
	    padding: 3rem 0;
	}
}


@media (min-width: 992px) {
	ul.column-count-2 {
		column-count: 2;
	}

	.frame-layout-100 .splide__slide:not(.is-visible.is-next) {
		opacity: .5;
	}

	.frame-layout-32 #splideBubble .splide__slide:not(.is-active),
	.frame-layout-33 #splide3Columns .splide__slide:not(.is-active) {
		opacity: .5;
	}

	.frame-layout-100 .bg-item-overlay {
		transform: translateX(-50.1%);
		left: 50%;
		width: 31.7%!important;
	}

	.frame-layout-32 .bg-item-overlay,
	.frame-layout-33 .bg-item-overlay {
		transform: translateX(-50.1%);
		left: 50%;
		width: 31.7%!important;
	}
}

@media (min-width: 1200px) {
	.position-xl-absolute {
		position: absolute !important;
	}
	
	.fs-1 {
		font-size: 2.25rem !important;
	}

	.ps-xl-6 {
		padding-left: 5rem !important;
	}

	.pe-xl-6 {
		padding-right: 5rem !important;
	}
}

@media (min-width: 1400px) {
	.frame-layout-100 .bg-item-overlay,
	.frame-layout-32 .bg-item-overlay,
	.frame-layout-33 .bg-item-overlay {
		width: 32.35%!important;
	}

	form[id^="solarpotenzialrechner"] .form-element-radio .inline-size-xxl {
		inline-size: 160px;
	}
}

@media (min-width: 2400px) {
	body > main:before {
        content: '';
        background-color: #F9F9F7;
        position: fixed;
        top: 0;
        bottom: 0;
        width: 9vw;
        z-index: 2;
	}

	body > main:after {
        content: '';
        background-color: #F9F9F7;
        position: fixed;
        top: 0;
        bottom: 0;
        right: 0;
        width: 9vw;
        z-index: 2;
	}
}
