
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  src: url('../fonts/ibm_plex/woff/IBMPlexSans-Regular.woff') format('woff'),
  url('../fonts/ibm_plex/ttf/IBMPlexSans-Regular.ttf') format('truetype');
  font-weight: normal;
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: bold;
  src: url('../fonts/ibm_plex/woff/IBMPlexSans-Bold.woff') format('woff'),
  url('../fonts/ibm_plex/ttf/IBMPlexSans-Bold.ttf') format('truetype');
  font-weight: bold;
}
body {
	background-color: #cfccc6;
	color: #4c4c4c;
}

body.template-home #ajax-content{
	margin: 0!important;
}
body.template-home h1{
	color: #cc0033;
	font-size: 3em;
	text-transform:uppercase;
	line-height: 1em;
	font-weight: bold;
}
body.template-home h2{
	color: #000000;
	font-size: 2.3em;
	line-height: 1em;
	text-transform:uppercase;
	font-weight: normal;
	font-style: normal;
}
body.template-home .logo{
	display: none;
}
ul.portfolio-grid{
	max-width:1170px;
	position:relative;
	margin: 50px auto 30px;
	overflow:hidden;
}
.content{
	position:relative;
	width:1140px;
	margin:150px auto
}
#ajax-content{
	width:100%;
}
div#ajax-content.content div.btn-toolbar.filters {
	width: 100%;
	z-index: 9998!important;
	position: sticky;
    top: 25px;
}

.btn-toolbar.filters div.btn-group {
	max-width:1170px;
	position:relative;
	margin:30px auto;
	overflow:hidden;
}




ul.slcts {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
ul.slcts li {
  position: relative;
  list-style: none;
  text-align: center;
  margin: 5px;
}
ul.slcts li.aktiv label .box{
	background-color: #000000;
}
ul.slcts li:hover label .box{
	background-color: #000000;
}
ul.slcts li:hover a{
	color: #FFFFFF;
}
ul.slcts li.aktiv a{
	color: #FFFFFF;
}
ul.slcts li a{
	text-decoration: none;
	font-weight: normal;
	font-style: normal;
	color: #000000;
}
ul.slcts li label {
  position: relative;
  cursor: pointer;
}
ul.slcts li label input[type=checkbox] {
  position: absolute;
  opacity: 0;
}
ul.slcts li label :checked ~ .box {
	background-color: #000;
	color: #fff;
}

ul.slcts li label .box {
  background: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
}

ul.slcts li label .box span.title {
	padding: 5px!important;
}
ul.slcts li label .box span.badge {
	padding: 0px!important;
	font-size: 12px;
	font-weight: bold;
}
@media only screen and (max-width: 600px) {
	li.grid-item{
		width:360px;
		position:relative;
		float:left;
		padding:15px
	}
}
@media only screen and (min-width: 601px) and (max-width: 900px)  {
	li.grid-item{
		width:270px;
		position:relative;
		float:left;
		padding:15px
	}
}
@media only screen and (min-width: 901px) and (max-width: 1200px)  {
	li.grid-item{
		width:300px;
		position:relative;
		float:left;
		padding:15px
	}
}
@media only screen and (min-width: 1201px) {
	li.grid-item{
		width:360px;
		position:relative;
		float:left;
		padding:15px
	}
}
.grid-hover{
	position:absolute;
	width:360px;
	height:100%;
	top:0;
	background:#fff;
	z-index:2;
	opacity:0;
	-webkit-transition:all .2s ease-in;
	-moz-transition:all .2s ease-in;
	-ms-transition:all .2s ease-in;
	-o-transition:all .2s ease-in;
	transition:all .2s ease-in
}
.grid-hover h1{
	font-size:23px;
	bottom:80px;
	left:20px;
	position:absolute;
	text-transform:uppercase;
	color:#000;
	letter-spacing:1px;
	font-weight:900;
	line-height:30px;
}
.grid-hover p{
	font-size:13px;
	bottom:40px;
	left:20px;
	position:absolute;
	color:#686868;
	letter-spacing:1px;
	font-weight:400;
	line-height:15px;
}

footer {
	width: 1140px;
	margin-top: 150px;
	margin: 150px auto 0;
	background-color: rgba(255, 255, 255, 0);
}
.content .text-werk h5 {
	margin-top: 25px;
	font-size: 22px;
	font-weight: bold;
}
.content .text-werk p {
	margin-top: 5px!important;
	letter-spacing: 1px;
	width: 100%;
}
.content .text-block {
	width: 1140px;
	margin-top: 50px;
	margin: 150px auto 0;
}

body.template-pt_werk .text-intro h1,  body.template-basic-page .text-intro h1, body.template-text .text-intro h1{
	width: 100%!important;
}

.nav-tree .li-level-1 {
	display: none;
}

.slct.zeit label .box {
	background: #ffffff;
}
.slct.werkgruppe label .box {
	background: #eeeae2;
}
.slct.technik label .box {
	background: #e1e1e0;
}


.querverweise{
	margin-top: 120px!important;
	width: 1170px;
	margin: 150px auto 0;
}
.querverweise h4{
	margin-left: 15px;
}
.querverweise .portfolio-grid {
	margin-top: 10px;
}
.clear {
	float: none;
	clear: left;
}


/* @group masonry filtersystem */

/* sidebar */

.sidebar {
	float: left;
	width: 25%;
	padding-left: 30px;
	border-right: 2px solid #eee;
	box-sizing: border-box;
	margin-right: 3%;
	position: sticky;
	position: -webkit-sticky;
	top: 0;
}

/* shop */

.shop-wrap {
	padding-top: 150px;
	position: relative;
}

.shop-wrap .mobile-menu {
	display: none;
	position: absolute;
	top: 35px;
	right: 35px;
	z-index: 10;
}

.shop-wrap .mobile-menu a {
	display: block;
	width: 32px;
	height: 32px;
	background: url(../images/filters.png) no-repeat center;
}

.shop, .shop li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.shop {
	width: 70%;
	float: left;
	margin-bottom: 120px; 
}


.shop > li {	
	position: relative;
	float: left;
	width: 25%;
	box-sizing: border-box;
	padding: 0 35px 35px 0;
}

.shop li.masonry-sizer {
	height: 0;
	width: 25%;
	padding: 0;
	margin: 0;
}

.shop .thumb {
	position: relative;
	background-color: #222;
}

.shop .thumb img {
	display: block;
	width: 100%;
	height: auto;
}

.shop .thumb:hover img {
	opacity: 0.8;
}

.shop .price {
	position: absolute;
	top: 10px; right: 20px;
	width: 60px;
	height: 60px;
	background-color: #ff7573;
	text-align: center;
	z-index: 10;
	line-height: 60px;
	border-radius: 30px;
}

.shop .price span {
	color: #fff;
	font-weight: bold;
}

.shop .buy { 
	position: absolute;
	bottom: 15px;
	left: 10px;
	z-index: 20;
 }

.shop .buynow {
	color: #fff;
	background: #444;
	padding: 10px 20px;
	line-height: 1;
	text-decoration: none;
	font-size: 13px;
	font-weight: bold;	
}

.shop .name {
	position: absolute;
	bottom: 40px; right: 40px;
	text-align: center;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: bold;
	padding: 10px 20px;
	background-color: rgba(255, 255, 255, 0.77);
}


/* Color Filters */

#uf-color {
	width: 50%;
}

