body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}
.mobile_menu{position:fixed;z-index:100;display:none}.mobile_menu .inner{height:100%;background:#000;overflow-y:scroll}.mobile_menu.active.position_left{box-shadow:2px 0 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_top{box-shadow:0 2px 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_right{box-shadow:-2px 0 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_bottom{box-shadow:0 -2px 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.no_shadow{box-shadow:none!important}.mobile_menu_trigger{display:none}.mobile_menu_wrapper{position:relative;width:100%;overflow:hidden}.mobile_menu_overlay{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:99}.mobile_menu_overlay.background{background:rgba(0,0,0,.5)}.mobile_menu li.submenu_hide>ul{display:none}.mobile_menu li.submenu_show>ul{display:block}body.ie8 .mobile_menu,body.ie8 .mobile_menu_trigger,body.ie9 .mobile_menu,body.ie9 .mobile_menu_trigger{display:none!important}
#colorbox,#cboxOverlay,#cboxWrapper{position:absolute;top:0;left:0;z-index:9999;overflow:hidden;-webkit-transform:translate3d(0,0,0)}#cboxWrapper{max-width:none}#cboxOverlay{position:fixed;width:100%;height:100%}#cboxMiddleLeft,#cboxBottomLeft{clear:left}#cboxContent{position:relative}#cboxLoadedContent{overflow:auto;-webkit-overflow-scrolling:touch}#cboxTitle{margin:0}#cboxLoadingOverlay,#cboxLoadingGraphic{position:absolute;top:0;left:0;width:100%;height:100%}#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow{cursor:pointer}.cboxPhoto{float:left;margin:auto;border:0;display:block;max-width:none;-ms-interpolation-mode:bicubic}.cboxIframe{width:100%;height:100%;display:block;border:0;padding:0;margin:0}#colorbox,#cboxContent,#cboxLoadedContent{box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}#cboxOverlay{background:#000;opacity:.9;filter:alpha(opacity = 90)}#colorbox{outline:0}#cboxContent{margin-top:20px;background:#000}.cboxIframe{background:#fff}#cboxError{padding:50px;border:1px solid #ccc}#cboxLoadedContent{border:5px solid #000;background:#fff}#cboxTitle{position:absolute;top:-20px;left:0;color:#ccc}#cboxCurrent{position:absolute;top:-20px;right:0;color:#ccc}#cboxLoadingGraphic{background:url(../../assets/colorbox/images/loading.gif) no-repeat center center}#cboxPrevious,#cboxNext,#cboxSlideshow,#cboxClose{border:0;padding:0;margin:0;overflow:visible;width:auto;background:0 0}#cboxPrevious:active,#cboxNext:active,#cboxSlideshow:active,#cboxClose:active{outline:0}#cboxSlideshow{position:absolute;top:-20px;right:90px;color:#fff}#cboxPrevious{position:absolute;top:50%;left:5px;margin-top:-32px;background:url(../../assets/colorbox/images/controls.png) no-repeat top left;width:28px;height:65px;text-indent:-9999px}#cboxPrevious:hover{background-position:bottom left}#cboxNext{position:absolute;top:50%;right:5px;margin-top:-32px;background:url(../../assets/colorbox/images/controls.png) no-repeat top right;width:28px;height:65px;text-indent:-9999px}#cboxNext:hover{background-position:bottom right}#cboxClose{position:absolute;top:5px;right:5px;display:block;background:url(../../assets/colorbox/images/controls.png) no-repeat top center;width:38px;height:19px;text-indent:-9999px}#cboxClose:hover{background-position:bottom center}
/********************************************************************************/
/*
Description: CSS File for Fonts
Theme Name: V15*
Theme URI: https://www.v15.de/
Version: 1.0 [01.2023]
Author: V15* Thorsten Neuhaus
Author URI: http://www.v15.de/
*/
/********************************************************************************/

/* ubuntu-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 300;
  src: url('../../files/data/fonts/ubuntu-v20-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
       url('../../files/data/fonts/ubuntu-v20-latin-300.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* ubuntu-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 400;
  src: url('../../files/data/fonts/ubuntu-v20-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
       url('../../files/data/fonts/ubuntu-v20-latin-regular.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* ubuntu-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 700;
  src: url('../../files/data/fonts/ubuntu-v20-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
       url('../../files/data/fonts/ubuntu-v20-latin-700.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* caveat-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 400;
  src: url('../../files/data/fonts/caveat-v17-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
       url('../../files/data/fonts/caveat-v17-latin-regular.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/********************************************************************************/

/********************************************************************************/
/*
Description: CSS File for variables
Theme Name: V15*
Theme URI: https://www.v15.de/
Version: 1.0 [01.2023]
Author: V15* Thorsten Neuhaus
Author URI: http://www.v15.de/
*/
/********************************************************************************/

:root {
   /* Schrift [#333] */
   --color1: rgba(0, 71, 122, 1);
   
   /* Farbe 2 [#cd1719] */
   /* --color2: rgba(248, 199, 2, 1); */
   --color2: rgba(255, 216, 0, 1);
   
   /* Farbe 3 [#707070] */
   --color3: rgba(112, 112, 112, 1);
   
   /* Farbe 4 [#D40053] */
   --color4: rgba(212, 0, 83, 1);
   
   /* Farbe 5 [#f5f5f5] */
   --color5: rgba(245, 245, 245, 1);
   
   /* Farbe 6 [#ccc] */
   --color6: rgba(204, 204, 204, 1);
   
   /* Farbe 7 [#666] */
   --color7: rgba(102, 102, 102, 1);
   
   /* Farbe 8 [#999] */
   --color8: rgba(153, 153, 153, 1);
   
   /* Farbe 9 [#CBDBE7] */
   --color9: rgba(203, 219, 231, 1);

   /*****/
   
   /* Banner: Standard [#333] */
   --banner1: rgba(51, 51, 51, 1);
   
   /* Banner: Hinweis [#89C000] */
   --banner2: rgba(137, 192, 0, 1);
   
   /* Banner: Wichtig [#D40053] */
   --banner3: rgba(212, 0, 83, 1);
   
   /*****/
   
   /* Error [#D40053] */
   --error: rgba(212, 0, 83, 1);

   /* Weiß [#fff] */
   --colorW: rgba(255, 255, 255, 1);
   
   /* Schwarz [#000] */
   --colorB: rgba(0, 0, 0, 1);
   
   /*****/
   
   --font1: 'Ubuntu', arial, sans-serif;
   --font2: 'Caveat', georgia, serif;
   
   --text: 1.250rem;
   --linehT: 1.875rem;
   
   --textS: 1.000rem;
   --linehTS: 1.500rem;
   
   
   /* --head1: 2.875rem; */
   --head1: 2.750rem;
   --linehH1: 3.688rem;
   
   --head2: 2.400rem;
   --linehH2: 2.600rem;
   
   /* --head3: 2.800rem; */
   --head3: 4.000rem;
   --linehH3: 1.625rem;
   
   --head4: 1.375rem;
   --linehH4: 1.867rem;
   
   --head5: 1.375rem;
   --linehH5: 1.867rem;
   
   --head6: 1.375rem;
   --linehH6: 1.867rem;
   
   /*****/

   /* Padding */
   --padding1: 10px;
   --padding2: 20px;
   --padding3: 30px;
   --padding4: 40px;
   --padding5: 50px;

   /* Border-Radius */
   --br1: 5px;
   --br2: 10px;
   --br3: 20px;
}

/********************************************************************************/
/* Auswahltext-Farbe ändern */
::selection {background:var(--color2); color:var(--color5); /* Safari and Opera */ }
::-moz-selection {background:var(--color2); color:var(--color5); /* Firefox */ }

/* Highlight Searchword */
.highlight {background:var(--color2); color:var(--color5); padding:0 2px;}

/********************************************************************************/

.margin-top-bottom-100 {margin: 100px 0;}
.margin-top-bottom-90 {margin: 90px 0;}
.margin-top-bottom-80 {margin: 80px 0;}
.margin-top-bottom-70 {margin: 70px 0;}
.margin-top-bottom-60 {margin: 60px 0;}
.margin-top-bottom-50 {margin: 50px 0;}
.margin-top-bottom-40 {margin: 40px 0;}
.margin-top-bottom-30 {margin: 30px 0;}
.margin-top-bottom-20 {margin: 20px 0;}
.margin-top-bottom-10 {margin: 10px 0;}

.margin-top-100 {margin-top: 100px;}
.margin-top-90 {margin-top: 90px;}
.margin-top-80 {margin-top: 80px;}
.margin-top-70 {margin-top: 70px;}
.margin-top-60 {margin-top: 60px;}
.margin-top-50 {margin-top: 50px;}
.margin-top-40 {margin-top: 40px;}
.margin-top-30 {margin-top: 30px;}
.margin-top-20 {margin-top: 20px;}
.margin-top-10 {margin-top: 10px;}

.margin-bottom-100 {margin-bottom: 100px;}
.margin-bottom-90 {margin-bottom: 90px;}
.margin-bottom-80 {margin-bottom: 80px;}
.margin-bottom-70 {margin-bottom: 70px;}
.margin-bottom-60 {margin-bottom: 60px;}
.margin-bottom-50 {margin-bottom: 50px;}
.margin-bottom-40 {margin-bottom: 40px;}
.margin-bottom-30 {margin-bottom: 30px;}
.margin-bottom-20 {margin-bottom: 20px;}
.margin-bottom-10 {margin-bottom: 10px;}

.mod_article.padding-top-bottom-100 .inside {padding: 100px 0 !important;}
.mod_article.padding-top-bottom-90 .inside {padding: 90px 0 !important;}
.mod_article.padding-top-bottom-80 .inside {padding: 80px 0 !important;}
.mod_article.padding-top-bottom-70 .inside {padding: 70px 0 !important;}
.mod_article.padding-top-bottom-60 .inside {padding: 60px 0 !important;}
.mod_article.padding-top-bottom-50 .inside {padding: 50px 0 !important;}
.mod_article.padding-top-bottom-40 .inside {padding: 40px 0 !important;}
.mod_article.padding-top-bottom-30 .inside {padding: 30px 0 !important;}
.mod_article.padding-top-bottom-20 .inside {padding: 20px 0 !important;}
.mod_article.padding-top-bottom-10 .inside {padding: 10px 0 !important;}
.mod_article.padding-top-bottom-0 .inside {padding: 0 !important;}

.mod_article..padding-top-100 .inside {padding-top: 100px !important;}
.mod_article..padding-top-90 .inside {padding-top: 90px !important;}
.mod_article..padding-top-80 .inside {padding-top: 80px !important;}
.mod_article..padding-top-70 .inside {padding-top: 70px !important;}
.mod_article..padding-top-60 .inside {padding-top: 60px !important;}
.mod_article..padding-top-50 .inside {padding-top: 50px !important;}
.mod_article..padding-top-40 .inside {padding-top: 40px !important;}
.mod_article..padding-top-30 .inside {padding-top: 30px !important;}
.mod_article..padding-top-20 .inside {padding-top: 20px !important;}
.mod_article..padding-top-10 .inside {padding-top: 10px !important;}
.mod_article.padding-top-0 .inside {padding-top: 0 !important;}

.mod_article.padding-bottom-100 .inside {padding-bottom: 100px !important;}
.mod_article.padding-bottom-90 .inside {padding-bottom: 90px !important;}
.mod_article.padding-bottom-80 .inside {padding-bottom: 80px !important;}
.mod_article.padding-bottom-70 .inside {padding-bottom: 70px !important;}
.mod_article.padding-bottom-60 .inside {padding-bottom: 60px !important;}
.mod_article.padding-bottom-50 .inside {padding-bottom: 50px !important;}
.mod_article.padding-bottom-40 .inside {padding-bottom: 40px !important;}
.mod_article.padding-bottom-30 .inside {padding-bottom: 30px !important;}
.mod_article.padding-bottom-20 .inside {padding-bottom: 20px !important;}
.mod_article.padding-bottom-10 .inside {padding-bottom: 10px !important;}
.mod_article.padding-bottom-0 .inside {padding-bottom: 0 !important;}

/********************************************************************************/

/* .bg-grau {background: var(--color1);} */
/* .bg-rot {background: var(--color2);} */

/*****/

.center {text-align: center;}
.right {text-align: right;}
.left {text-align: left;}

/*****/

.boxen .rs-column {}
.boxen-bg .rs-column, .boxen-bg-radius .rs-column {background: var(--color6);}
.boxen-border .rs-column, .boxen-border-radius .rs-column {border: 1px solid var(--color6);}

.boxen-bg .rs-column, .boxen-border .rs-column, .boxen-bg-radius .rs-column, .boxen-border-radius .rs-column {padding: var(--padding2);}
.boxen-bg-radius .rs-column, .boxen-border-radius .rs-column {border-radius: var(--br2);}

/********************************************************************************/

@media screen and (prefers-reduced-motion: reduce) {
   .animate { animation: none !important; }
}

/********************************************************************************/

/********************************************************************************/
/*
Description: CSS File for reset
Theme Name: V15*
Theme URI: https://www.v15.de/
Version: 1.0 [01.2023]
Author: V15* Thorsten Neuhaus
Author URI: http://www.v15.de/
*/
/********************************************************************************/
/* Contao */
header,footer,nav,section,aside,main,article,figure,figcaption {
   display:block;
}

body,div,h1,h2,h3,h4,h5,h6,p,blockquote,pre,code,ol,ul,li,dl,dt,dd,figure,table,th,td,form,fieldset,legend,input,textarea,hr {
   margin:0;
   padding:0;
}

blockquote,q {
   quotes:none;
}

fieldset,img,iframe {
   border:0;
}

ul,ol {
   list-style-type:none;
}

sup {
   vertical-align:text-top;
}

sub {
   vertical-align:text-bottom;
}

body {
   font:12px/1 "Lucida Grande","Lucida Sans Unicode",Verdana,sans-serif;
   color:#000;
}

input,button,textarea,select {
   font-family:inherit;
   font-size:99%;
   font-weight:inherit;
}

pre,code {
   font-family:Monaco,monospace;
}

/********************************************************************************/

html {
   -webkit-font-smoothing: antialiased;
   overflow-y: scroll;
   height: 100%;
}

:link,:visited {
   text-decoration:none
}

a img,:link img,:visited img {
   border:none
}

/********************************************************************************/

* {
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box;
}

/* * {
   border: 0;
   outline: 0;
   -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
} */

/********************************************************************************/

/*	Linie um Links enfernen	*/
/* :focus {outline:0;} */

/********************************************************************************/

/********************************************************************************/
/*
Description: CSS File for Layout
Theme Name: V15*
Theme URI: https://www.v15.de/
Version: 1.0 [01.2023]
Author: V15* Thorsten Neuhaus
Author URI: http://www.v15.de/
*/
/********************************************************************************/

body {
	font-family: var(--font1);
	color: var(--color1);
	margin: 0 auto;
	padding: 0;
	background: var(--colorW);
}

/********************************************************************************/
/*	Aufbau	*/

#wrapper {

}

