/* ##### Bootstrap */
@media (min-width: 768px) {
	.row-eq-height {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
	}	
}

@media (max-width: 575.98px) {
	h1 {
		font-size: 1.75rem;
	}
	h2 {
		font-size: 1.5rem;
	}
	h3 {
		font-size: 1.25rem;
	}
	h4 {
		font-size: 1.1rem
	}
	h5 {
		font-size: 1rem;;
	}
}

@media (min-width: 576px) and (max-width: 767.98px) {
    h1 {
		font-size: 2rem;
	}
	h2 {
		font-size: 1.6rem;
	}
	h3 {
		font-size: 1.4rem;
	}
	h4 {
		font-size: 1.2rem
	}
	h5 {
		font-size: 1.1rem;;
	}
}

@media (min-width: 768px) and (max-width: 991.98px) {
	h1 {
		font-size: 2.25rem;
	}
	h2 {
		font-size: 1.75rem;
	}
	h3 {
		font-size: 1.5rem;
	}
	h4 {
		font-size: 1.25rem
	}
}

/* ##### Allgemein zCMS */
body {
	color: #000000;
}

a {
	color: #960410;
}

a:hover {
	color: #000000;
	text-decoration: none;
}

.btn-link {
	color: #960410;
}

.btn-link:hover, .btn-link:active {
	color: #000000;
}


.inhalt p, .inhaltOTeaser p, #teaser p, .teaser p, #footer p, .footer p, .bildergalerie p, #formFormular p, .nachrichten p, .produkte p, #suchergebnis p, #supportSuchergebnis p, .sitemap p, .termine p, #header p, #suche p, .zcms-content p {
	margin: 0px;
	padding: 0px;
}

.inhalt, .inhaltOTeaser, #teaser, #footer, .footer, .bildergalerie, #formFormular, .nachrichten, .produkte, #suchergebnis, #supportSuchergebnis, .sitemap, .termine, #header, #socialmedia, .zcms-content {
	overflow: hidden;
}

h1, h2, h3, h4, h5, h6 {
	margin-top: 0px;
}


/* ##### BBCode Bilder */
img.bbcLinks, img.bbclinks {
	float: left;
	margin-right: 15px;
	margin-bottom: 5px;
	margin-left: 0px;
}
	
img.bbcRechts, img.bbcrechts {
	float: right;
	margin-right: 0px;
	margin-bottom: 5px;
	margin-left: 15px;
}
	
img.bbcAllein, img.bbcallein {
	display: block;
	margin-right: 0px;
	margin-bottom: 5px;
	margin-left: 0px;
}
	
img.bbcDaneben, img.bbcdaneben {
	display: inline;
	margin-right: 15px;
	margin-left: 0px;
}

@media (min-width: 0px) and (max-width: 767px) {
	.bild-xs-center {
		width: 100%;
  		float: none !important;
	}

	.bild-xs-center-abstand {
		width: 100%;
		float: none !important;
		margin-bottom: 15px;
	}
}

/* Embed Erweiterung */
.embed-responsive-5by1::before {
	padding-top:20%;
}

.embed-responsive-4by1::before {
	padding-top:25%;
}

.embed-responsive-3by1::before {
	padding-top:33.3333%;
}

.embed-responsive-2by1::before {
	padding-top:50%;
}

/* Bildmakros - z.B. Bilder 3 */
.colBildOhnePadding {
  padding: 0px;
}

.colBildMitPaddingMedium {
  padding: 0px 10px;
}

.colBildMitPaddingSmall {
  padding: 0px 3px;
}

.colBildMitPaddingSehrSmall {
  padding: 0px 1px;
}

a.bildmakro:hover > img {
  opacity: 0.8;
}

