body,div,h1,h2,h3,h4,h5,h6,p,blockquote,pre,code,ol,ul,li,dl,dt,dd,figure,table,th,td,form,fieldset,legend,input,textarea{margin:0;padding:0}table{border-spacing:0;border-collapse:collapse}caption,th,td{text-align:left;text-align:start;vertical-align:top}abbr,acronym{font-variant:normal;border-bottom:1px dotted #666;cursor:help}blockquote,q{quotes:none}fieldset,img,iframe{border:0}ul{list-style-type:none}sup{vertical-align:text-top}sub{vertical-align:text-bottom}del{text-decoration:line-through}ins{text-decoration:none}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font:12px/1 "Lucida Grande","Lucida Sans Unicode",Verdana,sans-serif;color:#000}input,button,textarea,select{font-family:inherit;font-size:99%;font-weight:inherit}pre,code{font-family:Monaco,monospace}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}h1{font-size:1.8333em}h2{font-size:1.6667em}h3{font-size:1.5em}h4{font-size:1.3333em}table{font-size:inherit}caption,th{font-weight:700}a{color:#00f}h1,h2,h3,h4,h5,h6{margin-top:1em}h1,h2,h3,h4,h5,h6,p,pre,blockquote,table,ol,ul,form{margin-bottom:12px}
body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li{float:left}.ce_gallery>ul li.col_first{clear:left}.float_left{float:left}.float_right{float:right}.block{overflow:hidden}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
*{
	box-sizing: border-box;
	outline: none;
}
body{
	/*background: url('/files/cd2017-theme/temp-bgg.jpg') no-repeat top center;*/
    font: 16px/1 'Roboto', sans-serif;
    font-size: 100.01%;
}

a.email{
	color: #000000;
	text-decoration: none;
}

a, img {
	max-width:100%;
	height:auto;
}
img {
	color: transparent;
}
.ie7 img {
	-ms-interpolation-mode:bicubic;
}
.ie8 img {
	width:auto; 
}

header{
	transition:height 0.85s ease;
	/*min-height: 120px;*/
	height: 76px;
	min-width: 310px;
	position: fixed;
	width: 100%;
	left: 0;
	right: 0;
	z-index: 1000;
	background:rgba(255,255,255,0.8);
}
header .inside{
	transition:padding 0.85s ease;
	max-width: 939px;
	max-width: 1110px;
	margin: 0px auto;
	padding: 30px 2% 15px;
}


#logo a{
	height: auto;
	display: inline-block;
	/*margin-top: 26px;*/
	text-decoration: none;
}
#logo,
#logo img{
	width: 230px;
}

h1,h2{
	margin-top:0;
}

#main a{
	color:rgba(0, 0, 0, 0.7);
	text-decoration: none;
}
#main a:hover{
	color:rgba(0, 0, 0, 1);
	text-decoration: none;
}

/* 
max width = 3*273px + 2*20px = 859px
*/
#container{
	transition:padding-top 0.85s ease;
	padding-top: 76px;
	min-width: 310px;
}
#wrapper{
	margin: 0px auto;
	max-width: 859px;
	max-width: 939px;
	max-width: 1110px;	
	transition: margin-top 0.8s linear;
	padding-bottom: 50px;
	position: relative;
	min-width: 300px;
}

#container{
		margin: 0 40px;
		margin: 0 2%;		
}

.grid img{
	opacity: 0;
	transition: opacity 0.8s linear;
}

.grid{
	margin: 0 auto;
/*	background: #EEE;*/
}

.grid-item {
  margin-bottom: 20px;
  float: left;
  width: 273px;
  width: 330px;
  height: auto;
}

.grid-item,
.grid-sizer {
	width: calc((100% - 40px) / 3);
	width: 100%;
}

.gutter-sizer{
	max-width: 20px;
}


h1,h2,h3{
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3em;
}

/* clearfix */
.grid:after {
  content: '';
  display: block;
  clear: both;
}


.js #navMain {
    display: none;
    visibility: hidden;
    opacity: 0;
}


#navMain {
	overflow: visible;
	padding-top: 20px;
	padding-right: 40px;
    position: absolute;
    z-index: 9292;
    width: 100%;
    background-color: rgba(255,255,255,0.8);
    left: 0;
    right: 0;
}

#navMain span, 
#navMain strong, 
#navMain a{
	text-transform: uppercase;
	text-decoration: none;
	color: #000000;
}

#navMain a.trail{
	font-weight: bold;
} 

#navMain a span{
	color: rgba(0, 0, 0, 0.7);
}

#navMain a span:hover{
	color: rgba(0, 0, 0, 1);
}



#navMain .level_1 li{
	text-align: right;
	padding: 5px 0;
}