#header {
	z-index: 110;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 144px;
	/* box-shadow: 0 0 10px rgba(0,0,0,0.9); */
	border-top: 14px solid var(--color2);
	transition: 0.3s;
	/* background: var(--colorW); */
	background: rgba(255, 255, 255, 0.95);
}

.scrolled #header {
	/* height: 100px; */
	height: 89px;
}

#header .inside {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 20px;
}

#header .logo {
	position: absolute;
	top: -50px;
}

.logo img {
	width: auto;
	height: 180px;
/* 	max-width: 200px; */
/* 	height: auto; */
	transition: 0.3s;
}

.scrolled #header .logo {
	top: -25px;
}

.scrolled #header .logo img {
	height: 100px;
}

.custom {
/* 	max-width: 1200px; */
	margin: 0 auto;
	margin-top: 144px;
}

#container {
/* 	max-width: 1200px; */
	margin: 0 auto;
	/* margin-top: 140px; */
}

#main {
/* 	background: #eee; */
}

#main .inside {
/* 	padding: 50px 20px; */
}

#footer {
	margin-top: 100px;
	background: var(--color1);
}

#footer .inside {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	/* gap: 3rem; */
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 10px 70px 10px;
}

#footer::before {
	content: '';
	z-index: 1;
	position: relative;
	display: block;
	width: 100%;
	padding-top: 22px;
	border-bottom: 17px solid var(--color2);
}