@media (min-width: 0px) and (max-width: 767px) {
	.colBildMitPadding {
    margin-bottom: 15px;
  }

  .colBildMitPaddingMedium {
    padding: 0px 0px 10px 0px;
  }

  .colBildMitPaddingSmall {
    padding: 0px 0px 5px 0px;
  }

  .colBildMitPaddingSehrSmall {
    padding: 0px 0px 2px 0px;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
	.col-sm-2.colBildMitPadding {
    margin-bottom: 15px;
  }

  .col-sm-2.colBildMitPaddingMedium {
    padding: 0px 0px 10px 0px;
  }

  .col-sm-2.colBildMitPaddingSmall {
    padding: 0px 0px 5px 0px;
  }

  .col-sm-2.colBildMitPaddingSehrSmall {
    padding: 0px 0px 2px 0px;
  }
}

table.bbcLinks {
	float: left;
	margin-right: 15px;
	margin-bottom: 3px;
	margin-left: 0px;
}

table.bbcRechts {
	float: right;
	margin-right: 0px;
	margin-bottom: 3px;
	margin-left: 15px;
}

table.bbcAllein {
	display: block;
	margin-right: 0px;
	margin-bottom: 3px;
	margin-left: 0px;
}

table.bbcDaneben {
	display: inline;
	margin-right: 15px;
	margin-left: 0px;
}

td.bildtext {
	color: #000;
	font-size: 10px;
	line-height: 12px;
	font-style: normal;
	padding-bottom: 5px;
}


/* Header */
.header-img {
	width: 100%;
}

/* ##### Bildergalerie */

/* Template bildarchiv.php */

.startBildarchiv1Container {
  position: relative;
  width: 100%;
}

.imgBildarchiv1 {
  display: block;
  width: 100%;
  height: auto;
}

.startBildarchiv1Overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  transition: .5s ease;
  background-color: #ffffff;
}

.startBildarchiv1Container:hover .startBildarchiv1Overlay {
  opacity: 0.80;
}

.startBildarchiv1OverlayText {
  color: #000000;
  font-size: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
}


/* Template bildarchiv_2.php */

.startBildarchiv2Container {
  position: relative;
  width: 100%;
}

.imgBildarchiv2 {
  display: block;
  width: 100%;
  height: auto;
}

.startBildarchiv2Overlay {
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  background-color: #ffffff;
	opacity: 0.75;
  overflow: hidden;
  width: 100%;
  height:0;
  transition: .5s ease;
}

.startBildarchiv2Container:hover .startBildarchiv2Overlay {
  bottom: 0;
  height: 100%;
}

.startBildarchiv2OverlayText {
  color: #000000;
  font-size: 1rem;
  line-height: 1.1rem;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
}

.startBildarchivContent1 a {
	text-decoration: none;
}

/* Template Bilder Karussell */


/* Bildarchiv karussell */
.cycle-karussell-text {
	display: none;
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.8);
	color: #ffffff;
	padding: 15px 20px 15px 15px;
}

.cycle-karussell-btn {
	position: absolute;
	top: 0;
	right: 0;
	background-color: #000000;
	border-radius: 0px;
	border-width: 0px;
	color: #ffffff;
	padding: 10px 15px;
}

.cycle-karussell-link {
	padding: 10px 15px;
	font-size: 16px;
	position: absolute;
	bottom: 0px;
	right: 0px;
}

.cycle-karussell-link > span {
	color: #ffffff;
}

.cycle-karussell-link:hover > span {
	color: #aaaaaa;
}

.cycle-karussell-btn-close {
	color: #ffffff;
	position: absolute;
	bottom: 0px;
	left: 0px;
	font-size: 16px;
	padding: 0px 5px 0px 10px;
}

.cycle-karussell-btn-close-right {
	right: 0;
	left: auto;
}

.cycle-karussell-pager {
	display: inline-block;
	text-align: center;
	z-index: 500;
	overflow: hidden;
}
.cycle-karussell-pager span { 
	font-family: arial;
	font-size: 24px;
	width: 16px;
	line-height: 24px;
	display: inline-block; 
	color: #999999; 
  cursor: pointer; 
  vertical-align: bottom;
}
.cycle-karussell-pager span.cycle-pager-active {
	color: #000000;
}

.cycle-karussell-pager>* {
	cursor: pointer;
}

.jqcycle-karussell-control {
	text-align: center;
	margin-top: 5px;
}

.jqcycle-karussell-left, .jqcycle-karussell-right {
	display: inline-block;
	padding: 5px 5px;
	font-size: 16px;
}

.jqcycle-karussell-left a, .jqcycle-karussell-right a {
	color: #999999;
}

@media (min-width: 0px) and (max-width: 767px) {
	.cycle-karussell-text {
		padding: 10px 10px 25px 10px;
	}

	.cycle-karussell-link {
		padding: 0px 10px 3px 5px;
	}
}


/* ##### Formular */



.formular .formularTextPflicht {
	font-weight: bold;
}

.formular .formularTextPflicht::after {
	content: "*";
}

.formular .formularText {
	font-weight: normal;
}

.custom-control-input.is-valid~.custom-control-label, .was-validated .custom-control-input:valid~.custom-control-label {
	color: inherit;
}

.formular .form-textarea {
	min-height: 9rem;
}

a.formLinkDatenschutz {
	background-color: #ffffff;
	padding: 1px 4px;
	border-radius: 0.25rem;
	font-weight: normal;
}

