body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin: 0;
  scroll-behavior:smooth;
  width:100%;
}

main {
  overflow-x:hidden;
  flex: 1;
  min-height:calc(100vh - 60px);
    padding-bottom:1rem;
}

#wrapper {
  width:100%;
}
.invisible {
  display:none;
}
.back {
  display: none;
}

@media screen and (min-width:10rem) {
	header {
		width:100%;
		height:65px;
		margin-bottom: 2rem;
		z-index:30;
		position:fixed;
		background-color:#060606;
		box-shadow: 0 2px 1px #2b2b2b;
    }
}
.mod_article {
   max-width:1200px;
   margin-left:auto;
   margin-right:auto;
}
.mod_article.full_width {
	max-width:100%;
}
.mod_article.full_width p, .mod_article.full_width li, .mod_article.full_width a, .mod_article.full_width h2, .mod_article.full_width h3, .mod_article.full_width h4, .mod_article.full_width h5 {
	color:black;
}
/*
#container {
	max-width:1200px;
	margin-left:auto;
	margin-right:auto;
}
*/
/*  COLUMNS  */

@media screen and (max-width:29.99rem) {.columns442 {display:grid; grid-template-columns:repeat(2, 1fr);}}
@media screen and (min-width:30rem) and (max-width:49.99rem) {.columns442 {display:grid; grid-template-columns:repeat(4, 1fr);}}
@media screen and (min-width:50rem) {.columns442 {display:grid; grid-template-columns:repeat(4, 1fr);}}

@media screen and (max-width:29.99rem) {.columns422 {display:grid; grid-template-columns:repeat(2, 1fr);}}
@media screen and (min-width:30rem) and (max-width:49.99rem) {.columns422 {display:grid; grid-template-columns:repeat(2, 1fr);}}
@media screen and (min-width:50rem) {.columns422 {display:grid; grid-template-columns:repeat(4, 1fr); align-content:center;}}

@media screen and (max-width:29.99rem) {.columns432 {display:grid; grid-template-columns:repeat(2, 1fr);}}
@media screen and (min-width:30rem) and (max-width:49.99rem) {.columns432 {display:grid; grid-template-columns:repeat(3, 1fr);}}
@media screen and (min-width:50rem) {.columns432 {display:grid; grid-template-columns:repeat(4, 1fr);}}

@media screen and (max-width:29.99rem) {.columns332 {display:grid; grid-template-columns:repeat(2, 1fr);}}
@media screen and (min-width:30rem) and (max-width:49.99rem) {.columns332 {display:grid; grid-template-columns:repeat(3, 1fr);}}
@media screen and (min-width:50rem) {.columns332 {display:grid; grid-template-columns:repeat(3, 1fr);}}

@media screen and (max-width:29.99rem) {.columns331 {display:grid; grid-template-columns:repeat(1, 1fr);}}
@media screen and (min-width:30rem) and (max-width:49.99rem) {.columns331 {display:grid; grid-template-columns:repeat(3, 1fr);}}
@media screen and (min-width:50rem) {.columns331 {display:grid; grid-template-columns:repeat(3, 1fr);}}

@media screen and (max-width:29.99rem) {.columns321 {display:grid; grid-template-columns:repeat(1, 1fr);}}
@media screen and (min-width:30rem) and (max-width:49.99rem) {.columns321 {display:grid; grid-template-columns:repeat(2, 1fr);}}
@media screen and (min-width:50rem) {.columns321 {display:grid; grid-template-columns:repeat(3, 1fr);}}

@media screen and (max-width:29.99rem) {.columns221 {display:grid; grid-template-columns:repeat(1, 1fr);}}
@media screen and (min-width:30rem) and (max-width:49.99rem) {.columns221 {display:grid; grid-template-columns:repeat(2, 1fr);}}
@media screen and (min-width:50rem) {.columns221 {display:grid; grid-template-columns:repeat(2, 1fr);}}

@media screen and (max-width:29.99rem) {.columns111 {display:grid; grid-template-columns:repeat(1, 1fr);}}
@media screen and (min-width:30rem) and (max-width:49.99rem) {.columns111 {display:grid; grid-template-columns:repeat(1, 1fr);}}
@media screen and (min-width:50rem) {.columns111 {display:grid; grid-template-columns:repeat(1, 1fr);}}

