html.schwarzweiss {
	--schwarz: #000000;
	--weiss: #ffffff;
	--hellgrau: #ffffff;
}

html.schwarzweiss .has-submenu button {
	background-size: auto 1.5rem;
}


html.textsize {
	--line1: 1.5;
	--line12: 1.5;
	--line125: 1.5;
	--line143: 1.5;
	--line145245: 1.5;
	--line09862: 1.5;
}
html.textsize .slider_txt h1 {
	font-size: 9.0625rem;
	font-size: 10vh;
}
html.noanimation [data-aos^="fade"][data-aos^="fade"] {
  	opacity: 1 !important;
	transform: translateZ(0) !important;
}
html.noanimation [data-aos] {
    transition-duration: 0ms !important;
    transition-delay: 0ms !important;
    animation-duration: 0ms !important;
    animation-delay: 0ms !important;
}

html.noanimation [data-aos^="fade"][data-aos^="fade"],
html.noanimation [data-aos^="zoom"][data-aos^="zoom"],
html.noanimation [data-aos^="slide"][data-aos^="slide"],
html.noanimation [data-aos^="flip"][data-aos^="flip"] {
    opacity: 1 !important;
    transform: translateZ(0) !important;
    transform: none !important; 
}

@media (prefers-reduced-motion: reduce) {
    [data-aos] {
        transition-duration: 0ms !important;
        transition-delay: 0ms !important;
        animation-duration: 0ms !important;
        animation-delay: 0ms !important;
    }

    [data-aos^="fade"][data-aos^="fade"],
    [data-aos^="zoom"][data-aos^="zoom"],
    [data-aos^="slide"][data-aos^="slide"],
    [data-aos^="flip"][data-aos^="flip"] {
        opacity: 1 !important;
        transform: translateZ(0) !important;
        transform: none !important; 
    }
}

html {
	height: 100%;
	margin: 0;
	padding: 0;
	-webkit-overflow-scrolling: touch;
	/*-webkit-tap-highlight-color : rgb(214,67,54); */
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	font-size: 16px;
}
body {
	height: 100%;
	margin: 0;
	padding: 0;
	font-family: var(--fontfamily);
    font-weight: 300;
	font-size: 1.625rem;
	line-height: var(--line1384);
	letter-spacing: 0.02em;
	color: var(--schwarz);
	background-color: var(--secundaryhell);
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	/*-webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
     hyphens: auto;*/
	-webkit-appearance: none;
	background-repeat: no-repeat;
	background-position: center top;
}
@media screen and (min-width: 1025px) {
	.fancybox-active #header,
	.noscroll #header,
	.mfp-wrap+#cookiebox+#wrapper #header {
		padding-right: 17px;
	}
}

em,
i {
	font-style: italic;
}
sup, sub {
  vertical-align: baseline;
  position: relative;
  top: -0.4em;
}
sub { 
  top: 0.4em; 
}
.primary {
	color: var(--primary);
}
.slider_txt h1 {

}
h2,
.h2,
.h1,
h1 {
	margin: 0;
	padding: 0;
	font-size: 3rem;
	line-height: var(--line11);
	font-weight: 700;
	font-family: var(--fontfamilydosis);
	letter-spacing: 0.02em;
	text-transform: uppercase;
}
h2.line,
.line {
	font-size: 1.75rem;
	line-height: var(--liine114285);
	position: relative;
	padding-bottom: 1.1875rem;
}
.line::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0);
	width: 4rem;
	height: 0.125rem;
	background-color: var(--weiss);
}
.h3,
.angebotebox h3,
h3 {
	margin: 0;
	padding: 0;
	font-size: 1.75rem;
	line-height: var(--line11);
	font-weight: 700;
	font-family: var(--fontfamilydosis);
	letter-spacing: 0.02em;
	text-transform: uppercase;
}
.headline-sm {
	line-height: var(--line11);
	font-weight: 700;
	font-family: var(--fontfamilydosis);
	letter-spacing: 0.02em;
	text-transform: uppercase;
	font-size: 1.25rem;
}
h4 {
	margin: 0;
	padding: 0;
}
h5 {
	margin: 0;
	padding: 0;
}
h6 {
	margin: 0;
	padding: 0;
}
p {
	margin: 0;
	padding: 0;
}
p + p,
ul + p  {
	margin-top:  0.75em;
}
p + p.abstandbig {
	margin-top: 1.5em;
}
h2 + p,
.h2 + p,
.h1 + p,
h1 + p {
	margin-top: 1.3125rem;
}
h2.line + p,
.line + p {
	margin-top: 0.875rem;
}
.angebotebox h3 + p,
h3 + p {
	margin-top: 0.5625rem;
}
.zimmerinfodet,
p.buchbar {
	font-weight: 500;
	background-image: url('../Images/kalender.svg');
	background-size: 2rem auto;
	background-position: left top;
	background-repeat: no-repeat;
	line-height: 2rem;
	padding-left: 2.875rem;
	position: relative;
}
.zimmerinfodet {
	padding-left: 0;
	background: none;
}
.zimmerinfodet,
.angebebot_txt p.buchbar {
	padding-bottom: 0.5rem;
	margin-bottom: 0.875rem;
}
.zimmerinfodet::after,
.angebebot_txt p.buchbar::after{
	position: absolute;
	content: '';
	width: 100%;
	background-color: var(--primary);
	height: 0.125rem;
	bottom: 0;
	left: 0;
}
.euro {
	font-weight: 600;
	display: inline-block;
	color: var(--primary);
	font-size: 1.75rem;
	background-image: url('../Images/euro.svg');
	background-size: 1.3125rem auto;
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 2rem;
}
.statt {
	display: inline-block;
	padding-left: 0.375rem;
	position: relative;
}
.statt::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 45%;
	width: 100%;
	height: 1px;
	transform: rotate(-7deg);
	background: var(--schwarz);
}
dl,
dd {
	margin: 0;
	padding: 0;
}
dt {
	font-weight: normal;
}
dl {
  width: 100%;
  overflow: hidden;
  padding: 0;
  margin: 0
}
dt {
  float: left;
  width: 100px;
  padding: 0;
  margin: 0
}
dd {
  float: left;
	width: calc(100% - 130px);
  padding: 0;
  margin: 0;}
b,
strong {
	font-weight: 500;
}
hr {
	border: 0;
	width: 100%;
	float: left;
	clear: both;
}
.divider {
	clear: both;
}
a,
a:link,
a:visited {
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	text-decoration: none;
	font-weight: 400;
	color: var(--schwarz);
	outline: 0.000001em solid transparent;
}
button:focus-visible,
a:focus-visible {
	text-decoration: none;
	outline: 1px dashed var(--schwarz);
}
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 1px solid var(--primary);
}
#header .logo a:focus-visible {
	outline: 1px dashed var(--weiss);
}
a:active,
a:hover{
	outline: 0;
	text-decoration: underline;
}
a[href^="tel:"] {
	text-decoration: none;
}
button.button,
a.button,
.button {
	display: inline-block;
	border: 0.125rem solid var(--primary);
	background-color: var(--primary);
	color: var(--weiss);
	font-family: var(--fontfamilydosis);
	font-weight: var(--font800);
	text-transform: uppercase;
	border-radius: 0.375rem;
	text-decoration: none;
	text-align: center;
	min-width: 10.375rem;
	padding-top: 0.625rem;
	padding-bottom: 0.625rem;
	font-size: 1.25rem;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	transition: all 0.3s ease;
}
button.button:hover,
a.button:hover,
.button:hover {
	background-color: var(--weiss);
	color: var(--primary);
}
.button + .button {
	margin-left: 0.3125rem;
}
.angebotebox_cta ul li + li + li,
.angebotebox .button-line + .button-line + .button,
.zimmerbox .button-line + .button-line + .button,
.zimmerbox_cta ul li + li + li{
	margin-top: 0.75rem;
}

button.button-line,
a.button-line,
.button-line {
	display: inline-block;
	border: 0.125rem solid var(--primary);
	background-color: transparent;
	color: var(--primary);
	font-family: var(--fontfamilydosis);
	font-weight: var(--font800);
	text-transform: uppercase;
	border-radius: 0.375rem;
	text-decoration: none;
	text-align: center;
	min-width: 10.375rem;
	padding-top: 0.625rem;
	padding-bottom: 0.625rem;
	font-size: 1.25rem;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	transition: all 0.3s ease;
}
button.button-line[aria-pressed="true"],
button.button-line:hover,
a.button-line:hover,
.button-line:hover {
	background-color: var(--primary);
	color: var(--weiss);
}
.button-line + .button-line {
	margin-left: 0.3125rem;
}
ul {
	margin: 0;
	padding: 0;
}
#main ul {
	
}
ul.text-center {
	list-style-position: inside;
}
li {
	margin-left: 1em;
}
.angebotdetail-content ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.angebotdetail-content .angebotebox_cta ul {
	text-align: left;
}
.angebotdetail-content ul li {
	margin: 0;
	padding: 0;
	list-style: none;
	position: relative;
	padding-left: 2.875rem;
}
.angebotdetail-content .angebotebox_cta ul li {
	padding-left: 0;
}
.angebotdetail-content ul li + li {
	margin-top: 0.875rem;
}
.angebotdetail-content ul li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.25rem;
	background-image: url('../Images/li_check.svg');
	width: 1.75rem;
	height: 1.75rem;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
