/* ======================= */
/* RESET BTSTRP */
body { line-height: inherit; font-weight: 300; }

a { color: inherit; text-decoration: none; transition: color .5s; }
a:hover { color: inherit; text-decoration: underline; }

figure { margin-bottom: 0; }

.stretched-link--custom::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	pointer-events: auto;
	content: "";
	background-color: rgba(0,0,0,0);
}

.border-top, .border-bottom { border-color: #ccc !important;}
.border-top 	{ border-top-width: 2px !important; border-top-style: dotted !important;  }
.border-bottom 	{ border-bottom-width: 2px !important;  border-bottom-style: dotted !important;  }

.bg-light .border-top, .bg-light .border-bottom { border-color: #A1B635 !important;}


.rounded-lg { border-radius: .6rem !important; }
.rounded-sm { border-radius: 3px !important; }


.text-highlight { color: #ffffff !important; }
.text-important { color: inherit !important; font-size: 1.1em; line-height: 0.9; }
.text-dark { color: #444 !important; }
.text-dark .csc-text-text ul li:before { color: #666; }

.bg-light { background-color:#E1F3FB !important; }
.bg-light .csc-text-text ul li:before { color: #fff; }

.bg-dark { background-color:#888 !important; }



.ctel.vw-100 { width: auto !important }

.container-fluid { max-width: 1200px; }
.container-fluid .container-fluid { padding-left: 0; padding-right: 0; }

/*@media(min-width: 767px){
	.container-fluid { padding-left: 50px; padding-right: 50px; }
}
*/

/* === WEBSITE-LAYOUT GENERELL ========================================== */
body { overflow-y: scroll; margin: 0; padding: 0; background: #eee; }
#page { background: #ffffff; }

/* POSITIONIERUNGEN */
#canvas, #page, #main, #footer  { position: relative; }
#header, #nav { position: relative; }
#canvas {  }

#header { padding: 1.5rem 0; }

/* Z-INDEXES */
#header 	{ z-index: 2; }
#logo 		{ z-index: 2; }
#nav 		{ z-index: 1; }
#main 		{ z-index: 0; }
#footer 	{ z-index: 1; }


#canvas {  }
#page 	{  }
#footer {  }

#main 		{ background: transparent; }


/* === HEADER === */
#header {  }

/* HEADER: LOGO */
.logo { position: relative; top: 0; left: 0; margin: 0; text-transform: uppercase; text-align: center; }
.logo a:hover { text-decoration: none !important; }
.logo a:focus { outline: none; }

.logo { position: relative; top: 0; left: 0; white-space: nowrap;  margin: 0; padding: 0; }
.logo { background: left top no-repeat #fff; background-size: contain;}

.logo a { position: absolute; top: 0; left: 0; height: 100%; width: 100%; outline: 0; text-indent: -999px; overflow: hidden; }
.logo:after { content: ''; display: block; width: 100%; height: 2rem; }

.logo {  }
.logo__title { margin: 0; }

/* HEADER: MENU */
#nav { }

.menu, .menu ul { list-style: none; margin: 0; padding: 0; line-height: 1.2; position: relative;  }
.menu, .menu ul { color: #FFF; }
.menu__item { margin: 0; padding: 0; }
.menu__item { position: relative; }
.menu__item a { text-decoration: none; display: block; position: relative; }
.menu__item b { font-weight: inherit; }

/* ==================================== */
.navbar-toggle {
	position: absolute;

	bottom: .7em;
	right: 0;
	z-index: 999;
	padding: 15px 20px;
	height: 60px;
	width: 70px;
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 0;
	background: transparent;
	border-radius: 0;
	
	display: none;
	border: 0;
}

.navbar-toggle:before { content: ''; position: absolute; left: 0; right: 0; top: 0; bottom: 0; background: rgba(0,0,0,0); z-index: 2; }
.menu--is-active .navbar-toggle:before { left: 99%; }

.navbar-toggle:focus { outline: 0; }

.navbar-toggle .icon-bar {
	display: block;
	width: auto;
	height: 3px;
	border-radius: 1px;
	background: #333333;
	transition: all .3s;
	position: relative;
	opacity: 1;
	transform: rotate(0) translateY(0);	
}

.navbar-toggle .icon-bar + .icon-bar { margin-top: 7px; }

.menu--is-active .navbar-toggle .icon-bar { opacity: 0;  }

.menu--is-active .navbar-toggle .sr-only + .icon-bar,
.menu--is-active .navbar-toggle .icon-bar:last-child 		{ opacity: 1; }
.menu--is-active .navbar-toggle .sr-only + .icon-bar 		{ transform: translateY(10px) rotate(45deg) }
.menu--is-active .navbar-toggle .icon-bar:last-child 		{ transform: translateY(-10px) rotate(-45deg)  }

/* CONTACTS */
.menu--contacts { margin-top: 2rem;  }
.menu--contacts li { margin-left: -2rem; }
.menu--contacts a { padding: .5rem 0; }
.menu--contacts .icon { display: inline-block; width: 2rem; }

/* LEGAL */
.menu--mn { color: #D3D6D4; margin-left: -1em; margin-right: -1em; text-transform: uppercase; }
.menu--mn li { position: relative; display: inline-block; margin-left: 0 !important; padding-left: 0 !important; }
.menu--mn a { display: block; padding: .75em 1em; }
.menu--mn .act > a { font-weight: 700; color: #FFFFFF !important; }


	
/* BODYTEXT */
/* === TEXTSTILE ======================================= */
body, 
.font-weight-normal, 
.font-weight-light { 
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #333333; font-family: Arial, Verdana, Tahoma, Helvetica, sans-serif;
	font-weight: 400 !important;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	font-weight: 400 !important;	
}

.font-weight-bold, 
strong { 
	font-weight: 600 !important;
}

/* FONTSIZES ALL TOGETHER */
html 		{ font-size: 13px; line-height: 1.3; font-weight: 400; }
@media(min-width: 1025px){
	html 		{ font-size: 14px; }
}
@media(min-width: 1300px){
	html 		{ font-size: 14px; }
}

.text-size--xxl { font-size: 2.41rem; }
.text-size--xl 	{ font-size: 2.08rem; }
.text-size--l 	{ font-size: 1.34rem; }
@media(min-width: 992px){
	.text-size--xs 	{ font-size: 0.83rem; }	
}
@media(min-width: 576px){
	.text-size--s, 
	.imgwrap figcaption 	{ font-size: 0.83rem; }
}	

/* HEADINGS */
.header { line-height: .8; margin-bottom: 1rem; }

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { margin-bottom: 0; }

.h1, h1 { color: inherit; font-size: 1.80rem; text-transform: none; }
.h2, h2 { color: inherit; font-size: 1.46rem; text-transform: none; }
.h3, h3 { color: inherit; font-size: 1.25rem; text-transform: none; }
.h4, h4 { color: inherit; font-size: 1em; }

.ctype-header .header, 
.ctype-header .header * { margin-bottom: 0; }

.ctel.text-white .header * {  color: #fff !important; text-transform: none; }

.wsh { margin-bottom: 1em; }
.wsh * { margin-bottom:0; }
.wsh p { margin-top: .2em; }

.text-justify .header { text-align: center; }

/* === CTEL === */
.ctel { }
.ctel__layout { /*padding-bottom: 0; padding-left: 3em; padding-right: 3em; overflow: hidden;*/ }
/*#content [class^="bg-"], #content [class*=" bg-"] { padding: 3em; }*/

.text-justify p, 
.hyph-on p { -moz-hyphens: auto; -webkit-hyphens: auto; hyphens: auto; }
.hyph-off { word-wrap: unset; -moz-hyphens: none; -webkit-hyphens: none; hyphens: none; text-align: left; } 

p { margin-bottom: 1.5rem; }
/* AUFLISTUNGEN IN CONTENT-ELEMENTEN */
ul,ol { padding: 0; margin-bottom: 1.5rem; }
li { padding: 0; margin: 0; }

.csc-text-text :first-child { margin-top: 0; }
.csc-text-text li p { margin-bottom:0; }
.csc-text-text li p + p { margin-top:1.5rem; }
.csc-text-text ul li, 
.csc-text-text ol li { margin-left: 0; padding-left: 1.5em; margin-bottom: .5em; position: relative; }
.csc-text-text ul li { list-style: none; }
/*
.csc-text-text ul {
   list-style: none;
   margin-left: 0;
   padding-left: 1em;
   text-indent: 0;
}
*/

.csc-text-text ul li:before {
	content:"•";
	position: relative;
	left: -1.5rem;
	top: .4rem;
	font-size: 2rem;
	line-height: 0;
	opacity: 1;
	background-color: transparent;
	color: #ccc;
	display: inline-block;
	width: 0;
}
.csc-text-text ul.list-unstyled { margin-bottom: 0; }
.csc-text-text ul.list-unstyled li { padding-left: 0; position: static; }
.csc-text-text ul.list-unstyled li:before { content: none; }

.csc-text-text ul.list--1 { }
.csc-text-text ul.list--1 li { line-height: 1.3; margin-bottom: 1.3em; hyphens: auto; }
.csc-text-text ul.list--1 li:before { font-family: 'fontello' !important; content: '\e80e'; background: transparent; overflow: initial; font-size: .7em; color: #C6153C; top: 0.3rem; }

.csc-text-text ul.list--2 { }
.csc-text-text ul.list--2 li { line-height: 1.3; margin-bottom: 1.3em; hyphens: auto; }
.csc-text-text ul.list--2 li:before { font-family: 'fontello' !important; content: '\e821'; background: transparent; overflow: initial; font-size: .7em; color: #909692; }

.csc-text-text  ol {counter-reset: root; padding-left: 0;}
.csc-text-text  ol > li { display: block; margin-left: 0; position: relative; padding-left: 1.6em; }
.csc-text-text  ol > li:before { position: absolute; line-height: inherit; left:0; top: 0; content: counter(root) ". "; counter-increment: root; }


/* BTNs */
.btn--1 { 
	background: #6CCAEE; display: inline-block; padding: .6em .8em; margin: 0.2em 0; border-radius: 1px; border: 0;
	line-height: 1; text-transform: uppercase; letter-spacing: 1px; text-decoration: none !important; text-align: center;
	word-wrap: break-word; -moz-hyphens: none; -webkit-hyphens: none; hyphens: none;
} 
.btn--1, .btn--1:link, .btn--1:visited, .btn--1:active { color: #FFF !important; }
.btn--1 {
	box-shadow: 0 0 0 0 rgba(0,0,0,0);
	transition: all .3s cubic-bezier(0,.47,.49,2);	
}

.btn--1:hover { 
	text-decoration: none;

	box-shadow: 0 0 0 .3rem rgba(0,0,0,.1);	
}

.text-white .btn--1 { color: #FFF !important; border: 1px solid #FFF !important; font-weight: 600 !important; }


.ctel--links-dark .btn--1, 
.btn--1-dark { background: #AE9271; }
.ctel--links-dark .btn--1, .ctel--links-dark .btn--1:link, .ctel--links-dark .btn--1:visited, .ctel--links-dark .btn--1:active { color: #fff !important; }
.ctype-gridelements_pi1.ctel--links-dark .btn--1 { margin: 5px; }

/* LINKS */
.link-internal::after, .link-internal-new-window::after, .link-external::after, .link-external-new-window::after, .download::after, .mail::after, .link-down::after, .link-download::after, 
.link-mail::before, .link-phone::before  {
	background: transparent;
	width: 1em;
	margin-right: 0;
	margin-left: .4em;
	margin-top: 0;
	text-align: center;
	vertical-align: middle;
	display: inline-block;
	text-decoration: none !important;
	color: inherit;
	font-size: .8em;
	font-family: 'fontello' !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	
	transition: all .2s;
}


.stretched-link--custom, 
.link-internal, 
.link-phone, 
.link-mail { text-decoration: none !important; }

.link-internal::after,
.link-down::after { content: '\e81f'; margin-top: -.1em; margin-left: 0.1em; transform: translateX(.0001em); }
.link-internal::after, 
.link-down::after { font-size: 1.2em; position: relative; }

.link-internal::after { transform: translateX(.0001em); }
.link-internal:hover::after { transform: translateX(.3em); }

.link-down::after { transform: rotate(90deg); }

.ctel a { text-decoration: underline; }
.link-external::after, 
.link-internal-new-window::after { margin-top: -.1em;  content: '\f08e'; }

.link-download::after { content: '\e820'; }

/*
.link-internal:before {
	font-size: .8em;
	margin-left: 0; 
	margin-right: .4em;
	margin-top: -.2em;
	width: 1em;
	height: 1em;
	content:'';
	background: transparent no-repeat center center;
	background-size: contain;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='12px' height='18px' xml:space='preserve'%3E%3Cpolyline style='fill:none;stroke:%23FFFFFF;stroke-width:4;stroke-linecap:round' points='3,3 9,9 3,15'/%3E%3C/svg%3E");
}
.link-internal:hover { text-decoration: underline !important; }
*/


/* BIG ICONS */
.link-phone::before, 
.link-mail::before {
	font-size: 1.5em;
	margin-left: 0; 
	margin-right: .4em;
	margin-top: -.2em;
	width: 1.5em;
	height: 1.5em;
	padding: .25em;
	border: 1px solid;
	border-radius: 50%;
}
.link-phone::before { content: '\e801'; }
.link-mail::before { content: '\e800'; }

.link-phone::before, 
.link-mail::before {
	box-shadow: 0 0 0 0 rgba(255,255,255,0);
	transition: all .3s cubic-bezier(0,.47,.49,2);	
}

.link-phone:hover::before, 
.link-mail:hover::before {
	box-shadow: 0 0 0 .3rem rgba(255,255,255,.2);
}


/* CTEL: IMAGES */
.ctel figcaption { margin-top: .75rem; }

.ctel--type-textpic.content-valign-center > * > * > .row { align-items: center; }


/* CTEL: DECORATION */
/* PEARLS */ 
.decoration--pearls-above { position: relative; }
.decoration--pearls-above::after {  content: ''; position: absolute; height: 70px; width: 18px; left: 50%; top: 0; margin-top: -35px;
	background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='4' height='6' xml:space='preserve' preserveAspectRatio='none slice'%3E%3Cline fill='none' stroke='%23CCCCCC' stroke-width='3' stroke-linecap='round' x1='2' y1='2' x2='2' y2='2'/%3E%3C/svg%3E");
	background-size: contain;
}

.decoration--pearls-below { position: relative; }
.decoration--pearls-below::after {  content: ''; position: absolute; height: 70px; width: 18px; left: 50%; bottom: 0; margin-bottom: -35px;
	background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='4' height='6' xml:space='preserve' preserveAspectRatio='none slice'%3E%3Cline fill='none' stroke='%23CCCCCC' stroke-width='3' stroke-linecap='round' x1='2' y1='2' x2='2' y2='2'/%3E%3C/svg%3E");
	background-size: contain;
}

/* === FOOTER === */

#footer { padding: 5em 0; position: relative; height: auto }
@media(min-width: 768px){
	#footer { padding: 3em 0; }
}

.footer {  }

.footer table, 
.footer .header { margin-bottom: .6rem; }

#footer .header * { text-transform: uppercase !important; }

.footer__content {  }
.footer__content a { color: inherit; text-decoration: none; }
.footer__content a:hover { text-decoration: underline; }

.footer__content .table td, .footer__content .table th { padding: 0 inherit 0 0; }


/* TOPLINK*/
#toTopLink { 
	position: fixed; left: auto; right: -2.5em; top: auto; bottom: 2em; z-index: 100;
	text-indent: 0; display: block; font-size: .9em; line-height: 1.5; text-transform: uppercase;

	transition: all .3s; 
	transform: scale(1);
	opacity: 1;
	
	background: #A0A0A0;
	padding: .5em;
	width: 2.5em;
	overflow: hidden;
	border-radius: 2px;
	
}

#toTopLink b { font-weight: 400; white-space: nowrap; float: right; }

#toTopLink b:after { content: '';
	display: inline-block; vertical-align: middle;
	width: 1.5em; height: 1.5em; margin-left: 1em; margin-top: 0em; border-radius: 50%; 
	border: 0;
	background: transparent no-repeat center center;
	outline: 0; 
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='16px' height='8px' xml:space='preserve'%3E%3Cpolyline style='fill:none;stroke:%23FFFFFF;stroke-width:1;stroke-linecap:round' points='1,7 8,1 15,7'/%3E%3C/svg%3E");
	background-size: 100%;
	
}
html.miniheader #toTopLink { opacity: 1; right: 2.5em; }


@media(max-width: 767px){
	#toTopLink { width: 32px; height: 30px; text-indent: 200px; }
	#toTopLink:after { position: absolute; top: 5px; left: 5px; margin: 0; }
	html.miniheader #toTopLink { right: 1em; }
}

/* ============================================== */


/* === MAILFORM ========================== */
@media screen {
	#esr {  }

	#esr fieldset {
		border: 0;
		border-top: 2px solid #ccc;
		background: transparent;
	    display: block;
	    margin: 1em 0;
	    padding: 1em 0;
	
	}
	#esr legend {
	/*	font-size: inherit;*/
		margin: 1em 0;
		font-weight: bold;
		float:left;
	}
	#esr .row, 
	#esr .frow { clear: left;  }
	#esr .frow { padding: 0 0 .5em 0; position: relative; } 

	#esr label { font-weight: 400; margin-bottom: 0; }

	#esr input[type=text], 
	#esr textarea { padding: 5px 5px; margin: .2em 0 0 0; width: 100%; background: #fafafa; border-radius: 5px; }

	#esr textarea { height:auto; }

	#esr input[type=submit] { border: 0; }
	#esr input[type=submit]:hover { text-decoration: none; color: #fff }
	
	#esr input.input--autowidth { width: auto; } 
	#esr input.input--readonly { outline: 0; border: 0 !important; background: transparent; pointer-events: none; } 

	::-webkit-input-placeholder{ color:#999; }
	    :-ms-input-placeholder { color:#999; }
	        ::-moz-placeholder { color:#999; }
	         :-moz-placeholder { color:#999; }

	.row_tasty { display: none; }

	#esr input[type=text], #esr textarea {
		-webkit-transition: all 0.30s ease-in-out;
		-moz-transition: all 0.30s ease-in-out;
		-ms-transition: all 0.30s ease-in-out;
		-o-transition: all 0.30s ease-in-out;
		transition: all 0.30s ease-in-out;
		outline: 0;
		border: 1px solid #ccc;	
	}
 
	#esr input[type=text]:focus, #esr textarea:focus {
	  outline: 0 !important;
	  border: 1px solid #555;
	  background: #fff;
	}


	/* ==== */
	#esr ul li {
	  display: block;
	  position: relative;
	}

	/*
	#esr ul li input[type=radio]{
	  position: absolute;
	  visibility: hidden;
	}
	*/

	#esr ul li label{
	  display: block;
	  position: relative;
	  padding: 0 2.0em 0 1.3em;
	  margin: 0;
	  z-index: 9;
	  cursor: pointer;
	  -webkit-transition: all 0.25s linear;
	}

	#esr ul li .check{
	  display: block;
	  position: absolute;
	  background: #ffffff;
	  border-radius: 1px;
	  height: 1.5em;
	  width: 1.5em;
	  top: 0;
	  right: 0;
		z-index: 5;
		transition: border .25s linear;
		-webkit-transition: border .25s linear;
	}

	#esr ul li:hover .check {
	/*  border: 5px solid #FFFFFF;*/
	}

	#esr ul li .check::before {
	  display: block;
	  position: absolute;
		content: '';
	  border-radius: 1px;
	  height: .7em;
	  width: .7em;
	  top: .4em;
		left: .4em;
	  margin: auto;
	  background: ;
		transition: background 0.25s linear;
		-webkit-transition: background 0.25s linear;
	}

	/*
	#esr input[type=radio]:checked ~ .check {
	  background: #0DFF92;
	}
	*/
	#esr input[type=radio]:checked ~ .check::before{
	  background: #999;
	}


	#esr select {
		border: 1px solid #ccc;
		border-radius: 3px;
		-webkit-appearance: none;
		-moz-appearance: none;
		padding: .5em 3em .5em 1em;
		box-shadow: none;
	
		background-color: #FFFFFF;
		background-repeat: no-repeat;
		background-position: 90% center;
		background-size: 15px;
		background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20px' height='10px' xml:space='preserve'%3E%3Cpolyline style='fill:none;stroke:%237698c4;stroke-width:2;stroke-linecap:round' points='2,2 10,9 18,2'/%3E%3C/svg%3E");
	
	}


	/* RADIO GROUP */
	.form__label {  }
	.form__wrap {  }

	.radio .form__wrap { margin-right: -.5em; }

	#esr .radio label { font-size: inherit; width: 2.6em; padding: .3em; margin: 0 0.2em; display: inline-block; text-align: center; }
	#esr .radio label, #esr .radio label * { cursor: pointer; }
	#esr .radio .label { padding-top: .3em; padding-bottom: .3em; hyphens: auto; }
	.label__icon { width: 1.5em; height: 1.5em; margin: 0 0.75em; }

	.form__row--buttons { margin-top: 1em; } 

	#esr .has-error label, #esr .has-error .label { color:#EC6501; }
	#esr .has-error a { text-decoration: none; }
	#esr .big { vertical-align: top; }
	

	/*.poll__lines > div:nth-child(even) {background: #EEE}*/
	.poll__lines > div { border-bottom: 1px solid #BBB; }

	@media(min-width: 768px){
		#esr {  }
		#esr label img { display: none; }
		#esr textarea { height: 7.8em; }
	}

	@media(max-width: 767px){
		#esr input[type=submit] { width: 100%; }
		
		#esr .label + div { display: flex; }
		#esr .frow > label { flex: 1; margin: 0 .2em; padding: 0; }
		#esr .frow > label img { padding: .2em .3em; margin: 0; width: 100%; max-width: 3em; height: auto; border-radius: 3px; overflow: hidden; }
	
		#esr input[type=radio] { display: none; }
		#esr input[type=radio]:checked + img { background: #FFF; }
	
		#esr textarea { height: 7.2em; }
	}
	
	#esr .pricer b { cursor: pointer; background: #fff; color: #666; border-radius: 3px; }
	
}