#footer .logo {
	margin-top: -39px;
}

#footer .logo figure {
	padding: 0 10px 10px 10px;
	background: #fff;
}

#footer .ce_text,
#footer .mod_customnav {
	margin-top: 50px;
}

#footer .ce_text.instagram {
	padding-right: 10px;
}

@media only screen and (max-width : 1000px) {
	#footer .ce_text,
	#footer .mod_customnav {
	width: calc((100vw - 20px) / 2);
	}
}

@media only screen and (max-width : 599px) {
	#footer .inside {
	justify-content: center;
	gap: 0 10rem;
	}
	
	#footer .ce_text,
	#footer .mod_customnav {
	width: auto;
	min-width: 248px;
	}
}

.mod_visitors {
	width: 100%;
}

/********************************************************************************/
/*	Artikel & Inhalte	*/

.mod_article:not(.bg-grau):not(:nth-last-child(2))::after {
	content: '';
	display: block;
	width: 100%;
	height: 52px;
	text-align: center;
	margin: 100px 0;
	background: url('../../files/data/img/pfeil.svg') center no-repeat;
}

.mod_article.bg-grau {
	margin-top: 50px;
	background: var(--color1);
}

.mod_article .inside {
	max-width: 1400px;
	margin: 0 auto;
	padding: 50px 20px !important;
}

@media only screen and (max-width : 800px) {
	.mod_article:not(.bg-grau):not(:nth-last-child(2))::after {
	background-size: 80vw;
	}
}

@media only screen and (max-width : 767px) {
	.mod_article .inside {
	padding: 50px 20px !important;
	}
	
	.mod_article:not(.bg-grau):not(:nth-last-child(2))::after {
	margin: 50px 0;
	}
}

.mod_article.ohne-abstand .inside,
.mod_article.maps .inside {
	max-width: 100%;
	margin: 0 auto;
	padding: 0 !important;
}

/*****/

.ce_text.telefon,
.ce_text.email,
.ce_text.adresse {
	padding-left: 80px;
}

.ce_text.telefon {
	margin-top: 30px;
	background: url('../../files/data/img/icon-tel.svg') 0 0 no-repeat;
	background-size: 60px 60px;
}

.ce_text.email {
	background: url('../../files/data/img/icon-brief.svg') 0 0 no-repeat;
	background-size: 60px 60px;
}

.ce_text.adresse {
	background: url('../../files/data/img/icon-map.svg') 0 0 no-repeat;
	background-size: 60px 60px;
}

@media only screen and (max-width : 1023px) {
	#navigation .nav_main {
	display: none !important;
	}
}

/********************************************************************************/
/* Hintergrund */

#main .ce_image figure {
	/* opacity: 0.5; */
}

.willkommen .ce_image,
.klima .ce_image,
.spezialist .ce_image,
.service .ce_image,
.weg .ce_image {
	background-size: 100%, cover;
}


.willkommen .ce_image figure,
.klima .ce_image figure,
.spezialist .ce_image figure,
.service .ce_image figure,
.weg .ce_image figure {
	padding: 50px 0;
}

/*****/

.willkommen .ce_image {
	background: url('../../files/data/img/bg-willkommen.svg') right center no-repeat;
}

.willkommen .ce_image figure {
	float: right;
	padding-right: 40px;
	padding-bottom: 30px;
}

/*****/

.klima .ce_image {
	background: url('../../files/data/img/bg-klima.svg') left center no-repeat;
}

.klima .ce_image figure {
	float: left;
	padding-left: 70px;
}

/*****/

.spezialist .ce_image {
	background: url('../../files/data/img/bg-spezialist.svg') right center no-repeat;
}

.spezialist .ce_image figure {
	float: right;
	padding-right: 80px;
	padding-bottom: 40px;
}

/*****/

.service .ce_image {
	background: url('../../files/data/img/bg-service.svg') left center no-repeat;
}

.service .ce_image figure {
	float: left;
	padding-left: 90px;
	padding-bottom: 0px;
}

/*****/

.weg .ce_image {
	background: url('../../files/data/img/bg-weg.svg') left center no-repeat;
}

.weg .ce_image figure {
	float: left;
	padding-left: 90px;
}

@media only screen and (max-width : 999px) {
	.willkommen .ce_image,
	.klima .ce_image,
	.spezialist .ce_image,
	.service .ce_image,
	.weg .ce_image {
	background-position: center center;
	}
}

/********************************************************************************/
/*	Überschriften & Text	*/

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font1);
	font-weight: 300;
	-moz-hyphens: auto;
	-o-hyphens: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}

h1,
h2 {
	font-size: var(--head1);
	line-height: var(--linehH1);
	font-weight: 700;
/* 	letter-spacing: 1px; */
	padding: 0.375rem 0 0.750rem 0;
}

/*
h2 {
	font-size: var(--head2);
	line-height: var(--linehH2);
	padding: 0.375rem 0 0.625rem 0;
}
*/

h3,
.ce_text h1 span,
.ce_text h2 span {
	font-family: var(--font2);
	font-size: var(--head3);
	line-height: var(--linehH3);
	font-weight: 300;
	color: var(--color4);
	/* padding: 0.3rem 0 0.8rem 0; */
	padding: 0.8rem 0;
}

.bg-grau h3,
.bg-grau .ce_text h1 span,
.bg-grau .ce_text h2 span {
	color: var(--color2);
}

#footer h3 {
	color: var(--color2);
}

h4 {
	font-size: var(--head4);
	line-height: var(--linehH4);
	padding: 0.375rem 0 0.875rem 0;
}

h5 {
	font-size: var(--head5);
	line-height: var(--linehH5);
	font-weight: bold;
}

h6 {
	font-size: var(--head6);
	line-height: var(--linehH6);
	text-transform: uppercase;
}

.bg-grau p,
.bg-grau li,
.bg-grau h1,
.bg-grau h2,
.bg-grau h4,
.bg-grau h5,
.bg-grau h6 {
	color: var(--colorW);
}

