/*!
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 #888888; }

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; }
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; }
figure img { display: block; }
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: #888; font-size: 74%; line-height: 125%; z-index: 2; }
p { z-index: 1; }

.clear, .clearfix { clear: both; display: block; }

body#top .invisible { position: absolute; height: 1px; width: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(100%); white-space: nowrap; }
body#top .invisible:focus { position: relative; display: block; height: auto; width: auto; clip: auto; clip-path: none; background: #000; color: #fff; }
/* 
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; }


/* -------------------------------------- */
/* 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: Lato, Arial, sans-serif; font-weight: normal; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { font-weight: normal; font-size: 16px; line-height: 24px;   }
body.medfont { font-size: 22px; line-height: 30px; }
body.bigfont { font-size: 25px; line-height: 35px; }

.select2-results__option, .select2-container--default .select2-selection--single .select2-selection__rendered,
input, button { font-size: 100%; line-height: 140%; }
textarea, select, option { font-size: 100%; line-height: 140%; }
h1, h2, h3, h4 { font-size: 100%; line-height: 140%; }

.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:hover img { opacity: 0.8; }

h1, p.h1 { font-size: 189.5%; line-height: 133%; margin: 0 0 12px 0; padding-bottom: 0; font-weight: normal; }
h2, p.h2 { font-size: 158%; line-height: 130%; margin: 0 0 12px 0; padding-bottom: 0; font-weight: normal; }
h3, p.h3 { font-size: 126%; line-height: 130%; margin: 0 0 12px 0; padding-bottom: 0; font-weight: normal; }
h4, p.h4 { font-size: 116%; line-height: 130%; margin: 0 0 12px 0; padding-bottom: 0; font-weight: normal; }

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; }

/* -------------------------------------- */
/* 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; }
.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; display: table; }


/* 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; padding-bottom: 24px; }
	#container .ce { margin-bottom: 32px; }
	#container .ce.nomargin { margin-bottom: 0; }
	#main { padding-top: 24px; min-height: 600px; z-index: 100; }
		#main .ce_meta.main { margin-bottom: 8px; }
		#main .ce.main:after { display: none; }
		#main .ce_text.main { margin-bottom: 0; }
		#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 { z-index: 1000; }
	#head_add { z-index: 999; clear: both; }
	
	#buttons { z-index: 1000; float: right; clear: right; }
		#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; }
		#head_logo > .inside > div { z-index: 2; }
		#head_logo #slogan { z-index: 1; }
		
		#head_logo > .inside { padding-left: 220px; } /* logowidth, see breakpoint! */
		#logo { margin-left: -220px; width: 200px; 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; }
	#head #head_menu > .inside:after { display: block; clear: both; content: ""; font-size: 0; line-height: 0; height: 0; }
	
	/* 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-top: 24px; padding-bottom: 32px; z-index: 10; }

	#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; }
	#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; }



/* 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" */
	#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 */
	
	body#top .mobile { display: block; }
	body#top .nomobile { display: none; }
	
}
@media screen and (max-width: 740px) {
}
@media screen and (max-width: 640px) {
	/* 400 */
	#fontsel { display: none; }
	#slogan { display: none; }
	
	/* 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; }
	

	
	
}
@media screen and (max-width: 440px) {
	/* 300 */
	#logo { margin-left: -170px; width: 150px; } /* see  logowidth */
	#head_logo > .inside { padding-left: 170px; } /* logowidth, see breakpoint! */
	#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%; }



/* -------------------------------------- */
/* 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; }

/*
#productfilter ul { display: flex; flex-wrap: wrap; align-items: stretch; justify-content: flex-start;  } 
.id_1448 #productfilter ul li.InputfieldSubmit { width: 100%; }
#main #productfilter ul li.InputfieldSubmit { width: 100%; }
*/

@media screen and (max-width: 840px) {
	#wrapper div.cols.col3 > .inside > div { width: calc(100% - 24px); }
	
	#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; }
	
	.sidebar #wrapper div.cols.col2 > .inside > div { width: calc(100% - 24px); }
	.sidebar #wrapper div.cols.col3 > .inside > div { width: calc(100% - 24px); }
	.sidebar #wrapper div.cols.col4 > .inside > div { width: calc(100% - 24px); }
	.sidebar #wrapper div.cols.col5 > .inside > div { width: calc(50% - 24px); }
	.sidebar #wrapper div.cols.col6 > .inside > div { width: calc(50% - 24px);  }
	
	.sidebar #wrapper div.cols.col21 > .inside > div:nth-child(odd) { width: calc(100% - 24px); clear: both; }
	.sidebar #wrapper div.cols.col21 > .inside > div:nth-child(even) { width: 50%; float: right;  }

	.sidebar #wrapper div.cols.col12 > .inside > div:nth-child(odd) { width: 50%;  }
	.sidebar #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.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 div.cols.col12 > .inside > div:nth-child(odd) { width: 50%;  }
	#wrapper div.cols.col12 > .inside > div:nth-child(even) { width: calc(100% - 24px); clear: both; }


	#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; }

.ce_breadcrumbs ol { float: right; font-size: 80%; }
.ce_breadcrumbs ol { overflow: hidden; list-style-type: none; margin: 0; padding: 0; }
.ce_breadcrumbs li { display: block; float: left; 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; padding: 0; }
.pager a { display: block; padding: 8px 12px 8px 12px; }

.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; }
#container .ce_prevnext { margin-bottom: 0; }

/* ce_list */
.ce_list .item { margin-bottom: 32px; overflow: hidden; padding: 24px; background: #eee; }
.ce_list .item .meta { padding-bottom: 4px; }
.ce_list .item:last-child { margin-bottom: 0; }

.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; }

/* ce_list with cols */
.ce_list.cols .item { padding: 24px; background: #eee; }
.ce_list.cols .item.hasimg > .inside { padding-right: 0; }
.ce_list.cols .item .image { margin: -24px -24px 12px -24px; width: auto; float: none; }

@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; }
}