.angebotdetail-content .zimmerinfodet ul li::before,
.angebotdetail-content .angebotebox_cta ul li::before {
	display: none;
}
ol {
	padding-left: 0;
	/* Remove the default left padding */
	margin-left: 0px;
	margin: 0;
	padding: 0;
}
ol li {
	list-style: decimal;
	background-image: none;
	margin-left: 1em;
}
a img{
	border: 0;
	outline: none;
}
img {
	border: 0;
	max-width: 100%;
	height: auto;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.clr {
	clear: both;
}
.align-left,
.csc-header-alignment-left,
.ce-headline-left,
.text-left {
	text-align: left;
}
.align-center,
.csc-header-alignment-center,
.ce-headline-center,
.text-center {
	text-align: center;
}
.align-right,
.csc-header-alignment-right,
.ce-headline-right,
.text-right {
	text-align: right;
}
.align-justify,
.csc-header-alignment-justify,
.text-justify {
	text-align: justify;
}
.accesskey {
	position: absolute;
	left: -20000px;
}
dfn,
.hidden {
	position: absolute;
	left: -1000em;
	width: 20em;
}
.visually-hidden,
.sr-only {
  	position: absolute;
  	width: 1px;
  	height: 1px;
  	padding: 0;
  	margin: -1px;
  	overflow: hidden;
  	clip: rect(0, 0, 0, 0);
  	white-space: nowrap;
  	border-width: 0;
  	clip-path: inset(50%);
}
#openwcag {
	
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
	appearance: none;
	cursor: pointer;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
#openwcag.sticky {

}
#openwcag:focus-visible {
	right: 1.5rem;
	outline: 0.125rem dashed #ffffff;
}
.openwacinfo {
	position: absolute;
	right: calc(100% + 1.25rem);
	top: -1rem;
	background: #000000;
	color: #ffffff;
	padding: 2rem;
	border: 0.125rem solid #ffffff;
	font-size: 1rem;
	line-height: 1.5;
	width: 20rem;
	display: none;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	text-align: left;
}
#openwcag:focus-visible .openwacinfo,
#openwcag:hover .openwacinfo {
	display: block;
}
#openwcag .btn-desc,
#openwcag .btn-title {
	display: block;
}
#openwcag .btn-title,
.accesscontent h2,
.openwacinfo h2 {
	color: #ffffff;
	font-size: 1.375rem;
	line-height: 1.5;
	font-weight: 700;
}
.accesscontent h2 + button {
	margin-top: 1rem;
}
.openwacinfo h2 + p {
	margin-top: 0.5rem;
}
.openwacinfo::after{
	content:""; 
	border-left:1.25rem solid transparent;
	border-right:1.25rem solid transparent;
	border-top: 1.25rem solid #000000;
	position: absolute;
	transform: rotate(-90deg);
	right: -1.5rem;
	top: 2rem;
	z-index: 2;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.openwacinfo::before{
	content:""; 
	border-left:1.375rem solid transparent;
	border-right:1.375rem solid transparent;
	border-top: 1.375rem solid #ffffff;
	position: absolute;
	transform: rotate(-90deg);
	right: -1.75rem;
	top: 1.9375rem;
	z-index: -1;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
#openwcag img {
	line-height: 1;
	vertical-align: middle;
	width: 3.125rem;
}
#accesselements {
	position: absolute;
	right: calc(100% + 1.25rem);
	top: -1rem;
	z-index: 10000;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	display: none;
}
#accesselements.is-open {
	display: block;
}
#accesselements:focus-visible {
	outline: 1px dashed #000000;
}
.accesscontent {
	background: #000000;
	color: #ffffff;
	padding: 2rem;
	padding-left: 1.5rem;
	padding-top: 3rem;
	border: 0.125rem solid #ffffff;
	font-size: 1rem;
	line-height: 1.5;
	width: 20rem;
}
.accessbutton button {
	background: #ffffff;
	border: 0;
	color: #000000;
	border-radius: 0.3125rem;
	font-family: var(--fontfamily);
	font-weight: normal;
	min-width: 13rem;
	line-height: 2rem;
	height: 2rem;
	padding-left: 1rem;
	padding-right: 1rem;
	cursor: pointer;
	font-size: 1rem;
	position: relative;
	margin-left: 2.25rem;
}
.closeaccess button:focus-visible,
.accessbutton button:focus-visible {
	outline: 2px dashed var(--weiss);
}
.accessbutton button::before {
	position: absolute;
	content: '';
	width: 2rem;
	height: 2rem;
	background-image: url('../Images/kontrast.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% auto;
	left: -2.25rem;
	top: 0;
}
.accessbutton button.active::before {
	background-image: url('../Images/schwarzweiss.svg');
}
.accessbutton button#changetextsize::before {
	background-image: url('../Images/textsize.svg');
}
.accessbutton button#changetextsize.active::before{
	background-image: url('../Images/textsizei.svg');
}
.accessbutton button#changeanim::before {
	background-image: url('../Images/hideanim.svg');
}
.accessbutton button#changeanim.active::before{
	background-image: url('../Images/hideanimi.svg');
}
.accessbutton button.active::after {
	position: absolute;
	content: '';
	width: 1.5rem;
	height: 2rem;
	background-image: url('../Images/reset.svg');
	background-repeat: no-repeat;

	background-position: center center;
	background-size: 100% auto;
	right: -2rem;
	top: 0;
}
.accessbutton button + button {
	margin-top: 0.375rem;
}
.closeaccess {
	position: absolute;
	top: 1rem;
	right: 1rem;
}
.closeaccess button {
	background: none;
	border: 0;
	cursor: pointer;
	appearance: none;
	margin: 0;
	padding: 0;
	line-height: normal;
}
.closeaccess button img,
.closeaccess button svg {
	vertical-align: middle;
}
.nav-skiplinks {
	width: auto;
}
.nav-skiplinks ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.nav-skiplinks ul li {
	margin: 0;
	padding: 0;
	list-style: none;
}
a.skip-main {
  	left: -999px;
  	position: absolute;
  	top: auto;
  	width: 1px;
  	height: 1px;
  	overflow: hidden;
  	z-index: -999; 
	text-decoration: none;
}
 a.skip-main:focus-visible {
    color: var(--weiss);
    background-color: #000000;
    left: 0;
    top: auto;
    width: auto;
    height: auto;
    overflow: auto;
    margin: 0.625rem 35%;
	margin-left: 0;
	margin-right: 0;
    padding: 0.625rem;
    border-radius: 0.9375rem;
    border: 0.25rem solid var(--weiss);
    text-align: center;
    font-size: 1.2em;
	font-size: 1.25rem;
    z-index: 999; 
	 outline: 0.125rem dashed #ffffff;
}
::-webkit-input-placeholder {
	opacity: 1 !important;
}
:-moz-placeholder {
	opacity: 1 !important;
}
::-moz-placeholder {
	opacity: 1 !important;
}
:-ms-input-placeholder {
	opacity: 1 !important;
}
input::-moz-focus-inner {
	border: 0;
	padding: 0
}
button,
input[type="reset"],
input[type="button"],
input[type="submit"] {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit; /* Übernimmt Schriftart, -größe und -gewicht vom Elternelement */
    color: inherit; /* Übernimmt die Textfarbe */
    text-align: inherit;
    text-decoration: none; /* Falls gewünscht, hier 'underline' für Link-Optik */
    cursor: pointer;
    -webkit-appearance: none;   /* Entfernt iOS Standard-Styling */
    -moz-appearance: none;      /* Entfernt Firefox Standard-Styling */
    appearance: none;
    -webkit-tap-highlight-color: transparent;
	outline: none;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
*,
div,
section {
	-webkit-box-sizing: border-box;
	/* Safari/Chrome, other WebKit  */
	-moz-box-sizing: border-box;
	/* Firefox, other Gecko         */
	box-sizing: border-box;
}
#wrapper {
	width: 100%;
	height: 100%;
	/*overflow: hidden;*/
}
.container {
	max-width: 1440px;
	max-width: 93rem;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	width: 100%;
	margin: auto;
	position: relative;
}



#header {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 400;
	font-size: 1rem;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	background: var(--weiss80);
	backdrop-filter: blur(0.5rem);
}
#header.sticky::before{
	box-shadow: 0.3125em 0.3125em 1.25em #00000019;
	top: 0;
}
.logo {
	float: left;
	width: 24.6875rem;
	display: none;
}
.logo a,
.logo img {
	float: left;
	width: 100%;
}
.nav {
	float: left;
	width: 100%;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
ul.menu {
  	display: flex;
  	justify-content: center;
  	align-items: center;
  	gap: 0rem;
  	list-style: none;
  	margin: 0;
  	padding: 0;
  	width: 100%;
}

ul.menu li {
	margin: 0;
	padding: 0;
	list-style: none;
  	display: block; 
	width: 12.5rem;
	text-align: center;
	
}
ul.menu li a {
    color: var(--schwarz);
	font-family: var(--fontfamilydosis);
    font-size: 1.5rem;
    font-weight: var(--font800);
    text-transform: uppercase;
	letter-spacing: 0.02em;
	text-decoration: none;
	display: block;
	padding-top: 0.75rem;
	padding-bottom: 0.8125rem;
	position: relative;
	
}
ul.menu li a::before {
	content: '';
	position: absolute;
	height: 5rem;
	left: -0.0625rem;
	top: 50%;
	transform: translate(0, -50%);
	background: var(--schwarz);
	width: 0.185rem;
	z-index: 1;
	border-radius: 0.25rem;
}
ul.menu li a.active::before,
ul.menu li a:hover::before,
ul.menu li:nth-child(1) a::before {
	display: none;
}
ul.menu li.first a {
	
}
ul.menu li.last a {
	
}
ul.menu li a.active,
ul.menu li a:hover {
	color: var(--weiss);
}
ul.menu li a::after {
	background: var(--primary);
	content: '';
	position: absolute;
	left: -0.1875rem;
	top: 0;
	width: calc(100% + 0.375rem);
	height: 100%;
	z-index: 2;
	opacity: 0;
	transition: all 0.3s ease;
}
ul.menu li a.active::after,
ul.menu li a:hover::after {
	opacity: 1;
}
ul.menu svg .cls-1, ul.menu svg .cls-2{
	fill:none;
}
ul.menu .menu-icon {
	display: block;
	height: 3rem;
	position: relative;
	z-index: 10;
	line-height: 3rem;
}
ul.menu li:nth-child(1) svg {
	height: 2.875rem;
	width: auto;
	vertical-align: middle;
}
ul.menu li:nth-child(2) svg {
	height: 2.6875rem;
	width: auto;
	vertical-align: middle;
}
ul.menu li:nth-child(3) svg {
	height: 2.75rem;
	width: auto;
	vertical-align: middle;
}
ul.menu li:nth-child(4) svg {
	height: 2.75rem;
	width: auto;
	vertical-align: middle;
}
ul.menu li:nth-child(5) svg {
	height: 2.625rem;
	width: auto;
	vertical-align: middle;
}
ul.menu .menu-txt {
	display: block;
	line-height: 1.5;
	position: relative;
	z-index: 10;
	padding-top: 0.4375rem;
}
ul.menu svg .cls-2{
	stroke: var(--weiss);
	stroke: var(--schwarz);
	stroke-linecap:round;
	stroke-linejoin:round;
	transition: all 0.3s ease;
	stroke-width:2.8px;
	stroke-width: 0.125rem;
}
ul.menu li a.active svg .cls-2,
ul.menu li a:hover svg .cls-2 {
	stroke: var(--weiss);
}
/*ende menü neu*/

.mobilenav {
	float: right;
	width: 4.375em;
	display: none;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.nav-icon {
	text-decoration: none;
	margin: 0;
	margin-top: 1em;
	padding: 0;
	width: 2.25rem;
	height: 24px;
	height: 2.25rem;
	position: relative;
	display: inline-block;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	cursor: pointer;
	color: #ffffff;
	float: right;
	opacity: 1;
}
.nav-icon span {
	display: block;
	position: absolute;
	height: 0.1875rem;
	width: 100%;
	background: #ffffff;
	border-radius: 0px;
	opacity: 1;
	left: 0;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .25s ease-in-out;
	-moz-transition: .25s ease-in-out;
	-o-transition: .25s ease-in-out;
	transition: .25s ease-in-out;
}
.nav-icon span:nth-child(1) {
	top: 0.1875rem;
	-webkit-transform-origin: left center;
	-moz-transform-origin: left center;
	-o-transform-origin: left center;
	transform-origin: left center;
}
.nav-icon span:nth-child(2) {
	top: 10px;
	top: 0.9375rem;
	-webkit-transform-origin: left center;
	-moz-transform-origin: left center;
	-o-transform-origin: left center;
	transform-origin: left center;
}
.nav-icon span:nth-child(3) {
	top: 1.625rem;
	-webkit-transform-origin: left center;
	-moz-transform-origin: left center;
	-o-transform-origin: left center;
	transform-origin: left center;
}
.nav-icon.open span:nth-child(1) {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
	top: -2px;
	top: 0rem;
	left: 0px;
}
.nav-icon.open span:nth-child(2) {
	width: 0%;
	opacity: 0;
}
.nav-icon.open span:nth-child(3) {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
	top: 23px;
	top: 1.5625rem;
	left: 0px;
}















.offerside {
	position: fixed;
	right: 3rem;
	bottom: 18.125rem;
	z-index: 400;
	transition: all 0.3s ease;
}
.offerside + .offerside {
	bottom: 10.875rem;
}
.offerside.close {
	transform: translate(calc(100% - 2.625rem + 3rem), 0);
}
button.sideofferbutton {
	position: absolute;
	top: 0;
	left: 0;
	width: 2.5rem;
	height: 5.5rem;
	z-index: 55;
	background-color: var(--primary);
	text-align: left;
	border-top-left-radius: 0.75rem;
	border-bottom-left-radius: 0.75rem;
	transition: 0.3s ease all;
	opacity: 0;
}
.close button.sideofferbutton {
	opacity: 1;
}
.sideoffer_o {
	position: relative;
}
.sideoffer_o a.toofferside,
.sideoffer_o button.toofferside {
	background-color: var(--primary);
	color: var(--weiss);
	min-width: 22.2rem;
	padding-left: 2.75rem;
	padding-right: 2.75rem;
	text-align: center;
	font-size: 1.5rem;
	letter-spacing: 0.02em;
	font-weight: var(--font800);
	font-family: var(--fontfamilydosis);
	text-transform: uppercase;
	cursor: pointer;
	display: inline-block;
	width: auto;
	line-height: 5.5rem;
	transition: all 0.3s ease;
	text-decoration: none;
	border-radius: 0.75rem;
}
.sideoffer_o a.toofferside:hover,
.sideoffer_o button.toofferside:hover {
	background-color: var(--weiss);
	color: var(--primary);
	text-decoration: none;
	box-shadow: 0.3125em 0.3125em 1.25em #00000019;
}
.toofferside span {
	
}
button.sideofferbutton svg,
.toofferside svg {
	width: 0.75rem;
	height: auto;
	vertical-align: middle;
	margin-left: 1rem;
	position: relative;
	top: -0.1875rem;
}
.sideofferbutton svg,
button.sideofferbutton svg {
	transform: rotate(180deg);
	top: 0;
}
button.sideofferbutton .cls-1,
button.sideofferbutton .cls-2,
.toofferside .cls-1,
.toofferside .cls-2{
	fill:none;
}
button.sideofferbutton .cls-2,
.toofferside .cls-2{
	stroke: var(--weiss);
	stroke-linecap:round;
	stroke-linejoin:round;
	transition: all 0.3s ease;
	stroke-width:2.8px;
	stroke-width: 0.175rem;
}
.sideoffer_o .toofferside:hover .cls-2,
.sideoffer_o button.toofferside:hover .cls-2 {
	stroke: var(--primary);
}
.close_sideoffer {
	position: absolute;
	right: -0.875rem;
	top: -0.875rem;
	width: 2.125rem;
	height: 2.125rem;
	background-color: var(--weiss);
	border-radius: 0.5rem;
	text-align: center;
	line-height: 1.875rem;
	cursor: pointer;
	z-index: +5;
}
.close_sideoffer svg {
	width: 1.1875rem;
	height: auto;
	vertical-align: middle;
}
.sideoffer_o .cls-1{
	stroke: var(--primary);
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-width:2.8px;
	stroke-width: 0.175rem;
}

.sideoffer_o .cls-1,
.sideoffer_o .cls-2{
	fill:none;
}

















#sidebar {
	position: fixed;
	right: 3rem;
	z-index: 500;
	width: 3rem;
	top: 7.25rem;
	transition: all 0.3s ease;
}
#sidebar.hide {
	right: -5rem;
}
#sidebar ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
#sidebar ul li {
	margin: 0;
	padding: 0;
	list-style: none;
	float: left;
	width: 100%;
	position: relative;
}
#sidebar ul li + li {
	margin-top: 1rem;
}