p,
.ce_hyperlink {
	font-size: var(--text);
	line-height: var(--linehT);
	font-weight: 300;
	padding: 0 0 1.867rem 0;
}

/*****	Copy to TinyMCE ANFANG	*****/
span.hinweis-text {
	color: var(--banner3);
	font-weight: bold;
}

p.small {
	font-size: var(--textS);
	line-height: var(--linehTS);
}

p.standard-banner {
	color: var(--banner1);
	margin: 0 0 1.867rem 0;
	padding: 1em;
	border: 1px dotted var(--banner1);
}

p.hinweis-banner {
	color: var(--banner2);
	margin: 0 0 1.867rem 0;
	padding: 1em;
	border: 1px dotted var(--banner2);
}

p.wichtig-banner {
	color: var(--banner3);
	margin: 0 0 1.867rem 0;
	padding: 1em;
	border: 1px dotted var(--banner3);
}
/*****	Copy to TinyMCE ENDE	*****/

#footer p {
	color: var(--colorW);
	font-size: var(--textS);
	line-height: var(--linehTS);
	margin-bottom: 5px;
	padding: 0;
}

a:link,
a:visited {
	color: var(--color2);
	border-bottom: 1px solid var(--color2);
}

a:hover,
a:active,
a:focus {
	color: var(--color2);
	border-bottom: 1px dotted var(--color2);
}

/*****/

#footer a:link,
#footer a:visited {
	color: var(--colorW);
	border-bottom: 1px solid var(--colorW);
}

#footer a:hover,
#footer a:active,
#footer a:focus {
	color: var(--colorW);
	border-bottom: 1px dotted var(--colorW);
}

/*****/

.ce_hyperlink {
	margin-bottom: 1.867rem;
}

.rs-column .ce_hyperlink,
.bg-grau .ce_hyperlink {
	margin-bottom: 0;
}

.ce_hyperlink a:link,
.ce_hyperlink a:visited,
p.more a:link,
p.more a:visited {
	display: inline-block;
	padding: 20px 0;
	padding-left: 35px;
	color: var(--color1);
	font-weight: 700;
	border-bottom: none;
	text-decoration: underline;
	background: url('../../files/data/img/bg-link.svg') 0 0 no-repeat;
	transition: 0.3s;
}

.ce_hyperlink a:hover,
.ce_hyperlink a:active,
.ce_hyperlink a:focus,
p.more a:hover,
p.more a:active,
p.more a:focus {
	color: var(--color2);
}

.bg-grau .ce_hyperlink a:link,
.bg-grau .ce_hyperlink a:visited {
	color: var(--colorW);
}

.bg-grau .ce_hyperlink a:hover,
.bg-grau .ce_hyperlink a:active,
.bg-grau .ce_hyperlink a:focus {
	color: var(--color2);
}

.ce_hyperlink a:link::before,
.ce_hyperlink a:visited::before,
p.more a:link::before,
p.more a:visited::before {
	content: '> ';
}

/********************************************************************************/
/*	Listen	*/

.ce_text ul {
	margin-bottom: 1.250rem;
}

.ce_text p + ul {
	margin-top: -1.4em;
}

.ce_text ul li {
	position: relative;
	padding-left: 20px;
	font-size: var(--text);
	line-height: var(--linehT);
	font-weight: 300;
}

.ce_text ul li:before {
	content: '–';
	position: absolute;
	left: 0;
	/* padding: 0 0.5em 0 0; */
}

/*****/

.ce_text ol li {
	list-style-type: decimal;
	font-size: var(--text);
	line-height: var(--linehT);
	margin-left: 25px;
}

/********************************************************************************/
/*	Bilder	*/

/*	Abstand unter Bildern entfernen	*/
figure {
	line-height:0;
}

figure a:link,
figure a:visited,
figure a:hover,
figure a:active,
figure a:focus {
	border-bottom: none;
}

#main figure {
	position: relative;
}

#main figure.float_above,
#main figure.float_below {
	margin: 0 0 1em 0;
}

#main figure.float_left {
	max-width: 50%;
	margin: 0 1em 1em 0;
}

#main figure.float_right {
	max-width: 50%;
	margin: 0 0 1em 1em;
}

#main figure a img {
	cursor: -moz-zoom-in; 
	cursor: -webkit-zoom-in; 
	cursor: zoom-in;
}

#main .mod_newslist figure a img {
	cursor: pointer;
}

@media only screen and (max-width : 599px) {
	#main figure.float_left,
	#main figure.float_right {
	float: none;
	clear: both;
	text-align: center;
	width: 100%;
	max-width: 100%;
	margin: 0 0 1em 0 !important;
	}
}

.caption {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 15px 10px;
	background: rgba(255, 255, 255, 0.8);
}

/******************************/
/*	Background / Hintergrund Bilder	*/

.teaser .inside {
	max-width: 100vw;
	padding: 0 !important;
}

.ce_image .responsive-background-image {
	display: inline-block;
	width: 100vw;
	height: 60vh;
	background-size: cover;
	background-position: center bottom;
	background-repeat: no-repeat;
}

.ce_image .responsive-background-image img {
	display: none;
}

/********************************************************************************/
/* Hexagon Bilder: https://codepen.io/t_afif/pen/LYzKmPb */

#main .ce_text img,
#main .ce_image img,
#main .ce_gallery img {
  --size: 430px;
  /* --f: 5; */
  --f: 10;
  --radius: calc(var(--size)/var(--f));
  
  width: var(--size);
  height: auto;
  aspect-ratio: 1.155;
  object-fit: cover;
  --cg: #0000,#000 1deg 119deg,#0000 120deg;
  --rad: radial-gradient(farthest-side,#000 99%, #0000 101%);
  --s: calc(2*var(--radius))  calc(2*var(--radius));
  -webkit-mask:
	var(--rad) left  calc(0.25*var(--size) - 0.4*var(--radius)) top 0    / var(--s),
	var(--rad) right calc(0.25*var(--size) - 0.4*var(--radius)) top 0    / var(--s),
	var(--rad) left  calc(0.25*var(--size) - 0.4*var(--radius)) bottom 0 / var(--s),
	var(--rad) right calc(0.25*var(--size) - 0.4*var(--radius)) bottom 0 / var(--s),
	var(--rad) left  calc(0.15*var(--radius))                   top 50%  / var(--s),
	var(--rad) right calc(0.15*var(--radius))                   top 50%  / var(--s),
	
	conic-gradient(from   30deg at left  calc(-0.3*var(--radius)) top 50%, var(--cg)) 
	  left  calc(0.3*var(--radius)) top 50% /50% calc(100% - 0.8*var(--radius)),    
	conic-gradient(from -150deg at right calc(-0.3*var(--radius)) top 50%, var(--cg)) 
	  right calc(0.3*var(--radius)) top 50% /50% calc(100% - 0.8*var(--radius)),
	
	linear-gradient(#000 0 0) center/calc(45% - 1.1*var(--radius));
  -webkit-mask-repeat:no-repeat;
  transition:--radius 0.3s linear;
}

#main .ce_gallery img {
  --size: 262px;
}

@media only screen and (max-width : 1100px) {
	#main .rs-columns .ce_text img,
	#main .rs-columns .ce_image img {
	--size: 350px;
	}
}

@media only screen and (max-width : 600px) {
	#main .ce_text img,
	#main .ce_image img {
	--size: 350px;
	}
}

@media only screen and (max-width : 460px) {
	#main .ce_text img,
	#main .ce_image img {
	--size: 280px !important;
	}
}

@media only screen and (max-width : 400px) {
	#main .ce_text img,
	#main .ce_image img {
	--size: 200px !important;
	}
}