#menuToggle
{
  display: inline-block;
  position: absolute;
  top: 38px;
  right: 40px;
  right: 2%;
  z-index: 1;
  -webkit-user-select: none;
  user-select: none;
}

#menuToggle input
{
  display: block;
  width: 40px;
  height: 32px;
  position: absolute;
  top: -7px;
  left: -5px;
  cursor: pointer;
  opacity: 0; 
  z-index: 2;
  -webkit-touch-callout: none;
}

#menuToggle span
{
  display: block;
  width: 20px;
  height: 2px;
  margin-bottom: 5px;
  position: relative;
  background: #cdcdcd;
  border-radius: 3px;  
  z-index: 1;
  transform-origin: 15px 1px;
  transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
              background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
              opacity 0.55s ease;
}
#menuToggle span:first-child
{
  transform-origin: 0% 0%;
}
#menuToggle input:checked ~ span
{
  opacity: 1;
  transform: rotate(45deg) translate(-1px, -2px);
  background: #232323;
}
#menuToggle input:checked ~ span:nth-last-child(3)
{
  opacity: 0;
  transform: rotate(0deg) scale(0.2, 0.2);
}
#menuToggle input:checked ~ span:nth-last-child(2)
{
  transform: rotate(-45deg) translate(2px, -2px);
}

#submenu {
	display: none;
}


#footer {
	position:fixed;
	left: 2%;
	right: 2%;
	bottom: 0px !important;
	min-width: 310px;
	margin: 0 auto;
	background-color: rgba(255,255,255,0.8);
	height: 50px;
}
#footer .inside{
	display: flex;
	height: 50px;
	justify-content: center;
	align-items: center;
}
#footer p{
	font-size: 13px;
	line-height: 1.2em;
	margin: 0;
	text-align: center;
}

#footer .addr{
	display: none;
}

.ce_text p{
	hyphens: auto;
}

.ce_text p{
	font-size: 13px;
	line-height: 18px;
}

.ce_text{
	margin: 0;
}

.grid-item:after {
    content: " ";
    width: 100%;
    position: absolute;
    background: white;
    height: auto;
    top: 0;
    left: 0;
    bottom: 0;
    opacity: 0.0;
    transition: opacity 0.85s ease;
}

.grid-item:hover:after{
    opacity: 0.8;	
}



.grid-item:hover .projektName{
	visibility: visible;
	opacity: 1;
}

.projektName{
	visibility: hidden;
	opacity: 0;
	transition: visibility 0s, opacity 0.5s linear;
	position: absolute;
	bottom: 20px;
	left: 20px;
	z-index: 99;
}

.projektName h2{
	font-size: 22px;
	color: #000000;
	display: inline;
}

.projektName span{
	font-size: 19px;
	font-style: italic;
	color: #000000;
	white-space: nowrap;
}



/*projekt seite*/
.layout_full{
	display: flex;
	flex-direction: column;
}

.layout_full h1{
	font-size: 16px;
	order: 1;
	margin-top: 20px;
	margin-bottom: 20px;
}
.layout_full h1 span{
	font-weight: normal;
	font-style: italic;
	white-space: nowrap;
}

.layout_full .ce_sliderStart{
	order: 0;
}

.layout_full .ce_text{
	order: 3;
	columns: 3 273px;
	column-gap: 20px;
}

.content-slider{
	line-height: 0px;
}

a.slider-next,
a.slider-prev{
	text-indent: -9999em;
	background: url(/files/cd2017-theme/slide-controll.png) no-repeat;
	background-position: top center;
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	width: 30px;
	height: 30px;
	position: absolute;
	top: -48px;
	top: -40px;
	background-size: cover;
	margin-left: 10px;
}


a.slider-next{
	-webkit-transform: none;
	-moz-transform: none;
	margin-right: 10px;
}

a.slider-next:hover,
a.slider-prev:hover{
	background-position: bottom center; 
}

.slider-control{
	height: 0px;
}

.threeCol .ce_text:nth-child(1){
	order:1;
}
.threeCol .ce_text:nth-child(2){
	order:2;
}
.threeCol .ce_text:nth-child(3){
	order:3;
}




/***** Projekt Titel ****/
.projektName span,
.projektName h2{
	display: block;
	white-space:unset;
}
.projektName span{
	hyphens: auto;	
}


.projektName h2{
	margin-bottom: 0;
}





@media screen and (min-width: 380px) {
	header .inside{
		padding: 30px 40px 15px;
	}

	#container{
		margin: 0 40px;
	}

	#menuToggle{
		right: 40px;
	}
	#footer{
		left: 40px;
		right: 40px;
	}

}


