/* // Basislayout /////////////////////////////////////////////////////////// */
html {font-size:16px;line-height:1.4;font-family:'Poppins',sans-serif;margin:0;border:0;padding:0;min-height:100.1%;scroll-behavior:smooth;}
body {font-size:100%;margin:0;border:0;padding:0;}

/* // Tags // */
h2 {font-size:1.25em;}
a {text-decoration:none;color:inherit;transition:color 0.25s ease;}
a:hover {}
figure {display:block;margin:0;padding:0;}
img {display:block;width:auto;max-width:100%;height:auto;}

@media screen and (min-width:768px) {
	h2 {font-size:1.5em;}
}

/* // Klassen // */
.invisible {display:block;position:absolute;top:-3000px;left:-3000px;width:1px;height:1px;text-indent:20px;overflow:hidden;}


/* // Header //////////////////////////////////////////////////////////////// */
header {position:relative;width:100%;height:auto;background:#fff;}
header .inside {position:relative;margin:1.25em auto;width:100%;}
@media screen and (min-width:768px) {
	header {position:fixed;z-index:1000;min-height:148px;}
	header .inside {margin:0 auto;padding:2.25em 0;width:90%;max-width:1024px;}	
}

/* // Logo // */
.logo {width:100%;}
.logo figure {margin:0 auto;width:106px;height:auto;}
@media screen and (min-width:768px) {
	.logo {position:absolute;top:2em;left:0;width:auto;}
	.logo figure {width:132px;}
}

/* // Hauptmenu // */
.hauptmenu ul {display:none;list-style:none;margin:0;padding:0;width:100%;height:auto;text-align:left;}
.hauptmenu > ul {position:absolute;top:5.25em;left:0;z-index:3000;padding:1.5em 0;background:#fff;border-bottom:10px solid #000;}
.hauptmenu .level_1 > li {display:block;vertical-align:top;position:relative;padding:0.25em 1.5em;}
.hauptmenu .level_1 > li:hover > a,
.hauptmenu .level_1 > li.active > strong,
.hauptmenu .level_1 > li.trail > a,
.hauptmenu .level_1 > li.trail > strong {border-bottom:3px solid #000;}
.angebot .hauptmenu .level_1 > li:hover > a,
.angebot .hauptmenu .level_1 > li.active > strong,
.angebot .hauptmenu .level_1 > li.trail > a,
.angebot .hauptmenu .level_1 > li.trail > strong {border-color:#008bd2;}
.hauptmenu ul li a,
.hauptmenu ul li strong {font-size:0.875em;font-weight:300;}
.hauptmenu .level_1 > li > strong {font-weight:300;}
.hauptmenu .level_2 > li > strong {font-weight:600;}
.hauptmenu .level_2 {display:block;position:relative;padding:0.25em 0 0.25em 0;text-align:left;width:auto;}
.hauptmenu .level_2 > li {position:relative;padding:0.25em 1.5em;}
/*.hauptmenu li.trail .level_2 {display:block;}*/

#top:target .hauptmenu > ul {display:block;}

@media screen and (min-width:768px) {
	.hauptmenu > ul {display:block;border-bottom:0;}
	.hauptmenu ul {position:relative;top:auto;left:auto;list-style:none;margin:0;padding:0;text-align:right;background:none;}
	.hauptmenu .level_1 > li {display:inline-block;vertical-align:top;position:relative;margin-left:1em;padding:0;}
	.hauptmenu .level_1 > li:first-child {margin-left:0;}
	.hauptmenu .level_2 {display:none;position:absolute;padding-top:0.5em;text-align:left;width:192px;}
	.hauptmenu .level_1 li:hover .level_2 {display:block;}
	.hauptmenu .level_2 > li {position:relative;padding:0;line-height:1.2;}
}

/* // Menubutton // */
.mod_menubutton {position:absolute;bottom:0;right:5%;z-index:1500;margin:0 auto;padding:0;width:auto;height:auto;}
/*.mod_menubutton::before {content:' ';background:#fff url('../../files/design/img/grafik-gewellte-flaeche.svg') no-repeat top center;background-size:115%;position:absolute;top:-0.5em;left:0;width:100%;height:0.5em;}*/
.mod_menubutton > div {margin:0.25em auto 0 auto;width:2em;height:auto;}
.mod_menubutton .open {display:block;}
.mod_menubutton .close {display:none;}

@media screen and (max-width:768px) {
	#top:target .mod_menubutton .open {display:none;}
	#top:target .mod_menubutton .close {display:block;}
}
@media screen and (min-width:768px) {
	.mod_menubutton {display:none;}
}




/* // Main ////////////////////////////////////////////////////////////////// */
@media screen and (min-width:768px) {
	main {display:block;padding-top:157px;}
}

/* // Seitentitel // */
.seitentitel {padding-top:1.5em;border-bottom:10px solid #000;}
.seitentitel .inside {position:relative;margin:0 auto 0.5em auto;width:90%;max-width:1024px;}
.seitentitel h1 {font-size:1.5em;font-weight:300;line-height:1.1;text-transform:uppercase;}
.angebot .seitentitel h1 {margin-right:72px;}
.seitentitel .icon {position:absolute;bottom:0;right:0;z-index:10;height:auto;}
.seitentitel .icon.sanitaeranlagen {width:32px;}
.seitentitel .icon.heizungen {width:40px;}
.seitentitel .icon.komfortlueftung {width:64px;right:-0.25em;}
.seitentitel .icon.solaranlagen {width:56px;right:-0.25em;}

@media screen and (min-width:768px) {
	/*.seitentitel {padding-top:0;}*/
	.seitentitel h1 {font-size:2.5em;}
	.angebot .seitentitel h1 {margin-right:192px;}
	.seitentitel .icon {bottom:-0.5em;}
	.seitentitel .icon.sanitaeranlagen {width:68px;}
	.seitentitel .icon.heizungen {width:92px;}
	.seitentitel .icon.komfortlueftung {width:136px;}
	.seitentitel .icon.solaranlagen {width:136px;right:-0.5em;}
}

/* // Artikel // */
.ueber-uns .mod_article {margin:2.5em auto 0 auto;width:calc(90% + 16px);max-width:1024px;}
@media screen and (min-width:768px) {
	.ueber-uns .mod_article .inside {margin-right:20%;}
}
@media screen and (min-width:960px) {
	.ueber-uns .mod_article .inside {margin-right:28%;}
}
@media screen and (min-width:1024px) {
	.ueber-uns .mod_article .inside {margin-right:37%;}
}

/* // Bild // */
.mod_article > .ce_image {position:relative;}
.home .mod_article > .ce_image::before,
.angebot .mod_article > .ce_image::before,
.geschichte .mod_article > .ce_image::before,
.danke .mod_article > .ce_image::before{content:' ';position:absolute;bottom:0;left:0;width:100%;height:15px;background:url('../../files/design/img/wellenlinie-bildabschluss.svg') no-repeat center bottom;background-size:auto 100%;}
.mod_article > .ce_image .titelbild {padding:6em 0 3em 0;background-repeat:no-repeat;background-position:center;background-size:cover;}
.home .mod_article > .ce_image .titelbild {padding:9em 0 9em 0;background-repeat:no-repeat;background-position:center;background-size:cover;}
.mod_article > .ce_image .titelbild img {display:none;}
.mod_article > .ce_image .titelbild .textbox {margin:0 auto;width:90%;max-width:1024px;}
.mod_article > .ce_image .titelbild figcaption {margin:0 0 0 auto;padding:16px;width:50%;height:auto;background:rgba(255,255,255,0.85);font-size:16px;line-height:1.3;}

/* Referenzen */
.referenzen .mod_article::before {content:' ';position:absolute;bottom:-1px;left:0;z-index:1500;width:100%;height:15px;background:url('../../files/design/img/wellenlinie-bildabschluss.svg') no-repeat center bottom;background-size:auto 100%;}


.referenzen .mod_article .inside > div {display:block;position:relative;margin-top:0;padding:0;width:100%;height:auto;}
.referenzen .mod_article .inside > div > div {margin-top:0.5em;}
.referenzen .mod_article .inside > div:first-child > div:first-child {margin-top:0;}
.referenzen .mod_article .inside > div > .double {position:relative;}
.referenzen .mod_article .inside > div > .double > div {width:50%;}
.referenzen .mod_article .inside > div > .double > div:last-child {position:absolute;top:0;right:0;}

.referenzen .mod_article .inside > div > .double > div > figure {width:calc(100% - 0.25em);}
.referenzen .mod_article .inside > div > .double > div:last-child > figure {margin-left:0.25em;}

.referenzen .mod_article .inside div .textbox {position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(255,255,255,0.85);opacity:0;transition:opacity 0.5s ease;}
.referenzen .mod_article .inside div figcaption {position:absolute;top:calc(50% - 46px);left:20px;padding-right:20px;font-size:14px;line-height:1.3;}
.referenzen .mod_article .inside div figcaption strong {/*font-size:16px;*/font-weight:bold;}

.referenzen figure input.openElement {display:none;}
.referenzen figure label.toggler {display:none;}

@media screen and (max-width:768px) {
	.referenzen .mod_article .inside > .ce_text {display:block;position:relative;margin-top:0.5em;padding:0;width:100%;height:auto;}
	.referenzen .mod_article .inside > .ce_text:first-child {margin-top:0;}
	.referenzen figure {position:relative;}
	.referenzen figure input.openElement {display:block;position:absolute;top:0px;left:-3000px;width:1px;height:1px;text-indent:20px;overflow:hidden;}
	.referenzen figure label.toggler {display:block;position:absolute;top:0;left:0;z-index:1000;width:100%;height:100%;text-indent:1000000px;overflow:hidden;}
	.referenzen figure #portrait_48:checked ~ .textbox,
	.referenzen figure #portrait_49:checked ~ .textbox,
	.referenzen figure #portrait_50:checked ~ .textbox,
	.referenzen figure #portrait_51:checked ~ .textbox,
	.referenzen figure #portrait_52:checked ~ .textbox,
	.referenzen figure #portrait_53:checked ~ .textbox,
	.referenzen figure #portrait_54:checked ~ .textbox,
	.referenzen figure #portrait_55:checked ~ .textbox,
	.referenzen figure #portrait_56:checked ~ .textbox,
	.referenzen figure #portrait_57:checked ~ .textbox,
	.referenzen figure #portrait_58:checked ~ .textbox,
	.referenzen figure #portrait_59:checked ~ .textbox,
	.referenzen figure #portrait_60:checked ~ .textbox,
	.referenzen figure #portrait_61:checked ~ .textbox,
	.referenzen figure #portrait_62:checked ~ .textbox {opacity:1;}
	.referenzen .mod_article .inside > .ce_text figcaption {left:12px;z-index:2000;padding-right:12px;font-size:12px;}
}

@media screen and (min-width:768px) {
	.referenzen .mod_article .inside > div {position:relative;margin-top:0.5em;}
	.referenzen .mod_article .inside > div:first-child {margin-top:0;}
	.referenzen .mod_article .inside > div > div {margin-top:0;}
	
	.referenzen .mod_article .inside > div > .ce_text:first-child {width:60%;}
	.referenzen .mod_article .inside > div > .ce_text:last-child {position:absolute;top:0;right:0;width:60%;}
	.referenzen .mod_article .inside > div > .double:first-child {width:40%;}
	.referenzen .mod_article .inside > div > .double:last-child {position:absolute;top:0;right:0;width:40%;}
	
	.referenzen .mod_article .inside > div > div figure {position:relative;}

	.referenzen .mod_article .inside > div > .ce_text:first-child figure {position:relative;margin-right:0.5em;width:calc(100% - 0.5em);}
	.referenzen .mod_article .inside > div > .ce_text:last-child figure {margin-left:0.5em;width:calc(100% - 0.5em);}

	.referenzen .mod_article .inside .ce_text:hover .textbox {opacity:1;}
	
	.referenzen .mod_article .inside .double .double figcaption {left:12px;padding-right:12px;width:calc(100% - 24px);height:100%;}
	.referenzen .mod_article .inside .double .double figcaption {top:calc(50% - 84px);}

}

@media screen and (min-width:1024px) {
	.referenzen .mod_article .inside div figcaption,
	.referenzen .mod_article .inside .double .double figcaption {left:30px;padding-right:30px;width:calc(100% - 60px);font-size:16px;line-height:1.4;}
	.referenzen .mod_article .inside .double .double figcaption {top:calc(50% - 55px);}
}

/* Ueber uns */
.ueber-uns .mod_article .inside > .ce_image > h2,
.ueber-uns .mod_article .inside > .ce_text > h2 {display:none;}
.ueber-uns .mod_article .inside > .ce_image,
.ueber-uns .mod_article .inside > .ce_text {display:inline-block;position:relative;padding:8px;width:calc(50% - 4px - 16px);height:auto;}
.ueber-uns .mod_article .inside > .ce_image .textbox,
.ueber-uns .mod_article .inside > .ce_text .textbox {position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(255,255,255,0.85);opacity:0;transition:opacity 0.5s ease;}
.ueber-uns .mod_article .inside > .ce_image figcaption,
.ueber-uns .mod_article .inside > .ce_text figcaption {position:absolute;top:calc(50% - 46px);left:20px;padding-right:20px;font-size:14px;line-height:1.3;}
.home .mod_article > .ce_image .titelbild figcaption,
.home .mod_article > .ce_text .titelbild figcaption {display:none;}
.ueber-uns .mod_article .inside > .ce_image figcaption strong,
.ueber-uns .mod_article .inside > .ce_text figcaption strong {font-size:16px;font-weight:bold;}

.ueber-uns figure input.openElement {display:none;}
.ueber-uns figure label.toggler {display:none;}

@media screen and (max-width:768px) {
	.ueber-uns figure {position:relative;}
	.ueber-uns figure input.openElement {display:block;position:absolute;top:0px;left:-3000px;width:1px;height:1px;text-indent:20px;overflow:hidden;}
	.ueber-uns figure label.toggler {display:block;position:absolute;top:0;left:0;z-index:1000;width:100%;height:100%;text-indent:1000000px;overflow:hidden;}
	.ueber-uns figure #portrait_18:checked ~ .textbox,
	.ueber-uns figure #portrait_20:checked ~ .textbox,
	.ueber-uns figure #portrait_21:checked ~ .textbox,
	.ueber-uns figure #portrait_22:checked ~ .textbox,
	.ueber-uns figure #portrait_23:checked ~ .textbox,
	.ueber-uns figure #portrait_24:checked ~ .textbox,
	.ueber-uns figure #portrait_25:checked ~ .textbox,
	.ueber-uns figure #portrait_26:checked ~ .textbox,
	.ueber-uns figure #portrait_27:checked ~ .textbox,
	.ueber-uns figure #portrait_39:checked ~ .textbox,
	.ueber-uns figure #portrait_40:checked ~ .textbox,
	.ueber-uns figure #portrait_41:checked ~ .textbox,
	.ueber-uns figure #portrait_42:checked ~ .textbox,
	.ueber-uns figure #portrait_43:checked ~ .textbox,
	.ueber-uns figure #portrait_44:checked ~ .textbox,
	.ueber-uns figure #portrait_45:checked ~ .textbox,
	.ueber-uns figure #portrait_46:checked ~ .textbox,
	.ueber-uns figure #portrait_47:checked ~ .textbox,
	.ueber-uns figure #portrait_48:checked ~ .textbox {opacity:1;}
	/*.ueber-uns .mod_article .inside > .ce_image:hover .textbox {opacity:1;}*/
	.ueber-uns .mod_article .inside > .ce_image figcaption,
	.ueber-uns .mod_article .inside > .ce_text figcaption {left:12px;z-index:2000;padding-right:12px;font-size:12px;}
	

}

@media screen and (min-width:768px) {
	.mod_article > .ce_image {min-height:400px;}
	.home .mod_article > .ce_image::before,
	.angebot .mod_article > .ce_image::before,
	.referenzen .mod_article::before,
	.geschichte .mod_article > .ce_image::before,
	.danke .mod_article > .ce_image::before {height:40px;}
	.mod_article > .ce_image .titelbild {padding:6em 0 9em 0;background-repeat:no-repeat;background-position:center;background-size:cover;}
	.mod_article > .ce_image .titelbild figcaption {margin:0 0 0 auto;padding:25px;width:30%;height:125px;font-size:25px;}
	.home .mod_article > .ce_image .titelbild figcaption {display:block;margin:0 0 0 auto;padding:25px;width:30%;height:auto;font-size:16px;line-height:1.4;}
	.home .mod_article > .ce_text {display:none;}
	.ueber-uns .mod_article .inside > .ce_image,
	.ueber-uns .mod_article .inside > .ce_text {display:inline-block;position:relative;padding:8px;width:calc(33.333% - 4px - 16px);height:auto;}
	.mod_article > .ce_image figure {min-height:calc(400px - 15em);}
	.ueber-uns .mod_article .inside > .ce_image:hover .textbox,
	.ueber-uns .mod_article .inside > .ce_text:hover .textbox {opacity:1;}

}

/* // Galerie Referenzen // */
.ce_gallery {display:block;position:relative;width:100%;overflow:hidden;}
.ce_gallery:first-child {margin-top:0;}
.ce_gallery:last-child::before {content:' ';position:absolute;bottom:0;left:0;width:100%;height:15px;background:url('../../files/design/img/wellenlinie-bildabschluss.svg') no-repeat center bottom;background-size:auto 100%;}
.ce_gallery ul {list-style:none;padding-left:0;margin:0;}
.ce_gallery ul li {display:block;margin-top:0.5em;width:100%;height:auto;overflow:hidden;}
.ce_gallery:first-child ul li:first-child {margin-top:0;}



@media screen and (min-width:768px) {
	.ce_gallery {margin-top:0.5em;}
	.ce_gallery:last-child::before {height:40px;}
	.ce_gallery ul li {margin-top:0;width:40%;}
	.ce_gallery ul li:last-child {position:absolute;z-index:-1;top:0;right:0;width:calc(60% - 0.5em);height:100%;}
	.ce_gallery ul li .titelbild {width:100%;height:100%;background-repeat:no-repeat;background-position:center;background-size:cover;}
	.ce_gallery ul li:last-child img {display:none;}
	.ce_gallery:nth-child(2n + 1) ul li {margin-left:60%;}
	.ce_gallery:nth-child(2n + 1) li:last-child {right:calc(40% + 0.5em);}
}


/* // Googlemap // */
.googlemap iframe {width:100%;filter:grayscale(1);}

/* // Text // */
.mod_article {position:relative;}
.mod_article > .ce_text {margin:1.5em auto 0 auto;width:90%;max-width:1024px;}
.kontakt .mod_article > .ce_text {margin:1.5em auto 0 auto;width:100%;max-width:1024px;}


/* Kontakt */
.kontakt .mod_article {margin:1.5em auto 0 auto;width:90%;max-width:1024px;}
.kontakt .mod_article > .ce_text.spalte.links h2 {margin-top:0;}
.kontakt .mod_article > .ce_text.spalte.links p {margin-left:0;}

@media screen and (min-width:960px) {
	.kontakt .mod_article > .ce_text.spalte.links {position:absolute;left:0;top:0;margin:0;width:calc(50% - 4em);}
	.mod_article > .ce_text h2,
	.mod_article > .ce_text p {margin:1em auto 0 50%;}
}


/* // Footer //////////////////////////////////////////////////////////////// */
footer {margin-top:2.5em;width:100%;height:auto;}
footer .inside {position:relative;margin:0 auto;padding:1em 0 1.5em 0;width:90%;max-width:1024px;}
@media screen and (min-width:768px) {
	footer .inside {margin:0 auto;}	
}

/* // Fusszeile // */
.fusszeile .spalte_links,
.fusszeile .spalte_rechts {display:inline-block;vertical-align:top;position:relative;width:calc(50% - 4px);}
.fusszeile p,
.fusszeile div div div a {font-size:0.8125em;color:#fff;margin:0;padding-top:1em;}
.home .fusszeile p,
.home .fusszeile a {color:#000;}
.fusszeile .impressum_link {margin-top:1.25em;}
.fusszeile .serviceanfrage_link {margin-top:1.25em;}
.fusszeile .kontaktformular_link {margin-top:0.5em;}
/*.fusszeile .serviceanfrage_link {margin-top:0.5em;}*/
.fusszeile .impressum_link a {font-weight:600;}
.fusszeile .serviceanfrage_link a {display:inline-block;padding:10px 10px 8px 10px;background:#fff;font-weight:600;color:#cd132a;min-width:110px;text-align:center;}
.fusszeile .kontaktformular_link a {display:inline-block;padding:10px 10px 8px 10px;background:#fff;font-weight:600;color:#000;text-align:center;}

@media screen and (min-width:960px) {
	.fusszeile .spalte_links {margin-right:2.5em;width:calc(50% - 2.5em - 4px);}
	.fusszeile .spalte_links p {display:inline-block;vertical-align:top;width:calc(33.333% - 4px);}
	.fusszeile .spalte_rechts p {margin-right:160px;}
	.fusszeile .serviceanfrage_link {position:absolute;top:13px;right:0;margin-top:0;}
	.fusszeile .kontaktformular_link {position:absolute;top:57px;right:0;margin-top:0;}
	/*.fusszeile .kontaktformular_link {position:absolute;top:13px;right:0;margin-top:0;}*/
	.fusszeile p,
	.fusszeile div div a {padding-top:2.4em;}
	.fusszeile p:first-child {padding-top:1em;}
}



/* // Farbgebung seitenspezifisch /////////////////////////////////////////// */
/* border-color */
/* Home */
.home .hauptmenu > ul,
.hauptmenu .level_1 > li.home:hover > a,
.hauptmenu .level_1 > li.home.active > strong,
.hauptmenu .level_1 > li.home.trail > a,
.hauptmenu .level_1 > li.home.trail > strong,
.home .seitentitel {border-color:#a1daf8;}
/* Angebot */
.angebot .hauptmenu > ul,
.hauptmenu .level_1 > li.angebot:hover > a,
.hauptmenu .level_1 > li.angebot.active > strong,
.hauptmenu .level_1 > li.angebot.trail > a,
.hauptmenu .level_1 > li.angebot.trail > strong,
.angebot .seitentitel {border-color:#008bd2;}
/* Referenzen */
.referenzen .hauptmenu > ul,
.hauptmenu .level_1 > li.referenzen:hover > a,
.hauptmenu .level_1 > li.referenzen.active > strong,
.hauptmenu .level_1 > li.referenzen.trail > a,
.hauptmenu .level_1 > li.referenzen.trail > strong,
.referenzen .seitentitel {border-color:#748fc9;}
/* Geschichte */
.geschichte .hauptmenu > ul,
.hauptmenu .level_1 > li.geschichte:hover > a,
.hauptmenu .level_1 > li.geschichte.active > strong,
.hauptmenu .level_1 > li.geschichte.trail > a,
.hauptmenu .level_1 > li.geschichte.trail > strong,
.geschichte .seitentitel {border-color:#6f3675;}
/* Ueber uns */
.ueber-uns .hauptmenu > ul,
.hauptmenu .level_1 > li.ueber-uns:hover > a,
.hauptmenu .level_1 > li.ueber-uns.active > strong,
.hauptmenu .level_1 > li.ueber-uns.trail > a,
.hauptmenu .level_1 > li.ueber-uns.trail > strong,
.ueber-uns .seitentitel {border-color:#6f3675;}
/* Anfrage */
.anfrage .hauptmenu > ul,
.hauptmenu .level_1 > li.anfrage:hover > a,
.hauptmenu .level_1 > li.anfrage.active > strong,
.hauptmenu .level_1 > li.anfrage.trail > a,
.hauptmenu .level_1 > li.anfrage.trail > strong,
.anfrage .seitentitel {border-color:#cd132a;}
/* Kontakt */
.kontakt .hauptmenu > ul,
.hauptmenu .level_1 > li.kontakt:hover > a,
.hauptmenu .level_1 > li.kontakt.active > strong,
.hauptmenu .level_1 > li.kontakt.trail > a,
.hauptmenu .level_1 > li.kontakt.trail > strong,
.kontakt .seitentitel,
.kontakt-danke .seitentitel {border-color:#ef7c00;}
/* Impressum */
.impressum .hauptmenu > ul,
.impressum .seitentitel {border-color:#ef7c00;}

/* background */
.home footer {background:#a1daf8;}
.angebot footer {background:#008bd2;}
.referenzen footer {background:#748fc9;}
.geschichte footer {background:#6f3675;}
.ueber-uns footer {background:#6f3675;}
.anfrage footer {background:#cd132a;}
.kontakt footer,
.kontakt-danke footer {background:#ef7c00;}
.impressum footer {background:#ef7c00;}

/* color */
/*.home .fusszeile .serviceanfrage_link a,*/
.home .fusszeile .kontaktformular_link a {color:#a1daf8;}
/* Ausnahme: */ /*.home .fusszeile .serviceanfrage_link a,*/
.home .fusszeile .kontaktformular_link a {color:#000;}
/*.angebot .fusszeile .serviceanfrage_link a,*/
.angebot .fusszeile .kontaktformular_link a {color:#008bd2;}
/*.referenzen .fusszeile .serviceanfrage_link a,*/
.referenzen .fusszeile .kontaktformular_link a {color:#748fc9;}
/*.geschichte .fusszeile .serviceanfrage_link a,*/
.geschichte .fusszeile .kontaktformular_link a {color:#6f3675;}
/*.ueber-uns .fusszeile .serviceanfrage_link a,*/
.ueber-uns .fusszeile .kontaktformular_link a {color:#6f3675;}
/*.anfrage .fusszeile .serviceanfrage_link a,*/
.anfrage .fusszeile .kontaktformular_link a {color:#cd132a;}
/*.kontakt .fusszeile .serviceanfrage_link a,*/
.kontakt .fusszeile .kontaktformular_link a,
/*.kontakt-danke .fusszeile .serviceanfrage_link a,*/
.kontakt-danke .fusszeile .kontaktformular_link a {color:#ef7c00;}
/*.impressum .fusszeile .serviceanfrage_link a,*/
.impressum .fusszeile .kontaktformular_link a {color:#ef7c00;}
/* FORMULAR ****************************************************************/

/*	Schrift ******************************************************************/
input,
textarea,
label,
select {font-family:'Poppins',sans-serif;font-weight:300;font-style:normal;}


/* Form */
.lay_formular {margin:2.5em auto 0 auto;width:90%;max-width:1024px;text-align:left;}
.ce_form {margin:0 auto;padding:0;width:100%;}
.notfall .ce_form {padding:1px 2em;width:calc(100% - 4em);}
/* Titel */
.lay_formular legend {font-weight:600;}
.lay_formular .abweichend > legend {padding-top:1em;}
/* Umschlaege */
.lay_formular fieldset {display:block;margin:0;border:0;padding:0;width:100%;height:auto;}
.lay_formular .formbody > fieldset {margin:0 0 2.25em 0}
.lay_formular .formbody > fieldset:first-child {margin-left:4em;}
.notfall .lay_formular .formbody > fieldset {margin-bottom:0;}
.lay_formular .formbody > fieldset.abweichend {margin:0;}
.lay_formular .widget {position:relative;margin:0.5em 0;width:auto;}
@media screen and (min-width:960px) {
	.lay_formular fieldset {display:inline-block;vertical-align:top;width:calc(50% - 4px);}
	.lay_formular .widget {margin:0.75em 0;}
	.lay_formular .widget.plz,
	.lay_formular .widget.ort,
	.lay_formular .widget.stockwerk,
	.lay_formular .widget.strasse-hausnummer {margin:0;}
	.lay_formular fieldset fieldset .widget.plz label,
	.lay_formular fieldset fieldset .widget.ort label {margin-top:0.4em;}
	.lay_formular .links .widget {margin-right:1.125em;}
	.lay_formular .rechts .widget {margin-left:1.125em;}
	.lay_formular .rechts legend {margin-left:1.125em;}
}
/* Label */
.lay_formular label {display:block;font-size:14px;margin-top:1.25em;}
.lay_formular label p {display:inline;margin:0;}
/* Inputs */
.lay_formular textarea, 
.lay_formular input[type='text'], 
.lay_formular input[type='number'],
.lay_formular input[type='tel'],
.lay_formular input[type='email'] {font-size:1em;text-align:left;color:#000;display:block;margin:0.25em 0 0 0;border:1px solid #fff;padding:4px 0.75em;width:calc(100% - 1.5em);height:auto;background-color:#e6e6e6;outline:none;transition:border 0.25s ease;}
.lay_formular textarea:hover,
.lay_formular input[type='text']:hover,
.lay_formular input[type='number']:hover,
.lay_formular input[type='tel']:hover,
.lay_formular input[type='email']:hover {color:#000;border:1px solid #e6e6e6;}
.notfall .lay_formular textarea:hover,
.notfall .lay_formular input[type='text']:hover,
.notfall .lay_formular input[type='number']:hover,
.notfall .lay_formular input[type='tel']:hover,
.notfall .lay_formular input[type='email']:hover {color:#000;border:1px solid #e6e6e6;}
.lay_formular textarea:focus,
.lay_formular input[type='text']:focus,
.lay_formular input[type='number']:focus,
.lay_formular input[type='tel']:focus,
.lay_formular input[type='email']:focus {color:#000;border:1px solid #e6e6e6;}
/* Spezial */
.lay_formular .widget.plz,
.lay_formular .widget.stockwerk {display:inline-block;vertical-align:top;width:calc(125px - 4px);}
.lay_formular .widget.ort,
.lay_formular .widget.strasse-hausnummer {display:inline-block;vertical-align:top;width:calc(100% - 125px - 4px);}
.lay_formular .widget.ganzebreite {/*border-top:1px solid #004f91;border-bottom:1px solid #004f91;*/padding:2.75em 0.75em 1.125em 1.125em;background-color:#bfd3e3;border-radius:2px;}
.lay_formular .widget.ganzebreite input {margin:0;width:calc(100% - 2em);}
.lay_formular .widget.ganzebreite label {padding-top:0.5em;padding-left:1.125em;}
@media screen and (max-width:960px) {
	.lay_formular .widget.plz label,
	.lay_formular .widget.ort label {margin-top:0;}
}
@media screen and (min-width:960px) {
	.lay_formular .widget.ort,
	.lay_formular .widget.strasse-hausnummer {width:calc(100% - 125px - 2.25em - 4px);}
}
/* Radio-Inputs */
.lay_formular .widget-radio {/*width:100%;*/padding:0.75em 0.75em 1.125em 1.125em;background-color:#bfd3e3;border-radius:2px;}
.lay_formular .widget-radio fieldset {width:100%;}
.lay_formular .widget-radio fieldset > span {display:block;}
.lay_formular .widget-radio legend {font-weight:normal;color:#000;}
.lay_formular .widget-radio input {vertical-align:bottom;}
.lay_formular .widget-radio label {position:relative;vertical-align:bottom;width:auto;line-height:32px;}
/* Select-Inputs */
.lay_formular .widget-select select {margin:4px 0 0 0;border:0;width:100%;height:35px;background:none;background-color:#e6e6e6;border-radius:0px;font-size:14px;}
/* Upload */
.lay_formular .widget-upload {position:relative;}
.lay_formular .widget-upload label {background:#999999;color:#fff;line-height:1.4;font-weight:600;text-align:center;padding-top:8px;width:225px;height:27px;}
.lay_formular .widget-upload input[type='file'] {display:none;position:absolute;top:0;left:124px;z-index:-10;text-align:left;padding-top:8px;width:100%;height:27px;}
/* Explanation */
@media screen and (min-width:640px) {
	.lay_formular .explanation.gebuehren {margin-right:calc(33.333% + 4px + 1.125em);width:auto;margin-bottom:2.25em;}
}
/* Buttons */
.lay_formular .widget-submit {text-align:right;}
.lay_formular button.submit {font-size:14px;line-height:1.4;font-weight:600;color:#fff;margin:0;border:1px solid #fff;padding:8px 0 27px 0;width:117px;height:27px;background-color:#cd132a;transition:border 0.25s ease;}
.lay_formular button.submit:hover {border:1px solid #cd132a;}
.lay_formular button.submit:active {border:1px solid #cd132a;background-color:#cd132a;}
/* Klassen */
.lay_formular span.mandatory {margin:0 0 0 1px;/*color:#e74440;*/}
.lay_formular .widget.widget-explanation,
.lay_formular .widget.widget-explanation p {margin:0;}
.lay_formular .explanation p span.mandatory {font-size:13px;/*color:#e74440;*/margin-top:-1.5em;}
.lay_formular .explanation p.zusatz {margin-top:-11px;color:#004f91;}
.lay_formular .widget-explanation h2 {margin-top:2em;}


/* Abweichende Angaben => Felder anzeigen */
#abweichend_checkbox {display:block;position:absolute;top:auto;left:-3000px;width:1px;height:1px;text-indent:20px;overflow:hidden;}
.lay_formular .abweichend_label {position:relative;display:inline-block;vertical-align:top;padding:0;}
.lay_formular .abweichend_label::before {content:' ';display:inline-block;vertical-align:top;margin-right:1em;width:1.4em;height:1.4em;background:#e6e6e6;text-indent:4px;line-height:1.4;}
.lay_formular .abweichend {display:block;width:100%;}
.lay_formular fieldset.abweichend {display:inline-block;}
#abweichend_checkbox:checked ~ .abweichend {display:none;}
#abweichend_checkbox:checked ~ fieldset.abweichend {display:none;}
#abweichend_checkbox:checked ~ .abweichend_label::before {content:'✕';}
@media screen and (min-width:960px) {
	.lay_formular .abweichend_label {padding:0 0 0 18px;}
}


/* Zusaetzliche Angaben => Felder anzeigen */
.lay_formular .zusatz_02, .lay_formular .zusatz_03 {display:none;margin-left:20px;}
.lay_formular .zusatz_02 > span, .lay_formular .zusatz_03 > span {position:relative;display:block;margin-bottom:8px;}
.lay_formular .zusatz_02 label, .lay_formular .zusatz_03 label {display:inline-block;vertical-align:top;position:absolute;top:0;}
.lay_formular .zusatz_02 input[type='text'], .lay_formular .zusatz_03 input[type='text'] {display:inline-block;width:8em;}
#opt_51_2:checked ~ .zusatz_02 {display:block;}
#opt_51_3:checked ~ .zusatz_03 {display:block;}

/* Zusatzfelder */
.lay_formular .widget-radio {margin-bottom:0;}
.lay_formular .zusatzfelder {padding:0 0.75em 0.75em 1.125em;width:calc(100% - 1.875em);background:#bfd3e3;}
.lay_formular .zusatzfelder input[type='text'],
.lay_formular .zusatzfelder input[type='number'] {display:inline-block;width:8em;}
#zusatzfelderzusatz {display:none;}
@media screen and (min-width:960px) {
	.lay_formular .zusatzfelder {padding-right:calc(33.333% + 0.75em);width:calc(100% - 33.333% - 1.875em);}
}


/* Kontaktformular SPEZIAL */
.lay_formular.kontaktformular label {display:none;}
.lay_formular.kontaktformular button.submit {border:1px solid #fff;background-color:#ef7c00;}
.lay_formular.kontaktformular button.submit:hover {border:1px solid #ef7c00;}
.lay_formular.kontaktformular button.submit:active {border:1px solid #ef7c00;background-color:#ef7c00;}

.mod_article > .ce_form.kontaktformular {margin:1.5em auto 0 auto;width:100%;max-width:1024px;}
@media screen and (min-width:960px) {
	.mod_article > .ce_form.kontaktformular h2,
	.mod_article > .ce_form.kontaktformular .formbody {margin:1em auto 0 50%;}
}
