/* Allgemeine Definitionen und Resets ----------------------------------------- */
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html{
    width: 100%;
    height: 100%;
}

body {
	width: 100%;
	min-height: 100%;
	margin: 0;
	padding: 0;
}
.isGenerator{
	height: 100%;
}

figure, section, header, nav, footer, label, input, textarea, div  {
	margin: 0;
	padding: 0;
	line-height: 1;
}
h1, h2, h3, h4, p, ul, ol, li, a, td, th {
    margin: 0;
    padding: 0;
}
img {border: none; display: block;}

ul {list-style-type: none;}

section, header, nav, footer, ul, ol, li, a, div, h1, h2, h3, p {background-repeat: no-repeat;}

a {text-decoration: none;}

table td {vertical-align: top;}

em, em a {font-style: italic;}

textarea {width: 100%;}


/* Zentrierung (für mobile Navigation) ---------------------------------------- */
#panel {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

/* Sections */
section
{
	display: flex;
	flex-wrap: wrap;
	position: relative;
	width: 100%;
	padding: 0;
	--PADDING-TOP: 0;
	--PADDING-RIGHT: 0;
	--PADDING-BOTTOM: 0;
	--PADDING-LEFT: 0;
	--content-spacing: 0;
}
/* Container */
section .container
{
	--PADDING-TOP: 0;
	--PADDING-RIGHT: 0;
	--PADDING-BOTTOM: 0;
	--PADDING-LEFT: 0;
}

section:not(.section-header):not(.section-anfahrt):not(.section-news):not(section[name="job-button"]):not(section[name="popup_ausgabe"]){
	overflow-x: hidden;
}
section:not(.section-header):not(.section-slider):not(.section-anfahrt):not(.section-news) .container .row{
	margin-left: calc(-1*var(--content-spacing));
	margin-right: calc(-1*var(--content-spacing));
}
section:not(.section-header):not(.section-slider):not(.section-anfahrt):not(.section-news) .container .row [class^="col-"]{
	padding-left: var(--content-spacing);
	padding-right: var(--content-spacing);
}

/* FOOTER */
footer img {
	max-width: 100%;
}
footer .footer-logo img {
    width: 100%;
    height: auto;
}

/* Container ------------------------------------------------------------------ */
/*[class^="col-md"]{line-height: 0px}*/
.lw--header--style .container.container-wide,
.lw--dynamic--style .container.container-wide,
.lw--content--style .container.container-wide,
.lw--footer--style .container.container-wide {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0;
	margin: 0;
}

	.lw--header--style .container.container-wide .row,
	.lw--dynamic--style .container.container-wide .row,
	.lw--content--style .container.container-wide .row,
	.lw--footer--style .container.container-wide .row {margin: 0;}

	.lw--header--style .container.container-wide [class*='col-'],
	.lw--dynamic--style .container.container-wide [class*='col-'],
	.lw--content--style .container.container-wide [class*='col-'],
	.lw--footer--style .container.container-wide [class*='col-'] {
		margin: 0;
		padding: 0;
	}




/* allgemeine Tabellenformatierungen */
.lw--content--style table {border-collapse: collapse;}
    .lw--content--style table th {text-align: left;}
    .lw--content--style table td { }
        .lw--content--style table td h2 {margin: 0 0 2px 0;}
        .lw--content--style table td h3 {margin: 0 0 13px 0;}
        .lw--content--style table td p {}
            .lw--content--style table td p a {line-height: 19px;}
            .lw--content--style table td ul {margin-left: 5px; margin-bottom: 0;}
            .lw--content--style table td ul li {display: block;}
            .lw--content--style table td ol {margin-left: 5px; margin-bottom: 0;}
            .lw--content--style table td ol li {display: block;}


/* Tabelle mit Rahmen */
.lw--content--style table.tabelle-mit-rahmen th p {margin: 0; padding: 5px 0 5px 0;}
.lw--content--style table.tabelle-mit-rahmen td p {margin: 0; padding: 5px 0 5px 0;}
.lw--content--style table.responsive-table-sprechzeiten.tabelle-mit-rahmen td.rowspan-down{border: 0 solid transparent; margin: 0; padding: 0;}