/********************************************************************************/
/*	Top Link	*/

.ce_toplink {
	z-index: 1;
	display: none;
	cursor: pointer;
	position: fixed;
	right: 10px;
	bottom: 10px;
	width: 40px;
	height: 40px;
	border-radius: 40px;
	border: 1px solid var(--color3);
	background: var(--color3);
}

.ce_toplink a {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -10px;
	margin-top: -13px;
	
	border-bottom: none !important;
}

.ce_toplink svg {
	width: 20px;
}

.ce_toplink:hover {
	opacity: 1;
	filter: "alpha(opacity=100)";
	-ms-filter: "alpha(opacity=100)";
	background: var(--colorW);
}

.ce_toplink:hover svg {
	color: var(--color3);
}

/********************************************************************************/
/*	Mobile Navigation	*/

/*	Fehler mit mobile-menu & position:fixed umgehen	*/
body .mobile_menu_wrapper #wrapper {
	transform: none !important;
	will-change: content !important;
}

.offcanvas {
	z-index: 20;
	position: absolute;
	top: 20px;
	right: 20px;
	width: 40px;
	height: 32px;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	-o-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	cursor: pointer;
}

.offcanvas span {
	display: block;
	position: absolute;
	height: 4px;
	width: 100%;
	background: var(--color2);
	opacity: 1;
	left: 0;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .25s ease-in-out;
	-moz-transition: .25s ease-in-out;
	-o-transition: .25s ease-in-out;
	transition: .25s ease-in-out;
}

.offcanvas span:nth-child(1) {
	top: 0px;
}

.offcanvas span:nth-child(2),
.offcanvas span:nth-child(3) {
	top: 14px;
}

.offcanvas span:nth-child(4) {
	top: 28px;
}

.offcanvas.open span:nth-child(1) {
	top: 18px;
	width: 0%;
	left: 50%;
}

.offcanvas.open span:nth-child(2) {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}

.offcanvas.open span:nth-child(3) {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.offcanvas.open span:nth-child(4) {
	top: 18px;
	width: 0%;
	left: 50%;
}

/********************************************************************************/
/*	Mobile Anpassungen	*/

@media only screen and (max-width : 1200px) {
	html {font-size: 14px;}
}

@media only screen and (max-width : 1023px) {
	#navigation .nav_main {
	display: none !important;
	}
}

@media only screen and (max-width : 767px) {
	/* html {font-size: 12px;} */
	
	#navigation .nav_sub {
	display: none !important;
	}
	
	#footer p {
	font-size: var(--text);
	line-height: var(--linehT);
	}
}

@media only screen
and (min-device-width : 375px)
and (max-device-width : 667px)
and (orientation : landscape) {
    body {-webkit-text-size-adjust: 100%;}
}

/********************************************************************************/

/********************************************************************************/
/*
Description: CSS File for Navigation
Theme Name: V15*
Theme URI: https://www.v15.de/
Version: 1.0 [01.2023]
Author: V15* Thorsten Neuhaus
Author URI: http://www.v15.de/
*/
/********************************************************************************/

#navigation .nav_main {
	display: grid;
	width: 100%;
	height: 575px;
	margin: 0 auto;
	grid-template-columns: repeat(auto-fit, calc(var(--s) + 2*var(--mh)));
	justify-content: center;
	
	--s: 15vw; /* size */
	--r: 0.85; /* ratio */

	/* clip-path */
	--h: 0.25;  
	--v: 0.5; 
	--hc: calc(clamp(0,var(--h),0.5) * var(--s)) ;
	--vc: calc(clamp(0,var(--v),0.5) * var(--s) * var(--r)); 

	/*margin */
	--mv: 5px; /* vertical */
	--mh: calc(var(--mv) + (var(--s) - 2*var(--hc))/2); /* horizontal */
	/* for the float*/
	--f: calc(2*var(--s)*var(--r) + 4*var(--mv)  - 2*var(--vc) - 2px);
	
	background: url('../../files/data/img/bg-nav.webp') top center no-repeat;
	background-size: contain;
}

@media only screen and (min-width : 1833px) {
	#navigation .nav_main {
	--s: 275px;
	}
}

#navigation .nav_main ul {
	width: 90%;
	max-width: 1500px;
	grid-column: 1/-1;
	font-size: 0; /*disable white space between inline block element */
	margin: 0 auto;
	padding-top: 100px;
}

#navigation .nav_main ul::before {
	content: "";
	width: calc(var(--s)/2 + var(--mh));
	float: left;
	height: 120%;
	shape-outside: repeating-linear-gradient(     
				   #0000 0 calc(var(--f) - 2px),      
				   #000  0 var(--f));
}

#navigation .nav_main ul li {
	display: inline-block;
	text-align: center;
	margin: var(--mv) var(--mh);
	margin-bottom: calc(var(--mv) - var(--vc)); 
}

#navigation .nav_main a:link,
#navigation .nav_main a:visited,
#navigation .nav_main strong {
	display: inline-block;
	width: var(--s);
	height: calc(var(--s)*var(--r)); 
	font-size: 1.125rem;
	line-height: 1.125rem;
	border-bottom: none;
	clip-path: polygon(
		/*****/
		calc(var(--hc) - 1.8%) calc(0px + 2.2%),
		calc(var(--hc) - 1.2%) calc(0px + 1.3%),
		calc(var(--hc) - 0.4%) calc(0px + 0.6%),
		/* var(--hc) 0, */
		calc(var(--hc) - 0.5%) calc(0px - 0%),
		calc(var(--hc) - 1.5%) calc(0px - 0.2%),
		calc(var(--hc) - 2.5%) calc(0px - 0.3%),
		/*****/
		calc(97.5% - var(--hc)) calc(0px - 0.5%),
		calc(98.5% - var(--hc)) calc(0px - 0.4%),
		calc(99.5% - var(--hc)) calc(0px - 0.2%),
		/* calc(100% - var(--hc)) 0, */
		calc(100.4% - var(--hc)) calc(0px + 0.3%),
		calc(101.2% - var(--hc)) calc(0px + 1%),
		calc(101.8% - var(--hc)) calc(0px + 1.9%),
		/*****/
		99.3% calc(var(--vc) - 2.5%),
		99.8% calc(var(--vc) - 1.5%),
		100% calc(var(--vc) - 0.5%),
		/* 100% var(--vc), */
		100% calc(var(--vc) + 0.5%),
		99.8% calc(var(--vc) + 1.5%),
		99.3% calc(var(--vc) + 2.5%),
		/*****/
		calc(101.8% - var(--hc)) 98.2%,
		calc(101.2% - var(--hc)) 99.1%,
		calc(100.4% - var(--hc)) 99.8%,
		/* calc(100% - var(--hc)) 100%, */
		calc(99.5% - var(--hc)) 100.3%,
		calc(98.5% - var(--hc)) 100.6%,
		calc(97.5% - var(--hc)) 100.7%,
		/*****/
		calc(var(--hc) + 2.5%) 100.6%,
		calc(var(--hc) + 1.5%) 100.5%,
		calc(var(--hc) + 0.5%) 100.2%,
		/* var(--hc) 100%, */
		calc(var(--hc) - 0.4%) 99.7%,
		calc(var(--hc) - 1.2%) 99%,
		calc(var(--hc) - 1.8%) 98.1%,
		/*****/
		calc(0px + 0.7%) calc(var(--vc) + 2.5%),
		calc(0px + 0.2%) calc(var(--vc) + 1.5%),
		calc(0px + 0%) calc(var(--vc) + 0.5%),
		/* 0 var(--vc), */
		calc(0px + 0%) calc(var(--vc) - 0.5%),
		calc(0px + 0.2%) calc(var(--vc) - 1.5%),
		calc(0px + 0.7%) calc(var(--vc) - 2.5%)
		/*****/
	);
	
	color: var(--colorW);
	background: rgba(0, 71, 122, 0.8);
}

