.btn {
	margin: 0 0 5rem;
}

.btn a {
	display: inline-block;
	padding: 1.5rem 4rem;
	text-transform: uppercase;
    font-family: var(--font-family-secondary);
	color: #fff;
	background: var(--color-brand);
}

.btn a:hover {
	background: var(--color-brand-lighter);
}




.contactbox {
	padding: 2rem 0;
	color: #fff;
	font-size: 1.8rem;
	font-family: var(--font-family-secondary);
	background: url("../../img/contactbox-bg.jpg") repeat-y;
	background-size: contain;
}

.contactbox .wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
	padding: 0 3rem;
	max-width: var(--wrapper-width);
}

.contactbox .col {
	width: 33.3334%;
}

.contactbox .col:nth-of-type(1) {
	padding: 0.5rem 1.5% 0.5rem 0;
}

.contactbox .col:nth-of-type(2) {
	padding: 0.5rem 1.5% 0.5rem 4%;
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
}

.contactbox .col:nth-of-type(3) {
	padding: 0.5rem 0 0.5rem 4%;
}

.contactbox p {
	margin: 0;
}

.contactbox .line {
	position: relative;
	display: block;
	margin: 1.5rem 0;
	padding: 0 0 0 3.5rem;
}

.contactbox a {
	color: #fff;
}

.contactbox .icon {
	position: absolute;
	left: 0;
	top: 0.2rem;
	display: block;
}

.contactbox .icon.user {
	width: 1.9rem;
	height: 1.9rem;
	background: url("../../img/sprite.svg") no-repeat 0 -4rem / 30rem 30rem;
}
.contactbox .icon.marker {
	width: 1.7rem;
	height: 2.3rem;
	background: url("../../img/sprite.svg") no-repeat -3rem -4rem / 30rem 30rem;
}
.contactbox .icon.phone {
	width: 1.4rem;
	height: 2.3rem;
	background: url("../../img/sprite.svg") no-repeat -6rem -4rem / 30rem 30rem;
}
.contactbox .icon.mail {
	top: 0.6rem;
	width: 2rem;
	height: 1.5rem;
	background: url("../../img/sprite.svg") no-repeat -9rem -4rem / 30rem 30rem;
}
.contactbox .icon.insta {
	top: 0.3rem;
	width: 1.9rem;
	height: 1.9rem;
	background: url("../../img/sprite.svg") no-repeat -12rem -4rem / 30rem 30rem;
}
.contactbox .icon.web {
	top: 0.3rem;
	width: 1.9rem;
	height: 1.9rem;
	background: url("../../img/sprite.svg") no-repeat -15rem -4rem / 30rem 30rem;
}
.contactbox .icon.facebook {
	top: 0.3rem;
	width: 1.9rem;
	height: 1.9rem;
	background: url("../../img/sprite.svg") no-repeat -18rem -4rem / 30rem 30rem;
}

@media only screen and (max-width: 50em) {
	
	.contactbox {
		font-size: 1.7rem;
	}
}

@media only screen and (max-width: 40em) {
	
	.contactbox {
		padding: 2rem 0 1.2rem;
		font-size: 1.6rem;
	}
	
	.contactbox .col {
		padding: 0 !important;
		width: 100%;
		border: 0 !important;
	}
	
	.contactbox .line {
		margin: 0 0 0.7rem;
	}
}





.team {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 7rem 0 0;
}

.team .ce_image {
	width: 22.5%;
}

.team .ce_image img {
	width: 100%;
}

.team .ce_image figcaption {
	position: relative;
	padding: 1.2rem 3rem;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	background: #fff;
}

.team .ce_image figcaption::before,
.team .ce_image figcaption::after {
	content: "";
	display: block;
	position: absolute;
	width: 2.5rem;
	height: 2.5rem;
	background: url("../../img/sprite.svg") no-repeat -3rem 0 / 30rem 30rem;
}

.team .ce_image figcaption::before {
	left: 0.5rem;
	top: 0.5rem;
	transform: rotate(180deg);
}

.team .ce_image figcaption::after {
	right: 0.5rem;
	bottom: 0.5rem;
}

.team .ce_image figcaption a {
	font-size: 1.6rem;
}

@media only screen and (max-width: 70em) {

	.team .ce_image {
		width: 48%;
	}
	
	.team .ce_image figcaption {
		padding: 2rem 2rem;
		line-height: 1.2;
		font-size: 2.8vw;
	}
	
	.team .ce_image figcaption a {
		font-size: 1.8vw;
	}
}










.services {
	padding: 8rem 0;
	font-size: 1.6rem;
	text-align: center;
	background: #eef0f4;
}

.services .wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.services .col {
	position: relative;
	margin: 0 0 3rem;
	width: 22.5%;
	background: #fff;
}

.services h2 {
	position: relative;
	padding: 1.6rem 3rem;
	color: #fff;
	font-weight: 400;
	font-size: 1.8rem;
	font-family: var(--font-family-secondary);
	background: var(--color-brand);
}

.services h2::before,
.services h2::after {
	content: "";
	display: block;
	position: absolute;
	width: 2.5rem;
	height: 2.5rem;
	background: url("../../img/sprite.svg") no-repeat -17rem 0 / 30rem 30rem;
}

.services h2::before {
	left: 0.5rem;
	top: 0.5rem;
	transform: rotate(180deg);
}

.services h2::after {
	right: 0.5rem;
	bottom: 0.5rem;
}

.services .content {
	position: relative;
	padding: 12rem 5% 1rem;
}

.services .content::before {
	content: "";
	display: block;
	position: absolute;
	top: 1.3rem;
	left: 50%;
	transform: translateX(-50%);
}