/* Listen */
section ul {list-style-type: none;}
section ul li {position: relative;}
section ul li p {line-height: 20px; padding: 0; margin: 0;}

/* Liste in einem Listenpunkt */
section ul li ul {margin: 1px 0 3px 0;}
	section ul li ul li {display: block;}

section ol li ul {
    margin: 1px 0 3px 0;
    list-style-type: none;
}

    section ol li ul li {display: block;}

	section ol li ul li:before,
	section ul li ul li:before,
	section ul li:before,
	section table td ul li:before {
		position: absolute;
		padding: 0;
		font-family: 'FontAwesome';
	}

/* Colorbox Anpassungen */
#colorbox #cboxClose {
    top: -28px !important;
    right: -28px !important;
    bottom: auto !important;
    left: auto !important;
}
#colorbox #cboxLoadedContent {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
    overflow-x: hidden !important;
}
#colorbox #cboxLoadedContent::-webkit-scrollbar {
    display: none;  /* Chrome, Safari and Opera */
}
#colorbox #cboxLoadedContent .video-colorbox-video {
    width: 100% !important;
    height: auto !important;
}

/* Font Awesome Standard-Formatierung */
#menu a[class*="far-"]:before,
#menu a[class*="fab-"]:before,
#menu .far,
#menu .fab,
#panel a[class*="far-"]:before,
#panel a[class*="fab-"]:before,
#panel .far,
#panel .fab{
	--FONT-FAMILY:'FontAwesome' !important;
  font-family: 'FontAwesome' !important;
	--FONT-WEIGHT:400 !important;
  font-weight: 400 !important 
}

#menu a[class*="fa-"],
#menu a[class*="fas-"],
#menu .fa,
#menu .fas,
#panel a[class*="fa-"],
#panel a[class*="fas-"],
#panel .fa,
#panel .fas{
	--FONT-FAMILY:'FontAwesome' !important;
  font-family: 'FontAwesome' !important;
	--FONT-WEIGHT:900 !important;
  font-weight: 900 !important; 
}

li:before{
    font-family: 'FontAwesome';
    font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
    -webkit-transition: color 275ms linear;
    -moz-transition: color 275ms linear;
    -ms-transition: color 275ms linear;
    -o-transition: color 275ms linear;
    transition: color 275ms linear;
}

/* Piwik-Modul ----------------------------------------------*/
.lw--content--style #box-stat {text-decoration: none; line-height: 0; margin: 0; padding: 0; font-size: 0; display: inline;}
.lw--content--style #box-stat a {background-image: none;}

/* fett */
#panel section.lw--content--style .fett,
#panel section.lw--footer--style .fett,
#panel .fett{font-weight: bold !important;}

/* fett und farbig */
#panel .section.lw--content--style .farbig,
#panel .section.lw--footer--style .farbig,
#panel .farbig{color: var(--COLOR) !important;}
#panel .section.lw--content--style .fett-farbig,
#panel .section.lw--footer--style .fett-farbig,
#panel .fett-farbig{font-weight: bold !important;color: var(--COLOR) !important;}

/* rot */
#panel section.lw--content--style .rot,
#panel section.lw--footer--style .rot{color: red !important;}
.lw--content--style .anker {text-decoration: none; line-height: 0; margin: 0; padding: 0; font-size: 0;}

/* Schrift */
#panel .lw--content--style .schrift-klein {font-size: 12px; !important;}

/* Bilder */
.lw--dynamic--style .img-responsive {width: 100%; height: auto;}
.lw--content--style .bild-rechts {float: left; margin: 0 20px 20px 0;}
.lw--content--style .bild-links {float: left; margin: 0 20px 20px 0;}
.lw--content--style img {max-width: 100%; height: auto;}