.wishlist,
#openwcag,
li.sidephone a,
.lang-current {
	color: var(--primary);
	background: var(--weiss);
	border-radius: 100%;
	height: 3rem;
	line-height: 3rem;
	width: 3rem;
	text-align: center;
	display: block;
}
.wishlist:hover,
#openwcag:hover,
li.sidephone a:hover,
.language-switcher:hover .lang-current,
.wishlist {
	background: var(--primary);
	color: var(--weiss);
	position: relative;
}
#sidebar li.merkzettel svg {
	width: 1.625rem;
	vertical-align: middle;
	position: relative;
	top: -0.0625rem;
}
.wishlist-count {
	position: absolute;
	color: var(--primary);
	width: 1.5rem;
	height: 1.5rem;
	background-color: var(--weiss);
	border-radius: 100%;
	text-align: center;
	line-height: 1.4375rem;
	font-weight: var(--font800);
	top: -0.3125rem;
	right: -0.75rem;
	font-size: var(--fontsize14);
	font-family: var(--fontfamilydosis)
}
.tooltip {
	position: absolute;
	width: 8.125rem;
	height: auto;
	backdrop-filter: blur(0.5rem);
	padding: 0.75rem 0.5rem;
	left: 50%;
	padding-bottom: 0.875rem;
	top: calc(100% + 0.1875rem);
	border-radius: 0.75rem;
	background: var(--primary);
	color: var(--weiss);
	text-align: center;
	leading-trim: both;
	text-edge: cap;
	font-size: var(--fontsize14);
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0;
	transform: translate(-50%, -1rem) scaleY(0.8);
	opacity: 0;
	pointer-events: none;
	box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.15);
	transition:
		opacity 0.3s cubic-bezier(.4, 0, .2, 1),
		transform 0.3s cubic-bezier(.4, 0, .2, 1);
	z-index: 10;
}

button:hover + .tooltip,
a:hover+.tooltip {
	opacity: 1;
	transform: translate(-50%, 0px) scaleY(1);
	pointer-events: auto;
}
.tooltip::before {
	content: '';
	background-image: url('../Images/arrow-up.svg');
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 0.5rem;
	height: 0.25rem;
	position: absolute;
	top: -0.25rem;
	left: 50%;
	margin-left: -0.25rem;
}

#openwcag svg,
#openwcag img {
	width: 1.625rem;
	vertical-align: middle;
	position: relative;
	top: -0.125rem;
	height: auto;
}
li.sidephone a svg,
li.sidephone a img {
	vertical-align: middle;
	width: 1.3125rem;
	height: auto;
	position: relative;
	top: -0.0625rem;
}
#sidebar li svg .cls-1{
	fill:var(--primary);
	stroke: var(--primary);
	transition: all 0.3s ease;
	stroke-width: 0.0625rem;
}
#sidebar li #openwcag:hover svg .cls-1,
#sidebar li.sidephone a:hover svg .cls-1{ 
	fill: var(--weiss);
	stroke: var(--weiss);
}
#sidebar li svg .cls-2{fill:none;}
.language-switcher {
	position: relative;
	display: inline-block;
	float: left;
	width: auto;
}

#sidebar li.merkzettel svg .cls-1,
#sidebar li.merkzettel svg .cls-2{
	fill:none;
}
#sidebar li.merkzettel svg .cls-2{
	stroke: var(--weiss);
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-width:1.715px;
	stroke-width: 0.1071875rem;
}
.lang-menu {
	position: relative;
}

.lang-current {
	font-weight: var(--font800);
	font-family: var(--fontfamilydosis);
	cursor: pointer;
	outline: none;
	appearance: none;
	font-size: 1.3125rem;
	margin: 0;
	padding: 0;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.lang-current:focus-visible {
	border-color: var(--rot);
}
.lang-current svg {
	vertical-align: middle;
	line-height: 1;
	width: 1rem;
	height: auto;
	position: relative;
	top: -0.125rem;
}

.lang-current span {
	display: inline-block;
	position: relative;
}

.lang-list {
	position: absolute;
	top: 100%;
	left: 0rem;
	background: var(--weiss);
	border: 0px solid var(--schwarz);
	border-radius: 0.75rem;
	margin-top: 0em;
	width: 3.375rem;
	height: 3.375rem;
	line-height: 3.375rem;
	z-index: 100;
	list-style: none;
	padding: 0;
	margin: 0;
	overflow: hidden;
	box-shadow: 0 11.625rem 3.25rem 0 rgba(0, 0, 0, 0.00), 0 7.5rem 3rem 0 rgba(0, 0, 0, 0.01), 0 4rem 2.5rem 0 rgba(0, 0, 0, 0.03), 0 1.875rem 1.875rem 0 rgba(0, 0, 0, 0.05), 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.06);
	backdrop-filter: blur(1rem);
}

.lang-list li {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: center;
}

.lang-list li a {
	display: block;
	font-size: 1.125rem;
	padding: 0;
	font-weight: var(--font800);
	font-family: var(--fontfamilydosis);
	color: var(--primary);
	text-decoration: none;
}
.lang-list li a:hover,
.lang-list li a:focus-visible {
	outline: 0;
	background: var(--primary);
	color: var(--weiss);
}

.visually-hidden {
	position: absolute !important;
	left: -9999px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}








#bottomlinks {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0; 
	z-index: 900;
	width: 100%;
	inset: auto 0 0 0;
}
#wechsler {
	float: left;
	width: 100%;
	position: relative;
}
.heresection {
	float: left;
	width: 100%;
	position: relative;
	
}
.herobg {
	float: left;
	width: 100%;
	position: relative;
	background-color: var(--schwarz);
}
.herobg img {
	float: left;
	width: 100%;
}
.slider_overlay {
	position: absolute;
	left: 0;
	width: 100%;
	z-index: 30;
	top: 50%;
	transform: translate(0, -65%);
	color: var(--weiss);
	background-color: transparent;
	pointer-events: none;
}
.slider_logo {
	text-align: center;
	pointer-events: all;
}
#wechsler.startseite .flexslider .slides .slider_logo img,
.slider_logo img {
	width: 37.625rem;
	height: auto;
	float: none;
	display: inline-block;
}
.slider_trans {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	opacity: 0.4;
	background: linear-gradient(rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%);
	pointer-events: none;
}
.slider_txt {
	float: left;
	width: 50%;
	padding-left: 4.25rem;
	padding-right: 4rem;
	font-size: 1.75rem;
	line-height: 1.5;
	padding-top: 1.5rem;
	pointer-events: all;
	font-weight: 300;
}
.videoinline {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	overflow: hidden;
}
.videoinline video {
	position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
	/*max-height: 100%;*/
    width: auto;
    height: auto;
    z-index: -100;
    transform: translateX(-50%) translateY(-50%);
	transition: 1s opacity;
}
#wechsler .videoinline video {
	/*max-height: 200%;*/
}
.videoinline.deskhoehe100 video {
	max-height: 100%;
}
.videoinline.deskbreite100 video {
	max-width: 100%;
}
.maxheight_v {
	max-width: 100%;
}
.maxwidth_v {
	max-width: 100%;
}
.videoholder {
	width: 100%;
	overflow: hidden;
	position: relative;
}
.hoverimg {
	float: left;
	width: 100%;
	overflow: hidden;
	position: relative;
}
.hoverimg img {
	float: left;
	width: 100%;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.5s ease;
	transform: scale(1);
}
.hoverimg a:hover img,
a:hover .hoverimg img {
	transform: scale(1.035);
}


.frame-space-before-70 {
	margin-top: 4.375rem;
}
.frame-space-before-80 {
	margin-top: 5rem;
}
.frame-space-before-94 {
	margin-top: 5.875rem;
}
.frame-space-before-120 {
	margin-top: 7.5rem;
}
.frame-space-before-145 {
	margin-top: 9.0625rem;
}