@media screen and (max-width:29.99rem) {.columns221nw {display:grid; grid-template-columns:1fr; align-content:center;}}
@media screen and (min-width:30rem) and (max-width:49.99rem) {.columns221nw {display:grid; grid-template-columns:1fr 3fr; align-content:center;}}
@media screen and (min-width:50rem) {.columns221nw {display:grid; grid-template-columns:1fr 3fr; align-content:center;}}

@media screen and (max-width:29.99rem) {.columns211 {display:grid; grid-template-columns:repeat(1, 1fr);}}
@media screen and (min-width:30rem) and (max-width:49.99rem) {.columns211 {display:grid; grid-template-columns:repeat(1, 1fr);}}
@media screen and (min-width:50rem) {.columns211 {display:grid; grid-template-columns:repeat(2, 1fr);}}

@media screen and (max-width:29.99rem) {.columns_borderleft {display:grid; grid-template-columns:1fr;}}
@media screen and (min-width:30rem) and (max-width:49.99rem) {.columns_borderleft {display:grid; grid-template-columns:1fr;}}
@media screen and (min-width:50rem) {.columns_borderleft {display:grid; grid-template-columns: 1fr 3fr;}}

/* Gallery */
@media screen and (max-width:29.99rem) {.content-gallery ul {display:grid; grid-template-columns:repeat(1, 1fr); margin:0 2rem;}}
@media screen and (min-width:30rem) and (max-width:49.99rem) {.content-gallery ul {display:grid; grid-template-columns:repeat(2, 1fr); margin:0 2rem;}}
@media screen and (min-width:50rem) {.content-gallery ul {display:grid; grid-template-columns:repeat(3, 1fr); margin:0 2rem;}}
.content-gallery figure {
	margin:10px 10px;
	padding:4px;
	padding-bottom:0;
	border:1px solid #027ad0;
}
#cboxCurrent {display:none!important;}

.gap5 {
	gap: 5px 5px;
}
.gap10 {
	gap: 10px 10px;
}
.gap20 {
	gap: 20px 20px;
}

.gap25 {
	gap: 25px 25px;
}
.gap40 {
	gap: 40px 40px;
}

/*Variante mit Grid, hier muss das Grid unterhalb einer Minimalweite des Bildschirms ausgeschaltet werden, damit die Elemente als "block" untereinander zu liegen kommen, Daher das Media-Query */
/*
@media screen and (min-width:550px) {
.special_slider {
	display:grid;
	grid-template-columns: repeat(auto-fit, minmax(50px, 1fr));
	gap:2rem;
} 
.special_slider .sliderpic {
    grid-column: 1 / span 5;
}
.special_slider .slidertext {
    grid-column: -1 / span 1;
}}
*/

/* Andere Gridvariante - noch nicht voll getestet, aber simpel und straight forward und die children benötigen keine eigene Klasse */
/*
@media screen and (min-width:550px) {
.special_slider {
	display:grid;
	grid-template-columns: minmax(350px,3fr) minmax(200px,1fr);
	gap:2rem;
} 
}
*/

#main {
	margin-top:65px;
}
.spezialangebot11 #main {
	margin-top: 65px;
}
.spezialangebot11 #main .stablepic {
	margin-top:calc(50px + 10vw);
}

@media screen and (max-width:29.9999rem) {
.kontakt11 .ce_form {
	width:calc(100% - 2rem);
	margin-left:1rem;
	margin-right:1rem;
    margin-top:100px;
	min-height: 860px;
}}
@media screen and (min-width:30rem) {
.kontakt11 .ce_form {
	width:80%;
	margin-left:auto;
	margin-right:auto;
    margin-top:100px;
	min-height: 860px;
}}


footer {
	position:relative;
	width:100%;
	border-top:1px dashed #ffffff;
	padding:1rem;
	height:90px;
	z-index:100;
}
.footer-layout {
	display:flex;
	flex-flow:row wrap;
	justify-content:space-around;
	align-content: center;
    height: auto;
}
footer p, footer .content-text a, footer a, footer p {
	padding:0;
	margin:0;
	text-decoration:none;
	color:white;
	z-index:100;
}