/* Abstandsklassen */
.lw--content--style .abstand-unten-0 {margin-bottom: 0 !important;}
.lw--content--style .abstand-unten-1 {margin-bottom: 10px !important;}
.lw--content--style .abstand-unten-2 {margin-bottom: 20px !important;}
.lw--content--style .abstand-unten-3 {margin-bottom: 30px !important;}
.lw--content--style .abstand-unten-5 {margin-bottom: 40px !important;}
.lw--content--style .abstand-unten-7 {margin-bottom: 70px !important;}
.lw--content--style .abstand-unten-10 {margin-bottom: 220px !important;}

.lw--content--style .abstand-oben-0 {margin-top: 0 !important;}
.lw--content--style .abstand-oben-1 {margin-top: 10px !important;}
.lw--content--style .abstand-oben-2 {margin-top: 20px !important;}
.lw--content--style .abstand-oben-3 {margin-top: 30px !important;}
.lw--content--style .abstand-oben-5 {margin-top: 40px !important;}
.lw--content--style .abstand-oben-7 {margin-top: 70px !important;}
.lw--content--style .abstand-oben-8 {margin-top: 130px !important;}
.lw--content--style .abstand-oben-10 {margin-top: 220px !important;}


/* clear:both - zuruecksetzen float */
.clear {clear: both; height: 0; line-height: 0; font-size: 0; overflow: hidden;margin-right: 100%;flex-basis: auto;}
.clear-absatz {clear: both;}

/* Infoboxen "alert" */
.alert {
    padding: 15px;
    margin-top: 20px;
    margin-bottom: 20px;
    border: 1px solid transparent;
    border-radius: 4px;
}
.alert :last-child {
    margin-bottom: 0;
}
.alert-info {
    color: #31708f;
    background-color: #d9edf7;
    border-color: #bce8f1;
}
.alert-info ul{
    margin-bottom:10px;
}
.alert-info ul li{
    color: #31708f;
}
.alert-danger {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;
}
.alert-danger ul{
    margin-bottom:0;
}
.alert-danger ul li{
    color: #a94442;
}

/* Links im Content */
.lw--content--style a:hover {
    -webkit-transition: color 175ms linear;
    -moz-transition: color 175ms linear;
    -ms-transition: color 175ms linear;
    -o-transition: color 175ms linear;
    transition: color 175ms linear;
}


/* Elemente (zentriert, link, rechts) ausrichten */
.pull-left {
	display: flex !important;
	align-items: flex-start;
	justify-content: flex-start;
}

.pull-right {
	display: flex !important;
	align-items: flex-end;
	justify-content: flex-end;
}

.center-block {
	display: flex !important;
	align-items: center;
	justify-content: center;
}


/* Buttons */
.lw--content--style .button-nach-rechts, .lw--footer--style .button-nach-rechts,
.lw--content--style .button-nach-links, .lw--footer--style .button-nach-links,
.lw--content--style .button-senden, .lw--footer--style .button-senden,
.lw--content--style .button-standard, .lw--footer--style .button-standard,
.lw--content--style .button-secondary, .lw--footer--style .button-secondary{
	display: inline-block;
	cursor: pointer;
	position: relative;
}

	.lw--content--style .button-nach-rechts:hover, .lw--footer--style .button-nach-rechts:hover,
	.lw--content--style .button-nach-links:hover, .lw--footer--style .button-nach-links:hover,
	.lw--content--style .button-senden:hover, .lw--footer--style .button-senden:hover,
	.lw--content--style .button-standard:hover, .lw--footer--style .button-standard:hover {text-decoration: none;}

	.lw--content--style .button-nach-rechts:before, .lw--footer--style .button-nach-rechts:before,
	.lw--content--style .button-nach-links:before, .lw--footer--style .button-nach-links:before,
	.lw--content--style .button-senden:before, .lw--footer--style .button-senden:before {
		position: absolute;
		padding: 0 !important;
		margin: 0 !important;
		font-family: 'FontAwesome' !important;
	}