#navigation .nav_main a:hover,
#navigation .nav_main a:active,
#navigation .nav_main a:focus,
#navigation .nav_main strong {
	display: block;
	font-weight: normal;
	border-bottom: none;
	color: var(--colorW);
	background: var(--banner2);
}

#navigation .nav_main span {
	display: flex;
	justify-content: center;
	padding: 30px 80px;
	/* background: #ccc; */
}

/*****/

#navigation .nav_main li:nth-child(1) a:link,
#navigation .nav_main li:nth-child(1) a:visited {
	background: rgba(0, 71, 122, 0.8) url('../../files/data/img/bg-kontakt.webp') bottom left no-repeat;
	background-size: 13vw;
}

#navigation .nav_main li:nth-child(1) a:hover,
#navigation .nav_main li:nth-child(1) a:active,
#navigation .nav_main li:nth-child(1) a:focus,
#navigation .nav_main li:nth-child(1) strong {
	background: var(--banner2) url('../../files/data/img/bg-kontakt.webp') bottom left no-repeat;
	background-size: 13vw;
}

#navigation .nav_main li:nth-child(2) a:link,
#navigation .nav_main li:nth-child(2) a:visited {
	background: rgba(0, 71, 122, 0.8) url('../../files/data/img/bg-solar.webp') bottom left no-repeat;
	background-size: 10vw;
}

#navigation .nav_main li:nth-child(2) a:hover,
#navigation .nav_main li:nth-child(2) a:active,
#navigation .nav_main li:nth-child(2) a:focus,
#navigation .nav_main li:nth-child(2) strong {
	background: var(--banner2) url('../../files/data/img/bg-solar.webp') bottom left no-repeat;
	background-size: 10vw;
}

#navigation .nav_main li:nth-child(3) a:link,
#navigation .nav_main li:nth-child(3) a:visited {
	background: rgba(0, 71, 122, 0.8) url('../../files/data/img/bg-wasser.webp') bottom center no-repeat;
	background-size: 14vw;
}

#navigation .nav_main li:nth-child(3) a:hover,
#navigation .nav_main li:nth-child(3) a:active,
#navigation .nav_main li:nth-child(3) a:focus,
#navigation .nav_main li:nth-child(3) strong {
	background: var(--banner2) url('../../files/data/img/bg-wasser.webp') bottom center no-repeat;
	background-size: 14vw;
}

#navigation .nav_main li:nth-child(4) a:link,
#navigation .nav_main li:nth-child(4) a:visited {
	background: rgba(0, 71, 122, 0.8) url('../../files/data/img/bg-heizung.webp') bottom center no-repeat;
	background-size: 10vw;
}

#navigation .nav_main li:nth-child(4) a:hover,
#navigation .nav_main li:nth-child(4) a:active,
#navigation .nav_main li:nth-child(4) a:focus,
#navigation .nav_main li:nth-child(4) strong {
	background: var(--banner2) url('../../files/data/img/bg-heizung.webp') bottom center no-repeat;
	background-size: 10vw;
}

#navigation .nav_main li:nth-child(5) a:link,
#navigation .nav_main li:nth-child(5) a:visited {
	background: rgba(0, 71, 122, 0.8) url('../../files/data/img/bg-sanitaer.webp') bottom center no-repeat;
	background-size: 13vw;
}

#navigation .nav_main li:nth-child(5) a:hover,
#navigation .nav_main li:nth-child(5) a:active,
#navigation .nav_main li:nth-child(5) a:focus,
#navigation .nav_main li:nth-child(5) strong {
	background: var(--banner2) url('../../files/data/img/bg-sanitaer.webp') bottom center no-repeat;
	background-size: 13vw;
}

#navigation .nav_main li:nth-child(6) a:link,
#navigation .nav_main li:nth-child(6) a:visited {
	background: rgba(0, 71, 122, 0.8) url('../../files/data/img/bg-karriere.webp') bottom center no-repeat;
	background-size: 9vw;
}

#navigation .nav_main li:nth-child(6) a:hover,
#navigation .nav_main li:nth-child(6) a:active,
#navigation .nav_main li:nth-child(6) a:focus,
#navigation .nav_main li:nth-child(6) strong {
	background: var(--banner2) url('../../files/data/img/bg-karriere.webp') bottom center no-repeat;
	background-size: 9vw;
}

/********************************************************************************/
/*	Sub-Navigation	*/

.nav_sub {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 20px;
}

@media only screen and (max-width : 1023px) {
	.nav_sub {
	padding-top: 50px;
	}
}

.nav_sub ul {
	color: var(--color1);
	display: flex;
	justify-content: space-between;
}

.nav_sub li {
	/* display: inline-block; */
	font-size: var(--textS);
	line-height: var(--linehTS);
	margin-bottom: 5px;
}

.nav_sub li:nth-last-child(1) {
	margin-right: 20px;
}

.nav_sub a:link,
.nav_sub a:visited {
	color: var(--color1);
	font-weight: normal;
	border-bottom: none !important;
	padding: 2px 5px;
}

.nav_sub a:hover,
.nav_sub a:active,
.nav_sub a:focus,
.nav_sub strong {
	color: var(--color1);
	font-weight: normal;
	border-bottom: none;
	padding: 2px 5px;
}

.nav_sub a:not(.invisible),
.nav_sub strong {
	position: relative;
}
  
.nav_sub a::before,
.nav_sub strong::before {
	content: '';
	position: absolute;
	top: -5px;
	right: -20px;
	width: 100%;
	height: 80%;
	z-index: -1;
	background: var(--color2);
	transition: all .3s ease-in-out;
}

.nav_sub strong::before {
	top: 0;
	right: 0;
	height: 100%;
	background: var(--banner2);
}

.nav_sub a:hover::before {
	top: 0;
	right: 0;
	height: 100%;
}

/********************************************************************************/
/*	Footer Navigation	*/

.nav_footer {

}

.nav_footer ul {
	color: var(--colorW);
}

.nav_footer li {
	/* display: inline-block; */
	font-size: var(--textS);
	line-height: var(--linehTS);
	margin-bottom: 5px;
}

@media only screen and (max-width : 767px) {
	.nav_footer li {
	font-size: var(--text);
	line-height: var(--linehT);
	}
}

.nav_footer li:nth-last-child(2) {
	margin-top: 25px;
}

.nav_footer .level_1 a:link,
.nav_footer .level_1 a:visited {
	color: var(--colorW);
	font-weight: normal;
	border-bottom: none !important;
}

.nav_footer .level_1 a:hover,
.nav_footer .level_1 a:active,
.nav_footer .level_1 a:focus,
.nav_footer .level_1 strong {
	color: var(--banner2) !important;
	font-weight: normal;
	border-bottom: none;
}

/********************************************************************************/
/*	Mobile Navigation	*/

.mobile_menu .inner {
	background: var(--colorW);
}

.mobile_menu .nav_main {
	text-align: center;
	padding: 160px 20px 20px 20px;
	transition: 0.3s;
}

.scrolled .mobile_menu .nav_main {
	padding-top: 90px;
}

.mobile_menu .nav_sub ul {
	flex-direction: column;
	align-items: center;
}

