@CHARSET "UTF-8";
/**
 * Styles für HTML Elemente und Standard-CSS-Klassen
 */ 

@media all {
	html{ font-size: var(--fontsizerootmobile); }
	
	/* Headlines */
	h1, .h1, h2, .h2,
	h3, .h3, h4, .h4,
	h5, .h5, h6, .h6{ margin: 0 0 var(--defaultspacing); text-transform: uppercase; color: var(--headlinecolor); font-family: var(--headlinefontfamily); font-weight: var(--headlinefontweight); line-height: 1.25; display: block; }
	h1, .h1{ font-size: 1.75rem; }
	h2, .h2{ font-size: 1.5rem; }
	h3, .h3{ font-size: 1.25rem; }
	h4, .h4{ font-size: 1.125rem; }
	h5, .h5{ font-size: 1rem; }
	h6, .h6{ font-size: .875rem; }
	.small-heading{ font-size: 1.5rem !important; }
	
	/* Links */
	a { color: var(--linkcolor); text-decoration: none; background-color: transparent; }
	a:hover{ color: var(--linkhover); }
	body:not(.is-phone) a[href^='tel:']{ cursor: default; color: inherit !important; }
	
	/* copyright */
	.dp-imagecopyright {
		position: absolute; bottom: 0; right: 0; z-index: 9;
		padding: 3px 6px; line-height: 1.1; font-size: 11px;
		color: #fff; background: rgba(0,0,0,.5); opacity: .9;
	}

	blockquote <<* { position: relative; font-size: 1.25rem; color: var(--brandprimary); opacity: .75; font-style: italic; padding: 30px 75px; background: var(--lightgrey); line-height: 1.25; }
		p{ margin: 0; }
		&::before{ content: "„"; font-size: 8rem; color: var(--darkgrey); opacity: .25; position: absolute; top: -1rem; left: 15px; line-height: 1rem; }
	>>
	
	.text-primary{ color: var(--brandprimary); }
	.text-brandprimarydark{ color: var(--brandprimarydark); }
	.text-secondary{ color: var(--brandsecondary); }
	.text-default{ color: var(--fontcolor); }
	.text-lightgrey{ color: var(--lightgrey); }
	.text-grey{ color: var(--grey); }
	.text-darkgrey{ color: var(--darkgrey); }
	.text-white{ color: #fff; }
	.text-small{ font-size: .75rem; }
	.text-root{ font-size: 1rem; }
	.text-large{ font-size: 1.25rem; }
	.text-uppercase{ text-transform: uppercase; }
	.text-bold{ font-weight: var(--fontweightbold); }
	.text-regular{ font-weight: var(--fontweightregular); }
	
	.h-100{ height: 100%; } 
	
	/* Buttons */
	.dp-btn a,
	a.dp-btn,
	input.dp-btn,
	button.dp-btn,
	.dp-btn-pseudo <<* { font-size: 1rem; text-align: center; text-decoration: none!important; color: var(--fontcolor) !important; background: var(--brandprimary); transition: all .25s; padding: .5rem 2.5rem; border-radius: 1.25rem; display: inline-flex; align-items: center; }
		svg{ width: .75em; height: .75em; }
		svg:first-child{ margin-right: .375em; }
		svg:last-child{ margin-left: .375em; }
	>>
	.dp-btn a:hover,
	a.dp-btn:hover,
	input.dp-btn:hover,
	button.dp-btn:hover,
	.dp-btn-pseudo:hover{ color: var(--brandprimary) !important; background: var(--fontcolor); }
	.dp-btn.btn-large a, a.dp-btn.btn-large, .dp-btn-pseudo.btn-large{ font-size: 1.125rem; padding: .5rem 5rem; }
	.dp-btn.btn-small a, a.dp-btn.btn-small, .dp-btn-pseudo.btn-small{ font-size: .75rem; padding: .125rem .75rem; }
	
	.dp-pagination <<* { text-align: center }
		a{ font-size: .875em; border-radius: 3px; padding: var(--minspacing) var(--smallspacing); line-height: 1em; border: 2px solid var(--linkcolor); color: var(--linkcolor); background: #fff; margin: 2px; display: inline-block; }
		a:hover,a.current{ color: #fff; background: var(--linkcolor); }
	>>

	.icon-circle <<* { margin-left: auto; margin-right: auto; background: var(--brandprimary); border-radius: 50%; width: 125px; height: 125px; padding: 1rem; display: flex; flex-direction: column; align-items: center; justify-content: center; }
		.circle-icon{ color: #fff; display: inline-flex; }
		.circle-icon svg{ width: 2.5em; height: 2.5em; margin: 0; }
		.circle-text{ color: var(--fontcolor); text-transform: uppercase; font-family: var(--headlinefontfamily); font-weight: var(--headlinefontweight); }
	>>
	
	/* Accordion */
	.dp-accordion <<* {  }
		.accordion-title <<* { color: var(--brandprimary); }
			svg, .icon{ width: 1em; height: 1em; }
			svg{ transition: transform .5s; }
		>>
		.accordion-parent{ padding: 1rem 0; }
		.accordion-parent + .accordion-parent{ border-top: 2px solid var(--lightgrey); }
		.accordion-parent:first-child{ padding-top: 0; }
		.accordion-text <<* { font-size: 1rem; overflow: hidden; }
			& > *:first-child{ margin-top: 1em; }
			& > *:last-child{ margin-bottom: 0; }
			& > *{ transition: margin .25s; }
		>>
		.accordion-parent:not(.current) <<* {}
			.accordion-text{
				height: 0; overflow: hidden; font-size: 0; margin: 0; opacity: 0; padding: 0;
				transition: opacity 0s, font-size .25s 0s, margin .25s 0s, padding .25s 0s;
			}
			.accordion-text > *{ margin: 0; }
		>>
		.accordion-parent.current <<* {}
			.accordion-title <<* {  }
				svg{ transform: rotate(225deg); }
			>>
			.accordion-text{ transition: font-size .25s, margin .25s, padding .25s, opacity .25s .25s; }
		>>
	>>

	.service-item <<* {}
		.item-titlerow{ color: inherit; margin: 0; }
		.item-count{ color: var(--brandprimary); margin-right: 2rem; }
		.item-title{  }
		.item-icon{ max-width: 125px; width: 25%; margin-right: 2rem; flex-shrink: 0; }
		.item-icon img{ width: 100%; }
		.item-text{ flex-grow: 1; }
	>>
	
	/* Parallax Effekt */
	.dp-parallax <<* { position: relative; } 
		& > .parallax-target{ transition: opacity .5s; top: 0; left: 0; opacity: 0; width: 100%; height: 150%; max-width: none; position: absolute; }
		& > .parallax-target.is-observed{ opacity: 1; }
	>>
	
	/* Element fade in */
	.js-fade-in{ opacity: 0; transform: translate(0,2.5rem); transition: opacity 1s, transform 1s; }
	.js-fade-in.is-visible{ opacity: 1; transform: translate(0,0); }
	
	/* Map */
	.dp-map <<* { height: 300px; position: relative; }
		> div, > iframe{ width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
		.map-marker-icon <<* {  }
			> svg{ width: 25px; height: 33px; color: var(--brandprimary); }
		>>
	>>
	
	/* Videos */
	.dp-video <<* { position: relative; height: 0; padding-bottom: 56.25%; }
		& > iframe, & > video{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
		video{ object-fit: cover; }
	>>
	
	/* Audios */
	.dp-audio <<* { }
		audio{ width: 460px; max-width: 100%; }
	>>
	
	/* Ansprechpartner */
	.contact-item <<* { text-align: center; }
		.contact-image{ border-radius: 50%; margin: 0 auto .5rem; max-width: 180px; overflow: hidden; }
		.contact-name{ font-size: 1.25rem; margin: 0; }
		.contact-role{ opacity: .666; font-style: italic; font-size: .825rem; margin: 0; }
		.contact-info{ margin-bottom: 0; margin-top: .5rem; font-size: .825rem; }
	>>
	
	/* Download */
	.download-item <<* { height: 100%; background: var(--opacgrey); padding: 1.25rem; }
		.download-preview{ margin-bottom: .5rem; padding: .5rem; background: rgba(255,255,255,.5); box-shadow: 0 0 3px 0 rgba(0,0,0,.1); }
		.download-title a, .download-title{ font-size: 1rem; margin: 0; color: var(--headlinecolor); }
		p{ margin: .5rem 0 0; }
		.download-fileinfo{ font-size: .75rem; }
		.fileinfo-spacer{ color: var(--grey); }
	>>
	
	/* Termine */
	.termin-item <<* { margin-bottom: 2rem; padding-bottom: 2rem; border-bottom: 2px solid rgba(0,0,0,.1); }
	>>
	
	/* Slider */
	.swiper-button-prev,
	.swiper-button-next <<* { height: auto; width: auto; background: none!important; color: #fff; top: 50%; margin-top: auto; transform: translate(0,-50%); text-shadow: 0 0 15px rgba(0,0,0,.5); }
		&::after{ display: none; }
		svg{ width: 1.25rem; }
	>>
	.swiper-pagination-bullet{ background: transparent; width: .666rem; height: .666rem; border: 1px solid #fff; opacity: 1; box-shadow: 0 0 15px 0 rgba(0,0,0,.5); }
	.swiper-pagination-bullet-active{ background: #fff; opacity: 1; }
	
	/* Bereichslink Item */
	.bereichslink-item <<* {}
		.bereichslink-image <<* { background: url(../images/ErnstFisch_Hintergrund_1920px_gelb.jpg) center no-repeat; background-size: cover; }
			div{ position: absolute; top: 20%; left: 20%; right: 20%; bottom: 20%; }
		>>
		&:hover .bereichslink-image { background-image: url(../images/ErnstFisch_Hintergrund_1920px_gruen.jpg); }
	>>

	/* Jobs */
	.job-item <<* { max-width: var(--breakpoint-l); margin-left: auto; margin-right: auto; background: url(../images/Stellenanzeigen_Button_Hintergrund.jpg) center no-repeat; background-size: cover; }
		a{ background: var(--fontcolor)E6; text-align: center; padding: 1.5rem 2.5rem; display: block; color: var(--brandprimary); position: relative; }
		a:hover{ background: var(--brandprimary)CC; color: var(--fontcolor); }
		.title{ margin: 0 auto; max-width: var(--breakpoint-s); font-size: 1.125rem; color: inherit !important; }
		.arr-l,
		.arr-r{ width: 2rem; height: 2rem; position: absolute; top: 50%; color: #fff; margin: -1rem 1rem 0; opacity: 0; transition: all .25s; }
		.arr-l{ right: 0; transform: translate(1rem,0); }
		.arr-r{ left: 0; transform: translate(-1rem,0); }
		a:hover .arr-l, a:hover .arr-r{ transform: translate(0,0); opacity: 1; }
	>>
	.job-item + .job-item{ margin-top: 1.5rem; }
	
	.formular-item <<* { padding: 1.75rem; box-shadow: 0 0 10px 0 rgba(0,0,0,.15); }
		h2{ font-size: 1.5rem; color: var(--brandprimary); }
	>>
}

@media all and (min-width: var(--breakpoint-s)){
}

@media all and (min-width: var(--breakpoint-m)){
	h1, .h1{ font-size: 2.5rem; }
	h2, .h2{ font-size: 2rem; }
	h3, .h3{ font-size: 1.75rem; }
	h4, .h4{ font-size: 1.25rem; }
	h5, .h5{ font-size: 1.125rem; }
	h6, .h6{ font-size: .925rem; }
	.small-heading{ font-size: 1.75rem !important; }
	
	/* Map */
	.dp-map <<* { height: 450px; }
	>>
	
	/* Termine */
	.termin-item <<* {}
		.termin-image{ width: 200px; }
	>>
}

@media all and (min-width: var(--breakpoint-l)){
	html{ font-size: var(--fontsizeroot); }
	
	/* Map */
	.dp-map <<* { height: 600px; }
	>>
	
	.text-columns-2{ column-count: 2; column-gap: 4rem; }
	.text-columns-3{ column-count: 2; column-gap: 4rem; }
	.text-columns-2 > *:last-child,
	.text-columns-3 > *:last-child{ margin-bottom: 0; }
	.text-columns-2 p,
	.text-columns-3 p{ margin-bottom: 1.75em; }
	
	.formular-item <<* {  }
		&.-fullwidth{ padding-left: 7.5vw; padding-right: 7.5vw; }
		.form-buttons <<* { margin-top: 2.5rem; }
			.dp-btn { padding: .5rem 4rem; font-size: 1.25rem; border-radius: 1.5rem; }
		>>
	>>
}

@media all and (min-width: var(--breakpoint-xl)){
	.text-columns-3{ column-count: 3; }
}

@media all and (min-width: var(--breakpoint-xxl)){
}