/*@media screen and (min-width: 361px) {*/
@media screen and (min-width: 410px) {

.slider-control .slider-prev{
	left: 6px;
}

.slider-control .slider-next{
	right: 6px;
}

a.slider-next,
a.slider-prev{
	top: -46px;
}

	#submenu{
		top: 66px;
	}
	header{
		height: 96px;
	}

	#container{
		padding-top: 96px;
	}

	#footer .addr{
		display: inline;
	}

	.ce_text p,
	#main h1,
	#main h2,
	#main h3{
		line-height: 25px;
	}

	h1,h2,h3{
		font-size: 19px;
	}

	.layout_full h1{
		font-size: 19px;
	}

	.ce_text p{
		font-size: 16px;
	}

	.grid-item,
	.grid-sizer {
		width: calc((100% - 20px) / 2);
	}

	#logo,
	#logo img{
		width: 230px;
	}

	.threeCol .ce_text:nth-child(1){
		order:3;
		padding: 0;
	}
	.threeCol .ce_text:nth-child(2){
		order:1;
		padding: 0 10px 0 0;
	}
	.threeCol .ce_text:nth-child(3){
		order:2;
		padding: 0 0 0 10px;		
	}


	.threeCol{
		flex-wrap: wrap-reverse;
		display: flex;
	}

	.threeCol > * {
		flex: 1 1 47%;
		flex-basis: calc(100% / 2);
	}

}

@media screen and (min-width: 565px) {
	


	#container{
		padding-top: 120px;
		padding-top: 76px;
	}

	#container{
		padding-top: 96px;
	}
	header{
		height: 96px;	
	}

	header .inside{
		padding: 60px 40px 0;
		padding: 30px 40px 15px;
	}


	#navMain li.projekte{
		cursor: pointer;
	}

	li.projekte:hover #submenu{
		opacity: 1;
	}

	#submenu {
		transition:opacity 0.85s ease;
		opacity: 0;
		display: block;
		background: rgba(255,255,255,0.8);
		position: absolute;
		right: 109px;
		padding: 15px 20px;
		padding: 0 20px 15px;
		column-gap: 20px;
		margin: 0 90px 0  0;
		top: 60px;
		top: 46px;
		top: 66px;
	}


	#navMain #submenu > li{
		display: block;
		text-align: left;
		margin: 0;
		
	}

	#navMain #submenu a{
		font-size: 12px;
		color: rgba(0, 0, 0, 0.7);
	}
	#navMain #submenu a:hover{
		font-weight: bold;
		color: rgba(0, 0, 0, 1);		
	}

	#toggleNavMain {
	    display: none;
	}

	.js #navMain {
	    display: block;
	}
	
	#menuToggle{
		display: none;
	}
	#navMain ul.level_1{
		margin-bottom: 0;
		padding-bottom: 2px;
		padding-top: 5px;
	}

	#navMain{
		visibility: visible;
		opacity: 1;
		position: relative;
		text-align: right;
		padding-top: 0;
		padding-right: 0px;
		background: none;
	}

	#navMain .level_1 li{
		display: inline-block;
		margin-right: 20px;
	}

	#navMain .level_1 li.last{
		margin-right: 0;
	}


	#header .inside{
		display: flex;
		align-items: flex-start;
	}
	.inside #logo{
		flex: 1 0 230px;
	}

	#navMain span, 
	#navMain strong, 
	#navMain a{
		font-size: 15px;
	}
}


/*@media screen and (min-width: 646px) {*/
@media screen and (min-width: 760px) {


	.ce_text p,
	#main h1,
	#main h2,
	#main h3{
		line-height: 30px;
	}
	

	.threeCol .ce_text:nth-child(1){
		order:1;
		padding: 0 10px 0 0;
	}
	.threeCol .ce_text:nth-child(2){
		order:2;
		padding: 0 10px 0;		
	}
	.threeCol .ce_text:nth-child(3){
		order:3;
		padding: 0 0 0 10px;		
	}

	.threetwoCol{
		display: flex;
		flex-direction: row;
	}

	.threetwoCol .ce_text{
		flex: 0 1 32%;
		flex-basis: calc(100% / 3);
		padding: 0 10px;
	}
	.threetwoCol .ce_text.first{
		padding-left: 0;
	}

	.threeCol{
		display: flex;
		flex-wrap: nowrap;
	}

	.threeCol .ce_text{
		/*margin-right: 20px;*/
	}

	.threeCol .ce_text.last{
		padding-left: 10px;
		padding-right: 0;
	}

	#logo a{
		/*margin-top: 0;*/
	}



	#logo, #logo img{
		width: 230px;		
	}


	.grid-item,
	.grid-sizer {
		width: calc((100% - 40px) / 3);
	}




}


div.ce_sliderStart{
	max-width: 1030px;
}