.frame-space-after-70 {
	margin-bottom: 4.375rem;
}
.frame-space-after-80 {
	margin-bottom: 5rem;
}
.frame-space-after-94 {
	margin-bottom: 5.875rem;
}
.frame-space-after-120 {
	margin-bottom: 7.5rem;
}
.frame-space-after-145 {
	margin-bottom: 9.0625rem;
}



.frame-layout-1 {
	max-width: 1034px;
	max-width: 64.625rem;
	margin-left: auto;
	margin-right: auto;
}
.frame-layout-2 {
	max-width: 63.375rem;

	margin-left: auto;
	margin-right: auto;
}




#main {
	float: left;
	width: 100%;
	overflow: hidden;
}
.bg_primaryhell {
	background-color: var(--primaryhell);
}
.section {
	float: left;
	width: 100%;
	position: relative;
}
.teaserbox {
	display: flex;
	align-items: center;
	position: relative;
}
.teaserbox::after {
	content: '';
	position: absolute;
	z-index: 10;
	left: 0.625rem;
	top: 0.625rem;
	width: calc(100% - 1.5rem);
	height: calc(100% - 1.5rem);
	border: 0.125rem solid var(--primaryhell);
	border-radius: 0.3125rem;
	pointer-events: none;
}
.teaserbox_img {
	order: 1;
	width: 50%;
}
.teaserbox_img img {
	line-height: 1;
	float: left;
	width: 100%;
}
.teaserbox_txt {
	order: 2;
	width: 50%;
	text-align: center;
	padding-left: 4.0625rem;
	padding-right: 4.0625rem;
}
.bewerung_sterne {
	text-align: center;
}
.owl-carousel .owl-item .bewerung_sterne {
	display: flex;
	gap: 0.25rem;
	align-items: center;
	justify-content: center;
}
.owl-carousel .owl-item .bewerung_sterne svg,
.owl-carousel .owl-item .bewerung_sterne img {
	width: 2rem;
	height: auto;
	display: inline;
}
.owl-carousel .owl-item .bewerung_sterne .cls-1{
	fill:  var(--primary);
	stroke:  var(--primary);
	stroke-width: 1px;
}
.bewerung_txt {
	text-align: center;	
	padding-top: 2.375rem;
	padding-bottom: 2rem;
	padding-left: 4rem;
	padding-right: 4rem;
}
.bewertung_name {
	text-align: center;
	font-family: var(--fontfamilydosis);
	font-weight: var(--font800);
	font-size: 1.5rem;
	color: var(--primary);
	text-transform: uppercase;
}
.bewertung_date {
	text-align: center;
	font-size: 1.125rem;
	padding-top: 0.125rem;
}
.owl-controls {
	position: absolute;
	top: 50%;
	width: 100%;
	transform: translate(0, -50%);
	pointer-events: none;
	z-index: 10;
}
.owl-bewertungen_o,
.owl-angebote_o {
	position: relative;
}
#custom-nav-container-angebote.owl-controls {
	top: 17.75rem;
	transform: none;
}
.owl-controls button {
	width: 3.25rem;
	height: 3.25rem;
	background-color: var(--primary);
	border-radius: 100%;
	text-align: center;
	line-height: 3.25rem;
	position: absolute;
	pointer-events: all;
	transition: all 0.3s ease;
}
.owl-controls button:hover {
	background-color: var(--weiss);
	box-shadow: 0.3125em 0.3125em 1.25em #00000019;
}	
.owl-controls button.owl-prev {
	left: -5.5rem;
}
.owl-controls button.owl-next {
	right: -5.5rem;
}
.owl-controls svg {
	vertical-align: middle;
	width: 0.9375rem;
	height: auto;
	position: relative;
	top: -0.125rem;
	left: -0.125rem;
}
.owl-controls .owl-next svg {
	left: 0.125rem;
}
.owl-controls .cls-1,
.owl-controls .cls-2{
	fill:none;
}
.owl-controls .cls-2{
	stroke:var(--weiss);
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-width:2.8px;
	stroke-width: 0.175rem;
	transition: all 0.3s ease;
}

.owl-controls button:hover  .cls-2{
	stroke: var(--primary);
}
.angebotebox {
	display: flex;
	align-items: center;
	position: relative;
	flex-direction: column;
	width: 100%;
	background-color: var(--weiss);
	padding: 0.3125rem;
}
.angebotebox_img {
	order: 1;
	width: 100%;
}
.angebotebox_img img {
	line-height: 1;
	float: left;
	width: 100%;
}
.angebotebox_txt {
	order: 2;
	width: 100%;
	text-align: center;
	padding-top: 3rem;
	font-size: 1.25rem;
	line-height: 1.4;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	padding-bottom: 2.25rem;
}
.angebotebox_txt_i {
	padding-bottom: 1.5rem;
}
.angebotebox_cta ul {
	margin: 0;
	padding: 0;
	line-height: 0;
	text-align: center;
}
.angebotebox_cta ul li {
	margin: 0;
	padding: 0;
	line-height: 0;
	display: inline-block;
}
.angebotebox_cta ul li button,
.angebotebox_cta ul li a {
	display: block;
	line-height: 1.4;
}
.h62 {
	height: 3.875rem;
}
.angebotdetail {
  border: none;
  border-radius: 0rem;
  padding: 0rem;
  overflow: visible;
  width: 96.25rem;
  max-width: 94%;
	box-shadow: 0 1.25rem 3.125rem rgba(0, 0, 0, 0.3);
	background: var(--weiss);
  opacity: 1;
  transform: scale3d(1, 1, 1);
  transition: 
    opacity 0.5s cubic-bezier(0.34, 1.56, 0.64, 1),
    transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1),
    display 0.5s allow-discrete;
}
@media screen and (min-width: 767px) {
	.angebotdetail {
	  max-height: 90vh;
	  overflow: visible; /* bleibt so – sonst wird Close-Button abgeschnitten */
	}

	/* Inhalt scrollt innerhalb des Dialogs */
	.angebotdetail-content {
	  overflow-y: auto;
	  max-height: calc(90vh - 2rem); /* 2rem = Puffer für den überragenden Close-Button */
	  overscroll-behavior: contain;  /* verhindert dass Scroll auf den Hintergrund durchschlägt */
	}
}
@starting-style {
  dialog.angebotdetail[open] {
    opacity: 0;
    transform: scale3d(0.9, 0.9, 1);
  }
}
dialog.angebotdetail:not([open]) {
  opacity: 0;
  transform: scale3d(0.9, 0.9, 1);
}
dialog.angebotdetail::backdrop {
  background: var(--schwarz60);
  backdrop-filter: blur(0.25rem); 
  opacity: 1;
  transition: opacity 0.4s ease, display 0.4s allow-discrete;
}
@starting-style {
  dialog.angebotdetail[open]::backdrop {
    opacity: 0;
  }
}
dialog.angebotdetail:not([open])::backdrop {
  opacity: 0;
}
.closes_zimmerdialog,
.closes_angebotdialog {
  position: absolute;
  top: -1rem;
  right: -1rem;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0rem;
	width: 2.125rem;
	border-radius: 0.5rem;
	text-align: center;
	line-height: 2.5rem;
	height: 2.125rem;
  transition: transform 0.3s ease;
	background-color: var(--primary);
	display: flex;
	align-items: center;
	z-index: 99;
}
.closes_zimmerdialog:hover,
.closes_angebotdialog:hover {
  transform: rotate(90deg);
}
.closes_zimmerdialog svg,
.closes_angebotdialog svg {
	width: 1.1875rem;
	margin: auto;
	height: auto;
	
}
.angebotdetail-content {
	float: left;
	width: 100%;
	padding-left: 6.75rem;
	padding-right: 6.75rem;
	padding-top: 4.625rem;
	padding-bottom: 1.25rem;
}
.angebotdetail-content {
	font-size: 1.25rem;
	line-height: 1.4;
}
.angebot_row {
	display: flex;
	display: block;
	width: 100%;
	gap: 9rem;
	padding-top: 1.625rem;
}
.angebot_img {
  	flex-basis: 28rem;
  	flex-shrink: 0;
	float: right;
	width: 28rem;
	position: relative;
}
.owl-angegotgallery {
	width: 100%;
	height: 19.875rem;
	overflow: hidden;
	position: relative;
}
.owl-angegotgallerythumb {
	height: 3.3125rem;
	width: 100%;
	margin-top: 1.25rem;
	overflow: hidden;
}
.angebot_img img {
	float: left;
	width: 100%;
}
.bildergalerie-o li .bildwrap {
	position: relative;
	float: left;
	width: 100%;
}
.bildergalerie-o li .bildwrap img {
	float: left;
	width: 100%;
}
.bildergalerie-o li .bildwrap::after,
.owl-angegotgallery::after {
	content: '';
	position: absolute;
	top: 0.75rem;
	left: 0.625rem;
	pointer-events: none;
	width: calc(100% - 1.5rem);
	height: calc(100% - 1.625rem);
	border: 0.125rem solid var(--weiss);
	border-radius: 0.5rem;
	z-index: 10;
}
.angebebot_txt {
  	flex-grow: 1;
	float: left;
	width: calc(100% - 28rem);
	padding-right: 9rem;
}

.angebotpreis {
	display: flex;
	justify-content: space-between;
	line-height: 2.5rem;
	align-items: center;
	border-top: 0.125rem solid var(--primary);
	border-bottom: 0.125rem solid var(--primary);
	margin-top: 1.1875rem;
	position: relative;
}
.angebotpreis::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	bottom: -0.5rem;
	height: 0.125rem;
	background-color: var(--primary);
}
.angebebot_txt .angebotebox_cta {
	margin-top: 0.75rem;
}

/* Alle Slides im Dialog standardmäßig unsichtbar */
.zimmer-slide,
.angebot-slide {
    display: none;
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
}

/* Das aktive Slide wird angezeigt und hineingefadet */
.zimmer-slide.active,
.angebot-slide.active {
    display: block;
    opacity: 1;
}

/* Optional: Eine schöne Keyframe-Animation für einen sanften Rutsch-Effekt */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.angebot-slide.active {
    animation: fadeIn 0.4s ease-out forwards;
}
.zimmerprev-next,
.angebotprev-next {
	display: flex;
	justify-content: space-between;
	padding-top: 3rem;
	padding-bottom: 0.5rem;
}
.zimmerprev-next button,
button.linkdown,
.angebotprev-next button {
	font-size: 1.5rem;
	font-family: var(--fontfamilydosis);
	font-weight: var(--font800);
	text-transform: uppercase;
	line-height: 1.5rem;
	color: var(--primary);
	letter-spacing: 0;
	background-repeat: no-repeat;
	background-size: 0.75rem auto;
}
button.linkdown {
	background-image: url('../Images/arrow-down.svg');
	background-position: right 0.4375rem;
	padding-right: 1.75rem;
	background-size: auto 0.75rem;
}
.zimmerprev-next button.zimmer-prev,
.angebotprev-next button.angebot-prev {
	background-image: url('../Images/prev-ang.svg');
	background-position: left 0.1875rem;
	padding-left: 1.375rem;
}
.zimmerprev-next button.zimmer-next,
.angebotprev-next button.angebot-next {
	background-image: url('../Images/next-ang.svg');
	background-position: right 0.1875rem;
	padding-right: 1.375rem;
}
.angebot_merk {
  float: right;
  width: auto;
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 10;
}

