﻿/* -- Definition list -- */
.content dt {
	float: left;
	margin-right: 10%;
	max-width: 40%;
	font-weight: bold;
}
.content dd {
	margin-left: 50%; margin-bottom: .5em;
	color: grey;
}
dd::after {
	content: " ";
	display: block; clear: left;
}

/* -- Fluid styled content --*/
.ce-border img { border: 1px solid #ccc; box-shadow: 0 0 0 0 #0003; margin: 0; margin-left: 0;}
/* .ce-border, .ce-border .ce-row, .ce-textpic { overflow: visible;} /* nur bei Schatten statt Linie */

.ce-gallery figcaption { margin-bottom: 1em;}

main .ce-left .ce-gallery {}
main .ce-right .ce-gallery {}
main .ce-left .ce-gallery .ce-column {}
main .ce-right .ce-gallery .ce-column {}


/* -- Icons -- */
.icon.email, .icon.dot { vertical-align: middle;}
.icon.dot { width: 0.75em;}

.tag .icon-text .icon,
.tag.is-normal .icon-text .icon,
.tags.are-normal .tag .icon-text .icon { scale: 0.66;}
.tag.is-medium .icon-text .icon,
.tags.are-medium .tag .icon-text .icon { scale: 0.75;}
.tag.is-large .icon-text .icon,
.tags.are-large .tag .icon-text .icon { scale: 0.9;}

p.has-icons-left > .icon, li.has-icons-left > .icon,
p.has-icons-left > a > .icon, li.has-icons-left > a > .icon {
	position: absolute; left: -0.1em; top: 0.1em;
}
p.has-icons-left, li.has-icons-left {
	position: relative;
	padding-left: 1.5em;
}

.tag.has-icons-left { text-indent: 0.5em;}


/* -- Fancybox ---------- */
.fancybox-slide--html { padding: 5% !important;}
.fancybox-slide--iframe .fancybox-content {
	width: 560px; max-width: 560px; margin: 0;
}

/* -- Cookie consent -- */
#def-cookieconsent-consent-popup .def-cookieconsent-table tbody > tr.sub > td { background-color: white; border-bottom: 1px #aaa solid;}
#def-cookieconsent-btn-accept-selected { background-color: white; border: 3px #79d5f1 solid;}


/* -- Video -- */
.contains-video .ce-textpic figure.video { width: 100%;}
.contains-video .ce-column, 
.contains-video .ce-left .ce-gallery,
.contains-video .ce-left .ce-gallery .ce-column { float: none; margin-right: 0;}

/* -- Produktlisten -- */
.produktliste-item { border-top: 1px #ccc solid; padding-top: 1em; padding-bottom: 2em; margin-top: 0px; margin-bottom: 0;}
.produktliste-item:first-child { border-top-width: 0;}
.produktliste-previewimage { margin-top: 5px; cursor: pointer;}
.produktliste-previewimage img { -webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */ filter: grayscale(100%);}
.produktliste-previewimage img:hover { -webkit-filter: grayscale(0%); /* Safari 6.0 - 9.0 */ filter: grayscale(0%);}
.produktliste-images { margin-top: 0px;} 
.produktliste-image,
.produktliste-video { width: 100%; margin-bottom: 10px; border: 1px #ddd solid;}
.produktliste-images .is-bullet { border: 2px solid #999; width: 5px; height: 5px; overflow: hidden; margin-right: 3px;}
.produktliste-header { position: relative; margin-top: 0; text-indent: -1em; padding-left: 0px; padding-right: 40px;}
.produktliste-header a { display: block; text-indent: 0em; margin-bottom: 0.1em !important; padding-left: 0em;}
.produktliste-header a:after,
.jobliste-header a:after {
	content: "\e809"; 
	position: absolute; top: 0.1em; right: 0.5em;
	display: inline-block;
	padding-left: 0em; margin-right: 0;
	font-size: 85%; font-family: "def-icons";
	transform: rotate(90deg);
	transition: all 0.1s ease; 
	-webkit-transform-origin: 50% 50%; -moz-transform-origin: 50% 50%; transform-origin: 50% 50%;
}
.produktliste-item.active .produktliste-header a:after { transform: rotate(270deg);}

.produktliste-teaser { color: #333 !important; margin: 0 0 1em; padding-left: 0px; padding-right: 40px;}
.produktliste-data { margin-top: 1.33em; margin-bottom: 1em; margin-left: 0px;}
.produktliste-data th { width: 125px;}

.produktliste-item.active .hiddenwhenclosed { display: block;}

.produktliste-links { margin-top: 2em;}
#content .produktliste-links p { margin-bottom: 0.5em; padding-left: 1em; text-indent: -0.5em; line-height: 1.2em;}
#content .produktliste-links li { padding-left: 0; text-indent: -1.5em;}
#content .produktliste-links li::before { content: "";}


/* -- Adressliste -- */
#content .adressliste { margin-bottom: 2em;}
#content .adressliste ul li { display: inline; padding: 0;} 
#content .adressliste ul li:before { content: ""; position: relative; margin: 0;}
#content .adressliste ul li.adressliste-item.pid-41 { font-weight: normal; color: black; letter-spacing: 1px;}
#content .adressliste ul li.adressliste-item.pid-41 span { color: #aaa;}
#content .adressliste ul li.adressliste-item.pid-39 { color: #aaa;}


/* -- Joblisten -- */
#content .jobliste-header { position: relative; margin-top: 0; padding-left: 0px; padding-right: 40px;}
#content .jobliste-subtitle { color: #333 !important; padding-left: 0px; padding-right: 40px;}
#content .jobliste-data { margin-top: 1em;}


/* -- Bulma cards -- */
.card .card-image img { display: block;}
.card .card-content .media { align-items: center;}

.card.is-horizontal {
	display: flex; flex-direction: row;
	flex-basis: 50ex; flex-grow: 0; flex-shrink: 1;
}
.card.is-horizontal .card-image { flex:1; align-self: center;}
.card.is-horizontal .image { min-height: 100%;}
.card.is-horizontal .card-content { flex: 4;}
.card.is-horizontal .card-content {}
.card.is-horizontal ul { list-style: none; margin: 0;}
.card.is-horizontal .is-divider { margin-top: 1.5rem; margin-bottom: 1rem;}

.card.has-reverse-order { flex-direction: row-reverse;}


/* -- Maps -- */
.map { 
	display: flex; justify-content: center; align-items: center; 
	margin-bottom: 1em; border: 1px solid #ddd;
	background-image: url('/typo3conf/ext/def_ttaddress/Resources/Public/Images/map-blurred.jpg'); background-size: cover; background-position: 0 5map
	0%;
}
.map .notification { max-width: 80%; text-align: center;}
.map.map-leaflet .notification { display: none;}
.leaflet-popup-content h6.title,
.gm-style-iw h6.title,
.gm-style-iw p { margin-bottom: 0.25rem;}

svg.mapicon { background-color: transparent !important; border-width: 0 !important;}
svg.mapicon { 
	width: 40px; height: 40px;
	fill: rgb(0,0,0);
	filter: drop-shadow( 0 3px 3px rgba(0,0,0,0.7));
}
svg.mapicon-1 { fill: rgb(0,153,173);}
svg.mapicon-2 { fill: rgb(170,56,108);}
svg.mapicon-3 { fill: rgb(151,191,13);}
svg.mapicon-4 { fill: rgb(100,122,133);}
svg.mapicon-5 { fill: #ca4740;}
svg.deficons-dot { fill: #ca4740;}

.map .leaflet-tile-pane { filter: grayscale(100%);}


/* -- Linklisten -- */
.linkliste .title:not(:last-child) { margin-top: 0;}
.linkliste p, .linkliste h2.title, 
.linkliste h3.title, .linkliste h4.title, 
.linkliste h5.title, .linkliste h6.title { margin-bottom: 0 !important;}
.linkliste figure:not(:first-child) { margin-top: 1rem;}

.linkliste div.card { margin-bottom: 1rem;}

.linkliste.has-background-transparent .card { background-color: transparent; box-shadow: none; margin-bottom: 0;}
.linkliste.has-background-transparent .card.has-background-white { box-shadow: 0px 0 4px #0003;}
.linkliste.has-background-transparent .card-content { padding: 0.5rem 1rem;}


/* -- Swiper -- */
.content .swiper-button-prev,
.content .swiper-button-next { scale: 50%; color: #3d3d3d !important; text-shadow: -5px 0 white;}

.swiper-logo {}
.content .swiper-logo .swiper-slide { width: auto;}
.swiper-logo .swiper-scrollbar, .swiper-logo .swiper-pagination { display: none;}

.swiper-image { position: relative; width: 100%; overflow: hidden;}
.content .swiper-image .swiper-slide { width: auto; margin: 0;}
.swiper-image .swiper-scrollbar, .swiper-logo .swiper-pagination { display: none;}

.swiper-video {}
.swiper-video .swiper-scrollbar, .swiper-logo .swiper-pagination { display: none;}


/* -- News -- */
.newsliste div p, .newsliste div ul, 
.newsliste div h2.title, .newsliste div h3.title, 
.newsliste div h4.title, .newsliste div h5.title, 
.newsliste div h6.title { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important;}
.newsliste div figure img { background-color: white;}

.newsliste figure.newsliste-image { margin-bottom: 1rem;}

.newsliste .newsliste-calendar { width: 50px; margin-right: 0; padding-right: 1rem;}
.newsliste .newsliste-day { display: block; font-size: 2em; color: #555; font-weight: 700; text-align: center; line-height: 1;}
.newsliste .newsliste-month { display: block; font-size: 1.2em; text-transform: uppercase; text-align: center; line-height: 1;}

.newsliste .newsliste-title { margin: 0; -ms-hyphens: auto; -webkit-hyphens: auto; hyphens: auto;}
.newsliste .newsliste-abstract { margin-top: 1em;}
.newsliste .media .media-content { padding-right: 0;}
.newsliste .media .media-right { margin-left: 0;}
.newsliste .media .media-content { overflow-x: visible;}

.newsliste p.morelink { margin: 1.5em 0; font-family: "Sen", sans-serif; transform: uppercase;}
.newsliste a.toggleContent { margin: 0.5rem 0;}
.newsliste .newsliste-title a.toggleContent { margin: 0;}

.newsliste .newsliste-links { margin: 0.5em 0.5em 0.5em 0;}
.newsliste .newsliste-links li { margin-right: 0.5em; margin-bottom: 0.25em; padding-left: 0;}
.newsliste .newsliste-links li:before { content: none;}
.newsliste .newsliste-links svg { fill: #888;}
.newsliste .newsliste-links .link-description { margin-top: 0.5em; font-size: 86%; padding-left: 1.5em;}
.newsliste .newsliste-categories:not(:first-child) { margin-top: 1rem; margin-bottom: 0.5rem;}

.newsliste .newsliste-content p, .newsliste .newsliste-content h3.newsliste, 
.newsliste-content h4, .newsliste .newsliste-content h5, .newsliste .newsliste-content h6 { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important;}


/* -- Akkordeon -- */
.accordions > h2.title, .accordions > h3.title, .accordions > h4.title, .accordions > h5.title, .accordions > h6.title { 
	padding-left: 0.25em;
	border-top: 1px solid #cccccc;
	margin-top: 0.75em; margin-bottom: 0.75em; padding-top: 0.66em;
	font-size: 1.625rem;
	cursor: pointer; 
}
.accordions > h4.title, .accordions > h5.title, .accordions > h6.title { 
	font-size: 1.15rem;
}
.accordions > h2.title:first-child, .accordions > h3.title:first-child, .accordions > h4.title:first-child, 
.accordions > h5.title:first-child, .accordions > h6.title:first-child {}

.accordions > h6 { border-width: 0; padding-top: 0;}
.accordions > h2:before, .accordions > h3:before, .accordions > h4:before, .accordions > h5:before, .accordions > h6:before {
	content: "\e809"; 
	position: relative; top: 0.1em;
	display: inline-block;
	width: 1em;
	margin-right: 0.5em;
	font-size: 75%; font-weight: normal; font-family: "def-icons";
	transition: all 0.1s ease; 
	transform-origin: 25% 50%;
}
.accordions > h2.is-active, .accordions > h3.is-active, .accordions > h4.is-active, 
.accordions > h5.is-active, .accordions > h6.is-active { color: black;}

.accordions > h2.is-active:before, .accordions > h3.is-active:before, .accordions > h4.is-active:before, .accordions > h5.is-active:before, .accordions > h6.is-active:before { transform: rotate(90deg);}
.accordions > h2:hover, .accordions > h3:hover, .accordions > h4:hover, .accordions > h5:hover, .accordions > h6:hover { color: black;}

.accordions .accordion { padding-left: 0.2rem;}
.accordions .accordion.has-no-indent { padding-left: 0;}


/* -- Akkordeon -- 
.accordions > h2.title, .accordions > h3.title, .accordions > h4.title, .accordions > h5.title, .accordions > h6.title { 
	padding-left: 2em; text-indent: -1.60em;
	border-top: 1px solid #cccccc;
	margin-top: 0.75em; margin-bottom: 0.75em; padding-top: 0.75em;
	cursor: pointer; 
}
.accordions > h2.title:first-child, .accordions > h3.title:first-child, .accordions > h4.title:first-child, 
.accordions > h5.title:first-child, .accordions > h6.title:first-child { border-top-width: 0; padding-top: 0.25em;}

.accordions > h6 { border-width: 0; padding-top: 0;}
.accordions > h2:before, .accordions > h3:before, .accordions > h4:before, .accordions > h5:before, .accordions > h6:before {
	position: relative; top: 0em; left: 1.4em;
	display: inline-block;
	width: 1em;
	margin-right: 0.6em;
	content: "+"; 
	font-size: 100%; font-weight: bold; font-family: Verdana, sans-serif;
}
.accordions > h2.is-active, .accordions > h3.is-active, .accordions > h4.is-active, 
.accordions > h5.is-active, .accordions > h6.is-active { color: #44d181;}

.accordions > h2.is-active:before, .accordions > h3.is-active:before, .accordions > h4.is-active:before, .accordions > h5.is-active:before, .accordions > h6.is-active:before { content: "–";}
.accordions > h2:hover, .accordions > h3:hover, .accordions > h4:hover, .accordions > h5:hover, .accordions > h6:hover { color: #44d181;}

.accordions .accordion { padding-left: 2.25em;}
.accordions .accordion.has-no-indent > .accordions-inhalt { padding-left: 0;}

.accordions .accordion img { width: 100%;} */


/* -- News slider -- */
.newsslider { background-color: transparent;}
.newsslider .ms-view { background-color: transparent;}

#newsslider-slideinfo { margin-top: 1rem; }
#newsslider-slideinfo .ms-slide-info { 
	position: static; margin: 0 auto;
	width: 100% /* Mobile only */; 
}

#newsslider-slideinfo h3, #newsslider-slideinfo h4,#newsslider-slideinfo h5 { 
	margin-top: 0; margin-bottom: 1rem; 
	font-size: 24px; color: inherit;
}
#newsslider-slideinfo h3 a, #newsslider-slideinfo h4 a,#newsslider-slideinfo h5 a { color: inherit;}
#newsslider-slideinfo p { 
	margin-top: 0; margin-bottom: 1rem; 
	font-size: 100%; color: inherit; 
	hyphens: auto;
}
#newsslider-slideinfo .tag { background-color: white; font-size: 16px; color: inherit;}
#newsslider-slideinfo .is-link:hover { background-color: black; color: white;}
#newsslider-slideinfo .tag a { color: inherit;}
#newsslider-slideinfo .tag svg { fill: black;}
#newsslider-slideinfo .is-link:hover svg { fill: white;}


.newsslider.ms-skin-minimal .ms-nav-next, 
.newsslider.ms-skin-minimal .ms-nav-prev { background-color: white; border-width: 0px; border-color: #aaa;}

.newsslider .ms-slide { box-shadow: 0 0 8px 0 #0003;}
.newsslider .ms-slide .ms-caption { width: 60%;}
.newsslider .ms-slide .ms-caption.copyright { width: auto; padding: 0.15em 0.66em; background-color: #444; font-size: 12px; color: #ddd;}

.newsslider .ms-slide h5.title {
	margin: 0; 
	background-color: black;
	font-size: calc(1.5vw + 16px);
	color: white; letter-spacing: -0.02em;
	line-height: 1em;
}
.newsslider .ms-slide .ms-align-r h5.title { text-align: right;}

.newsslider .ms-slide .slideritem-description {
	padding: 0 5px;
	font-size: 1.6vw;
	color: white; text-shadow: 0 0 0 rgba(0,0,0,1);
	line-height: calc(1.66vw + 12px); text-align: left;
}
.newsslider .ms-slide .slideritem-description span {
	display: inline; 
	padding: 2px 0; 
	background-color: rgba(255,255,255,0.9); 
	box-shadow: 0.5em 0 0 rgba(255,255,255,0.9), -0.5em 0 0 rgba(255,255,255,0.9);
	color: black; text-shadow: 0 0 0 rgba(0,0,0,1); box-decoration-break: clone;
}
.newsslider .ms-slide .ms-align-r .slideritem-description { text-align: right;}

.newsslider .ms-slide .slideritem-link {
	width: auto !important;
	padding: 0.25em 1.5em !important;
	background-color: rgba(255,255,255,1); border-width: 0;
	box-shadow: 0 0 0.1em rgba(0,0,0,0.66);
	font-size: 16px !important; text-shadow: none; 
	line-height: 1em !important;
}
.newsslider .ms-slide .slideritem-link:hover { background-color: #ff705f; color: white;}


body .ms-loading-container .ms-loading, body .ms-slide .ms-slide-loading { 
	background-color: transparent;
	background-image: url("/typo3conf/ext/def_package/Resources/Public/Images/Spinners/puff_black.svg");
	width: 44px; height: 44px;
	box-shadow: none;
	border-radius: 0px;
}

/* -- Bildrechteliste */
.bildrechteliste { border-top: 1px solid #cccccc; padding-top: 1em; padding-left: 0.5em;}


/* -- Master-Slider */
.ms-view { background-color: white !important;}
.masterslider.ce-border { border: 1px solid #ccc;}
/* -- Master-Slider prev/next innen -- */
.masterslider.ms-skin-minimal .ms-nav-next, 
.masterslider.ms-skin-minimal .ms-nav-prev { width: 30px; height: 30px; top: 55%; background-color: transparent; border-radius: 5px; border-width: 0px; border-color: #aaa;}
.masterslider.ms-skin-minimal .ms-nav-prev { left: -35px !important; background-position: -190px 6px;}
.masterslider.ms-skin-minimal .ms-nav-next { left: auto; right: -35px !important; background-position: -88px 6px;}

/* -- Master-Slider prev/next außen -- */
.masterslider.ms-skin-minimal .ms-nav-next, 
.masterslider.ms-skin-minimal .ms-nav-prev { width: 30px; height: 30px; top: 50%; background-color: white; opacity: 0.66; border-radius: 5px; border-width: 0px; border-color: #aaa;}
.masterslider.ms-skin-minimal .ms-nav-prev { left: 35px !important; background-position: -190px 6px;}
.masterslider.ms-skin-minimal .ms-nav-next { left: auto; right: 35px !important; background-position: -88px 6px;}

.masterslider.ms-skin-minimal .ms-timerbar { height: 2px !important;}
.masterslider.ms-skin-minimal .ms-timerbar .ms-time-bar { height: 2px !important;}

/* Layer / Caption */
.masterslider .ms-layer.ms-caption.copyright { 
	padding: 3px 8px 4px 8px; 
	background-color: #444; color: #ddd;
	font-size: 0.9em; line-height: 1em;;
}


/* Print */
.is-visible-print { display: none;}




/* ## Tablet ## */
@media screen and ( min-width: 768px ) {

	/* -- Akkordeon -- */
	.accordions > h2.title, .accordions > h3.title, .accordions > h4.title, .accordions > h5.title, .accordions > h6.title { 
	}
	.accordions .accordion { padding-left: 3em;}


	.newsliste .newsliste-calendar { width: 75px; margin-right: 0; padding-right: 0.5em;}
	.newsliste .media .media-content { padding-right: 2rem;}

	#newsslider-slideinfo .ms-slide-info { width: 360px;}

}



/* ## Desktop ## */
@media screen and ( min-width: 1056px ) {

	.seiteninfo-abstract.subtitle { margin-left: -1.5rem; margin-right: 1.5rem;}

}


/* ## Widescreen ## */
@media screen and ( min-width: 1248px ) {

}


/* ## Fullhh ## */
@media screen and ( min-width: 1344px ) {

}