a.formLinkDatenschutz:hover {
	background-color: #efefef;
	text-decoration: none;
	font-weight: normal;
}

.img-captcha {
	margin-bottom: 10px;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	height: 36px;
}

@media (min-width: 0px) and (max-width: 767px) {
	.img-captcha {
		margin-top: 10px;
	}
}



/* ##### Karussell */

.carousel-control.left, .carousel-control.right {
	background-image: none;
}

.carousel-indicators li, .carousel-indicators li.active {
	margin-right: 2px;
	margin-left: 2px;
}

/* Header - 100% Vergrößerung */
#carousel-header .carousel-inner > .item > img, .carousel-inner > .item > a > img {
  width: 100%;
  margin: auto;
  padding: 0px;
}

#carousel-header a.carousel-control {
  cursor: pointer;
}


/* ##### Listing */
.listing a .listingIcon {
	width: 50px;
}

/* ##### Login */

input.loginFelder {
	padding: 3px;
	color: #000000;
	font-size: 1.1em;
	border: 1px solid #999999;
	width: 90%;
	margin-bottom: 10px;
}

td.loginLabel {
	padding-bottom: 10px;
	padding-right: 10px;
}





/* ##### Nachricht */

.nachrichten {
	padding: 30px 0;
}

.kseite1 .nachrichten, .kseite2 .nachrichten {
	padding: 0;
}

.nachrichten .textNachricht {
	margin-bottom: 20px;
	overflow: hidden;
}

.nachrichten .textNachricht h1 {
	font-size: 1.4rem;
}

.nachrichten .textNachrichtInfo {
	font-weight: normal;
}

.nachrichten .textNachrichtInfo a {
	font-weight: normal;
}

.nachrichten .newsContentBild {
	margin-bottom: 30px;
}

.nachrichten .newsContentBild img {
	margin: 0 auto;
}

/* Template nachrichtenordner_dropdown_2.php */

.nachrichten .nachrichtDropDown2 {
	margin: 0px 0px 30px 0px;
}

.nachrichten .headerNachricht h1 {
	background-color: #ededed;
	padding: 15px 30px;
	font-size: 1.3rem;
	line-height: 1.3rem;
	font-weight: 300;
	margin: 0px;
}

.nachrichten .headerNachrichtSymbol {
	padding: 15px 30px;
	font-size: 18px;
	font-weight: normal;
	color: #960410;
}

.nachrichten .textNachrichtInline {
	background-color: #ededed;
	padding: 30px;
	margin: 0px;
}

.nachrichten .closeNachrichtInline {
	clear: both;
	margin: 10px 0px;
	cursor: pointer;
}

/* Template nachrichtenordner_referenzen.php */

.startNewsContent2 {
	z-index: 10;
	position: absolute;
	top: 0px;
	height: 100%;
	width: 270px;
	padding: 15px;
	background-color: #ffffff;
	opacity: 0.85;
	color: #000000;
	text-align: center;
}

/* Template nachrichtenornder_3 */

.startNewsContentBild img {
	width: 100%;
}

.startNewsContentText {
	padding-top: 15px;
}

@media (min-width: 0px) and (max-width: 767px) {
	.startNewsContent2 {
		width: 100%;
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	.startNewsContent2 {
		width: 230px;
	}
}

@media (min-width: 992px) and (max-width: 1199px) {
	.startNewsContent2 {
		width: 220px;
	}
}

.startNewsContent1 a {
	text-decoration: none;
}


/* Template Nachrichten Accordion */
.card-news {
	background-color: transparent;
	border-width: 0;
}

.card-header-news {
	background-color: transparent;
	border-width: 0;
	padding: 0.5rem 0;
}

.card-news-link {
	line-height: 2rem;
	text-transform: uppercase;
	font-size: 1.2rem;
}

.card-news-sign {
	line-height: 2rem !important;
}

.card-body-news {
	padding: 15px 0px;
}


/* ##### Navigator */

#navigator {
	font-size: 0.9rem;
	color: #777777;
	font-weight: normal;
}

#navigator a {
	color: #777777;
	font-weight: normal;
}

#navigator .navigator_trenner {
	padding: 0px 6px;
}



/* ##### OneClickLinks */

#oneClickLinks ul {
	list-style: none;
	margin: 0px;
	padding: 0px;
}

#oneClickLinks ul li {
	display: inline;
	margin: 0px;
	padding: 0px;
}

#oneClickLinks a.navi, #oneClickLinks a.navi-aktiv {
	font-weight: normal;
	font-style: normal;
	text-decoration: none;
}