.angebot_merk button {
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 100%;
  appearance: none;
  font-style: normal;
 
  line-height: 2.75rem;
  height: 2.75rem;
  width: 2.75rem;
  text-align: center;
  text-transform: uppercase;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.5s ease;
  cursor: pointer;
  display: inline-block;
  position: relative;
}
.angebot_merk button svg {
	width: 100%;
	height: auto;
}
button.aufanfragelist.isadded .addtomerksvg {
  display: none;
}
button.aufanfragelist .removformsvg {
  display: none;
}
button.aufanfragelist.isadded .removformsvg {
  display: inline;
}

.angebot_merk .cls-1,
.angebot_merk .cls-2{
	fill:none;
}
.angebot_merk .cls-2{
	stroke: var(--weiss);
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-width: 0.125rem;
}




.more-loader-wrap {
	padding-top: 0.5rem;
}
.zimmerfilter,
.galeryfilter {
	text-align: center;
	padding-top: 2.5rem;
}
.owl-zimmer_of {
	padding-top: 3.25rem;
}
.owl-gallery-of {
	padding-top: 2.1875rem;
}
ul.bildergalerie-o {
	margin: 0;
	padding: 0;
	list-style: none;
	margin-left: -1.5rem;
	margin-right: -1.5rem;
}
ul.bildergalerie-o li {
	margin: 0;
	float: left;
	width: 33.333333%;
	padding: 1.5rem;
	list-style: none;
}
.bildergalerie-o li.item.more-hidden {
    display: none !important;
}
.bildergalerie-o li.item.filter-revealed {
    display: block !important;
}
#more-status {
	display: none;
}
ul.bewertunglist {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	width: 100%;
	gap: 3rem;
}
ul.bewertunglist li {
	margin: 0;
	padding: 0;
	flex: 0 0 calc(33.3333% - 2rem);
	list-style: none;
	background: var(--weiss);
	text-align: center;
	height: 16.25rem;
}
.bewertunglist_logo {
	padding-top: 3.25rem;
}
.bewertunglist_logo img {
	height: 3.125rem;
	width: auto;
}
.bewertunglist_punkte {
	padding-top: 0.4375rem;
	font-size: 3rem;
	line-height: 3rem;
	font-family: var(--fontfamilydosis);
	font-weight: 700;
}
.bewertunglist_punkte .off {
	font-size: 1.5rem;
}
.bewerunglist_stand {
	font-size: 1.5rem;
	font-weight: 300;
	padding-top: 0.3125rem;
}


.zimmerbox {
	display: flex;
	align-items: center;
	position: relative;
	flex-direction: column;
	width: 100%;
	background-color: var(--weiss);
	padding: 0.3125rem;
	padding-bottom: 2.75rem;
}
.zimmerbox_img {
	order: 1;
	width: 100%;
}
.zimmerbox_img img {
	line-height: 1;
	float: left;
	width: 100%;
}
.zimmerbox_txt {
	order: 2;
	width: 100%;
}
.zimmerbox_txt_i {
	
}
.zimmerbox_cta ul {
	margin: 0;
	padding: 0;
	line-height: 0;
	text-align: center;
	padding-top: 1.25rem;
}
.zimmerbox_cta ul li {
	margin: 0;
	padding: 0;
	line-height: 0;
	display: inline-block;
}
.zimmerbox_cta ul li button,
.zimmerbox_cta ul li a {
	display: block;
	line-height: 1.4;
}
.zimmerbox_txt h3 {
	background: var(--primary);
	color: var(--weiss);
	text-transform: uppercase;
	font-family: var(--fontfamilydosis);
	font-weight: 700;
	font-size: 1.75rem;
	line-height: 1.1;
	padding-top: 1.0625rem;
	padding-bottom: 1.0625rem;
	text-align: center;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}
.zimmerbox_txt_i ul {
	margin: 0;
	padding: 0;
	list-style: none;
	padding-left: 3rem;
	padding-right: 3rem;
	padding-top: 1.4375rem;
}
.zimmerbox_txt_i ul li {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 2.625rem;
}
.zimmerbox_txt_i ul li + li {
	border-top: 0.125rem solid var(--primary);
}
.angebotdetail-content .zimmer_icon svg,
.owl-carousel .owl-item .zimmerbox_txt_i svg, 
.angebotdetail-content .zimmer_icon img,
.owl-carousel .owl-item .zimmerbox_txt_i img {
	height: 1.5rem;
	width: auto;
	display: inline;
	vertical-align: middle;
	position: relative;
	top: -0.125rem;
}
.angebotdetail-content .zimmer_icon svg .cls-1,
.angebotdetail-content .zimmer_icon svg .cls-2,
.owl-carousel .owl-item .zimmerbox_txt_i svg .cls-1,
.owl-carousel .owl-item .zimmerbox_txt_i svg .cls-2{
	fill:none;
}
.angebotdetail-content .zimmer_icon svg .cls-2,
.owl-carousel .owl-item .zimmerbox_txt_i svg .cls-2{
	stroke:var(--primary);
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-width:1.603px;
	stroke-width: 0.1001875rem;
}
.closes_angebotdialog svg .cls-1,
.closes_zimmerdialog svg .cls-1{
	fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;
	stroke-width:2.8px;
	strock-width: 0.175rem;
}

.zimmer_icon {
	display: inline-block;
	width: 3rem;
}
.angebotdetail-content .zimmer_icon {
	width: 2.875rem;
}
.angebotdetail-content .zimmerinfodet ul {
	display: flex;
	gap: 1rem;
	align-items: center;
	height: 2rem;
	width: 100%;
	justify-content: space-between;
}
.angebotdetail-content .zimmerinfodet ul li {
	display: inline-block;
	padding-left: 0;
	margin: 0;
}
.angebotdetail-content .zimmerinfodet ul li + li {
	margin: 0;
}
.parallax {
	overflow: hidden;
	float: left;
	width: 100%;
	position: relative;
}
.parallax_i {
	min-height: 38.4375rem;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.parallaxbild {
	position: absolute;
	left: 0;
	bottom: 0rem;
	width: 100%;
}
.parallaxbild img {
	float: left;
	width: 100%;
}
.parallax_over {
	padding-top: 8rem;
	padding-bottom: 8rem;
	width: 100%;
	z-index: 10;
}
ul.hardfacts {
	display: flex;
	gap: 3.375rem;
	margin: 0;
	padding: 0;
	list-style: none;
	align-items: flex-start;
}
ul.hardfacts li {
	margin: 0;
	padding: 0;
	list-style: none;
	flex: 0 0 calc(33.3333% - 2.25rem);
	background: var(--weiss);
	border-radius: 0.375rem;
	font-size: 1.25rem;
	line-height: 1.4;
	text-align: center;
	padding: 3rem;
	padding-left: 5rem;
	padding-right: 5rem;
}
ul.hardfacts li + li {
	background: var(--primary);
	color: var(--weiss);
	margin-top: 4.5rem;
}
ul.hardfacts li + li + li {
	background: var(--primaryhell);
	color: var(--schwarz);
	margin-top: 0;
}

ul.hardfacts li h2 {
	font-size: 1.75rem;
}
ul.hardfacts li h2 + p {
	margin-top: 1rem;
}
.reichl {
	position: absolute;
	bottom: 11rem;
	right: 5rem;
	z-index: 10;
}
.reichl img {
	width: 5.1875rem;
	height: auto;
}
#footer {
	float: left;
	width: 100%;
	background: var(--weiss);
	padding-bottom: 12rem;
	position: relative;
	padding-top: 4.5rem;
}
.footermore {
	font-size: 1.25rem;
	text-align: center;
}
.footerlogo {
	text-align: center;
	padding-top: 3.762rem;
}
.footerlogo img {
	width: 16.5rem;
	height: auto;
}
.footeradresse {
	font-size: 1.25rem;
	line-height: 1.4;
	text-align: center;
	padding-top: 2.25rem;
}
.footeradresse a {
	font-weight: 300;
}
address {
	font-style: normal;
}
.footernav {
	text-align: center;
	font-size: 1rem;
	line-height: 1.75rem;
	font-weight: 500;
	padding-top: 4.5rem;
}
.footernav a {
	text-decoration: underline;
	font-weight: 500;
}
.footernav ul {
	margin: 0;
	padding: 0;
	line-height: 0;
	width: auto;
}
.footernav nav,
.copyright,
.footernav ul li {
	margin: 0;
	padding: 0;
	line-height: 0;
	width: auto;
	display: inline-block;
}
.footernav ul li {
	padding-left: 1.5rem;
}











#merkliste_liste_o.has-items {
    padding-top: 1.25rem;
}
#merkliste_liste {
    display: flex;
    gap: 1rem;
    margin-top: 0.75rem;
    flex-wrap: wrap;
}
.merkhead {
	display: none;
}
.has-items .merkhead {
	display: block;
}

/* KORREKTUR 1: Das Label ist standardmäßig komplett verborgen und nimmt keinen Platz ein */
.checkmerkliste {
    display: none;
    position: relative;
    cursor: pointer;
    flex: 0 0 calc(50% - 0.5rem);
    box-sizing: border-box;
}

/* KORREKTUR 2: Nur wenn das Label eine AKTIVE Checkbox beinhaltet, wird es als Flex-Element eingebunden. 
   Dadurch rücken alle anderen Elemente automatisch und lückenlos nach! */
.checkmerkliste:has(input[type="checkbox"]:checked) {
    display: block;
}

.checkmerkliste input[type="checkbox"] {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    opacity: 0;
}

/* KORREKTUR 3: Die Box wird standardmäßig als display: flex definiert (nicht mehr none), 
   da das Label nun das Ein- und Ausblenden übernimmt */
.merklistebox {
    display: flex;
    gap: 1.5rem;
    width: 100%;
    border: 0.125rem solid var(--primary);
    border-radius: 0.3125rem;
    background: var(--weiss);
    padding: 0.5rem;
    box-sizing: border-box;
}

span.removemerkliste,
.merklistebox button.removemerkliste {
    display: inline-block;
    width: auto;
    background: var(--primary);
    font-size: 1rem;
    font-family: var(--fontfamilydosis);
    color: var(--weiss);
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    line-height: 1.75;
    text-transform: uppercase;
    border-radius: 0.25rem;
    font-weight: var(--font800);
}

.merklistebox_img img {
    line-height: 1;
    float: left;
    width: 7.5rem;
    height: auto;
}
.col290 {
	float: right;
	width: 18.125rem;
}
.bestpreis-garantie {
	display: flex;
	width: 18.125rem;
	height: 18.125rem;
	background-color: var(--primary);
	color: var(--weiss);
	flex-direction: column;
	justify-content: center;
	padding: 1.5rem;
	font-size: 1.25rem;
	line-height: 1.4;
	align-items: center;
	text-align: center;
	border-radius: 100%;
	transform: rotate(-3deg)
}
.col1064 {
	float: left;
	width: 68.375rem;
}
.form-icon {
	position: absolute;
	
}
.form-icon.kalender {
	left: 0.75rem;
	top: 50%;
	transform: translate(0, -40%);
}
.form-icon.kalender svg {
	width: 2rem;
	height: auto;
}
.form-icon.kalender svg .cls-1,
.form-icon.kalender svg .cls-2{
	fill:none;
}
.form-icon.kalender svg .cls-2{
	stroke:var(--primary);
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-width:1.891px;
	stroke-width: 0.1181875rem;
}