.mobile_menu .nav_main li,
.mobile_menu .nav_sub li {
	font-size: 2.000rem;
	line-height: 3.000rem;
}

.mobile_menu .nav_main .level_1 a:link,
.mobile_menu .nav_main .level_1 a:visited,
.mobile_menu .nav_sub .level_1 a:link,
.mobile_menu .nav_sub .level_1 a:visited {
	color: var(--color1);
	border-bottom: none;
}

.mobile_menu .nav_main .level_1 a:hover,
.mobile_menu .nav_main .level_1 a:active,
.mobile_menu .nav_main .level_1 a:focus,
.mobile_menu .nav_main .level_1 strong,
.mobile_menu .nav_sub .level_1 a:hover,
.mobile_menu .nav_sub .level_1 a:active,
.mobile_menu .nav_sub .level_1 a:focus,
.mobile_menu .nav_sub .level_1 strong {
	font-weight: normal;
	color: var(--color4);
	border-bottom: none;
}

/********************************************************************************/

/********************************************************************************/
/*
Description: CSS File for Google Maps
Theme Name: V15*
Theme URI: https://www.v15.de/
Version: 1.0 [01.2023]
Author: V15* Thorsten Neuhaus
Author URI: http://www.v15.de/
*/
/********************************************************************************/

.ce_dlh_googlemaps {
	width: 100%;
	margin-top: 50px;
	background: #f5f5f5;
}

.dlh_googlemap {
	width: 100% !important;
	height: 500px !important;
	border: 1px solid var(--color1);
	background: url("../../files/data/img/maps-vorschau.webp") center no-repeat;
	background-size: cover;
}

.dlh_googlemap p,
#confirm-googlemaps p {
	font-size: 1.375rem;
	line-height: 1.867rem;
}

.gm-style-iw-d p {
	font-size: 0.8rem;
	line-height: 1rem;
	padding: 0 0 0.8rem 0;
}

.routinglink input[type="submit"],
.routinglink input[type="text"],
.routinglink .button {
	width: 100%;
	font-size: 0.8rem;
	line-height: 0.8rem;
	margin: 2px 0;
	padding: 5px;
}

#confirm-googlemaps {
	display: flex;
	justify-content: center;
	flex-direction: column;
	cursor: pointer;
	height: 100%;
	text-align: center;
	padding: 0 10vw;
	background: rgba(255, 255, 255, 0.8);
}

#confirm-googlemaps:hover {
	background: rgba(255, 255, 255, 0.6);
}

.routinglink input[type="text"] {
	padding: 5px;
	margin: 10px 0;
}

/********************************************************************************/

/********************************************************************************/
/*
Description: CSS File for YouTube
Theme Name: V15*
Theme URI: https://www.v15.de/
Version: 1.0 [01.2023]
Author: V15* Thorsten Neuhaus
Author URI: http://www.v15.de/
*/
/********************************************************************************/

.ce_youtube .yt_wrapper {
	margin-bottom: 10px;
}

.ce_youtube .yt_wrapper figure {
	position: initial !important;
}

.ce_youtube .yt_wrapper {
  position: relative;
  padding-bottom: 56%;
  padding-top: 0px;
  height: 0px;
  overflow: hidden;
  cursor: pointer;
}

.ce_youtube .yt_wrapper figure img,
.ce_youtube .yt_wrapper iframe,
.ce_youtube .yt_wrapper object,
.ce_youtube .yt_wrapper embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ce_youtube .yt_wrapper figure img {
  height: auto;
}

.ce_youtube .ce_text p {
	padding-bottom: 0;
}

/********************************************************************************/

/********************************************************************************/
/*
Description: CSS File for Forms
Theme Name: V15*
Theme URI: https://www.v15.de/
Version: 1.0 [01.2023]
Author: V15* Thorsten Neuhaus
Author URI: http://www.v15.de/
*/
/********************************************************************************/

.ce_form {
	max-width: 100%;
	font-size: 1.375rem;
}

.ce_form .widget-text,
.ce_form .widget-textarea {
	position: relative;
	min-height: 80px;
	margin: 0;
}

.ce_form .widget-textarea {
	min-height: 170px;
}

.ce_form label {
	position: relative;
	z-index: 2;
	display: block;
	min-height: 17px;
	font-size: 1rem;
	font-weight: normal;
	padding: 0 10px;
   margin-bottom: 6px;
	transform: translateY(33px);
	transition: all 0.3s;
}

.is-active label {
	color: var(--color2);
}

.is-completed label {
	font-size: 12px;
	transform: translateY(0);
}