@media screen and (max-width: 640px) {
	.ce_list .item.hasimg > .inside { padding-right: 0; }
	.ce_list figure { float: none; width: 100%; margin-right: 0; margin-bottom: 12px; }
}



/* -------------------------------------- */
/* Menus */
/* -------------------------------------- */

#head nav li a { transition: all 0.3s ease; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; }


/* 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; margin-top: 24px; transition: margin 0.4s ease; -webkit-transition: margin 0.4s ease; -moz-transition: margin 0.4s ease; }
#mainmenu .level_1 > li.open > .ul { visibility: visible; opacity: 1; margin-top: 0; }

#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: 24px; }
#head div.open nav li li li a { padding-left: 36px; }
#head div.open nav li li li li a { padding-left: 48px; }


/* 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: #444; color: #000; }
#footer { color: #fff; } 

#header { }
	#head { background: #def; }
	#head_top { background: transparent; }
	#head_logo { background: transparent; }
	#head_menu { background: #137; }
	#cs > div, #head div.intro { background: #444; color: #fff; }
	#c_menu.opening, #c_menu.open { background: #444; }
	
#container, #head_add { background: #ffffff; }

a { color: #37c; }
	#footer a { color: #fff; }
	
	#header a.close { color: #fff; }
	#header a.close:hover { color: #999; }
	
	#buttons a { color: #137; }
	#fontsel b:before { color: #137; }
	#fontsel a:focus b:before { text-decoration: underline;  }
	.ce_breadcrumbs a { color: #aaa; }

a:hover,
#footer a:hover,
#buttons a:hover, #buttons a.open,
.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: #59e; }
	
	
/** main menu */
#mainmenu li a
	{ background: transparent; color: #fff; text-transform: uppercase; }
#mainmenu li a:hover, #mainmenu li a.active, #mainmenu li a.trail, #mainmenu li.open > a
	{ background: #37c; color: #fff; }
#mainmenu ul.level_2 li a
	{ background: #eee; color: #000; border-bottom: 1px solid #fff; }
#mainmenu ul.level_2 li:first-child a
	{ border-top: 1px solid #fff; }
#mainmenu ul.level_2 li a:hover, #mainmenu ul.level_2 li a.active, #mainmenu ul.level_2 li a.trail 
	{ background: #37c; color: #fff; }




/* mobile menu / cs menus */
#head div.open nav li a
	{ background: transparent; color: #fff; border-bottom: 1px solid #fff; 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: #aaa; 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
	{ border-top: 0; }
#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
	{ border-top: 1px solid #fff; }


/* forms */
button, a.button, .button a { border: 0; background: none; }
button span, a.button span, .button a span { background: #333; border: 1px solid #fff; color: #fff; }
button span:hover, a.button span:hover, .button a span:hover { background: #888; color: #fff; }




.ce_form.message { background: #f8f8f8; }
.ce_form.message.error { background: #fff8f8; }

.select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: #888; }
#top .select2-container--default .select2-selection--multiple .select2-selection__choice { background: #888; }

p.error, p.InputfieldError, .InputfieldStateError p { color: #f00; }
#cs p.error, #cs p.InputfieldError, #cs .InputfieldStateError p { color: #f80; }
p.warning { color: #f80; }
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; }
.dark { background: #888888; }
	.dark > * { color: #ffffff; }
.gloomy { background: #444444; }
	.gloomy > * { color: #ffffff; }
.light { background: #eeeeee; }
.white { background: #fff; }
.transwhite { background: rgba(255,255,255,0.7); }

.highlight { color: #ff8800; }

#wrapper div.lightfont { color: #ffffff; }
#wrapper div.darkfont { color: #555555; }

.pager .current a { background: #888888; color: #ffffff; }
.pager a:hover { background: #444444; color: #ffffff; }
.pager span.page { display: none; }


.meta { color: #aaaaaa; }
.ce_list .item .meta { color: #aaaaaa; }
.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 */
/* -------------------------------------- */

#wrapper .InputfieldHidden { display: none; }


form {  display: block; }
#main form { background: #eee; padding: 24px; }
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 { outline: 0; padding: 0; margin: 0; border: 0; display: inline-block; }
button span { cursor: pointer; font-weight: normal; padding: 4px 36px 4px 36px; display: block; transition: all 0.3s ease; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; }
button span:hover {  }

a.button { outline: 0; padding: 0; margin: 0; border: 0; display: inline-block; }
a.button span { cursor: pointer; font-weight: normal; padding: 4px 36px 4px 36px; display: block; text-transform: uppercase; transition: all 0.3s ease; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; }
a.button span:hover {  }

form ul.Inputfields { list-style-type: none; margin: 0; padding: 0; overflow: hidden; }
form ul.Inputfields > li { margin: 0; padding: 0; padding-bottom: 24px; }
form ul.Inputfields > li:after { content:''; display: block; position: relative; clear: both; }

form ul.Inputfields > li { padding-left: 150px; }
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; }
form ul.Inputfields > li.InputfieldFieldset { padding-left: 0; }
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%; }
#head form#WdFormLogin { width: 50%; min-width: 300px; margin: 0 auto; }
#c_search form input { margin-right: 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 p: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; }
}

@media screen and (max-width: 640px) {
	form ul.Inputfields > li { padding-left: 0; }
	form ul.Inputfields > li > label { margin-left: 0; width: 100%; padding-right: 0; padding-bottom: 8px; }
}


.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: 160%; }
.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; }




/* -------------------------------------- */
/* 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; }
#o_search a.toggle:after { display: none; }

#mainmenu li.submenu > a > span:after { content: "\f078"; display: inline-block; padding-left: 4px; margin-left: 4px; line-height: 16px; }
#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"; 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: mone; }

.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 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; }

/* googlemap gmap */
.ce_googlemap { background: #eeeeee; border: 1px solid #888; }
.ce_googlemap > .inside { padding-top: 50%; min-height: 300px; }
.ce_googlemap > .inside > .gmap { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.ce_googlemap > .inside p.open { font-size: 80%; padding: 6px 12px 6px 12px;  }

/* openstreetmap */
.ce_openstreetmap { width: 100%; background: #eeeeee; border: 1px solid #888; }
.ce_openstreetmap iframe { width: 100%; height: 300px; border: 0; }
.ce_openstreetmap div.open { font-size: 80%; padding: 6px 12px 6px 12px; }
.ce_openstreetmap div.info { border-top: 1px solid #888; }
.ce_openstreetmap p { font-size: 80%; display: table; width: 100%; box-sizing: border-box; padding: 6px 12px 6px 12px; }
.ce_openstreetmap p span { display: block; float: left; }
.ce_openstreetmap p span.copyright { float: right; }

/* back, more */
.ce_back { padding-top: 24px; padding-bottom: 24px; } /* text-align: right;  */
.page_home .ce_back { display: none; }

.nomore div.more { display: none; }

/* footnote */
p.footnote { color: #999; font-size: 74%; line-height: 140%; }

/* box */
.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; }
}


/* overlap */
.overlap { /* padding-bottom: 32px; */ height: 1px; }
.overlap > .inside { position: absolute; bottom: 0; left: 0; width: 100%; }
@media screen and (max-width: 840px) {
	.overlap { height: auto; }
	.overlap > .inside { position: relative; bottom: auto; left: auto; }
}

/* haslink */
.ce_text > .inside > * { z-index: 1; }
.ce_text > .inside > figure { z-index: 2; }




/* calendar */
table.calendar { width: 100%; }
table.calendar th { border: 1px solid #f8f8f8; padding: 4px; }
table.calendar td { border: 1px solid #f8f8f8; padding: 4px; }
table.calendar .nav th { text-align: justify; line-height: 0; }
table.calendar .nav th span { line-height: 115%; display: inline-block; }
table.calendar .nav th span a { display: block; position: relative; font-size: 115%; }
table.calendar .nav th span b { display: block; position: relative; }
table.calendar .nav th span.stretch { display: inline-block; width: 100%; height: 0; overflow: hidden; }
table.calendar .wd_6 { background: #f8f8f8; }
table.calendar .wd_7 { background: #f8f8f8; }
table.calendar .today { background: #eeeeee; }
table.calendar td { width: 14.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: #999999;  }
.ce_search .relevance { color: #999999;  }
.ce_search .url { color: #999999; font-weight: normal; display: block; display: none; }
.ce_search  form { margin-bottom: 24px; }
.ce_search input { width: 100%; }

/* comments */
.ce_comment .meta span { display: inline-block; margin-right: 12px; }
.ce_comment .comment { padding: 12px; }

/* meta */
.meta span { display: inline-block; padding-right: 4px; }
.meta span:before { content: '–'; display: inline-block; padding: 0 4px 0 0; }
.meta span:first-child:before { display: none; }

/* download, link */
.ce_download > .inside { padding-left: 24px; }
.ce_download > .inside > a { display: block; }
.ce_download .icon { float: left; margin-left: -24px; display: block; }
.ce_download .size { color: #000; }
.ce_download .text { color: #000; }

.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 img { width: 100%; display: block; }
#wrapper .sliding .slide:after { height: 0; }

.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%; }
}

.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(128,128,128,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; }


/* listedit */
.ce_result table { width: 100%; }
.ce_form .message { padding: 24px; margin-bottom: 24px; border: 1px solid #f00; }
.ce_form .message.error { border: 1px solid #f00; }
#cs .ce_form .message { border: 1px solid #f80; }
#cs .ce_form .message.error { border: 1px solid #f80; }


/* 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; }





/* -------------------------------------- */
/* 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%; }
}

@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 { 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 { 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; }
	
	#top #head.sticky { position: relative; top: auto; left: auto;  }
	
	#head.sticky { transform: translatey(50px);  position: relative; top: auto; }

	#head.sticky #head_top { display: block; }
	#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; }

}