@media (min-width: 0px) and (max-width: 767px) {
  #oneClickLinks ul li {
    display: block;
    text-align: center;
  }

  #oneClickLinks .oclTrenner {
    display: none;
  }
}



/* ##### OnePage */

.kseite1 .inhalt, .kseite2 .inhalt, .kseite1 .inhaltOTeaser, .kseite2 .inhaltOTeaser, .kseite1 .zcms-content, .kseite2 .zcms-content {
	padding: 0px;
}

.opTeaserBilder .imgOnePageTeaserImage {
  margin-bottom: 30px;
}

.opTeaserNachricht, .opTeaserTermin {
	cursor: pointer;
	margin-bottom: 30px;
}

.opTeaserNachricht .opTeaserNachrichtBild,
.opTeaserTermin .opTeaserTerminBild {
	margin-bottom: 10px;
}

.opTeaserNachrichtText h1, .opTeaserNachrichtText h2, .opTeaserNachrichtText h3, 
.opTeaserTerminText h1, .opTeaserTerminText h2, .opTeaserTerminText h3 {
	font-size: 1.2rem;
	line-height: 1.3rem;
	margin: 0px 0px 7px 0px;
	padding: 0px;
}

.opTeaserNachrichtLink, .opTeaserTerminLink {
  transition: 0.3s ease;
}

.opTeaserNachrichtLink:hover, .opTeaserTerminLink:hover {
	-webkit-transform: scale(1.03);
	-ms-transform: scale(1.03);
	transform: scale(1.03);
	transition: 0.3s ease;
}

.imgOnePageTeaserImage:hover {
  opacity: 0.8;
}

.opTeaserTermin .opTeaserTerminText {
	margin-top: 10px;
	margin-bottom: 10px;
}

.opTeaserTermin .opTeaserTerminDatum {
	font-weight: bold;
	font-size: 16px;
}

/* OnePage Overview */
.conOPOverviewEinleitung {
	margin-bottom: 30px;
}

.conOPOverviewImg {
	margin-bottom: 10px;
	overflow: hidden;
}

.imgOPOverviewImg {
	animation: imgOPOverviewScale 35s ease-in-out infinite;
}

.imgOPOverviewImg:hover {
	opacity: 0.7;
	transition: opacity .3s ease-out;
	-moz-transition: opacity .3s ease-out;
	-webkit-transition: opacity .3s ease-out;
	-o-transition: opacity .3s ease-out;
}

@keyframes imgOPOverviewScale {
	50% {
		-webkit-transform:scale(1.2);
		-moz-transform:scale(1.2);
		-ms-transform:scale(1.2);
		-o-transform:scale(1.2);
		transform:scale(1.2);
	}
}



/* ##### Sprachen */

#sprachen .labelSprache {
	font-weight: bold;
	text-transform: uppercase;
	color: #000000;
	padding: 0px 10px 0px 0px;
}

#sprachen ul {
	list-style: none;
	margin: 0px;
	padding: 0px;
}

#sprachen ul li {
	display: inline;
	margin: 0px;
	padding: 0px;
}

#sprachen a.navi, #sprachen a.navi-aktiv {
	font-weight: normal;
	font-style: normal;
	text-decoration: none;
	line-height: 30px;
}

#sprachen .dropdown-item.active, #sprachen .dropdown-item:active {
	background-color: #dedede;
	color: #000000;
}



/* ##### Suchergebnis */

#suchergebnis a .listingIcon {
	width: 50px;
	height: 32px;
}




/* ##### Produkte */

.produkte {
	margin-top: 2em;
}

.produkte h2 {
	margin:  0px 0px 0.3em 0px;
	padding: 0px;
}

.produkte table.tabProduktfilter {
	margin-bottom: 2em;
}

.produkte div.textProdukt {
	clear: both;
	overflow: hidden;
	border-bottom: 1px solid #e5e5e5;
	margin-bottom: 1em;
}

.produkte div.textProduktInlay {
	padding: 10px;
	overflow: hidden;
	height: 100%;
}



/* ##### SocialMedia */

#socialmedia a.socialmedia {
	margin-right: 5px;
}

#socialmedia a.socialmedia:hover {
	opacity:.7;
	filter: alpha(opacity=70);
	-moz-opacity: 0.70;
}




/* ##### Support */

#supportSuche {
	background-color: #eeeeee;
	border: 1px solid #cccccc;
	padding: 15px;
	margin-bottom: 4px;
}

#supportSuche a {
	font-size: 0.9em;
}