.services .col:nth-of-type(1) .content::before {
	width: 5rem;
	height: 8.5rem;
	background: url("../../img/sprite.svg") no-repeat 0 -10rem / 30rem 30rem;
}
.services .col:nth-of-type(2) .content::before {
	top: 3.3rem;
	width: 10rem;
	height: 5.1rem;
	background: url("../../img/sprite.svg") no-repeat -6rem -10rem / 30rem 30rem;
}
.services .col:nth-of-type(3) .content::before {
	top: 3.3rem;
	width: 10rem;
	height: 5.5rem;
	background: url("../../img/sprite.svg") no-repeat -18rem -10rem / 30rem 30rem;
}
.services .col:nth-of-type(4) .content::before {
	width: 6.5rem;
	height: 8.3rem;
	background: url("../../img/sprite.svg") no-repeat 0 -20rem / 30rem 30rem;
}

@media only screen and (max-width: 64em) {

	.services {
		padding: 6rem 0 3rem !important;
	}

	.services .col {
		width: 48%;
	}	
}

@media only screen and (max-width: 42em) {

	.services .col {
		width: 100%;
	}	
}








.partners {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 7rem 0 0;
}

.partners .ce_partner {
	margin: 0 0 3%;
	width: 31.5%;
	border: 1px solid #c6c6c6;
	text-align: center;
}

.partners .ce_partner h2 {
	margin: 0;
	padding: 2rem 1.5rem;
	font-size: 2.4rem;
    font-family: var(--font-family-secondary);
	color: #fff;
	background: var(--color-brand);
}

.partners .ce_partner .content {
	padding: 2rem 5% 0;
}

.partners .ce_partner .image-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 2rem;
	height: 7vw;
}

.partners .ce_partner .image-wrapper img {
	max-height: 100%;
}

@media only screen and (max-width: 65em) {

	.partners {
		margin: 5rem 0 0;
	}

	.partners .ce_partner {
		width: 48%;
	}
}

@media only screen and (max-width: 42em) {

	.partners .ce_partner {
		margin: 0 0 4rem;
		width: 100%;
	}
	
	.partners .ce_partner h2 {
		font-size: 2.1rem;
	}
}






.contact {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 5rem;
}

.contact .left {
	width: 60%;
}

.contact .right {
	width: 20%;
}

.contact .right h3 {
	margin: 0 0 3.5rem;
	font-size: 3rem;
}

@media only screen and (max-width: 85em) {
	
	.contact .right {
		width: 30%;
	}
}

@media only screen and (max-width: 65em) {
	
	.dlh_googlemap {
		padding-bottom: 50% !important;
	}
}

@media only screen and (max-width: 55em) {
	
	.contact {
		margin: -2rem 0 0;
	}
	
	.contact .left {
		margin: 0 0 5rem;
		width: 100%;
	}
	
	.contact .right {
		width: 100%;
	}
	
	.dlh_googlemap {
		padding-bottom: 70% !important;
	}
}










.filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 7rem 0 4rem;
}

.filters .filter {
	margin: 0 1rem 1rem;
	padding: 0.8rem 2.5rem;
	border: 1px solid var(--color-brand);
	color: var(--color-brand);
	font-size: 1.8rem;
	text-transform: uppercase;
    font-family: var(--font-family-secondary);
    cursor: pointer;
    transition: 0.35s all;
}

.filters .filter:hover,
.filters .filter.active {
	color: #fff;
	background: var(--color-brand);
}

.mixitup li {
	display: none;
	position: relative;
	overflow: hidden;
	float: left;
	padding-bottom: 25%;
	width: 25%;
	height: 0;
}

.mixitup img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 180%;
	max-width: none;
}

.mixitup .hochkant img {
	width: 100%;
}
.ce_image a.cboxElement {
	position: relative;
	display: inline-block;
}

a.cboxElement {
	display: block;
}

.ce_image a.cboxElement img {
	display: block;
}

a.cboxElement::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-transition: 0.35s all;-o-transition: 0.35s all;transition: 0.35s all;
	opacity: 0;
	background: var(--color-brand);
}

a.cboxElement::before {
	content: "";
	display: block;
	position: absolute;
	z-index: 10;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-100%);-ms-transform: translate(-50%,-100%);transform: translate(-50%,-100%);
	width: 5.1rem;
	height: 5.3rem;
	-webkit-transition: 0.35s all;-o-transition: 0.35s all;transition: 0.35s all;
	opacity: 0;
	background: url("../../img/sprite.svg") no-repeat -24rem -4rem / 30rem 30rem;
}

a.cboxElement:hover::after {
	opacity: 0.9;
}

a.cboxElement:hover::before {
	opacity: 1;
	-webkit-transform: translate(-50%,-50%);-ms-transform: translate(-50%,-50%);transform: translate(-50%,-50%);
}

#cboxPrevious {
	box-shadow: none;
	border: none;
}

@media only screen and (max-width: 65em) {

	.filters {
		margin-top: 4rem;
	}
}

@media only screen and (max-width: 48em) {
	
	.filters .filter {
		margin: 0 0.5rem 1rem;
		padding: 0.8rem 2rem;
		font-size: 1.6rem;
	}

	.mixitup li {
		padding-bottom: 50%;
		width: 50%;
	}	
}

@media only screen and (max-width: 40em) {

	.filters {
		margin: 4rem 0 2rem;
	}
	
	.filters .filter {
		margin: 0 0.5rem 1rem;
		padding: 0.8rem 1.5rem;
		font-size: 1.5rem;
	}
}