/*!
pw demo
(c) 2022 webdecker
author: i.decker, www.webdecker.de
date: 2022-07-19
*/

/* -------------------------------------- */
/* Basics, reset */
/* -------------------------------------- */
body { padding: 0; margin: 0; }

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 { margin: 0; padding: 0; }
table { border-spacing: 0; border-collapse: collapse; }
caption, th, td { text-align: left; vertical-align: top; }
abbr, acronym { font-variant: normal; border-bottom: 1px dotted #666; cursor:help; }
blockquote, q { quotes: none; }
fieldset, img { border:0; }
sup { vertical-align: super; }
sub { vertical-align: sub; }
del { text-decoration: line-through; }
ins { text-decoration: none; }
hr { border: 0; border-top: 1px solid #707070; }

div, section, aside, nav, fieldset, header, footer, figcaption, figure, main, article, ul, ol, h1, h2, h3, h4, h5, audio, video, iframe { display: block; position: relative; box-sizing: border-box; }
li { position: relative; box-sizing: border-box; }
p { display: block; position: relative; padding-bottom: 12px; }

img { max-width: 100%; height: auto; box-sizing: border-box; }
img.align_left { max-width: 50%; display: block; float: left; margin-right: 24px; margin-bottom: 24px; }
img.align_right { max-width: 50%; display: block; float: right; margin-left: 24px; margin-bottom: 24px; }
img.w25 { max-width: 25%; }
img.w33 { max-width: 33%; }
img.w50 { max-width: 50%; }
/* a:focus img { opacity: 0.5; } */
figure { max-width: 100%; z-index: 2; overflow: hidden; }
figure img { display: block; position: relative; float: right; }
figure.align_top {  margin: 0 0 24px 0; }
figure.align_right { float: right; margin: 0 0 24px 24px; width: 20%; }
figure.align_left { float: left; margin: 0 24px 24px 0; width: 20%; }
figure.align_below { margin: 12px 0 0 0; }
figure.align_background { position: absolute; top: 0; left: 0; max-width: none; }
figure.align_background img { width: 100%; max-width: none; }

p.align_left { max-width: 50%; display: block; float: left; margin-right: 24px; margin-bottom: 24px; }
p.align_right { max-width: 50%; display: block; float: right; margin-left: 24px; margin-bottom: 24px; }
p.w25 { max-width: 25%; }
p.w33 { max-width: 33%; }
p.w50 { max-width: 50%; }
p.figure { color: #707070; font-size: 74%; line-height: 125%; z-index: 2; }
p { z-index: 1; }

.clear, .clearfix { clear: both; display: block; }

body#top #wrapper .invisible { position: absolute; height: 1px; width: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(100%); white-space: nowrap; padding: 4px; }
body#top #wrapper .invisible.bottom { bottom: 0; }
body#top #wrapper .invisible:focus { position: absolute; display: block; height: auto; width: auto; clip: auto; clip-path: none; background: #4444ff; color: #fff; z-index: 100000; }

/*
#shopmessages:focus, #shopmessages:focus * { text-decoration: none; outline: none; outline: 4px dotted #0a84ff;
  outline-offset: 4px; }
.ce_form .message:focus, .ce_form .message:focus * { text-decoration: none; outline: none; }

*:focus { outline: 4px dotted #880000; outline-offset: 4px; }
*/
*:focus { outline: none; }



/* 
https://www.barrierefreies-webdesign.de/knowhow/verstecken-von-inhalten/sr-only-und-fokus.html
https://die-netzialisten.de/elemente-per-css-barrierefrei-ausblenden/
*/
body#top .mobile { display: none; }
body#top .nomobile { display: block; }
body#top .printblock { display: none; }
body#top .printinline { display: none; }
body#top .screenblock { display: block; }
body#top .screeninline { display: inline; }

body#top.offline { opacity: 0.9; }

/* -------------------------------------- */
/* Fonts */
/* -------------------------------------- */
body, h1, h2, h3, h4, textarea, select, option, input, button, .select2-results__option, .select2-container--default .select2-selection--single .select2-selection__rendered
	{ font-family: 'Fira Sans', Noto, Roboto, 'Inter Tight', Urbanist, Arial, sans-serif; 
	font-weight: normal; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { font-weight: 300; font-size: 17px; line-height: 25px;   }
body.medfont { font-size: 22px; line-height: 30px; }
body.bigfont { font-size: 25px; line-height: 35px; }

strong { font-weight: 500; }

.select2-results__option, .select2-container--default .select2-selection--single .select2-selection__rendered,
input, button { font-size: inherit; line-height: inherit; }
textarea, select, option { font-size: inherit; line-height: inherit; }
h1, h2, h3, h4 {  }

.fa,
#container .toggle:after, #mainmenu li.submenu > a > span:after, #c_momenu li.submenu > a:after,
.ce_back a:before, .ce_link > .inside > a:before, a.ce_link:before, .ce_sitemap li:before, .ce_search .search_result li:before,
#mainmenu li.close span:after,
.ce_prevnext a:before, .ce_prevnext a:after, 
h1 a:before, h2 a:before, h3 a:before, h4 a:before, div.more a:before,
xxx
	{ font-family: FontAwesome; font-weight: normal; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; border-bottom: 1px solid transparent; }

a { text-decoration: none; } /* display: inline-block;  */
a:hover { text-decoration: none; }
a img { transition: all 0.5s ease; -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; box-sizing: border-box; }
a img { transform: scale(1.005); }
a:hover img { transform: scale(1.05); }
a figure { overflow: hidden; width: 100%; }

h1, p.h1 { font-size: 240%; line-height: 133%; margin: 0 0 16px 0; padding-bottom: 0; font-weight: 700; text-transform: uppercase; }
h2, p.h2 { font-size: 180%; line-height: 130%; margin: 0 0 16px 0; padding-bottom: 0; font-weight: 700; text-transform: uppercase; }
h3, p.h3 { font-size: 150%; line-height: 130%; margin: 0 0 12px 0; padding-bottom: 0; font-weight: 700; text-transform: uppercase; }
.item h3 { font-size: 110%; }
h4, p.h4 { font-size: 120%; line-height: 130%; margin: 0 0 12px 0; padding-bottom: 0; font-weight: 700; text-transform: uppercase; }

h1 span.sub, p.h1 span.sub { display: block; font-size: 53%; line-height: 143%; }
h2 span.sub, p.h2 span.sub { display: block; font-style: italic; font-size: 63%; line-height: 143%; }
h3 span.sub, p.h3 span.sub { display: block; font-style: italic; font-size: 79%; line-height: 143%; }

figcaption { font-size: 14px; line-height: 20px; padding-top: 8px; }
.medfont figcaption { font-size: 17px; line-height: 23px; }
.bigfont figcaption { font-size: 20px; line-height: 26px; }

#buttons a { font-size: 160%; line-height: 140%; }
.medfont #buttons a { font-size: 150%; line-height: 110%; }
.bigfont #buttons a { font-size: 150%; line-height: 110%; }

footer { font-size: 16px; line-height: 22px; }
.medfont footer { font-size: 19px; line-height: 25px; }
.bigfont footer { font-size: 22px; line-height: 28px; }


#top #focusmark { display: block; position: absolute; z-index: 1000000; top: -10px; left: -10px; width: 1px; height: 1px; background: transparent; border: 4px dotted #4444ff; box-sizing: border-box;
	pointer-events: none;
	transition: all 0.3s ease; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; 
}
#top #focusmark.moving { background: rgba(100,100,255,0.5); /* padding: 20px; margin: -10px 0 0 -10px; */ }



/* -------------------------------------- */
/* Layout */
/* -------------------------------------- */

/* widths */
	.w, #container > .inside, .fullsize #main > .inside > .ce
		{ width: 100%; max-width: 1000px; margin-left: auto; margin-right: auto; }
		
@media screen and (max-width: 1040px) {
	.w, #container > .inside, .fullsize #main > .inside > .ce
		{ max-width: 800px; }
}
@media screen and (max-width: 840px) {
	.w, #container > .inside, .fullsize #main > .inside > .ce
		{ max-width: 600px; }
}
@media screen and (max-width: 740px) {
}
@media screen and (max-width: 640px) {
	.w, #container > .inside, .fullsize #main > .inside > .ce
		{ max-width: 400px; }
}
@media screen and (max-width: 440px) {
	.w, #container > .inside, .fullsize #main > .inside > .ce
		{ max-width: 300px; }
}

/* aside / sidebar vs. fullsize/nosidebar */
#container > .inside { padding-right: 232px; }
#sidebar { width: 232px; margin-right: -232px; float: left; padding-left: 32px; }
#sidebar > .inside { padding: 24px; border: 1px solid #999; }
.nosidebar #container > .inside { padding-right: 0; }
.fullsize #sidebar { display: none; }
.fullmain #sidebar { display: none; }


.fullsize #container > .inside { width: 100%; max-width: none; padding-right: 0; }
.fullsize #main > .inside > .fullsize { width: 100%; max-width: none; }

/* if main has border etc, works fine for mobile, not 100% for desktop (because vw includes scrollbar!) */
/*
.fullsize #container #main > .inside > .fullsize { width: auto; max-width: none; margin-left: -500px; margin-right: -500px; }
.fullsize #container #main > .inside > .fullsize > .inside { margin-left: auto; margin-right: auto; width: 100vw; }
*/


/* main */
#main { width: 100%; float: left; }


/* clear after containers */
#container > .inside:after, #footer > .inside:after, #main > .inside:after, #sidebar > .inside:after, .w:after, #container .ce:after
	{ display: block; clear: both; content: ""; font-size: 0; line-height: 0; height: 0; }


/* main / basic layout */
body { min-width: 320px; }
#wrapper { width: 100%; overflow: hidden; }
#header { z-index: 1000; }
#container { clear: both; z-index: 1;  }
	#container .ce { margin-bottom: 32px; }
	#container .ce.nomargin { margin-bottom: 0; }
	#main { padding-top: 12px; min-height: 600px; z-index: 100; }
		#main .ce_meta.main { margin-bottom: 8px; }
		#main .ce.main:after { display: none; }
		#main .ce_text.main {  }
		#main .ce_text.main:after { display: block; }
		#main > .inside > .ce:last-child { /* margin-bottom: 0; */ }
	#sidebar { padding-top: 24px; z-index: 1;  }
		#sidebar > .inside > .ce:last-child { margin-bottom: 0; }

#head { }
	#head > div { z-index: 1; clear: both; }
	
	/* head_top */
	#head_top { padding-top: 4px; padding-bottom: 4px; font-size: 75%; line-height: 100%; }
		#head_top .phone { float: left; padding-top: 4px; }
		#head_top .langswitch { float: right; padding-left: 12px; padding-top: 4px; }
		#head_top .topadd { float: right; padding-left: 12px; padding-top: 4px; }
	
	/* head elements */
	#fontsel { float: right; padding-left: 12px; }
		#head_logo #fontsel { clear: right; }
		#fontsel a { display: inline-block; padding: 4px 0 4px 8px; }
		#fontsel b:before { content:'A'; display: inline-block; font-size: 100%; }
		#fontsel a.medfont b:before { font-size: 120%;  }
		#fontsel a.bigfont b:before { font-size: 140%; }

	
	#head_logo .langswitch { font-size: 75%; line-height: 100%; float: right; padding-left: 12px; }
	#head .langswitch ul { display: inline-block; margin: 0; padding: 0; }
	#head .langswitch li { display: inline-block; margin: 0; padding: 0 0 0 8px; }
	#head .langswitch a { display: inline-block; opacity: 0.6; }
	#head .langswitch .active a { opacity: 1; }
	#head .langswitch a span { visibility: hidden; }
	#head .langswitch .de a { width: 20px; height: 15px; background: transparent url(/site/img/de.jpg) 0 0 no-repeat; }
	#head .langswitch .en a { width: 20px; height: 15px; background: transparent url(/site/img/en.jpg) 0 0 no-repeat; }
	
	#head { z-index: 1000; }
	#head_add { z-index: 999; clear: both; }
	
	#buttons { z-index: 1000; float: right; clear: right; padding-top: 31px; }
		#buttons > div { float: left; text-align: right; margin-left: 8px; }
		#head_menu #buttons { padding-top: 0.3ex;  }
		#o_menu { display: none; } 
	
	/* head_logo, logo */
	div#head_logo { z-index: 10001; width: 100%; padding-top: 8px; padding-bottom: 24px; }
		#head_logo > .inside > div { z-index: 2; }
		#head_logo #slogan { z-index: 1; text-align: right; clear: both; }
		
		#head_logo > .inside {  } /* logowidth, see breakpoint! */
		#logo { width: 320px; float: left; padding-bottom: 8px; }
			#logo a { display: block; position: relative; width: 100%; }
			#logo span { display: block; position: relative; width: 100%; }
			#logo img { display: block; position: relative; width: 100%; }
			#head_logo > .inside > #logo { z-index: 10003; }
	/* head_menu */
	#head #head_menu { z-index: 10002; clear: right; padding: 2px 0 8px 0;  }
	#head #head_menu > .inside:after { display: block; clear: both; content: ""; font-size: 0; line-height: 0; height: 0; }
	#head #head_menu ul.level_1 { float: right; }
	
	/* head containers (cs) */
	#head #cs { display: none; overflow: hidden;  }
		.jsgo #head #cs { display: block; }
		#head div.close { font-size: 24px; line-height: 24px; text-align: center; margin-top: 12px; }
		#head #cs > div > .inside { padding-top: 24px; padding-bottom: 12px; }
		#head #c_menu.opening > .inside, #head #c_menu.open > .inside { padding-top: 24px; padding-bottom: 12px; }
		#head #cs > div { display: none; }
		#head #cs > div.open, #head #cs > div.opening { display: block; }
		#head div.intro { padding-bottom: 24px; }
	
	#header > .inside:after { display: block; clear: both; content: ""; font-size: 0; line-height: 0; height: 0; }
	
	
	/* search */
	#c_search > .inside { padding-top: 32px; padding-bottom: 24px; text-align: center; }
			#c_search form { margin-bottom: 24px; }
			#c_search form button span { padding-left: 12px; padding-right: 12px; }


#footer { clear: both; z-index: 0; padding-bottom: 32px; z-index: 10; }
	#foot_add { }
	#foot { padding-top: 24px; }
	#share .ce_share { text-align: right; padding-bottom: 24px; }
		#share .ce_share a { padding: 0 4px; }
	/*
	#copy { float: left; width: 45%; }
	#footermenu { float: right; width: 45%; text-align: right; }
	*/
	#footermenu { float: right; text-align: right; margin-top: 24px; }
	#bottom { width: 100%; display: table; }


#totop { position: fixed; bottom: 0; right: 0; text-align: center; background: rgba(220,220,220,0.5); z-index: 20000; }
#totop:hover { background: rgba(220,220,220,1); }
#totop a { display: block; box-sizing: border-box; font-size: 24px; line-height: 24px; width: 40px; height: 40px; padding: 8px; }
body #totop a:hover { text-decoration: none; }

.ce_main { }
.ce_main > .inside > * { z-index: 1; }
.ce_main > .inside > .ce_image { z-index: 2; }
.ce_main > .inside > .ce_image.portrait { width: 300px; float: right; margin: 0 0 24px 24px; text-align: right; }
.ce_main > .inside > .ce_image.quadratic { width: 300px; float: right; margin: 0 0 24px 24px; text-align: right; }
.ce_main > .inside > .ce_image img { display: inline-block; }

/* Header shadow stuff */
/*
#head { box-shadow: 0px 4px 4px #444; }
#head .shadow { z-index: 2; height: 10px; margin-bottom: -10px; overflow: hidden; padding-top: 0; } 
#top #head .shadow .inside { height: 5px; margin-top: -6px; padding-bottom: 0; padding-top: 0; box-shadow: 0px 4px 4px #000; }

#footer { box-shadow: 0px -3px 4px #000; }
*/

/* Header media queries */
@media screen and (max-width: 1040px) {
	/* 800 */
}
@media screen and (max-width: 840px) {
	/* 600 */
	
	/* breakpoint menu, "mobile" */
	#head_menu { /* border-bottom: 4px solid #444; */ }
	#o_menu { display: block; }
	#c_menu { display: none; overflow: hidden; clear: both; }
	#c_menu.opening, #c_menu.open { display: block; }
	#c_menu { margin-left: -1000px; margin-right: -1000px;  } /* see  logowidth: -1000 - logomargin */
	#head_logo #c_menu { margin-left: -1220px; margin-right: -1000px;  } /* see  logowidth: -1000 - logomargin */
	.sticky #head_menu { display: none; }
	body#top .mobile { display: block; }
	body#top .nomobile { display: none; }
	#head #head_menu ul.level_1 { float: none; }
	
	
	h1, p.h1 { font-size: 200%; line-height: 133%; }
	h2, p.h2 { font-size: 170%; line-height: 130%; }
	h3, p.h3 { font-size: 140%; line-height: 130%; }
	h4, p.h4 { font-size: 120%; line-height: 130%; }


}
@media screen and (max-width: 740px) {
}
@media screen and (max-width: 640px) {
	/* 400 */
	#fontsel { display: none; }
	#slogan { /* display: none; */ font-size: 80%; }
	
	/* breakpoint aside */
	#container > .inside { padding-right: 0; }
	#main { float: none; }
	#sidebar { width: 100%; margin-right: 0; margin-top: 24px; padding-left: 0; padding-top: 0; float: none; }
	
	.ce_main > .inside > .ce_image.portrait { width: 100%; float: none; margin: 0 0 24px 0; }
	.ce_main > .inside > .ce_image.quadratic { width: 100%; float: none; margin: 0 0 24px 0; }
	
	#head_logo > .inside { }
	#head_logo > .inside > #logo { width: 200px; }
	#buttons { padding-top: 15px; }
	#buttons a { font-size: 120%; }
	
}
@media screen and (max-width: 440px) {
	/* 300 */
	#slogan { /* padding-left: 50px; */ }
	#head_logo > .inside { }
	#head_logo > .inside > #logo { width: 160px;  }
	#buttons { padding-top: 10px; }
	#head_logo #c_menu { margin-left: -1170px; margin-right: -1000px;  } /* see  logowidth: -1000 - logomargin */
	#head_top .topadd { display: none; }
}


/* Header sticky stuff */
#wrapper { padding-top: 50px; }
#head { margin-top: -50px; }
#head-placeholder { margin-top: -50px; }
#head { transform: translatey(0); }
#head.sticky { transform: translatey(50px); }
#head.sticky { transition: all 0.5s ease; -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; }

#head.sticky #head_top { display: none; }
#head.sticky #head_logo { display: none; }
#head.sticky #head_logo.hasmenu { display: block; }
#head.sticky #head_logo.hasmenu > .inside > div { display: none; }
#head.sticky #head_logo.hasmenu > .inside > #logo { display: block; }
#head.sticky #head_logo.hasmenu > .inside > #head_menu { display: block; }
#head.sticky #logo a { width: 70%; }
#head.sticky #head_menu { background: transparent; }


/* -------------------------------------- */
/* Wrappers */
/* -------------------------------------- */

/* Columns */

#wrapper div.cols  { overflow: hidden; }
#wrapper div.cols > .inside { margin-left: -12px; margin-right: -12px; }
#wrapper div.cols.empty > .inside { margin-left: 0; margin-right: 0; }
#wrapper div.cols > .inside:after { display: block; clear: both; content: ""; font-size: 0; line-height: 0; }
#wrapper div.cols > .inside > div { float: left;  margin: 0 12px 24px 12px; overflow: hidden;  }
#wrapper div.cols > .inside > div:after { display: none; }

#wrapper div.cols.col2 > .inside > div:nth-child(odd) { clear: both; }
#wrapper div.cols.col21 > .inside > div:nth-child(odd) { clear: both; }
#wrapper div.cols.col12 > .inside > div:nth-child(odd) { clear: both; }
#wrapper div.cols.col3 > .inside > div:nth-child(3n+1) { clear: both; }
#wrapper div.cols.col4 > .inside > div:nth-child(4n+1) { clear: both; }
#wrapper div.cols.col5 > .inside > div:nth-child(5n+1) { clear: both; }
#wrapper div.cols.col6 > .inside > div:nth-child(6n+1) { clear: both; }

#wrapper div.cols.col2 > .inside > div { width: calc(50% - 24px);  }
#wrapper div.cols.col12 > .inside > div:nth-child(odd) { width: calc(33.33% - 24px);  }
#wrapper div.cols.col12 > .inside > div:nth-child(even) { width: calc(66.66% - 24px);  }
#wrapper div.cols.col21 > .inside > div:nth-child(odd) { width: calc(66.66% - 24px);  }
#wrapper div.cols.col21 > .inside > div:nth-child(even) { width: calc(33.33% - 24px);  }
#wrapper div.cols.col3 > .inside > div { width: calc(33.3% - 24px);  }
#wrapper div.cols.col4 > .inside > div { width: calc(25% - 24px);  }
#wrapper div.cols.col5 > .inside > div { width: calc(20% - 24px);  }
#wrapper div.cols.col6 > .inside > div { width: calc(16.66% - 24px);  }

.equal > .inside { display: flex; flex-wrap: wrap; align-items: stretch; justify-content: flex-start; margin: 0 -12px 0 -12px; } 

#wrapper div.cols.itemspadded > .inside > div { padding: 24px; }
#wrapper div.cols.itemslight > .inside > div { background-color: #f8f8f8; }


.itemspadded > .inside > div { padding: 24px; }
.itemscentered > .inside > div { text-align: center; }
.itemscentered figure { text-align: center; overflow: hidden; margin-bottom: 24px; }
.itemscentered figure img { display: inline-block; max-height: 250px; width: auto; }



@media screen and (max-width: 840px) {
	#wrapper div.cols.col3 > .inside > div { width: calc(50% - 24px); }
	#wrapper div.cols.col3 > .inside > div:nth-child(3n+1) { clear: none; }
	
	#wrapper div.cols.col4 > .inside > div { width: calc(50% - 24px);  }
	#wrapper div.cols.col4 > .inside > div:nth-child(odd) { clear: both; }

	#wrapper div.cols.col5 > .inside > div { width: calc(50% - 24px); }
	#wrapper div.cols.col5 > .inside > div:nth-child(5n+1) { clear: none; }
	#wrapper div.cols.col5 > .inside > div:nth-child(odd) { clear: both; }
	
	#wrapper div.cols.col6 > .inside > div { width: calc(33.33% - 24px);  }
	#wrapper div.cols.col6 > .inside > div:nth-child(3n+1) { clear: both; }
	
	#wrapper div.cols.col21 > .inside > div:nth-child(odd) { width: calc(100% - 24px); clear: both; }
	#wrapper div.cols.col21 > .inside > div:nth-child(even) { width: 50%; float: right;  }

	#wrapper div.cols.col12 > .inside > div:nth-child(odd) {  width: calc(100% - 24px); }
	#wrapper div.cols.col12 > .inside > div:nth-child(even) { width: calc(100% - 24px); clear: both; }
}

@media screen and (max-width: 640px) {
	
	#wrapper div.cols.col2 > .inside > div { width: calc(100% - 24px); }
	#wrapper div.cols.col3 > .inside > div { width: calc(100% - 24px); }
	#wrapper div.cols.col4 > .inside > div { width: calc(100% - 24px); }
	#wrapper div.cols.col6 > .inside > div { width: calc(50% - 24px);  }
	#wrapper div.cols.col6 > .inside > div:nth-child(3n+1) { clear: none; }
	#wrapper div.cols.col6 > .inside > div:nth-child(odd) { clear: both; }
	
	#wrapper div.cols.col21 > .inside > div:nth-child(odd) { width: calc(100% - 24px); clear: both; }
	#wrapper div.cols.col21 > .inside > div:nth-child(even) { width: 50%; float: right;  }

	#wrapper .ce_similar div.cols.col4 > .inside > div { width: calc(50% - 24px); }
}

/* wrapper imgright / imgleft */

.ce_wrapper.imgright > .inside { padding-right: 224px; }
.ce_wrapper.imgright > .inside > figure { width: 200px; margin-right: -224px; overflow: hidden; } 
.ce_wrapper.imgright > .inside > figure img { display: block; float: right; }
#container .ce_wrapper.imgright > .inside:after { clear: left; }

.ce_wrapper.imgleft > .inside { padding-left: 224px; }
.ce_wrapper.imgleft > .inside > figure { width: 200px; margin-left: -224px; overflow: hidden; }
.ce_wrapper.imgleft > .inside > figure img { display: block; float: left; }
#container .ce_wrapper.imgleft > .inside:after { clear: right; }

@media screen and (max-width: 840px) {
	.ce_wrapper.imgright > .inside { padding-right: 0; }
	.ce_wrapper.imgright > .inside > figure { margin: 0 0 12px 0; float: none; width: 100%; }
	.ce_wrapper.imgright > .inside > figure img { float: none; }
	
	.ce_wrapper.imgleft > .inside { padding-left: 0; }
	.ce_wrapper.imgleft > .inside > figure { margin: 0 0 12px 0; float: none; width: 100%; }
	.ce_wrapper.imgleft > .inside > figure img { float: none; }
}



/* -------------------------------------- */
/* Lists */
/* -------------------------------------- */
ul { margin-top: 12px; margin-bottom: 12px;  }
li { margin-left: 24px; }
ul ul { margin-top: 8px; margin-bottom: 8px; list-style: disc; }

#header ul { list-style-type: none; margin: 0; padding: 0; }
#header ul:after { content: ''; display: block; clear: both; position: relative; height: 0px; font-size: 0px; line-height: 0px; }
#header li { float: left; margin: 0; padding: 0; }

#footer ul { overflow: hidden; list-style-type: none; margin: 0; padding: 0;  }
#footer ul:after { content: ''; display: block; clear: both; position: relative; height: 0px; font-size: 0px; line-height: 0px; }
#footer li { display: inline-block; margin: 0; padding: 0; }

.parent_1 .bc { display: none; }
.ce_breadcrumbs ol { float: right; font-size: 80%; text-align: right; }
.ce_breadcrumbs ol { overflow: hidden; list-style-type: none; margin: 0; padding: 0; }
.ce_breadcrumbs li { display: inline-block; margin: 0; padding: 0; }
.ce_breadcrumbs a { display: block; padding: 0 0 0 8px; }
.ce_breadcrumbs span:before { content: '/'; display: inline-block; padding-right: 8px; }
.ce_breadcrumbs li:first-child span:before { content: ''; display: inline-block; padding-right: 4px; }

.pager { clear: both; padding: 12px 0 24px 0; text-align: center; }
.pager ul { overflow: hidden; list-style-type: none; margin: 0; padding: 0; }
.pager li { display: inline-block; margin: 0 0 12px 0; padding: 0; }
.pager a { display: block; padding: 8px 0px 8px 0px; text-align: center; width: 40px; height: 40px; box-sizing: border-box; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px;  }
.pager > span { display: inline-block; }

.ce_prevnext a:before, .ce_prevnext a:after { display: inline-block; }
.ce_prevnext a { display: block; width: 50%; }
.ce_prevnext a.next { float: right; text-align: right; }
.ce_prevnext a.prev { float: left; }
#top #container .ce_prevnext { margin-bottom: 24px; }

/* ce_list */
.ce_list .item { margin-bottom: 32px; overflow: hidden; padding: 24px; background: #f0f0f0; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; }
.ce_list#startshow .item { border-radius: 0; -webkit-border-radius: 0; -moz-border-radius: 0; }
.ce_list#startshow .item { width: 16.666%; }
#newscatalog .ce_list .item.article { margin-bottom: 24px; padding: 0; background: transparent; }
.ce_list .item figure { border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; }
.ce_list.cols .item.event figure { border-bottom-left-radius: 0px; -webkit-border-bottom-left-radius: 0px; -moz-border-bottom-left-radius: 0px; }
.ce_list.cols .item.event figure { border-bottom-right-radius: 0px; -webkit-border-bottom-right-radius: 0px; -moz-border-bottom-right-radius: 0px; }
.ce_list.cols .item.article figure { border-bottom-left-radius: 0px; -webkit-border-bottom-left-radius: 0px; -moz-border-bottom-left-radius: 0px; }
.ce_list.cols .item.article figure { border-bottom-right-radius: 0px; -webkit-border-bottom-right-radius: 0px; -moz-border-bottom-right-radius: 0px; }
.ce_list .item .meta { padding-bottom: 4px; }
.ce_list .item:last-child { margin-bottom: 0; }
.ce_list .item > .inside > a { display: block; }

.ce_list .item.hasimg > .inside { padding-right: 274px; }
.ce_list .item .image { width: 250px; max-width: none; margin-right: -274px; float: right; }
.ce_list figure a { display: block; text-align: right; }

.ce_list#startshow .item.hasimg > .inside { padding-right: 0; }
.ce_list#startshow .item .image { width: 100%; margin-right: 0; float: none; }

/* ce_list with cols */
.ce_list.cols .item { padding: 24px; background: #f0f0f0; }
#startshow.ce_list .item { background: transparent; }
.ce_list.cols .item.hasimg > .inside { padding-right: 0; }
.ce_list.cols .item .image { margin: -24px -24px 12px -24px; width: auto; float: none; }
.ce_list.type_products.cols .item .image { margin: -24px -24px -24px -24px; width: calc(100% + 48px); float: none; }
.ce_search .ce_list.type_products.cols .item .image { margin: -24px -24px -24px -24px; }
.ce_search .ce_list.type_products.cols .context { display: none; }
.ce_search .ce_list img { display: block; }
.ce_search .ce_list a { display: block; }


.ce_list.cols .item.product.hasimg { background: transparent; }
.ce_list.cols .item.product img { width: 100%; max-width: none; }

.search_result.type_products .item.hasimg { background: transparent; }
.search_result.type_products .item img { width: 100%; max-width: none; }

@media screen and (max-width: 1140px) {
	.ce_list#startshow .item { width: 20%; }
}
@media screen and (max-width: 1040px) {
	.ce_list#startshow .item { width: 25%; }
}
@media screen and (max-width: 840px) {
	.sidebar .ce_list .item.hasimg > .inside { padding-right: 0; }
	.sidebar .ce_list figure { float: none; width: 100%; margin-right: 0; margin-bottom: 12px; }
	.ce_list#startshow .item { width: 33.333%; }
}

@media screen and (max-width: 640px) {
	.ce_list .item.hasimg > .inside { padding-right: 0; }
	.ce_list .item.hasimg > .inside > .image { float: none; width: 100%; margin-right: 0; margin-bottom: 12px; }
	.ce_list.cols .item.hasimg > .inside > .image { width: calc(100% + 48px); margin: -24px -24px 12px -24px; }

	.ce_list#startshow .item { width: 50%; }
}

/* -------------------------------------- */
/* Tables */
/* -------------------------------------- */
table { background: #f8f8f8; }
table.w100 { width: 100%; }
table th, table td { padding: 8px; }
table th { background: #333; color: #fff; }
table tbody tr:nth-child(odd) { background: #f8f8f8; }
table tbody tr:nth-child(even) { background: #f0f0f0; }
table tbody tr:hover { background: #e8e8e8; }
table tfoot tr:hover { background: #e8e8e8; }

#top table.mobilize > tbody > tr > td::before { padding-left: 4px; }

/* -------------------------------------- */
/* Menus */
/* -------------------------------------- */

#head nav li a { transition: all 0.3s ease; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; 
	border-top-left-radius: 5px; -webkit-border-top-left-radius: 5px; -moz-border-top-left-radius: 5px;
	border-top-right-radius: 5px; -webkit-border-top-right-radius: 5px; -moz-border-top-right-radius: 5px;
	
	border-bottom-left-radius: 5px; -webkit-border-bottom-left-radius: 5px; -moz-border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px; -webkit-border-bottom-right-radius: 5px; -moz-border-bottom-right-radius: 5px;
	
	font-size: 86%; line-height: 24px; 
}
div.open nav#mainmenu li a { border: 0; padding-top: 4px; padding-bottom: 4px; }



/* main menu desktop */
#mainmenu li.overview { display: none; }
.touch #mainmenu li.overview { display: block; }
#mainmenu .level_3 li.overview { display: block; }
div.open #mainmenu li.overview { display: block; }


#mainmenu li { margin-right: 8px; }
#mainmenu li:last-child { margin-right: 0; }
.open #mainmenu li { margin-right: 0; }

#mainmenu li a { display: block; padding: 8px 16px 8px 16px; }


#mainmenu .level_1 > li > .ul { position: absolute; top: calc(4ex + 8px);  min-width: 150%; }
.medfont #mainmenu .level_1 > li > .ul { top: 4ex; }
.bigfont #mainmenu .level_1 > li > .ul { top: 4ex; }
#mainmenu .level_1 > li > .ul { left: 0; }
#mainmenu .level_1 > li:last-child > .ul { left: auto; right: 0; }

#mainmenu .level_1 > li > .ul { visibility: hidden; opacity: 0; padding-top: 24px; transition: all 0.4s ease; -webkit-transition: all 0.4s ease; -moz-transition: all 0.4s ease; }
#mainmenu .level_1 > li.open > .ul { visibility: visible; opacity: 1; padding-top: 4px; }

#mainmenu ul.level_2 li { float: none; margin-right: 0; }
#mainmenu ul.level_2 li a { margin-right: 0; padding-left: 20px; }
#mainmenu ul.level_2 li li a { margin-right: 0; padding-left: 32px; }
#mainmenu ul.level_2 li li li a { margin-right: 0; padding-left: 44px; }

#mainmenu ul.level_2 li > .ul { display: none; }
#mainmenu ul.level_2 li.open > .ul { display: block; }

#mainmenu div.submenu ul.level_2 li { float: left; }
#mainmenu div.submenu ul.level_2 li a { border: 0; }

#mainmenu.showsubmenu li.submenu > a > span::after { display: none; }
.open #mainmenu.showsubmenu li.submenu > a > span::after { display: inline-block; }


/* e.g. user's menu */
#head #cs nav li a { display: block; padding: 8px 16px 8px 16px; } /* e.g. user's menu */

/* mobile menu */
#head div.open nav .level_1 > li { float: none; }
#head div.open nav .level_1 > li > .ul { position: relative; top: auto; min-width: 0; left: auto; right: auto; visibility: visible; opacity: 1; margin-top: 0; }
#head div.open nav .level_1 > li > .ul { display: none; }
#head div.open nav .level_1 > li.open > .ul { display: block; }
#head div.open nav .close { display: none; }
#head div.open nav li a { padding-left: 12px; }
#head div.open nav li li a { padding-left: 36px; }
#head div.open nav li li li a { padding-left: 60px; }
#head div.open nav li li li li a { padding-left: 60px; }


/* footer menu (imprint) */
#footermenu a { padding: 0 0 0 8px; }


/* ce_menu, e.g. submenu in sidebar, menu in footer... */
.ce_menu ul { list-style: none; }
#top .ce_menu ul { margin: 0; }
#top .ce_menu li { display: block; margin-left: 0; }
#top .ce_menu li li { margin-left: 24px; }
.ce_menu li.active > a { font-weight: bold; }
.ce_menu li.trail > a { font-weight: bold; }
#footer .ce_menu li.active > a { font-weight: normal; }
#footer .ce_menu li.trail > a { font-weight: normal; }
#footer .ce_menu li { float: right; clear: both; }


/* -------------------------------------- */
/* Colors */
/* -------------------------------------- */
/*

a:focus span { text-decoration: underline; }

*:focus { text-decoration: underline; }
*/
textarea:focus, input:focus, button:focus, button span:focus { text-decoration: none; }
/*
a.fa:focus { border-bottom: 1px solid #999; text-decoration: none; }
*/

body, #footer { background: #5d7587; color: #000; }
#foot { background: #5d7587; color: #fff; } 
#wrapper { background: #fff; }
#header { }
	#head { }
	#head > div { background: #fff; }
	#head_top { background: transparent; }
	#head_logo { background: transparent; }
	#head #head_menu { /* background: #8DA5B7; background: #333; background: #fff; background: #fff; */ /* border-top: 4px solid #333; border-bottom: 4px solid #333; */ }
	#cs > div, #head div.intro { background: #444; color: #fff; }
	#c_menu.opening, #c_menu.open { background: #444; }
	
#container, #head_add { background: #ffffff; }

a { color: #8DA5B7; color: #5d7587; }
	#foot a { color: #fff; }
	#bottom a { color: #fff; }
	#header a.close { color: #fff; }
	#header a.close:hover { color: #999; }
	
	#buttons a { color: #8DA5B7; color: #333; }
	#fontsel b:before { color: #8DA5B7; }
	
	#cs a { color: #f9d2e8; }
	
	.colored a { color: #ab1869; }
	/*
	#fontsel a:focus b:before { text-decoration: underline;  }
	*/
	.ce_breadcrumbs a { color: #333; }
.search_result a { color: inherit; }

a:hover,
#foot a:hover,
.langswitch .active a,
.normalfont #fontsel a.normalfont b:before,
.medfont #fontsel a.medfont b:before,
.bigfont #fontsel a.bigfont b:before,
#fontsel a:hover b:before,
.ce_breadcrumbs a:hover
	{ color: #8da5b7; text-decoration: underline; color: #ab1869; }
#buttons a.open, #buttons a:hover
	{ color: #8da5b7; text-decoration: none; color: #ab1869; }
#foot a:hover,
#bottom a:hover
	{ color: #f9d2e8; }
#cs a:hover { color: #fff; }
/*
#5d7587   rgb(93 117 135)		dunkelblau   #5d7587 #ab1869
#8da5b7   rgb(141 165 183)		mittelblau
#ab1869   rgb(171 24 105)		lila
#f9d2e8   rgb(249 210 232)		hellrosa
#f0f0f0   rgb(240 240 240)		hellgrau

fa-facebook [&#xf09a;]
fa-instagram [&#xf16d;]
fa-twitter [&#xf099;]
*/


/** main menu */
#mainmenu li a
	{ background: #fff; color: #fff; text-transform: uppercase; border: 1px solid #333; color: #000; }
#mainmenu li a:hover, #mainmenu li a.active, #mainmenu li a.trail, #mainmenu li.open > a
	{ background: #8DA5B7; background: #fff;  color: #000; color: #fff; background: #333; }
#mainmenu ul.level_2 { /* background: rgba(255,255,255,0.2); */ }
#mainmenu ul.level_2 li { border-bottom: 4px solid transparent; }
#mainmenu ul.level_2 li:last-child { border-bottom: 0; }
#mainmenu ul.level_2 li a
	{ background: #f0f0f0; color: #000; }
#mainmenu ul.level_2 li:first-child a
	{ }
#mainmenu ul.level_2 li a:hover, #mainmenu ul.level_2 li a.active, #mainmenu ul.level_2 li a.trail 
	{ background: #8DA5B7; background: #5d7587; color: #fff; }




/* mobile menu / cs menus */
#head div.open nav ul.level_2 { background: transparent; }
#head div.open nav li a
	{ background: #5d7587; color: #fff;  margin-bottom: 4px; text-transform: uppercase; }
#head div.open nav li a:hover, #head div.open nav li a.active, #head div.open nav li a.trail, #head div.open nav li.open > a
	{ background: #666; color: #fff; }
#head div.open nav ul.level_2 li a
	{ background: transparent; color: #fff;  }
#head div.open nav ul.level_2 li:first-child a
	{  }
#head div.open nav ul.level_2 li a:hover, #head div.open nav ul.level_2 li a.active, #head div.open nav ul.level_2 li a.trail, #head div.open nav ul.level_2 li.open > a
	{ background: #666; color: #fff; }
#head div.open nav > ul > li:first-child  > a
	{  }


/* forms */
button, a.button, .button a { border: 0; background: none; display: inline-block; opacity: 1; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; }
button, a.button, .button a { background: #5d7587; border: 1px solid #707070; color: #fff; }
button:hover, a.button:hover, .button a:hover { background: #ab1869; color: #fff; }
button.off, a.button.off, .button.off a { opacity: 0.2; color: #fff; }



.ce_form.message { background: #f8f8f8; }
.ce_form.message.error { background: #fff8f8; }

.select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: #707070; }
#top .select2-container--default .select2-selection--multiple .select2-selection__choice { background: #707070; }

p.error, p.InputfieldError, .InputfieldStateError p { color: #ab1869; }
#cs p.error, #cs .error p.intro, #cs p.InputfieldError, #cs .InputfieldStateError p { color: #ab1869; }
#cs p.InputfieldError, #cs .InputfieldStateError p { color: #e9b2c8; }
p.warning { color: #ab1869; }
input, select, textarea { color: #555555; outline: none; }
input { border: 1px solid #aaaaaa; }
textarea { border: 1px solid #aaaaaa; }
select { border: 1px solid #aaaaaa; }
::-webkit-input-placeholder { color:#999999; }
::-moz-placeholder { color:#999999; } /* firefox 19+ */
:-ms-input-placeholder { color:#999999; } /* ie */
input:-moz-placeholder { color:#999999; }


/* misc */
figcaption { color: #999999; }
.grey { color: #999999; }
.colored { background: #ccccdd; background: #cde5e7; background: #f9e4f0; background: #fae9f0; }
.dark { background: #707070; }
	.dark > * { color: #ffffff; }
.gloomy { background: #444444; }
	.gloomy > * { color: #ffffff; }
.light { background: #f0f0f0; }
.white { background: #fff; }
.transwhite { background: rgba(255,255,255,0.7); }

.itemslight > .inside > div { background-color: #f0f0f0; }
.itemscolored > .inside > div { background-color: #ccccdd; }

.highlight { color: #ab1869; }

#wrapper div.lightfont { color: #ffffff; }
#wrapper div.darkfont { color: #555555; }

.pager .current a { background: #5d7587; color: #ffffff; }
.pager a { background: #f0f0f0; }
.pager a:hover { background: #333; color: #ffffff; }
.pager span.fromto { display: none; }


.meta { color: #666; }
.ce_list .item .meta { color: #666; }
.sliding .controls .disabled { color: #aaaaaa; }
.ce_sitemap li:before { color: #aaaaaa; }
.ce_search .search_result li:before { color: #aaaaaa; }
.ce_video .player { background: #dddddd; }
.ce_video .starter span { color: #ffffff; }
.sliding .controls .active { color: #555555; }
.ce_comment .meta { color: #999999; }
.ce_comment .comment { background: #f8f8f8; }



/* -------------------------------------- */
/* Forms */
/* -------------------------------------- */

#top #wrapper .InputfieldHidden { display: none; }


form {  display: block; }
#main form { background: #f0f0f0; padding: 24px; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px;  }
input { border: 1px solid #aaaaaa; padding: 4px 6px 4px 6px; box-sizing: border-box; max-width: 100%; display: inline-block; }
textarea { border: 1px solid #aaaaaa; padding: 4px 6px 4px 6px; width: 100%; box-sizing: border-box; max-width: 100%; display: inline-block; }
select { border: 1px solid #aaaaaa; padding: 4px; max-width: 100%; display: inline-block; }

button, a.button, .button a { display: inline-block; outline: 0; cursor: pointer; font-weight: normal; padding: 4px 36px 4px 36px; text-transform: uppercase; transition: all 0.5s ease; -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; }

#top form ul.Inputfields { list-style-type: none; margin: 0; padding: 0; overflow: hidden; }
#top form ul.Inputfields > li { display: block; margin: 0; padding: 0; padding-bottom: 24px; }
#top form ul.Inputfields > li:after { content:''; display: block; position: relative; clear: both; }

#top form ul.Inputfields > li { padding-left: 150px; }
#top form ul.Inputfields > li > label { margin-left: -150px; width: 150px; padding-right: 16px; box-sizing: border-box; display: block; position: relative; float: left; font-weight: bold; }
#top form ul.Inputfields > li.InputfieldFieldset { padding-left: 0; }
#top form ul.Inputfields > li.InputfieldFieldset > label { margin-left: 0; width: 100%; padding-right: 0; float: none; margin-bottom: 24px; }

#main form ul.Inputfields li.InputfieldSubmit { float: right; text-align: right; padding: 0; padding-top: 27px; }
#main form ul.Inputfields li.InputfieldMarkup.back { float: left; }

#head form ul > li { float: none; padding: 0 0 12px 0; }
#head form ul > li > label { margin: 0; padding: 0 0 4px 0; width: 100%; float: none; }
#c_user.guest .c_user { width: 50%; min-width: 300px; margin: 0 auto; }
#c_search form input { margin-right: 12px; margin-bottom: 12px; }

label p { display: inline-block; margin: 0; padding: 0; }

label i.toggle-icon { display: none; }
/*
form ul.InputfieldRadiosStacked  { list-style-type: none; margin: 0; padding: 0; }
form ul.InputfieldRadiosStacked li { margin: 0; padding: 0; padding-bottom: 4px; }
form ul.InputfieldRadiosStacked input { margin-right: 8px; }

form ul.InputfieldCheckboxesStacked  { list-style-type: none; margin: 0; padding: 0; }
form ul.InputfieldCheckboxesStacked li { margin: 0; padding: 0; padding-bottom: 4px; }
form ul.InputfieldCheckboxesStacked input { margin-right: 8px; }
*/
form .InputfieldContent ul[class*="Stacked"] { list-style-type: none; margin: 0; padding: 0; }
form .InputfieldContent ul[class*="Stacked"] li { margin: 0; padding: 0; padding-bottom: 4px; }
form ul label input { margin-right: 8px; }
form ul label i { display: none; }

form .InputfieldStateRequired > label:after { content: ' *'; }
input.wide { width: 100%; }
.wide input { width: 100%; }
input.medium { width: 60%; }
.medium input { width: 60%; }
input.small { width: 30%; }
.small input { width: 30%; }


.InputfieldRadiosStacked label { display: block; padding-left: 20px; }
.InputfieldRadiosStacked label input { display: inline-block; margin-left: -20px; }

.InputfieldCheckboxesStacked label { display: block; padding-left: 20px; }
.InputfieldCheckboxesStacked label input { display: inline-block; margin-left: -20px; }

@media screen and (max-width: 840px) {
	.sidebar form ul.Inputfields > li { padding-left: 0; }
	.sidebar form ul.Inputfields > li > label { margin-left: 0; width: 100%; padding-right: 0; padding-bottom: 8px; float: none; }
}

@media screen and (max-width: 640px) {
	#top form ul.Inputfields > li { padding-left: 0; }
	#top form ul.Inputfields > li > label { margin-left: 0; width: 100%; padding-right: 0; padding-bottom: 8px; float: none; }
}


.select2-container { max-width: 100%; }
.select2-container li { margin-left: 0; }
.select2-dropdown  { border-radius: 0; -webkit-border-radius: 0; -moz-border-radius: 0; border-color: #999; }
.select2-container--default .select2-selection--single { border-radius: 0; -webkit-border-radius: 0; -moz-border-radius: 0; border-color: #999; }
.select2-container--default .select2-results__option { min-height: 34px; }
.select2-container--default .select2-results__option[aria-selected=true] { background-color: #ccc; }
.select2-container--default .select2-results__option--highlighted[aria-selected] {  }
.select2-container .select2-selection--single { height: 4ex; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 200%; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 4ex; }


.medfont .select2-container .select2-selection--single { height: 3.5ex; }
.medfont .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 160%; }
.medfont .select2-container--default .select2-selection--single .select2-selection__arrow { height: 3.5ex; }

.bigfont .select2-container .select2-selection--single { height: 3.5ex; }
.bigfont .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 160%; }
.bigfont .select2-container--default .select2-selection--single .select2-selection__arrow { height: 3.5ex; }


#top .select2-container--default .select2-selection--multiple { border-color: #999; border-radius: 0; }
#top .select2-container--default .select2-selection--multiple .select2-selection__choice { border-radius: 0; }
#top .select2-container--default .select2-selection--multiple .select2-search--inline { clear: both; border: 0; }
#top .select2-container--default .select2-selection--multiple .select2-search--inline input { }

body .flatpickr-day { border-radius: 0; -webkit-border-radius: 0; -moz-border-radius: 0; }
body .flatpickr-day.selected { background: #f00; border-color: #f00; }
body .flatpickr-day.nextMonthDay.selected { background: #f00; border-color: #f00; opacity: 0.3; }
body .flatpickr-day.today { border-color: #f00; }
body .flatpickr-calendar { font-family: 'Arial', 'Times', 'Times New Roman', serif; border-radius: 0; -webkit-border-radius: 0; -moz-border-radius: 0; }

body .flatpickr-months .flatpickr-prev-month:hover,
body .flatpickr-months .flatpickr-next-month:hover { color: #f00;}
body .flatpickr-months .flatpickr-prev-month:hover svg,
body .flatpickr-months .flatpickr-next-month:hover svg{ fill: #f00; }
i.calendar { display: inline-block; font-size: 24px; line-height: 24px; vertical-align: middle; }
i.calendar:before { content: "\f073"; display: inline-block; margin-left: 6px; }


.InputfieldWizard > .InputfieldContent > div > ul  { border-bottom: 1px solid #707070; margin-bottom: 8px; }
.InputfieldWizard > .InputfieldContent > div > ul > li { padding-bottom: 8px; }
.InputfieldWizard > .InputfieldContent label { padding-bottom: 4px; }
.InputfieldWizard .buttons { text-align: right; }
.InputfieldWizard div.add { text-align: right; }
.InputfieldWizard a.button span { padding: 2px 8px 3px 8px; text-align: center; }
.InputfieldWizard a.button span b { display: block; min-width: 12px; }

input[name="pw"] { z-index: 1; position: relative; }
span.pweye { z-index: 2; position: relative; display: inline-block; width: 20px; height: 32px; margin-left: -20px; color: #707070; }
span.pweye span { display: block; }
span.pweye span.noview { display: none; }
span.pweye.view span.noview { display: block; }
span.pweye.view span.view { display: none; }

/* -------------------------------------- */
/* Icons */
/* -------------------------------------- */

/*
&#xffff;
content: '\f002';
search f002
bars f0c9
times f00d
*/

/* ×  ∨ ∧ */
#container .toggle:after { content: "\f078"; display: inline-block; padding-left: 4px; margin-left: 4px; }
#container .toggle.open:after { content: "\f077"; display: inline-block; padding-left: 4px; margin-left: 4px; }
#container .toggle-container > div > div > div { overflow: hidden; padding: 0 0 0 0; }
#o_search a.toggle:after { display: none; }

#mainmenu li.submenu > a > span:after { content: "\f078"; display: block; float: right; padding-left: 4px; margin-left: 4px; line-height: 20px; font-size: 8px; }
#mainmenu li.submenu.open > a > span:after { content: "\f077";  }
/*
#mainmenu li li.submenu > a > span:after { display: none; }
*/

#mainmenu li.close { text-align: center; }
#mainmenu li.close span:after { content: "\f077"; display: inline-block; }

#c_momenu li.submenu > a:after { content: "\f078"; display: inline-block; padding-left: 4px; margin-left: 4px; }
#c_momenu li.submenu.open > a:after { content: "\f077"; display: inline-block; padding-left: 4px; margin-left: 4px; }

.ce_back a:before { content: "\f053"; content: "\f104"; display: inline-block; padding-right: 6px; font-size: 90%; }

.ce_link > .inside > a:before { content: "\f061"; display: block; float: left; margin-left: -24px; }
.ce_link.external > .inside > a:before { content: "\f08e"; }
a.ce_link { display: inline-block; padding-left: 20px; }
a.ce_link:before { content: "\f08e"; content: "\f14c"; display: block; float: left; margin-left: -20px; }

.ce_link.button > .inside { padding-left: 0; }
.ce_link.button a:before { content: ''; }
.ce_link.button a { display: inline-block; }
.ce_link.button a:hover { }
.colored .ce_link.button a { background: #fff; }
.colored .ce_link.button a:hover { color: #fff; background: #555555; border: 1px solid #fff;  }

div.more a { padding-left: 24px; display: inline-block; }
div.more a:before { content: '\f04b'; content: "\f061"; display: block; float: left; margin-left: -24px;  }

.nomore div.more { display: none; }

.ce_text.external div.more a:before { content: "\f08e"; }

.ce_prevnext a.prev:before { content: '\f100'; padding-right: 6px; }
.ce_prevnext a.next:after { content: '\f101';  padding-left: 6px; }

/* -------------------------------------- */
/* Content elements */
/* -------------------------------------- */

/* -------------------------------------- */
/* Misc CEs */
/* -------------------------------------- */

/* Styling */
#wrapper .padded { padding: 32px; }
#wrapper .ptop { padding-top: 32px; }
#wrapper .pbottom { padding-bottom: 32px; }
#wrapper .pleft { padding-left : 32px; }
#wrapper .pright { padding-right: 32px; }
#wrapper .mtop { margin-top: 32px; }
#wrapper .mbottom { margin-bottom: 32px; }
#wrapper .nombottom { margin-bottom: 0; }
#wrapper .margin { margin-top: 32px; margin-bottom: 32px; }
#wrapper .centered { text-align: center; }
#wrapper .indent { padding-left: 10%; padding-right: 10%;  }
#wrapper .text_right { text-align: right; }
#wrapper .text_left { text-align: left; }
#wrapper .underline { /* see colors */ }
#wrapper .round { border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px;  }
#wrapper div.cols2 > .inside > .content, #wrapper p.cols2 { column-count: 2; column-gap: 48px; }

.indentright > .inside { padding-right: 200px; }
.indentright > .inside h2 { margin-right: -200px; }

@media screen and (max-width: 650px) {
	.indentright > .inside { padding-right: 0; }
	.indentright > .inside h2 { margin-right: 0; }
}


/* video, audio */
audio { width: 100%; height: auto; min-height: 48px; outline: none; }
video { width: 100%; height: auto; background: transparent; outline: none; }
video[poster] { width: 100%; height: auto; }

.ce_video { overflow: hidden; }
.ce_video .player { width: 100%; height: 0; padding-bottom: 56.1%; }
.ce_video .starter { position: absolute; top: 0; left: 0; width: 100%; height: 100%; cursor: pointer; }
.ce_video .starter span { position: absolute; top: 50%; left: 50%; width: 100px; height: 100px; margin-left: -50px; margin-top: -50px; font-size: 100px; line-height: 100px; text-align: center; }
.ce_video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.ce_video .content { padding-top: 12px; }


div.agree > .inside { }
div.agree p.agree { width: 100%; position: absolute; top: 0; left: 0; padding: 24px; box-sizing: border-box; }
div.agree p.error { width: 100%; position: absolute; top: 0; left: 0; padding: 24px; box-sizing: border-box; background: #ffeeee; }
div.agree.agreed p.agree { display: none; }
div.agree .stage { width: 100%; padding-bottom: 56.1%; background: #f0f0f0; box-sizing: border-box; }
div.agree.agreed .stage { display: block; }
div.agree iframe { width: 100%; height: 100%; position: absolute; top: 0; left: 0; border: 0; }

.ce_openstreetmap span.bigger { display: block; height: 24px; position: absolute; left: 0; bottom: 0; background: rgba(255,255,255,0.6); }
.ce_googlemap .gmapelem { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }



/* back, more */
.ce_back { padding-top: 24px; padding-bottom: 48px; } /* text-align: right;  */
.page_home .ce_back { display: none; }
.ce_back { }

.nomore div.more { display: none; }

/* footnote */
p.footnote { color: #999; font-size: 74%; line-height: 140%; }

/* box */
.ce.hasbg { background-size: cover; background-repeat: no-repeat; background-position: center; }

.ce.hasbg > .inside { min-height: 350px; display: table; width: 100%; } /*   */
.ce.hasbg.box .content { width: 50%; background: rgba(255,255,255,0.7); padding: 24px; margin: 64px 32px 32px 32px; float: right; }
/*
.ce.hasbg.box .content { position: absolute; right: 32px; bottom: 32px;  width: 50%; background: rgba(255,255,255,0.7); padding: 24px; }
*/
@media screen and (max-width: 640px) {
	.ce.hasbg > .inside { min-height: 0; }
	.ce.hasbg.box .content { position: relative; right: auto; bottom: auto; left: auto; width: 100%; margin: 32px 0 32px 0; }
}




/* haslink */
.ce_text > .inside > * { z-index: 1; }
.ce_text > .inside > figure { z-index: 2; }




/* sitemap  f15b */
.ce_sitemap ul { list-style: none; }
.ce_sitemap li { margin-left: 0; padding-left: 20px; }
.ce_sitemap li:before { content:'\f061'; display: block; float: left; margin-left: -20px; font-size: 12px; }

/* search */
.ce_search ul.search_result { list-style: none; }
.ce_search .search_result li { margin-left: 0; padding-left: 20px; }
.ce_search .search_result li:before { content:'\f15b'; display: block; float: left; margin-left: -20px;  }
.ce_search p.title { font-weight: 700; }
.ce_search div.rel_medium { opacity: 0.8; }
.ce_search div.rel_low { opacity: 0.6; }
.ce_search div.rel_poor { opacity: 0.4; }
.ce_search .matches { color: #666;  }
.ce_search .relevance { color: #666;  }
.ce_search .url { color: #666; font-weight: normal; display: block; display: none; }
.ce_search form { margin-bottom: 24px; }
.ce_search input { width: 100%; }
.ce_search .type_products .hasimg p.title { display: none; }
.ce_search p.relevance { display: none; }
.ce_search p.matches { display: none; }
/*
.ce_search .matches { display: none; }
.ce_search .relevance { display: none; }
*/

/* meta */
.meta span { display: inline; padding-right: 4px; }
.meta span:before { content: '–'; display: inline-block; padding: 0 4px 0 0; }
.meta span:first-child:before { display: none; }

.article .meta { display: none; }

/* download, link */
.ce_download > .inside { }
.ce_download > .inside > a { display: block; position: relative; padding-left: 24px; }
.ce_download figure { display: block; position: relative; }
.ce_download figure { border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; }
.ce_download aaaa { display: block; position: relative; }
.ce_download .icon { float: left; margin-left: -24px; display: block; }
.ce_download .size { color: #000; }
.ce_download .text { color: #000; }
.ce_download span.size { display: block; }
.ce_download figure.align_left { margin: 0 36px 24px 0; width: 30%; }
@media screen and (max-width: 840px) {
	.ce_download figure img { width: 100%; }
}

#newscatalog figure { float: none; width: 100%; margin: 0 0 24px 0; }
#startwrapper .ce_download figure { float: none; width: 100%; margin: 0 0 24px 0; }

.ce_link > .inside { padding-left: 24px; }
.ce_link > .inside > a { display: block; }



/* slideshow */
.sliding { overflow: hidden; height: 0px; }
.sliding .slide { background: #ffffff; width: 100%; }
.sliding .slide.hasbg { background-size: cover; background-repeat: no-repeat; background-position: center; background-attachment: fixed; }
.sliding .slide img { width: 100%; display: block; }
#wrapper .sliding .slide:after { height: 0; }

#startshow {  }
#startshow.sliding .slide.hasbg { padding: 40px 0; }
#startshow.sliding .slide.hasbg div.w { background-color: rgba(255,255,255,0.9); padding: 24px 298px 24px 24px; }

.sliding.sl_type_carousel .container > div { width: 25%; }
.sliding.sl_type_carousel.col2 .container > div { width: 50%; }
.sliding.sl_type_carousel.col3 .container > div { width: 33.3%; }
.sliding.sl_type_carousel.col4 .container > div { width: 25%; }

@media screen and (max-width: 640px) {
	.sliding.sl_type_carousel .container > div { width: 33.3%; }
	.sliding.sl_type_carousel.col3 .container > div { width: 50%; }
	.sliding.sl_type_carousel.col4 .container > div { width: 50%; }
	
	#startshow.sliding .slide.hasbg div.image { display: none; }
	#startshow.sliding .slide.hasbg div.w { padding: 24px; }
}

.sliding .controls { text-align: center; font-size: 40px; line-height: 40px; margin-top: 12px; margin-bottom: 12px; }
.sliding .controls a, .sliding .controls span, .sliding .controls b { display: inline-block; vertical-align: top; }
.sliding .controls a { padding: 0 4px 0 4px; }
.sliding .controls .pagi b { font-size: 120%; line-height: 75%; }
.sliding .controls a.navi { margin-top: -1px; }
.sliding .controls .disabled { }
.sliding .controls .active { }
.sliding .controls .slide { width: 20%; }
.sliding .controls .sliding { display: inline-block;  }

.sliding .controls .sliding { width: 80%;  }
.sliding.sl_pagination_slideshow a.navi { position: absolute; top: 0; }
.sliding.sl_pagination_slideshow a.prev { left: 0; }
.sliding.sl_pagination_slideshow a.next { right: 0; }


/* parallax */
.parallax { min-height: 250px; }

.fixed { background-attachment: fixed; }


/* cookies ok */
#cookies_ok { background: rgba(70,70,90,0.9); position: fixed; left: 0; bottom: 0; width: 100%; display: block; z-index: 999999; color: #fff; }
#cookies_ok > .inside { padding: 24px 0 24px 0; }
#cookies_ok p { position :relative; z-index: 1; }
#cookies_ok p.close { float: right; padding: 0 0 12px 24px; z-index: 2; }
#cookies_ok a { color: #ccc; text-decoration: underline; font-style: italic; }
#cookies_ok a:hover { color: #fff; }

/* listedit */
.ce_result table { width: 100%; }
.ce_form .message { padding: 24px; margin-bottom: 24px; border: 1px solid #080; background: #eeffee; }
.ce_form .message.error { border: 1px solid #ab1869; background: #fff0f0; }
#cs .ce_form .message { border: 1px solid #ab1869; }
#cs .ce_form .message.error { border: 1px solid #ab1869; }


/* fe edit, debug */
#fe_edit { position: fixed; top: 0; left: 0; background: rgba(250,250,250,0.8); border: 1px solid #666; z-index: 10000; font-size: 14px; line-height: 18px; }
#fe_edit > a { padding: 8px; display: inline-block; }
#fe_edit #fe_editlist { display: none; padding: 8px; max-height: 90vh; overflow: auto; }
#fe_edit #fe_editlist.open { display: block; }

#debug { display: block; margin: 200px 24px 24px 24px; padding: 12px; background: white; font-size: 14px;line-height:16px; overflow:scroll;
background: #5d7587; color: #fff; 
}


.ce_faves .text { padding-bottom: 32px; }
/*
.ce_faves ul { list-style-type: none; margin: 0; padding: 0; overflow: hidden; }
.ce_faves li {  margin: 0; padding: 0 0 24px 0; overflow: hidden; }
.ce_faves li:after { display: block; clear: both; content: ""; font-size: 0; line-height: 0; height: 0; }

.ce_faves .hasimg { padding-left: 132px; }
.ce_faves .image { width: 100px; margin-left: -132px; float: left; }
*/
.ce_faves div.price { padding-bottom: 24px; }
.ce_faves div.price span { display: block; }
.ce_faves .actions a { margin: 0 12px 12px 0; }

.ce_social a { font-size: 150%; margin-right: 12px; }

.ce_form p.result, #form_wdnlabooff p.result { padding: 24px; background: #cde5e7; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; }
#footer #form_wdnlabo ul.Inputfields { margin-left: -12px; margin-right: -12px; }
#footer #form_wdnlabo ul.Inputfields > li { width: calc(50% - 24px); margin: 0 12px 16px 12px; float: left; padding: 0; box-sizing: border-box; }
#footer #form_wdnlabo ul.Inputfields > li > label { margin-left: 0; float: none; }
#footer #form_wdnlabo ul.Inputfields > li > label { margin-left: 0; }
#footer #form_wdnlabo ul.Inputfields > li:nth-child(odd) { clear: both; }
#footer #form_wdnlabo #wrap_save_WdNewsletterAboForm { width: calc(100% - 24px);  text-align: right; }

@media screen and (max-width: 840px) {
	#footer #form_wdnlabo ul.Inputfields > li { width: calc(100% - 24px); }
}


.product .oa { margin-top: 12px; }
.product .oa p { padding-bottom: 0; }
.product .oa .lice a.img { display: block; overflow: hidden; width: 150px; }
.product .oa .lice a.img img { display: block; }

#feedback { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }



/* productfilter */

#prf label .pftg { font-weight: 300; background: #fff; padding: 4px 12px; border: 1px solid #333; color: #333;  
	border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px;
}
#prf label .pftg:hover { background: #ab1869; color: #fff; }

/*
#prf ul { display: flex; flex-wrap: wrap; align-items: stretch; justify-content: flex-start;  } 
.id_1448 #prf ul li.InputfieldSubmit { width: 100%; }
#main #prf ul li.InputfieldSubmit { width: 100%; }
*/



/* TODO */
/* CHECK mit shop.css */


/*
#productfiltercontainer form .InputfieldSubmit { display: none; }
#filterbuttons button span:after { content: '✗'; display: inline-block; margin: 0 0 0 6px; }
#filteritemscount { margin-bottom: 24px; }
#filterbuttons {  }
#filterbuttons button { margin: 0 12px 12px 0; }


#prf ul.InputfieldRadiosStacked { margin-top: 12px; }
#prf ul.InputfieldCheckboxesStacked { margin-top: 12px; }
*/


/* -------------------------------------- */
/* Media queries */
/* -------------------------------------- */
@media screen and (max-width: 1040px) {

}

@media screen and (max-width: 840px) {
	figure.align_left { width: 50%; }
	figure.align_right { width: 50%; }
	
	img.align_left { max-width: 50%; }
	img.align_right { max-width: 50%; }
	
	p.align_left { max-width: 50%; }
	p.align_right { max-width: 50%; }
	
	.cols .ce > .inside { padding-left: 0; }
	.cols .ce > .inside figure.align_right { width: 100%; margin-left: 0; float: none; float: none; }
	.cols .ce > .inside { padding-left: 0;  }
	.cols .ce > .inside figure.align_left { width: 100%; margin-right: 0; }
}

@media screen and (max-width: 740px) {

}


@media screen and (max-width: 640px) {
	#wrapper .indent { padding-left: 5%; padding-right: 5%;  }
	

	figure.align_left { width: auto; display: block; float: none; margin-right: 0;  }
	figure.align_right { width: auto; display: block; float: none; margin-left: 0;  }

	img.align_left { max-width: 100%; display: block; float: none; margin-right: 0; }
	img.align_right { max-width: 100%; display: block; float: none; margin-left: 0; }
	
	p.align_left { max-width: 100%; display: block; float: none; margin-right: 0;  }
	p.align_right { max-width: 100%; display: block; float: none; margin-left: 0;  }
}

@media screen and (max-width: 440px) {


}


/* -------------------------------------- */
/* Print version */
/* -------------------------------------- */
@media print {
	body, #footer { background: #fff; color: #000; }
	body { font-size: 13px; line-height: 18px;   }
	body.medfont { font-size: 18px; line-height: 24px; }
	body.bigfont { font-size: 22px; line-height: 28px; }

	#buttons, #cs, #mainmenu, #share, #footermenu, #wrapper .ce_back, .ce_form.WdProcessComments, #fe_edit, #totop, #header #head #head_menu { display: none; }
	div#head_logo { padding-top: 0; padding-bottom: 0; margin: 0; }
	div#head { padding-top: 0; padding-bottom: 0; margin: 0; }
	#top #header #cs { display: none; }
	#header #head-placeholder { display: none; }
	
	video { display: none; }
	.ce_video.local.hasimage { min-height: 200px; }
	
	body #wrapper .printblock { display: block; }
	body #wrapper .printinline { display: inline-block; }
	body #wrapper .screenblock { display: none; }
	body #wrapper .screeninline { display: none; }
	
	#head #buttons, #head .langswitch, #head #fontsel, #head .topadd { display: none; }
	
	body #wrapper { padding-top: 0; }
	body #head { margin-top: 0; }
	
	#top #head.sticky { position: relative; top: auto; left: auto; }
	#head.sticky { transform: translatey(0px);  position: relative; top: auto; }
	#head.sticky #head_top { display: block; display: none; }
	#head.sticky #head_logo { display: block; }
	
	#head.sticky #logo a { width: 100%; }
	/*
	#head.sticky #head_logo.hasmenu { display: block; }
	#head.sticky #head_logo.hasmenu > .inside > div { display: none; }
	#head.sticky #head_logo.hasmenu > .inside > #logo { display: block; }
	#head.sticky #head_logo.hasmenu > .inside > #head_menu { display: block; }	
	*/
	
	#container .ce { margin-bottom: 18px; }
	
	#footer { padding-bottom: 0; }
	#footer ul.nav { display: none; }
	#foot_add { display: none; }
	#footer .ce_social { display: none; }
	#foot { padding-top: }
	
	
	.invisible { display: none; }
	
	#top .sliding .controls { display: none; }
}