#supportSuche label {
	font-weight: 400;
}

#supportSuchergebnis {
	margin-top: 20px;
	padding: 20px 0px 0px 0px;
	border-top: 1px solid #cccccc;
}

#supportSuchergebnis a.supportListeintrag {
	margin: 0px;
	padding: 10px 15px;
	display: block;
	text-decoration: none;
}

#supportSuchergebnis a.supportListeintrag:hover {
	text-decoration: none;
}

#supportSuchergebnis .supportListeintragTitel {
	display: block;
	font-weight: 400;
	font-size: 18px;
	line-height: 22px;
}

#supportSuchergebnis .supportListeintragDesc {
	display: block;
	font-weight: normal;
	font-size: 12px;
	color: #666666;
}

#supportSuchergebnis .supportListeintragRow2 {
	background-color: #eeeeee;
}

#supportSuchergebnis .supportListeintragRow1:hover, #supportSuchergebnis .supportListeintragRow2:hover {
	background-color: #cccccc;
}

.supportText {
	background-color: #ffffff;
	border: 1px solid #cccccc;
	padding: 15px 15px 30px 15px;
	font-size: 14px;
	margin-bottom: 15px;
}

.supportText h1 {
	font-size: 1.4rem;
}

.supportText h2 {
	font-size: 1.3rem;
}

.supportText h3 {
	font-size: 1.2rem;
}

.supportText h4, .supportText h5, .supportText h6 {
	font-size: 1.1rem;
}

.supportText p {
	margin: 0px;
}

/* Slider */
.news-slider-1 .slick-track {
    display: flex !important;
}

.news-slider-1 .slick-slide {
    height: inherit !important;
}

.news-slider-1-box .news-slider-1-button {
    position: absolute;
    bottom: 0px;
}

/* ##### Teaser */

#teaser .teaser {
	clear: both;
	margin: 0px 0px 40px 0px;
}


#teaser .teaser h1 {
	font-size: 1.4rem;
}

/* Teaser Nachrichten */

#teaser .teaser .teaserNews {
	margin-bottom: 20px;
}

#teaser .teaser .newsText h1 {
	font-size: 1.25rem;
	margin-bottom: 0.2em;
}

/* Teaser Suche */

#teaser .teaser .teaserSucheText {
	margin-bottom: 5px;
}

/* Teaser Termine */

#teaser .teaser .teaserTermin {
	margin-bottom: 3px;
}

#teaser .teaser .teaserTermin a {
	color: #000000;
	background-color: #f7f7f7;
	display: block;
	padding: 5px 5px;
	border-radius: 4px;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .03);
	        box-shadow: inset 0 1px 1px rgba(0, 0, 0, .03);
}

#teaser .teaser .teaserTermin a:hover {
	background-color: #ebebeb;
	text-decoration: none;
}

#teaser .teaser .teaserTermin .terminDatum {
	margin-bottom: 5px;
}



/* ##### Template */



/* ##### zInhaltsverzeichnis */

.zInhaltsverzeichnis {
	text-align: left;
}

a.inhaltslink {
	color: #999999;
	text-decoration: none;
	font-style: italic;
	font-weight: normal;
}

.zInhaltsverzeichnis td {
	padding-bottom: 20px;
	padding-right: 20px;
	padding-left: 0px;
}
	


/* ##### zSitemap */

.sitemap ul {
	margin: 0;
	padding: 0;
	outline: 0;
	list-style: none;
}

.sitemap li {
	outline: 0;
	padding: 0;
	margin: 0 0 0 1.5em;
	line-height: 1.8em;
}





/* ##### Cycle 2 */


/* pager */
.cycle-pager, .extern-pager { 
    text-align: center; width: 100%; z-index: 500; overflow: hidden;
}
.cycle-pager span, .extern-pager span { 
    font-family: arial; font-size: 40px; width: 20px; height: 30px; 
    display: inline-block; color: #cccccc; cursor: pointer; 
}
.cycle-pager span.cycle-pager-active, .extern-pager span.cycle-pager-active { color: #666666;}
.cycle-pager > *, .extern-pager > * { cursor: pointer;}






/* ##### Termin */

.termine {
	padding: 30px 0;
}

.kseite .termine, .kseite2 .termine {
	padding: 0;
}

.termin-icon {
	min-width: 25px;
	text-align: center;
}

/* ##### Date */


/* the input field */
.date {
    /*border:1px solid #ccc;
    font-size:18px;
    padding:4px;*/
    text-align:center;
    width: 180px;
    /*-moz-box-shadow:0 0 10px #eee inset;*/
}

/* calendar root element */
#calroot {
    /* place on top of other elements. set a higher value if nessessary */
    z-index:10000;

    margin-top:-1px;
    width:198px;
    padding:2px;
    background-color:#fff;
    font-size:11px;
    border:1px solid #ccc;
    border-radius: 5px;
    -moz-border-radius:5px;
    -webkit-border-radius:5px;
    box-shadow: 0 0 15px #666;
    -moz-box-shadow: 0 0 15px #666;
    -webkit-box-shadow: 0 0 15px #666;
}