.form-icon.personen {
	left: 0.75rem;
	top: 50%;
	transform: translate(0, -40%);
}
.form-icon.personen svg {
	width: 2rem;
	height: auto;
}
.form-icon.personen svg .cls-1{
	stroke:var(--primary);
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-width:1.867px;
	stroke-width: 0.1181875rem;
}
.form-icon.personen svg .cls-1,
.form-icon.personen svg .cls-2{
	fill:none;
} 
.form-icon.kinder {
	left: 0.75rem;
	top: 50%;
	transform: translate(0, -44%);
}
.form-icon.kinder svg {
	width: 1.875rem;
	height: auto;
}
.form-icon.kinder svg .cls-1{
	fill:var(--primary);
} 
.form-icon.phone {
	left: 1rem;
	top: 50%;
	transform: translate(0, -40%);
}
.form-icon.phone svg {
	width: 1.375rem;
	height: auto;
}
.form-icon.phone .cls-1{
	fill:var(--primary);
	stroke: var(--primary);
	stroke-width: 0.0625rem;
}


.form-icon.mail {
	left: 0.75rem;
	top: 50%;
	transform: translate(0, -40%);
}
.form-icon.mail svg {
	width: 2rem;
	height: auto;
}
.form-icon.mail .cls-1,
.form-icon.mail .cls-2{
	fill:none;
}
.form-icon.mail .cls-2{
	stroke: var(--primary);
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-width:1.891px;
	stroke-width: 0.1181875rem;
}



.infopflicht {
	line-height: 3.125rem;
}
.form-group {
  	position: relative;
  	margin-top: 2.875rem;
	margin-top: 1.75rem;
	float: left;
	width: 100%;
}
.accordion .form-group {
	margin-top: 2rem;
}
.form-check label {
	position: relative;
    display: block;
    width: 100%;
    line-height: 3.125rem;
    cursor: pointer;
}
.accordion-btn,
.form-check label input + span,
label.control-label {
  	position: absolute;
  	top: 0; /* Abstand des Labels vom oberen Rand des Eingabefelds */
  	left: 3.75rem; /* Abstand des Labels vom linken Rand des Eingabefelds */
  	pointer-events: none; /* Sorgt dafür, dass das Label nicht mit dem Eingabefeld interagiert */
  	transition: all 0.2s ease-in-out; /* Animation für die Bewegung des Labels */
	font-family: var(--fontfamilydosis);
    font-weight: 800;
	text-transform: uppercase;
    font-size: 1.1875rem;
	color: var(--schwarz);
	height: 3.125rem;
	z-index: 10;
	line-height: 3.125rem;
}
.noicon label.control-label {
	left: 1.125rem;
}
label.control-label.isfocused {
	top: -2.375rem;	
	font-size: var(--font0875);
}
.card-header-icon svg {
	width: 3rem;
	height: auto;
	vertical-align: middle;
}
.card-header-icon svg .cls-1{
	fill:var(--primary);
}
.card-header-icon svg .cls-2,
.card-header-icon svg .cls-3{
	fill:none;
}
.card-header-icon svg .cls-3{
	stroke:var(--weiss);
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-width:1.715px;
	stroke-width: 0.107185rem;
}
.collapsed  .card-header-icon svg .cls-3.isforplus {
	opacity: 1;
}
.card-header-icon svg .cls-3.isforplus {
	opacity: 0;
}
button.accordion-btn {
	position: relative;
	top: auto;
	left: auto;
	width: auto;
	display: flex;
	align-items: center;
	cursor: pointer;
	gap: 1.5rem;
	float: left;
	pointer-events: all;
}
.accordion {
	float: left;
	width: 100%;
	padding-top: 1.875rem;
}
.collapse {
	display: none;
}
.form-check label input + span {
	position: relative;
	pointer-events: all;
	top: auto;
	left: auto;
	height: 100%;
	width: 100%;
	display: block;
}
.form-check label input:checked + span {
	background: var(--primary);
	color: var(--weiss);
}
.form-check label input {
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
}
labelx {
	float: left;
	width: 100%;
	font-size: 12px;
	font-size: 0.9375rem;
	line-height: 2;
	padding-top: 0.5rem;
}
label.control-label {
	
}
.input {
	position: relative;
	float: left;
	width: 100%;
	z-index: 2;
}
.inputs-list {
	display: flex;
	justify-content: space-between;
}
.input.checkbox,
input[type=text], input[type=email], input[type=number], textarea {
	float: left;
	width: 100%;
	border: 0.125rem solid var(--primary);
	border-radius: 0.3125rem;
	background: var(--weiss);
	font-family: var(--fontfamily);
    font-weight: 400;
    font-size: 1.125rem;
	color: var(--schwarz);
	height: 3.125rem;
	line-height: 3.125rem;
	margin: 0;
	padding: 0;
	padding-left: 3.75rem;
}
.noicon input[type=text] {
	padding-left: 1.125rem;
}
.input.checkbox {
	padding-left: 0;
}

.inputs-list {
    display: flex;
    width: 100%;
    height: 100%;
}

.inputs-list .form-check {
    flex: 1;       
    display: flex;
    align-items: center;
    justify-content: center;  
    height: 100%;
    text-align: center;
    border-right: 0.125rem solid var(--primary); 
}

.inputs-list .form-check:last-child {
    border-right: none;
}
textarea {
	min-height: 10em;
	line-height: normal;
	padding-top: 1em;
	padding-left: 1.125rem;
}
input[type=number] {
	text-align: center;
	padding: 0;
}
.quantity {
  	position: relative;
	float: left;
	width: 100%;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield;
}

.quantity input:focus-visible {
  /*outline: 0;*/
}

.quantity-nav {
  	position: absolute;
	left: 0;
	width: 100%;
	color: #444444;
}

.quantity-button {
  position: relative;
  cursor: pointer;
  width: 1rem;
  text-align: center;
  font-size: 1.5rem;
	line-height: 3.33333rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}

.quantity-button.quantity-up {
  	position: absolute;
  	height: 100%;
  	top: 0;
	right: 1rem;
}

.quantity-button.quantity-down {
  position: absolute;
  left: 1rem;
  height: 100%;
}
.action,
.actions {
	float: left;
	width: 100%;
	text-align: left;
	padding-top: 3rem;
}



.tx-indexedsearch-res h4 {
	font-size: 20px;
	line-height: normal;
	border: 0;
}

.tx-indexedsearch-searchbox {
	margin-top: 50px;
}

.tx-felogin-pi1 input[type=text],
.tx-felogin-pi1 input[type=password],
.tx-felogin-pi1 select,
.tx-felogin-pi1 textarea,
INPUT.tx-indexedsearch-searchbox-sword {
	float: left;
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	height: 34px;
	line-height: 34px;
	border: 1px solid #7db200;
	font-weight: 300;
	font-size: 14px;
	color: #5b5b5b;
	margin: 0;
	padding: 0;
	padding-left: 11px;
	font-family: 'Roboto';
	margin-bottom: 19px;
}

.tx-felogin-pi1 textarea {
	height: 200px;
}
.tx-indexedsearch .tx-indexedsearch-searchbox INPUT.tx-indexedsearch-searchbox-button {
	width: 150px;
}

.tx-indexedsearch .tx-indexedsearch-searchbox INPUT.tx-indexedsearch-searchbox-sword {
	height: 38px;
	line-height: 38px;
}


.tx-felogin-pi1 input[type="submit"],
INPUT.tx-indexedsearch-searchbox-button {
	width: 220px;
	max-width: 100%;
	background-color: #20549a;
	background-image: none;
	color: #ffffff;
	text-decoration-line: none;
	text-decoration-style: solid;
	font-weight: normal;
	display: inline-block;
	padding-top: 11px;
	padding-bottom: 9px;
	box-sizing: border-box;
	text-align: left;
	position: relative;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	line-height: 21px;
	text-align: center;
}

.tx-felogin-pi1 input[type="submit"],
INPUT.tx-indexedsearch-searchbox-button {
	border-top-width: 0px;
	border-right-width: 0px;
	border-bottom-width: 0px;
	border-left-width: 0px;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	border-image-source: none;
	border-image-slice: 100% 100% 100% 100%;
	border-image-width: 1 1 1 1;
	border-image-outset: 0 0 0 0;
	border-image-repeat: stretch stretch;
	cursor: pointer;
	font-family: 'Roboto';
	font-size: 16px;
	background-color: #7db200;
	background-repeat: no-repeat;
	background-position-x: right;
	background-position-y: center;
	width: 270px;
	text-transform: uppercase;
	transition-property: all;
	transition-duration: 0.3s;
	transition-timing-function: ease;
	transition-delay: 0s;
}

.tx-felogin-pi1 input[type="submit"]:hover,
INPUT.tx-indexedsearch-searchbox-button:hover {
	background-color: #7db200;
}

input#tx-indexedsearch-searchbox-sword {
	height: 38px;
	line-height: 38px;
	width: 250px;
	float: none;
	margin-left: 15px;
	border-radius: 0;
}

INPUT.tx-indexedsearch-searchbox-button {
	width: 150px;
	margin-left: 15px;
}

.tx-indexedsearch-search-submit,
.tx-indexedsearch-form {
	float: left;

}

.tx-indexedsearch-form label {
	display: inline-block;
	max-width: 100%;
	margin-bottom: 5px;
	font-weight: bold;
}

.tx-indexedsearch-form .h15 {
	height: 15px;
}

.tx-indexedsearch-title a {
	text-decoration: none;
}

.tx-indexedsearch-description {
	font-size: 16px;
}

.tx-indexedsearch-description + p {
	font-size: 15px;
}

.pagination,
.f3-widget-paginator,
.tx-indexedsearch-browsebox {
	display: inline-block;
	border-radius: 0px;
	margin: 20px 0px;
	padding-left: 0px;
}

.pagination>li,
.f3-widget-paginator>li,
.tx-indexedsearch-browsebox li {
	display: inline;
	background-image: none;
}

.pagination>li>a,
.pagination>li.current,
.f3-widget-paginator>li>a,
.f3-widget-paginator>li.current,
.tx-indexedsearch-browsebox li a {
	position: relative;
	float: left;
	padding: 6px 12px;
	margin-left: -1px;
	text-decoration: none;
	border: 1px solid #7db200;
	background-color: #FFF;
	color: #7db200;
}

.tx-indexedsearch-res {
	padding-bottom: 15px;
	border-bottom: 1px solid #7db200;
	margin-bottom: 20px;
}

.tx-indexedsearch-res h4 {
	margin-bottom: 0px;
}

.tx-indexedsearch-res h4 .tx-indexedsearch-percent {
	font-size: 16px;
}

.pagination>li.current,
.pagination>li>a:hover,
.pagination>li>a:focus-visible,
.f3-widget-paginator>li.current,
.f3-widget-paginator>li>a:hover,
.f3-widget-paginator>li>a:focus-visible,
.tx-indexedsearch-browsebox li a:hover,
.tx-indexedsearch-browsebox li a:focus-visible,
.tx-indexedsearch-browsebox li.tx-indexedsearch-browselist-currentPage a {
	background-color: #7db200;
	color: #ffffff;
	text-decoration: none;
}