input[type="text"],
input[type="password"],
input[type="date"],
input[type="datetime"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"],
select,
textarea {
	display: inline-block;
   position: relative;
	width: 100%;
	min-height: 25px;
	padding: 10px;
	border: 1px solid var(--color2);
   border-radius: 3px;
	background: transparent;
   box-shadow: inset 0 1px 1px #eee;
	outline: none;
}

input[type="text"].error,
input[type="password"].error,
input[type="date"].error,
input[type="datetime"].error,
input[type="email"].error,
input[type="number"].error,
input[type="search"].error,
input[type="tel"].error,
input[type="time"].error,
input[type="url"].error,
textarea.error {
	border: 1px solid var(--color2);
}

.widget-submit {
	text-align: center;
}

form button,
input[type="submit"],
.button {
	display: block;
	font-size: 1.375rem;
	line-height: 1.867rem;
	color: var(--colorW);
	padding: 5px 25px;
	border: 1px solid var(--color2);
	border-radius: 3px;
	background: var(--color2);
}

form button:hover,
form button:active,
form button:focus,
input[type="submit"]:hover,
input[type="submit"]:active,
input[type="submit"]:focus,
.button:hover,
.button:active,
.button:focus {
	color: var(--color2);
	background: var(--colorW);
}

p.error {
	position: absolute;
	bottom: -3px;
	right: 10px;
	font-size: 1.000rem;
	line-height: 1.250rem;
	color: var(--color2);
}

@media only screen and (max-width : 1200px) {
	p.error {
	bottom: 5px;
	}

	.widget-textarea p.error {
	bottom: 10px;
	}
}

@media only screen and (max-width : 991px) {
	p.error {
	bottom: 10px;
	}

	.widget-textarea p.error {
	bottom: 30px;
	}
}

/********************************************************************************/
/*	Checkbox - http://doodlenerd.com/html-control/css-checkbox-generator	*/

.widget-checkbox {
	padding: 10px 0 10px 20px;
   /* background: var(--color6); */
}

.widget-checkbox label {
/* 	display: inline !important; */
	transform: none;
	padding: 0 20px 0 5px;
}

.widget-checkbox .control {
    cursor: pointer;
	display: block;
    position: relative;
    margin-top: 10px;
    padding-top: 5px;
    padding-left: 30px;
}

.widget-checkbox .control input {
	z-index: -1;
	position: absolute;
	opacity: 0;
}

.widget-checkbox .control_indicator {
    position: absolute;
    top: 3px;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid var(--color2);
    border-radius: 0;
    background: var(--colorW);
}

.widget-checkbox .control:hover input ~ .control_indicator,
.widget-checkbox .control input:focus ~ .control_indicator {
    background: var(--color5);
}

.widget-checkbox .control input:checked ~ .control_indicator {
    background: var(--color2);
}

.widget-checkbox .control:hover input:not([disabled]):checked ~ .control_indicator,
.widget-checkbox .control input:checked:focus ~ .control_indicator {
    /* background: var(--color5); */
}

.widget-checkbox .control input:disabled ~ .control_indicator {
    opacity: 0.6;
    pointer-events: none;
    /* background: #e6e6e6; */
}

.widget-checkbox .control_indicator:after {
    box-sizing: unset;
    content: '';
    position: absolute;
    display: none;
}

.widget-checkbox .control input:checked ~ .control_indicator:after {
    display: block;
}

.widget-checkbox .control-checkbox .control_indicator:after {
    top: 0;
    left: 5px;
    width: 4px;
    height: 11px;
    border: solid var(--colorW);
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}

.widget-checkbox .control-checkbox input:disabled ~ .control_indicator:after {
    /* border-color: #7b7b7b; */
}

.widget-checkbox .control-checkbox .control_indicator::before {
    z-index: 99999;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 4.5rem;
    height: 4.5rem;
    margin-top: -1.3rem;
    margin-left: -1.3rem;
    border-radius: 3rem;
    opacity: 0.6;
    transform: scale(0);
    background: var(--color2);
}

@keyframes s-ripple {
    0% {
        transform: scale(0);
    }
    20% {
        transform: scale(1);
    }
    100% {
        opacity: 0;
        transform: scale(1);
    }
}

@keyframes s-ripple-dup {
   0% {
       transform: scale(0);
    }
   30% {
        transform: scale(1);
    }
    60% {
        transform: scale(1);
    }
    100% {
        opacity: 0;
        transform: scale(1);
    }
}

.widget-checkbox .control-checkbox input + .control_indicator::before {
    animation: s-ripple 250ms ease-out;
}

.widget-checkbox .control-checkbox input:checked + .control_indicator::before {
    animation-name: s-ripple-dup;
}

/********************************************************************************/
/*	Radiobutton - http://doodlenerd.com/html-control/css-radio-button-generator	*/

.widget-radio {
   padding: 20px 0 40px 20px;
	/* background: var(--color6); */
}

.widget-radio legend {
	/* Abstand unter "legend" entfernen */
	position: absolute;
}

.widget-radio .control {
    cursor: pointer;
    display: block;
    position: relative;
    margin-bottom: 10px;
    padding-top: 5px;
    padding-left: 30px;
}

.widget-radio .control input {
	position: absolute;
	z-index: -1;
	opacity: 0;
}

.widget-radio .control_indicator {
    position: absolute;
    top: 5px;
    left: 0;
    height: 20px;
    width: 20px;
    border: 1px solid var(--color2);
    border-radius: 0;
    background: var(--colorW);
}

.widget-radio .control:hover input ~ .control_indicator,
.widget-radio .control input:focus ~ .control_indicator {
    background: var(--color5);
}

.widget-radio .control input:checked ~ .control_indicator {
    background: var(--color2);
}

.widget-radio .control:hover input:not([disabled]):checked ~ .control_indicator,
.widget-radio .control input:checked:focus ~ .control_indicator {
    background: var(--color2);
}

.widget-radio .control input:disabled ~ .control_indicator {
    background: var(--color5);
    opacity: 0.6;
    pointer-events: none;
}

.widget-radio .control_indicator:after {
    box-sizing: unset;
    content: '';
    position: absolute;
    display: none;
}

.widget-radio .control input:checked ~ .control_indicator:after {
    display: block;
}
.control-radio .control_indicator {
    border-radius: 50%;
}

.control-radio .control_indicator:after {
    left: 6px;
    top: 6px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--colorW);
    transition: background 250ms;
}

.control-radio input:disabled ~ .control_indicator:after {
    /* background: #7b7b7b; */
}

.control-radio .control_indicator::before {
    z-index: 99999;
    opacity: 0.6;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 4.5rem;
    height: 4.5rem;
    margin-top: -1.3rem;
    margin-left: -1.3rem;
    border-radius: 3rem;
    background: var(--color2);
    transform: scale(0);
}

@keyframes s-ripple {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    20% {
        transform: scale(1);
    }
    100% {
        opacity: 0.01;
        transform: scale(1);
    }
}

@keyframes s-ripple-dup {
   0% {
       transform: scale(0);
    }
   30% {
        transform: scale(1);
    }
    60% {
        transform: scale(1);
    }
    100% {
        opacity: 0;
        transform: scale(1);
    }
}

.widget-radio .control-radio input + .control_indicator::before {
    animation: s-ripple 250ms ease-out;
}

.widget-radio .control-radio input:checked + .control_indicator::before {
    animation-name: s-ripple-dup;
}

/********************************************************************************/

/********************************************************************************/
/*
Description: CSS File for News Modul
Theme Name: V15*
Theme URI: https://www.v15.de/
Version: 1.0 [01.2023]
Author: V15* Thorsten Neuhaus
Author URI: http://www.v15.de/
*/
/********************************************************************************/

.mod_newslist {
    clear: both;
    display: inline-block;
    width: 100%;
}

.layout_latest {
    margin-block: 20px;
    padding: var(--padding2);
    border-radius: var(--br2);
    border: 2px solid var(--color6);
    background: var(--color6);
}

.layout_latest:nth-child(even) {
    background: none;
}

.layout_latest img {
    border-radius: 5px;
}

.layout_latest h3 a {
    color: var(--color1);
    border: none;
}

.mod_newsreader .layout_full {
    width: 100%;
}

/*****/

p.back {
    /* display: flex; */
    /* justify-content: flex-end; */
    width: 100%;
    text-align: right;
}

p.back a {
    display: flex;
    align-items: center;
    border-bottom: none;
}

p.back svg {
    height: 20px;
    color: var(--color2);
    margin-right: 5px;
    transition: 0.3s;
}

p.back a:hover svg {
    color: var(--color1);
    margin-right: 10px;
}

/********************************************************************************/

/********************************************************************************/
/*
Description: CSS File for Pagination
Theme Name: V15*
Theme URI: https://www.v15.de/
Version: 1.0 [01.2023]
Author: V15* Thorsten Neuhaus
Author URI: http://www.v15.de/
*/
/********************************************************************************/

.pagination {
  margin: 40px 0 0 0;
  padding: 10px 0 0 0;
  border-top: 1px dotted var(--color4);
}

.pagination p {
  margin: 0 0 10px 0;
}

.pagination li {
  list-style-type: none;
  display: inline;
  margin: 0 5px 0 0;
}

.pagination a:link,
.pagination a:visited {
  
}

.pagination a:hover,
.pagination a:active, 
.pagination a:focus {
  
}

.pagination .current {
  font-weight: bold;
}

/********************************************************************************/

/********************************************************************************/
/*
Description: CSS File for Columns
Theme Name: V15*
Theme URI: https://www.v15.de/
Version: 1.0 [01.2023]
Author: V15* Thorsten Neuhaus
Author URI: http://www.v15.de/
*/
/********************************************************************************/

.rs-columns {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  width: 100%;
}

.rs-columns > * {
  flex: 1 1 280px;
}

.rs-column {
  display: flex;
  flex-wrap: wrap;
  flex-basis: calc(960px * 999 - 100% * 999);
  flex-direction: column;
}

/********************************************************************************/

/********************************************************************************/
/*
Description: CSS File for Gallery
Theme Name: V15*
Theme URI: https://www.v15.de/
Version: 1.0 [01.2023]
Author: V15* Thorsten Neuhaus
Author URI: http://www.v15.de/
*/
/********************************************************************************/

.ce_gallery ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.ce_gallery ul li img {
    margin: 5px;
    /* transition: all 1s; */
}

.ce_gallery ul li img:hover {
    /* transform: scale(1.1) */
}

/********************************************************************************/