/* head. contains title, prev/next month controls and possible month/year selectors */
#calhead {
    padding:2px 0;
    height:22px;
}

#caltitle {
    font-size:14px;
    color:#0150D1;
    float:left;
    text-align:center;
    width:155px;
    line-height:20px;
    text-shadow:0 1px 0 #ddd;
}

#calnext, #calprev {
    display:block;
    width:20px;
    height:20px;
    background:transparent url(date_prev.gif) no-repeat scroll center center;
    float:left;
    cursor:pointer;
}

#calnext {
    background-image:url(date_next.gif);
    float:right;
}

#calprev.caldisabled, #calnext.caldisabled {
    visibility:hidden;
}

/* year/month selector */
#caltitle select {
    font-size:10px;
}

/* names of the days */
#caldays {
    height:14px;
    border-bottom:1px solid #ddd;
}

#caldays span {
    display:block;
    float:left;
    width:28px;
    text-align:center;
}

/* container for weeks */
#calweeks {
    background-color:#fff;
    margin-top:4px;
}

/* single week */
.calweek {
    clear:left;
    height:22px;
}

/* single day */
.calweek a {
    display:block;
    float:left;
    width:27px;
    height:20px;
    text-decoration:none;
    font-size:11px;
    margin-left:1px;
    text-align:center;
    line-height:20px;
    color:#666;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
}

/* different states */
.calweek a:hover, .calfocus {
    background-color:#ddd;
}

/* sunday */
a.calsun {
    color:red;
}

/* offmonth day */
a.caloff {
    color:#ccc;
}

a.caloff:hover {
    background-color:rgb(245, 245, 250);
}


/* unselecteble day */
a.caldisabled {
    background-color:#efefef !important;
    color:#ccc	!important;
    cursor:default;
}

/* current day */
#calcurrent {
    background-color:#498CE2;
    color:#fff;
}

/* today */
#caltoday {
    background-color:#333;
    color:#fff;
}



.termine .textTermin {
  display: block;
  margin-bottom: 15px;
}

.termine .textTermine2 h1 {
	font-size: 1.25rem;
}

@media (max-width: 767px) {
	.termine .textTermin .datum, .termine .textTermin .uhrzeit, .termine .textTermin .ort {
		margin-bottom: 3px;
	}
}

.termine #kal th {
	padding-bottom: 1.5em;
}

.termine #kal a.buttonMonat {
	font-size: 1.6em;
	text-decoration: none;
	padding: 3px 10px;
	background-color: #d8d8d8;
	color: #000000;
	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}

.termine #kal a.buttonMonat:hover {
	background-color: #e9e9e9;
	text-decoration: none;
}

.termine #kal .monatHeader {
	font-size: 1.4em;
	text-transform: uppercase;
	color: #000000;
	font-weight: bold;
	text-align: center;
	padding-bottom: 0em;
}

.termine #kal .wochentagHeader, .termine #kal .wochenendHeader {
	text-align: center;
	font-weight: bold;
	font-size: 1.1em;
	padding: 10px;
	color: #000000;
}

.termine #kal .wochenendHeader {
	color: #999999;
}

.termine #kal .tag {
	height: 70px;
	width: 14%;
	vertical-align: top;
	background-color: #e9e9e9;
	border-bottom: 3px solid #ffffff;
	border-right: 3px solid #ffffff;
	/*border-radius: 7px;
	-moz-border-radius: 7px;
	-webkit-border-radius: 7px;*/
	overflow: inherit;
}

.termine #kal .leer {
	background-color: #f1f1f1;
}

.termine #kal .tagLabel {
	text-align: right;
	float: right;
	margin: 5px;
	padding: 3px;
	background-color: #ffffff;
	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}

.termine #kal .heute {
	background-color: #990000;
	color: #ffffff;
	font-weight: normal;
}

.termine #kal .samstag {
	background-color: #d8d8d8;
	color: #000000;
	font-weight: normal;
}

.termine #kal .sonntag {
	background-color: #d8d8d8;
	color: #000000;
	font-weight: normal;
}