#uf-color .uf-tags a {
	position: relative;
	font: 0/0 a;
	line-height: 0;
	width: 25px;
	height: 25px;
	border: 0;
	border-radius: 20px;
	padding: 0;
	min-width: 0;
	box-sizing: border-box;
}

#uf-color .uf-tags .uf-selected a {
	border-radius: 3px;
}

#uf-color .uf-tags a[href="#yellow"] {
	background: yellow;
}

#uf-color .uf-tags a[href="#black"] {
	background: black;
}

#uf-color .uf-tags a[href="#gold"] {
	background: gold;
}

#uf-color .uf-tags a[href="#cherry"] {
	background: crimson;
}

#uf-color .uf-tags a[href="#brown"] {
	background: brown;
}

#uf-color .uf-tags a[href="#blue"] {
	background: blue;
}

#uf-color .uf-tags a[href="#green"] {
	background: aquamarine;
}

#uf-color .uf-tags a[href="#red"] {
	background: red;
}

#uf-color .uf-tags a[href="#white"] {
	background: whitesmoke;
}

#uf-color .uf-tags a[href="#gray"] {
	background: gray;
}

#uf-color .uf-tags a[href="#pink"] {
	background: pink;
}

#uf-color .uf-reset {
	margin: 3px 0;
}

/**
	Retina Screens 
*/

@media only screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { 
	.shop-wrap .mobile-menu a {
		background: url(../images/filters@2x.png) no-repeat 0 0;
		background-size: 32px 32px;
	}

}

@media only screen and (max-width: 1000px) {
	.sidebar { 
		float: none; 
		width: 100%; 
		padding: 0 50px; 
		border-right: 0; 
	    height: 0; 
	    overflow: hidden;
	}
	
	.sidebar-open {
		margin-bottom: 50px;
	}
	
	.shop { 
		float: none; 
		width: 85%; 
		margin: 0 auto; 
		margin-bottom: 120px; 
	}
	
	.shop-wrap .mobile-menu { 	
		display: block; 
	}
}

@media only screen and (max-width: 750px) {
	.shop > li { 
		float: none; 
		width: 100%; 
	}
}

/* Smaller than Desktop HD */
@media only screen and (max-width: 1200px) {}

/* Smaller than desktop */
@media only screen and  (max-width: 1000px) {}

/* Smaller than tablet */
@media only screen and  (max-width: 750px) {}

/* Smaller than phablet (also point when grid becomes active) */
@media only screen and  (max-width: 550px) {}

/* Smaller than mobile */
@media  only screen and (max-width: 400px) {}

/* @end */