.pagination>li:first-child>a,
.pagination>li.current:first-child,
.f3-widget-paginator>li:first-child>a,
.f3-widget-paginator>li.current:first-child {
	margin-left: 0px;
	border-top-left-radius: 0px;
	border-bottom-left-radius: 0px;
}

.pagination>li:last-child>a,
.pagination>li.current:last-child,
.f3-widget-paginator>li:last-child>a,
.f3-widget-paginator>li.current:last-child {
	border-top-right-radius: 0px;
	border-bottom-right-radius: 0px;
}

.f3-widget-paginator li a,
.f3-widget-paginator li.current {
	margin-right: 5px !important;
}

.row {
	margin-left: -0.75rem;
	margin-right: -0.75rem;
}
.col,
.col-xs-1,
.col-sm-1,
.col-md-1,
.col-lg-1,
.col-xs-2,
.col-sm-2,
.col-md-2,
.col-lg-2,
.col-xs-3,
.col-sm-3,
.col-md-3,
.col-lg-3,
.col-xs-4,
.col-sm-4,
.col-md-4,
.col-lg-4,
.col-xs-5,
.col-sm-5,
.col-md-5,
.col-lg-5,
.col-xs-6,
.col-sm-6,
.col-md-6,
.col-lg-6,
.col-xs-7,
.col-sm-7,
.col-md-7,
.col-lg-7,
.col-xs-8,
.col-sm-8,
.col-md-8,
.col-lg-8,
.col-xs-9,
.col-sm-9,
.col-md-9,
.col-lg-9,
.col-xs-10,
.col-sm-10,
.col-md-10,
.col-lg-10,
.col-xs-11,
.col-sm-11,
.col-md-11,
.col-lg-11,
.col-xs-12,
.col-sm-12,
.col-md-12,
.col-lg-12,
.col-xs-p20,
.col-sm-p20,
.col-md-p20,
.col-lg-p20,
.col-xxs-1,
.col-xxs-2,
.col-xxs-3,
.col-xxs-4,
.col-xxs-5,
.col-xxs-6,
.col-xxs-7,
.col-xxs-8,
.col-xxs-9,
.col-xxs-10,
.col-xxs-11,
.col-xxs-12 {
	position: relative;
	min-height: 1px;
	padding-left: 0.75rem;
	padding-right: 0.75rem;
	float: left;
}
.col,
.col-xs-1,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9,
.col-xs-10,
.col-xs-11,
.col-xs-12,
.col-xs-p20,
.col-sm-p20,
.col-md-p20,
.col-lg-p20 {
	float: left;
}
.col-xxs-12 {
	width: 100%;
}
.col-xxs-11 {
	width: 91.66666667%;
}
.col-xxs-10 {
	width: 83.33333333%;
}
.col-xxs-9 {
	width: 75%;
}
.col-xxs-8 {
	width: 66.66666667%;
}
.col-xxs-7 {
	width: 58.33333333%;
}
.col-xxs-6 {
	width: 50%;
}
.col-xs-5 {
	width: 41.66666667%;
}
.col-xxs-4 {
	width: 33.33333333%;
}
.col-xxs-3 {
	width: 25%;
}
.col-xxs-2 {
	width: 16.66666667%;
}
.col-xxs-1 {
	width: 8.33333333%;
}
@media (min-width: 21px) {
	.col-xs-12 {
		width: 100%;
	}
	.col-xs-11 {
		width: 91.66666667%;
	}
	.col-xs-10 {
		width: 83.33333333%;
	}
	.col-xs-9 {
		width: 75%;
	}
	.col-xs-8 {
		width: 66.66666667%;
	}
	.col-xs-7 {
		width: 58.33333333%;
	}
	.col-xs-6 {
		width: 50%;
	}
	.col-xs-5 {
		width: 41.66666667%;
	}
	.col-xs-4 {
		width: 33.33333333%;
	}
	.col-xs-3 {
		width: 25%;
	}
	.col-xs-2 {
		width: 16.66666667%;
	}
	.col-xs-1 {
		width: 8.33333333%;
	}
}
@media (min-width: 21px) {
	.col,
	.col-sm-1,
	.col-sm-2,
	.col-sm-3,
	.col-sm-4,
	.col-sm-5,
	.col-sm-6,
	.col-sm-7,
	.col-sm-8,
	.col-sm-9,
	.col-sm-10,
	.col-sm-11,
	.col-sm-12 {
		float: left;
	}
	.col-sm-12 {
		width: 100%;
	}
	.col-sm-11 {
		width: 91.66666667%;
	}
	.col-sm-10 {
		width: 83.33333333%;
	}
	.col-sm-9 {
		width: 75%;
	}
	.col-sm-8 {
		width: 66.66666667%;
	}
	.col-sm-7 {
		width: 58.33333333%;
	}
	.col-sm-6 {
		width: 50%;
	}
	.col-sm-5 {
		width: 41.66666667%;
	}
	.col-sm-4 {
		width: 33.33333333%;
	}
	.col-sm-3 {
		width: 25%;
	}
	.col-sm-2 {
		width: 16.66666667%;
	}
	.col-sm-1 {
		width: 8.33333333%;
	}
}
@media (min-width: 768px) {
	.col,
	.col-md-1,
	.col-md-2,
	.col-md-3,
	.col-md-4,
	.col-md-5,
	.col-md-6,
	.col-md-7,
	.col-md-8,
	.col-md-9,
	.col-md-10,
	.col-md-11,
	.col-md-12 {
		float: left;
	}
	.col-md-12 {
		width: 100%;
	}
	.col-md-11 {
		width: 91.66666667%;
	}
	.col-md-10 {
		width: 83.33333333%;
	}
	.col-md-9 {
		width: 75%;
	}
	.col-md-8 {
		width: 66.66666667%;
	}
	.col-md-7 {
		width: 58.33333333%;
	}
	.col-md-6 {
		width: 50%;
	}
	.col-md-5 {
		width: 41.66666667%;
	}
	.col-md-4 {
		width: 33.33333333%;
	}
	.col-md-3 {
		width: 25%;
	}
	.col-md-2 {
		width: 16.66666667%;
	}
	.col-md-1 {
		width: 8.33333333%;
	}
}

@media (min-width: 1200px) {
	.col,
	.col-lg-1,
	.col-lg-2,
	.col-lg-3,
	.col-lg-4,
	.col-lg-5,
	.col-lg-6,
	.col-lg-7,
	.col-lg-8,
	.col-lg-9,
	.col-lg-10,
	.col-lg-11,
	.col-lg-12 {
		float: left;
	}
	.col-lg-12 {
		width: 100%;
	}
	.col-lg-11 {
		width: 91.66666667%;
	}
	.col-lg-10 {
		width: 83.33333333%;
	}
	.col-lg-9 {
		width: 75%;
	}
	.col-lg-8 {
		width: 66.66666667%;
	}
	.col-lg-7 {
		width: 58.33333333%;
	}
	.col-lg-6 {
		width: 50%;
	}
	.col-lg-5 {
		width: 41.66666667%;
	}
	.col-lg-4 {
		width: 33.33333333%;
	}
	.col-lg-3 {
		width: 25%;
	}
	.col-lg-2 {
		width: 16.66666667%;
	}
	.col-lg-1 {
		width: 8.33333333%;
	}
}
.ce-gallery[data-ce-columns="4"] .ce-column {
	width: calc(25% - 19px);
}
.fancybox-caption.caption--image {
	width: 100%;
	top: 100%;
	padding: 10px;
	color: #fff;
}
.fancybox-caption--separate {
	margin-top: 0 !important;
}
.fancybox-caption {
	background: none !important;
}
.fancybox-inner>.fancybox-caption {
	display: none;
}
/* default styles for extension "tx_frontend" */
    .ce-align-left { text-align: left; }
    .ce-align-center { text-align: center; }
    .ce-align-right { text-align: right; }

    .ce-table td, .ce-table th { vertical-align: top; }

    .ce-textpic, .ce-image, .ce-nowrap .ce-bodytext, .ce-gallery, .ce-row, .ce-uploads li, .ce-uploads div { overflow: hidden; }

    .ce-left .ce-gallery, .ce-column { float: left; }
    .ce-center .ce-outer { position: relative; float: right; right: 50%; }
    .ce-center .ce-inner { position: relative; float: right; right: -50%; }
    .ce-right .ce-gallery { float: right; }

    .ce-gallery figure { display: table; margin: 0; }
    .ce-gallery figcaption { display: table-caption; caption-side: bottom; }
    .ce-gallery img { display: block; }
    .ce-gallery iframe { border-width: 0; }
    .ce-border img,
    .ce-border iframe {
        border: 0.125rem solid var(--schwarz);
        padding: 0px;
    }

    .ce-intext.ce-right .ce-gallery, .ce-intext.ce-left .ce-gallery, .ce-above .ce-gallery {
        margin-bottom: 1.25rem;
    }
    .ce-intext.ce-right .ce-gallery { margin-left: 1.25rem; }
    .ce-intext.ce-left .ce-gallery { margin-right: 1.25rem; }
    .ce-below .ce-gallery { margin-top: 1.25rem; }

    .ce-column { margin-right: 1.25rem; }
    .ce-column:last-child { margin-right: 0; }

    .ce-row { margin-bottom: 1.25rem; }
    .ce-row:last-child { margin-bottom: 0; }

    .ce-above .ce-bodytext { clear: both; }

    .ce-intext.ce-left ol, .ce-intext.ce-left ul { padding-left: 40px; overflow: auto; }

    /* Headline */
    .ce-headline-left { text-align: left; }
    .ce-headline-center { text-align: center; }
    .ce-headline-right { text-align: right; }

    /* Uploads */
    .ce-uploads { margin: 0; padding: 0; }
    .ce-uploads li { list-style: none outside none; margin: 1em 0; }
    .ce-uploads img { float: left; padding-right: 1em; vertical-align: top; }
    .ce-uploads span { display: block; }

    /* Table */
    .ce-table { width: 100%; max-width: 100%; }
    .ce-table th, .ce-table td { padding: 0.5em 0.75em; vertical-align: top; }
    .ce-table thead th { border-bottom: 2px solid #dadada; }
    .ce-table th, .ce-table td { border-top: 1px solid #dadada; }
    .ce-table-striped tbody tr:nth-of-type(odd) { background-color: rgba(0,0,0,.05); }
    .ce-table-bordered th, .ce-table-bordered td { border: 1px solid #dadada; }

    /* Space */
    .frame-space-before-extra-small { margin-top: 1em; }
    .frame-space-before-small { margin-top: 2em; }
    .frame-space-before-medium { margin-top: 3em; }
    .frame-space-before-large { margin-top: 4em; }
    .frame-space-before-extra-large { margin-top: 5em; }
    .frame-space-after-extra-small { margin-bottom: 1em; }
    .frame-space-after-small { margin-bottom: 2em; }
    .frame-space-after-medium { margin-bottom: 3em; }
    .frame-space-after-large { margin-bottom: 4em; }
    .frame-space-after-extra-large { margin-bottom: 5em; }

    /* Frame */
    .frame-ruler-before:before { content: ''; display: block; border-top: 1px solid rgba(0,0,0,0.25); margin-bottom: 2em; }
    .frame-ruler-after:after { content: ''; display: block; border-bottom: 1px solid rgba(0,0,0,0.25); margin-top: 2em; }
    .frame-indent { margin-left: 15%; margin-right: 15%; }
    .frame-indent-left { margin-left: 33%; }
    .frame-indent-right { margin-right: 33%; }

.news-single .article .news-img-wrap {
  float: right;
  width: 23.125rem;
  margin: 0 0 0 1.5625rem;
}
.news .article .news-img-wrap img {
	vertical-align: middle;
}
.news-single .teaser-text {
  font-size: 1.25rem;
  color: var(--schwarz);
	font-weight: 700;
}
#overlayout_pop {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.80);
	z-index: 500000;
	display: none;
}
#overlayout_pop.open {
	display: block;
}
#overlay_outer {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #ffffff;
	max-width: 66.25rem;
	width: 90%;
	border: 0.125rem solid var(--schwarz);
	padding: 1.875rem;
	text-align: center;
	padding-bottom: 3rem;
}
#overlay_outer .close {
	position: absolute;
	top: -12px;
	right: -12px;
	cursor: pointer;
}
.map {
	position: relative;
}
.map_model {
  	width: 100%;
	height: 100%;
	background-position: center center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
.map_model iframe {
	width: 100%;
	height: 100%;
}
.map_model img {
  	max-width: none !important;
}
.map_locations {
  display: none;
}
#overmap {
	position:  absolute;
	top: 50%;
	left: 50%;
	text-align: center;
	width: 100%;
	transform: translate(-50%, -50%);
	z-index: 15;
	font-weight: 400;
	font-size: 1rem;
	padding-left: 2rem;
	padding-right: 2rem;
}
#googlemaps {
	float: left;
	width: 100%;
	position: relative;
}
#googlemaps img {
	float: left;
	width: 100%;
	position: relative;
	background-image: url('../Images/weltkarte-g.jpg');
	background-size: cover;
}
.platzhalter {
	float: left;
	width: 100%;
	position: relative;
}
.platzhalter_img {
	float: left;
	width: 100%;
	position: relative;
}
.platzhalter_img img {
	float: left;
	width: 100%;
}
.platzhaler_txt {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 90%;
	text-align: center;
	font-size: 1rem;
}
#show-content {
	font-size: 1rem;
	padding-top: 0.375em;
	padding-bottom: 0.375em;
}
@media screen and (max-width: 767px) { 
	.platzhaler_txt,
	#show-content {
		font-size: 3vw;
	}
}