.termine #kal a.termin, .termine #kal div.termin
{
	clear: both;
	display: block;
	font-size: 0.9em;
	line-height: 1.3em;
	text-decoration: none;
	font-weight: normal;
	padding: 3px 3px 3px 3px;
	margin: 0px 5px 3px 5px;
	background-color: #d8d8d8;
	color: #000000;
	border-color: #d8d8d8;
	-webkit-border-bottom-right-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-radius-bottomright: 5px;
	-moz-border-radius-topright: 5px;
	border-bottom-right-radius: 5px;
	border-top-right-radius: 5px;
}

.termine #kal a.kal1
{
	border-left: 3px solid #d8d8d8;
}

.termine #kal a.kal2
{
	border-left: 3px solid #990000;
}

.termine #kal a.kal3
{
	border-left: 3px solid #3366cc;
}

.termine #kal a.kal4
{
	border-left: 3px solid #cc6600;
}

.termine #kal a.kal5
{
	border-left: 3px solid #009900;
}

/* Template terminordner3 */

.termine .startTerminContentBild img {
	width: 100%;
}

.termine .startTerminContentText .datum {
	color: #000000;
	font-weight: light;
	font-size: 1.2rem;
	margin-bottom: 7px;
}

.termine .startTerminContentText .uhrzeit {
	font-weight: normal;
	font-size: 18px;
	margin-top: -7px;
	margin-bottom: 7px;
}

.termine .startTerminContentText h1 {
	font-size: 1.3rem;
	line-height: 1.4rem;
	margin:  0px 0px 7px 0px;
	padding: 0px;
}

.termine .terminContentBild {
	margin-bottom: 30px;
}

.termine .terminContentBild img {
	margin: 0 auto;
}



/* ##### Umfrage */

#umfrageFrage {
	font-weight: bold;
	margin-bottom: 0.5em;
}

#umfrageWait {
	text-align: left;
}

#umfrageAntworten {
	line-height: 2em;
}

.umfrageBalken {
	border-top: 1px solid #002244;
	border-right: 1px solid #002244;
	border-bottom: 1px solid #002244;
	background-color: #336699;
	height: 20px;
	margin-bottom: 0.5em;
}

#umfrageGesamt {
	margin-top: 1em;
	font-size: 0.9em;
}





/* ##### TOP Button */
#topBtn {
  display: none;
  position: fixed;
  padding: 6px 11px;
  margin: inherit;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
  border: none;
  outline: none;
  background-color: #aaaaaa;
  color: #ffffff;
  font-size: 18px;
  border-radius: 3px;
}

#topBtn:hover {
  background-color: #ffffff;
  color: #aaaaaa;
  border: 1px solid #aaaaaa;
}

/* ##### Cookie */

#cookieHinweis {
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 9999;
  background-color: #ffffff;
  box-shadow: 0px -3px 3px 0px rgba(0,0,0,0.25);
}

#cookieHinweis .cookieInhalt {
  font-size: 14px;
  padding: 15px 0px;
  color: #000;
}

#cookieHinweis .cookieInhalt a.cookieDatenschutz {
  text-decoration: none;
}



/* Fancybox */
.fancybox-slide--iframe .fancybox-content {
	width  : 800px;
	height : 600px;
	max-width  : 1280px;
	max-height : 80%;
	margin: 0;
}

/* Slick Karussell */
.slick-prev, .slick-next {
	width: 36px;
	height: 36px;
	z-index: 10000;
	color: #000000;
}

.slick-prev {
	left: 10px;
}

.slick-next {
	right: 8px;
}

.slick-prev::before,
.slick-next::before {
    color: rgba(0, 0, 0, 0.4);
	font-size: 1.75rem;
}

/* ##### Individuelle Seiten */

/* Bild, Text und CTA */
.btn-zcms {
	padding-left: 1rem;
	padding-right: 1rem;
}
.btn-zcms span {
	display: inline-block;
	position: relative;
	transition: 0.5s;
}

.btn-zcms span:after {
	content: '\00bb';
	position: absolute;
	opacity: 0;
	top: 0;
	right: -20px;
	transition: 0.5s;
}

.btn-zcms:hover span {
	padding-right: 25px;
}

.btn-zcms:hover span:after {
	opacity: 1;
	right: 0;
}

/* fullscreen/carousel_1 */
.carousel-item-fullscreen {
	/*height: 100vh;*/
	padding-top: 86px;
	height: calc(100vh - 86px);
	min-height: 350px;
	background: no-repeat center center scroll;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.carousel-caption-text {
	background-color: rgba(0, 0, 0, 0.3);
	padding: 1rem;
	border-radius: 0.25rem;
}

.carousel-caption-align-center {
	display: flex;
	justify-content: center;
	align-items: center;
	height: calc(100vh - 86px);
}

@media (max-width: 768px) {
	.display-4 {
		font-size: 2rem;
	}
}

/* Karussell 2 (Bild, Text und CTA) */
.carousel-zcms-2 .carousel-caption {
	padding: 0px;
	position: absolute;
	display: flex;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	text-align: inherit;
	align-items: center;
	color: inherit;
}

.carousel-zcms-2 .carousel-zcms-headline {
	font-size: 2.25rem;
}

@media (min-width: 769px) {
	.carousel-zcms-2 .carousel-caption-text {
		background-color: transparent;
		padding: 0rem;
	}
}

@media (max-width: 768px) {
	.carousel-zcms-2 .carousel-caption {
		position: absolute;
		display: block;
		top: inherit;
		bottom: 0px;
		left: 8%;
		right:  8%;
	}

	.carousel-zcms-2 .carousel-caption-text {
		background-color: rgba(0, 0, 0, 0.3);
		padding: 0.75rem;
		border-radius: 0.25rem;
		overflow: auto;
	}

	.carousel-zcms-2 .carousel-zcms-headline {
		font-size: 1.8rem;
	}

	.carousel-zcms-2 .carousel-caption-text p {
		line-height: 120%;
	}
}

@media (min-width: 768px) and (max-width: 991.98px) {
	.carousel-zcms-2 .carousel-zcms-headline {
		font-size: 2rem;
	}
}

.carousel-zcms-2 .carousel-control-prev, .carousel-zcms-2 .carousel-control-next {
	z-index: 20;
	width: 40px;
}

.carousel-zcms-2 .carousel-control-next {
	justify-content: flex-end;
	right: 10px;
}

.carousel-zcms-2 .carousel-control-prev {
	justify-content: flex-start;
	left: 10px;
}

/* teaser/teaser-1 */
.zcms-teaser_1-h-sub {
	font-size: 0.8em;
}

.zcms-teaser_1-text {
	color: inherit;
}

/* teaser/teaser-2 */
.zcms-teaser_2-con-img {
	background-size: cover;
	background-position: center left;
}

/* teaser/teaser-3 */
.zcms-teaser_3-con-img {
	background-size: cover;
	background-position: center center;
}
@media (max-width: 991.98px) {
	.zcms-teaser_3 {
		background-color: rgba(255,255,255,0.4)
	}
}

/* Ansprechpartner - contact_persons_1.php */

.news-cp_1-box {
	position: relative;
}

.news-cp_1-text {
	position: absolute;
	bottom: 0;
	width: 100%;
	background-color: rgba(255,255,255, 0.85);
}

.news-cp_1-box a:hover {
	text-decoration: none;
}

/* Teaser - listing_cta */
.listing-cta-1-body {
	line-height: 1.2rem;
}

.listing-cta-1-body p {
	margin-bottom: 0.5rem;
}

@media (min-width: 576px) {
    .listing_cta_1 .card-columns {
        -webkit-column-count: 1;
        -moz-column-count: 1;
        column-count: 1;
    }
}

@media (min-width: 768px) {
    .listing_cta_1 .card-columns {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }
}

/* Animierter Counter */
.aniCounter {
	font-size: 2rem;
}

/* 4 Spalten mit Animation */
.int4SpaltenAni {
	min-height: 250px;
	position: relative;
	margin-bottom: 15px;
	overflow: hidden;
}

.int4SpaltenAni:hover {
	color: inherit;
}

.int4SpaltenAni .int4SpaltenAniH {
	text-align: center;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.1em;
	color: #000;
	padding: 0px;
	margin: 0px;
}

.int4SpaltenAni .int4SpaltenAniText {
	opacity: 0;
	font-size: 14px;
	margin-top: -10px;
	text-align: center;
	padding: 0px;
} 

.int4SpaltenAni .int4SpaltenAniImg {
	position: absolute;
	top: 46px;
	margin: 0px auto;
}

.int4SpaltenAni .int4SpaltenAniLink {
	position: absolute;
	bottom: -26px;
	margin: 0px auto;
	height: 30px;
	text-align: center;
	background-color: #960410;
	padding: 8px 5px;
	line-height: 1em;
	width: 100%;
	color: #ffffff;
	text-decoration: none;
	font-size: 14px;
	text-transform: uppercase;
}