.slideanimfadeInUp, .bestprice {
  opacity: 0;
  -webkit-animation: fadeOutFlex 0.6s forwards;
    -webkit-animation-delay: 0s;
    animation: fadeOutFlex 0.6s forwards;
    animation-delay: 0s;
}
.slideanimfadeInUp {
    -webkit-animation: fadeInUpFlex 0.8s forwards;
    -webkit-animation-delay: 0.5s;
    animation: fadeInUpFlex 0.8s forwards;
    animation-delay: 0.5s;
}
.bestprice {
	-webkit-animation: fadeInUpFlex 1.0s forwards;
    -webkit-animation-delay: 0.5s;
    animation: fadeInUpFlex 1.0s forwards;
    animation-delay: 0.5s;
}
.slideanimfadeInRight {
  opacity: 0;
  -webkit-animation: fadeOutFlex 0.6s forwards;
    -webkit-animation-delay: 0s;
    animation: fadeOutFlex 0.6s forwards;
    animation-delay: 0s;
}
.flex-active-slide .slideanimfadeInRight {
    -webkit-animation: fadeInUpFlex 0.5s forwards;
    -webkit-animation-delay: 0.3s;
    animation: fadeInUpFlex 0.8s forwards;
    animation-delay: 0.3s;
}
/*	#Fade In
//	================================================== */

	@-webkit-keyframes fadeIn {
		0% { opacity: 0; }
		100% { opacity: 1; }
	}

	@keyframes fadeIn {
		0% { opacity: 0; }
		100% { opacity: 1; }
	}

	.animating.fade-in {
		-webkit-animation-name: fadeIn;
		animation-name: fadeIn;
	}


/*	#Fade In Up
//	================================================== */

	/* Default */

		@-webkit-keyframes fadeInUp {
			0% {
				opacity: 0;
				-webkit-transform: translateY(60px);
			}

			80% { opacity: 1; }

			100% { -webkit-transform: translateY(0); }
		}

		@keyframes fadeInUp {
			0% {
				opacity: 0;
				transform: translateY(60px);
			}

			80% { opacity: 1; }

			100% { transform: translateY(0); }
		}

		.animating.fade-in-up {
			-webkit-animation-name: fadeInUp;
			animation-name: fadeInUp;
		}

	/* Big */

		@-webkit-keyframes fadeInUpBig {
			0% {
				opacity: 0;
				-webkit-transform: translateY(200px);
			}

			80% { opacity: 1; }

			100% { -webkit-transform: translateY(0); }
		}

		@keyframes fadeInUpBig {
			0% {
				opacity: 0;
				transform: translateY(200px);
			}

			80% { opacity: 1; }

			100% { transform: translateY(0); }
		}

		.animating.fade-in-up-big {
			-webkit-animation-name: fadeInUpBig;
			animation-name: fadeInUpBig;
		}

	/* Large */

		@-webkit-keyframes fadeInUpLarge {
			0% {
				opacity: 0;
				-webkit-transform: translateY(600px);
			}

			80% { opacity: 1; }

			100% { -webkit-transform: translateY(0); }
		}

		@keyframes fadeInUpLarge {
			0% {
				opacity: 0;
				transform: translateY(600px);
			}

			80% { opacity: 1; }

			100% { transform: translateY(0); }
		}

		.animating.fade-in-up-large {
			-webkit-animation-name: fadeInUpLarge;
			animation-name: fadeInUpLarge;
		}

/*  #Fade Out
//  ================================================== */

  @-webkit-keyframes fadeOutFlex {
    0% { opacity: 1; }
    100% { opacity: 0; }
  }

  @-moz-keyframes fadeOutFlex {
    0% { opacity: 1; }
    100% { opacity: 0; }
  }

  @-ms-keyframes fadeOutFlex {
    0% { opacity: 1; }
    100% { opacity: 0; }
  }

  @-o-keyframes fadeOutFlex {
    0% { opacity: 1; }
    100% { opacity: 0; }
  }

  @keyframes fadeOutFlex {
    0% { opacity: 1; }
    100% { opacity: 0; }
  }
/*  #Fade In Up
//  ================================================== */

  @-webkit-keyframes fadeInUpFlex {
    0% {
      opacity: 0;
      -webkit-transform: translateY(80px);
    }

    100% {
      opacity: 1;
      -webkit-transform: translateY(0);
    }
  }

  @-moz-keyframes fadeInUpFlex {
    0% {
      opacity: 0;
      -moz-transform: translateY(80px);
    }

    100% {
      opacity: 1;
      -moz-transform: translateY(0);
    }
  }

  @-ms-keyframes fadeInUpFlex {
    0% {
      opacity: 0;
      -ms-transform: translateY(80px);
    }

    100% {
      opacity: 1;
      -ms-transform: translateY(0);
    }
  }

  @-o-keyframes fadeInUpFlex {
    0% {
      opacity: 0;
      -o-transform: translateY(80px);
    }

    100% {
      opacity: 1;
      -o-transform: translateY(0);
    }
  }

  @keyframes fadeInUpFlex {
    0% {
      opacity: 0;
      transform: translateY(80px);
    }

    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }

/*  #Fade In Right
//  ================================================== */

  @-webkit-keyframes fadeInRightFlex {
    0% {
      opacity: 0;
      -webkit-transform: translateX(200px);
    }

    100% {
      opacity: 1;
      -webkit-transform: translateX(0);
    }
  }

  @-moz-keyframes fadeInRightFlex {
    0% {
      opacity: 0;
      -moz-transform: translateX(200px);
    }

    100% {
      opacity: 1;
      -moz-transform: translateX(0);
    }
  }

  @-ms-keyframes fadeInRightFlex {
    0% {
      opacity: 0;
      -ms-transform: translateX(200px);
    }

    100% {
      opacity: 1;
      -ms-transform: translateX(0);
    }
  }

  @-o-keyframes fadeInRightFlex {
    0% {
      opacity: 0;
      -o-transform: translateX(200px);
    }

    100% {
      opacity: 1;
      -o-transform: translateX(0);
    }
  }

  @keyframes fadeInRightFlex {
    0% {
      opacity: 0;
      transform: translateX(200px);
    }

    100% {
      opacity: 1;
      transform: translateX(0);
    }
  }
/*  #Fade In Left
//  ================================================== */

  @-webkit-keyframes fadeInRightFlex {
    0% {
      opacity: 0;
      -webkit-transform: translateX(-200px);
    }

    100% {
      opacity: 1;
      -webkit-transform: translateX(0);
    }
  }

  @-moz-keyframes fadeInLeftFlex {
    0% {
      opacity: 0;
      -moz-transform: translateX(-200px);
    }

    100% {
      opacity: 1;
      -moz-transform: translateX(0);
    }
  }

  @-ms-keyframes fadeInLeftFlex {
    0% {
      opacity: 0;
      -ms-transform: translateX(-200px);
    }

    100% {
      opacity: 1;
      -ms-transform: translateX(0);
    }
  }

  @-o-keyframes fadeInLeftFlex {
    0% {
      opacity: 0;
      -o-transform: translateX(-200px);
    }

    100% {
      opacity: 1;
      -o-transform: translateX(0);
    }
  }

  @keyframes fadeInLeftFlex {
    0% {
      opacity: 0;
      transform: translateX(-200px);
    }

    100% {
      opacity: 1;
      transform: translateX(0);
    }
  }


@-webkit-keyframes slideFlex {
    100% { right: 0; }
}

@keyframes slideFlex {
    100% { right: 0; }
}





.image-wrap {
  width: 100%;
	float: left;
  animation: kenburns 30s  infinite;
  /* Add infinite to loop. */
  -ms-animation: kenburns 30s ease infinite;
  -webkit-animation: kenburns 30s ease infinite;
  -o-animation: kenburns 30s ease infinite;
  -moz-animation: kenburns 30s ease infinite;
 
}

@-webkit-keyframes kenburns {
  0% {
    -webkit-transform-origin: bottom left;
    -moz-transform-origin: bottom left;
    -ms-transform-origin: bottom left;
    -o-transform-origin: bottom left;
    transform-origin: bottom left;
    transform: scale(1.0);
    -ms-transform: scale(1.0);
    /* IE 9 */
    
    -webkit-transform: scale(1.0);
    /* Safari and Chrome */
    
    -o-transform: scale(1.0);
    /* Opera */
    
    -moz-transform: scale(1.0);
    /* Firefox */
  }
  50% {
    transform: scale(1.1);
    -ms-transform: scale(1.1);
    /* IE 9 */
    
    -webkit-transform: scale(1.1);
    /* Safari and Chrome */
    
    -o-transform: scale(1.1);
    /* Opera */
    
    -moz-transform: scale(1.1);
    /* Firefox */
  }
  100% {
    transform: scale(1.0);
    -ms-transform: scale(1.);
    /* IE 9 */
    
    -webkit-transform: scale(1.0);
    /* Safari and Chrome */
    
    -o-transform: scale(1.0);
    /* Opera */
    
    -moz-transform: scale(1.0);
    /* Firefox */
  }
}