/*
* Customer theme styles
* 2026 Amdre GmbH
* Created by CeLa
*/

/* hind-vadodara-300 - latin */
@font-face {
  font-family: 'Hind Vadodara';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/hind-vadodara-300.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/hind-vadodara-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/hind-vadodara-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/hind-vadodara-300.woff') format('woff'), /* Modern Browsers */
       url('../fonts/hind-vadodara-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/hind-vadodara-300.svg#HindVadodara') format('svg'); /* Legacy iOS */
}

/* hind-vadodara-regular - latin */
@font-face {
  font-family: 'Hind Vadodara';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/hind-vadodara-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/hind-vadodara-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/hind-vadodara-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/hind-vadodara-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/hind-vadodara-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/hind-vadodara-regular.svg#HindVadodara') format('svg'); /* Legacy iOS */
}

/* hind-vadodara-500 - latin */
@font-face {
  font-family: 'Hind Vadodara';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/hind-vadodara-500.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/hind-vadodara-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/hind-vadodara-500.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/hind-vadodara-500.woff') format('woff'), /* Modern Browsers */
       url('../fonts/hind-vadodara-500.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/hind-vadodara-500.svg#HindVadodara') format('svg'); /* Legacy iOS */
}

/* hind-vadodara-600 - latin */
@font-face {
  font-family: 'Hind Vadodara';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/hind-vadodara-600.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/hind-vadodara-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/hind-vadodara-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/hind-vadodara-600.woff') format('woff'), /* Modern Browsers */
       url('../fonts/hind-vadodara-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/hind-vadodara-600.svg#HindVadodara') format('svg'); /* Legacy iOS */
}

/* hind-vadodara-700 - latin */
@font-face {
  font-family: 'Hind Vadodara';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/hind-vadodara-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/hind-vadodara-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/hind-vadodara-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/hind-vadodara-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/hind-vadodara-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/hind-vadodara-700.svg#HindVadodara') format('svg'); /* Legacy iOS */
}


::-webkit-scrollbar {
  width: 9px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background-color: rgba(155, 155, 155, 0.5);
  border: transparent;
}

strong {
	font-weight: 600;
}

/*
* Base styles
*/
html, body {
	height: 100%;
	margin: 0;
	padding: 0;
	font-family: 'Hind Vadodara';
	font-style: normal;
	font-weight: 300;
	font-size: 1.125rem;
}

/*
 * Seperator lines
 */
.seperate-right,
.seperate-left {
	position: relative;
}
.seperate-right:after,
.seperate-left:after {
	content: '';
	display: block;
	height: 1px;
	background-color: #000;
	
	position: absolute;
	left: 0;
	bottom: 0;
	right: 0;
}
@media (min-width: 1140px){
	.seperate-right:after {
		margin-left: calc(50% - (1290px/2));
	}
	.seperate-left:after {
		margin-right: calc(50% - (1290px/2));
	}
}
/* --- */
.seperate-top-right {
	position: relative;
	z-index: 99;
}
.seperate-top-right:before,
.seperate-top-left:before {
	content: '';
	display: block;
	height: 1px;
	background-color: #000;
	
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	z-index: 101;
}
@media (min-width: 1140px){
	.seperate-top-right:before {
		margin-left: calc(50% - (1290px/2));
	}
	.seperate-top-left:before {
		margin-right: calc(50% - (1290px/2));
	}
}



/* Offcanvas */
@media (min-width: 992px) {
	#offcanvas-toggler {
		display: none !important;
	}
}
@media (max-width: 991px){
	#offcanvas-toggler {
		margin-top: 20px;
	}
}
/* Main template styles */
@media (min-width: 1200px) {
	.container,
	.sppb-row-container {
		max-width: 1400px !important;
	}
}

/*
* Preloader
*/
.sp-loader-with-logo {
	background-image: url(../images/ocl-symbole.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 60px 60px;
}
.sp-pre-loader .sp-loader-with-logo .logo img {
	display: none;
}

/*
 * Header
 */
body.homepage #sp-header.custom-header {
	position: fixed;
}
#sp-header.custom-header {
	background-color: rgba(255,255,255,0.5) !important;
	box-shadow: none;
}
@media(max-width: 991px){
	#sp-header.custom-header {
		min-height: 100px;
	}
	#sp-header.custom-header #sp-logo {
		margin-top: 15px;
		padding-left: 0;
		max-height: 75px;
	}
	#sp-header.custom-header #sp-logo .logo {
		height: inherit !important;
	}
	#sp-header.custom-header #sp-logo .logo img.logo-image {
		max-height: 100% !important;
		width: auto !important;
		height: 70px;
	}
}

/*
 * Navbar
 */
#sp-menu ul.sp-megamenu-parent > li > a {
	font-size: 1.125rem;
	font-weight: 300;
}
#sp-menu ul.sp-megamenu-parent > li:first-child {
	display: none;
}
#sp-menu ul.sp-megamenu-parent > li > a,
#sp-menu ul.sp-megamenu-parent > li > a:visited {
	color: #000;
}
#sp-menu ul.sp-megamenu-parent > li > a:hover,
#sp-menu ul.sp-megamenu-parent > li > a:active,
#sp-menu ul.sp-megamenu-parent > li > a:focus {
	color: #000;
}
#sp-header .sp-megamenu-parent > li:not(:nth-child(2)):before {
	content: '|';
	font-size: 1.125rem;
}
#sp-header .sp-megamenu-parent > li.active > a {
	font-weight: 600;
}
#sp-header .sp-megamenu-parent > li.active > a.ocl-about-link {
	color: #b52728;
}
#sp-header .sp-megamenu-parent > li.active > a.ocl-project-link {
	color: #316cb6;
}
#sp-header .sp-megamenu-parent > li.active > a.ocl-competence-link {
	color: #f9c82c;
}
.offcanvas-overlay {
	position: fixed !important;
}
#sp-header .sp-megamenu-parent > li.sp-has-child a:after {
	display: none;
}
#sp-header .sp-megamenu-parent > li > .sp-dropdown {
	margin-top: -20px;
}


/*
* Navbar search
*/
a#toggle-search {
	margin-left: 15px;
	color: #000;
}
a#toggle-search:hover {
	color: #fec700;
}
/* search */
#ocl-search:not(.show) {
	opacity: 0;
}
#ocl-search.show {
	opacity: 1;
}
#ocl-search {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	margin-top: 12px;
	width: 240px;
	transition: opacity 0.25s ease-in-out;
	border: 1px solid #000;
}
#ocl-search:after {
	content: none;
}
#ocl-search input {
	background: #fff;
	border: none;
	height: 40px;
	font-size: 16px;
	border-radius: 0;
	padding: 8px 16px;
}

.mod-finder {
	position: relative;
}
.mod-finder label.finder {
	position: static !important;
	display: block;
	width: auto !important;
	height: auto !important;
	margin: 0;
	cursor: pointer;
	font-size: 0;
}
.mod-finder label.finder:before {
	content: '\f002';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	font-style: normal;
	font-variant: normal;
	line-height: 1;
	text-rendering: auto;
	font-size: 1.125rem;
}
.mod-finder .awesomplete {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	margin-top: 12px;
	width: 240px;
	transition: opacity 0.25s ease-in-out;
	border: 1px solid #000;
	background-color: #fff;
	z-index: 1005;
}
.mod-finder:not(.show) .awesomplete {
	opacity: 0;
}
.mod-finder.show .awesomplete {
	opacity: 1;
}
.mod-finder .awesomplete .form-control {
	border: 0;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;
}

/* 
 * Footer styles 
 */
/* --- */
.networks {
	font-size: 1.125rem;
}
ul.social-links {
	display: inline-block;
	margin: 0 0 0 6px;
	padding: 0;
	list-style: none;
}
ul.social-links li {
	display: inline-flex;
}
ul.social-links li > a {
	display: block;
	width: 24px;
	height: 24px;
	line-height: 24px;
	margin: 03px;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	border-radius: 12px;
	text-align: center;
	font-size: 0.875rem;
}
ul.social-links li > a,
ul.social-links li > a:visited {
	background-color: rgba(255,255,255,0.75);
	color: rgba(0,0,0,0.75) !important;
}
ul.social-links li > a:hover,
ul.social-links li > a:active,
ul.social-links li > a:focus {
	background-color: rgba(255,255,255,1);
	color: rgba(0,0,0,1) !important;
}


@media(max-width: 991px){
	.networks,
	.navbar-rights {
		text-align: center;
	}
	.navbar-rights {
		transform: translateY(calc(100% + 10px));
	}
	.sp-copyright {
		display: block;
		text-align: center;
		transform: translateY(-100%);
	}
}
@media(min-width: 992px){
	.navbar-rights {
		text-align: right;
	}	
}
.navbar-rights ul.menu li {
	line-height: 1;
}
.navbar-rights ul.menu li:not(:first-child) {
	padding-left: 16px;
	border-left: 1px solid #a2a2a2;
}
.navbar-rights ul.menu li a {
	font-size: 1.125rem;
}
/* ----- */
#sp-footer .container-inner {
	padding-top: 50px;
	padding-bottom: 50px;
	border-top: 0;
}
body:not(.homepage) #sp-footer > div > .container-inner {
	position: relative;
	z-index: 100;
}
@media (min-width: 992px){
	body:not(.homepage) #sp-footer > div > .container-inner {
		padding-right: 320px;
	}
}
body:not(.homepage) #sp-footer > div > .container-inner > .row {
	position: relative;	
	z-index: 101;
}
@media (min-width: 992px){
	body:not(.homepage) #sp-footer #sp-footer1 {
		min-height: 260px;
	}
	body:not(.homepage) #sp-footer #sp-footer1 > div,
	body:not(.homepage) #sp-footer #sp-footer1 > div > div,
	body:not(.homepage) #sp-footer #sp-footer1 > div > div > div,
	body:not(.homepage) #sp-footer #sp-footer1 > div > div > div > div,
	body:not(.homepage) #sp-footer #sp-footer1 > div > div > div > div > div,
	body:not(.homepage) #sp-footer #sp-footer1 > div > div > div > div > div > div {
		height: 100%;
	}
	body:not(.homepage) .main-footer-section > div,
	body:not(.homepage) .main-footer-section > div > div {
		height: 100%;
	}
	body:not(.homepage) .main-footer-section > div > div > div > div > div {
		display: flex;
		flex-direction: column;
	}
	body:not(.homepage) .main-footer-section > div > div > div:nth-child(1) > div > div {
		justify-content: end;
		padding-bottom: 5px;
	}
	body:not(.homepage) .main-footer-section > div > div > div:nth-child(2) > div > div {
		padding-top: 50px;
		padding-right: 20px;
		align-items: end;
	}
}
body:not(.homepage) #sp-footer > div > .container-inner:after {
	content: '';
	display: block;
	position: absolute;
	background-image: url('../images/ocl-symbole.png');
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 99;
}
@media (max-width: 768px){
	body:not(.homepage) #sp-footer > div > .container-inner:after {
		left: 50%;
		top:0;
		height: 50px;
		width: 50px;
		transform: translate(-50%, -50%);
		background-position: 50% 50%;
	}
}
@media (min-width: 768px) and (max-width: 991px){
	body:not(.homepage) #sp-footer > div > .container-inner:after {
		left: 0;
		top: 50%;
		height: 50px;
		width: 50px;
		transform: translateY(-50%);
		background-position: 50% 50%;
	}
}
@media (min-width: 992px){
	body:not(.homepage) #sp-footer > div > .container-inner:after {
		right: 0;
		bottom: 0;
		height: 435px;
		width: 435px;
		background-position: 50% 45px;
	}
	/*
	#sp-footer > div > .container-inner {
		display: flex;
	}
	#sp-footer > div > .container-inner > .row {
		flex: 1;
	}
	#sp-footer > div > .container-inner > .row #sp-footer1  {
		display: flex;
		flex: 1;
		align-items: flex-end;
	}
	*/
}



/*
 * Main Carousel
 */
.ocl-carousel-section {
}
.ocl-carousel {
	height: 100vh;
}
.ocl-carousel:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	height: 50px;
	width: 220px;
	background-image: url(../images/by-oliver-christen.png);
	background-repeat: no-repeat;
	background-size: 200px auto;
	background-position: 10px 2px;
	background-color: #000;
	z-index: 102;
	
	transform-origin: top right;
	transform: rotate(90deg) translateX(50%);
}
@media (max-width: 575px) {
	.ocl-carousel:after {
		height: 34px;
		width: 180px;
		background-size: 170px auto;
		background-position: 6px -3px;
	}
}
.ocl-carousel .sppb-carousel-extended-list,
.ocl-carousel .sppb-carousel-extended-list .sppb-carousel-extended-outer-stage {
	height: 100% !important;
	min-height: 800px !important;
}
.ocl-carousel .sppb-carousel-extended-item img {
	object-fit: cover;
	object-position: 0% bottom !important;
	width: 100%;
	height: 100%;
	min-height: 800px;
	border-radius: 0 !important;
}
.ocl-carousel .sppb-carousel-extended-item .sppb-carousel-extended-content-wrap {
	align-items: start;
	justify-content: end;
}
.ocl-carousel .sppb-carousel-extended-item .sppb-carousel-extended-heading {
	font-weight: 300;
	font-size: 1.125rem;
}
.ocl-carousel .sppb-carousel-extended-nav-control .prev-control {
	margin-left: 15px;
}
.ocl-carousel .sppb-carousel-extended-nav-control .next-control {
	margin-right: 15px;
}
.ocl-carousel .sppb-carousel-extended-dots {
	bottom: 30px;
}


/*
 * About us page styles
 */
 
/* Team photo */
.ocl-light-image:after,
.ocl-team-image:after {
	content: '';
	position: absolute;
	background-image: url(../images/by-oliver-christen.png);
	background-repeat: no-repeat;
	background-position: 10px 8px;
	background-color: #000;
	z-index: 102;
}
/*
* Team
*/
.ocl-light-image,
.ocl-team-image {
	position: relative;
	z-index: 100;
}
@media (min-width: 992px){
	.ocl-light-image,
	.ocl-team-image {
		margin-right: 50px;
	}
}
@media (max-width: 575px){
	.ocl-light-image:after,
	.ocl-team-image:after {
		width: 190px;
		height: 40px;
		background-size: 170px auto;
		background-position: 50% 25%;
	}
}
@media (min-width: 576px) and (max-width: 767px){
	.ocl-light-image:after,
	.ocl-team-image:after {
		width: 220px;
		height: 50px;
		background-size: 200px auto;
	}
}
@media (min-width: 768px){
	.ocl-light-image:after,
	.ocl-team-image:after {
		width: 220px;
		height: 50px;
		background-size: 200px auto;
	}
}
@media (min-width: 992px){
	.ocl-light-image:after,
	.ocl-team-image:after {
		top: 85px;
		right: -135px;
		background-size: 200px auto;
		transform: rotate(90deg);
	}
}
/* Contact bar */
.ocl-contact-list {
}
@media (max-width: 575px){
	.ocl-contact-list {
		padding-left: 197px;
	}
}
@media (min-width: 481px) and (max-width: 991px){
	.ocl-contact-list {
		padding-left: 200px;
	}
}
@media (min-width: 992px){
	.ocl-contact-list {
		position: absolute;
		right: 0;
		top: 232px;
	}
}
.ocl-contact-list ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
@media (max-width: 991px){
	.ocl-contact-list ul {
		display: flex;
	}
	.ocl-contact-list ul li {
		margin-right: 3px;
		margin-left: 3px;
	}
	.ocl-contact-list ul li:first-child {
		margin-left: 0;
	}
}
@media (min-width: 992px){
	.ocl-contact-list ul li {
		margin-top: 3px;
		margin-bottom: 3px;
	}
	.ocl-contact-list ul li:first-child {
		margin-top: 0;
	}
}
.ocl-contact-list ul li a {
	display: block;
	text-align: center;
	color: #fff;
}
@media (max-width: 575px){
	.ocl-contact-list ul li a {
		width: 40px;
		height: 40px;
		line-height: 40px;
	}
}
@media (min-width: 576px){
	.ocl-contact-list ul li a {
		width: 50px;
		height: 50px;
		line-height: 50px;
	}
}
[class^='ico-'],
[class^='icon-'] {
	background-repeat: no-repeat;
	background-position: center;
	background-size: 60% 60%;
	font-size: 0;
	line-height: 999;
}
.ocl-contact-nav {
	position: absolute;
	bottom: 0;
	right: 37px;
	transform: translateY(100%);
	z-index: 101;
}
ul.ocl-jobs-contact {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
}
ul.ocl-jobs-contact li {
	margin-right: 3px;
	margin-left: 3px;
}
ul.ocl-jobs-contact li:first-child {
	margin-left: 0;
}
ul.ocl-jobs-contact li a {
	display: block;
	height: 50px;
	line-height: 50px;
	text-align: center;
	color: #fff;
}
ul.ocl-jobs-contact li:not(.dyn-width) a {
	width: 50px;
}

ul.ocl-jobs-contact li a.ico-mail,
ul.icon-navbar li a.icon-mail,
.ocl-contact-list ul li a.icon-mail {
	background-color: #b71923;
	background-image: url('../images/icon-mail.png');
}
ul.ocl-jobs-contact li a.ico-mail:hover,
ul.icon-navbar li a.icon-mail:hover,
.ocl-contact-list ul li a.icon-mail:hover {
	background-color: #ca2c36;	
}
ul.ocl-jobs-contact li a.ico-phone,
ul.icon-navbar li a.icon-phone,
.ocl-contact-list ul li a.icon-phone {
	background-color: #fdc300;
	background-image: url('../images/icon-phone.png');
}
ul.ocl-jobs-contact li a.ico-phone:hover,
ul.icon-navbar li a.icon-phone:hover,
.ocl-contact-list ul li a.icon-phone:hover {
	background-color: #ffd854;
}
ul.ocl-jobs-contact li a.ico-map,
ul.icon-navbar li a.icon-map,
.ocl-contact-list ul li a.icon-map {
	background-color: #1d71b8;
	background-image: url('../images/icon-map.png');
}
ul.ocl-jobs-contact li a.ico-map:hover,
ul.icon-navbar li a.icon-map:hover,
.ocl-contact-list ul li a.icon-map:hover {
	background-color: #2d83cb;
}
ul.ocl-jobs-contact li a.ico-hand,
ul.icon-navbar li a.icon-hand,
.ocl-contact-list ul li a.icon-hand {
	background-color: #fdc300;
	background-image: url('../images/icon-hand.png');
}
ul.ocl-jobs-contact li a.ico-hand:hover,
ul.icon-navbar li a.icon-hand:hover,
.ocl-contact-list ul li a.icon-hand:hover {
	background-color: #ffd854;
}
ul.ocl-jobs-contact li a.ico-hand-left,
ul.icon-navbar li a.icon-hand-left,
.ocl-contact-list ul li a.icon-hand-left {
	background-color: #fdc300;
	background-image: url('../images/icon-hand-left.png');
}
ul.ocl-jobs-contact li a.ico-hand-left:hover,
ul.icon-navbar li a.icon-hand-left:hover,
.ocl-contact-list ul li a.icon-hand-left:hover {
	background-color: #ffd854;
}
ul.icon-navbar li a.icon-return,
.ocl-contact-list ul li a.icon-return {
	background-color: #000000;
	background-image: url('../images/icon-hand-light.png');
}
ul.icon-navbar li a.icon-return:hover,
.ocl-contact-list ul li a.icon-return:hover {
	background-color: #666666;
}

@media (max-width: 575px){
	.ocl-content-claim {
		padding-bottom: 100%;
	}
	.ocl-base-content .sppb-row-container .sppb-row div .sppb-column {
		background-size: 75% auto !important;
	}
}
@media (min-width: 576px) and (max-width: 767px){
	.ocl-content-claim {
		padding-bottom: 100%;
	}
	.ocl-base-content .sppb-row-container .sppb-row div .sppb-column {
		background-size: 75% auto !important;
	}
}
@media (min-width: 768px) and (max-width: 991px){
	.ocl-content-claim {
		padding-right: 40%;
		padding-bottom: 45%;
	}
	.ocl-base-content .sppb-row-container .sppb-row div .sppb-column {
		background-size: 50% auto !important;
	}
}
@media (min-width: 992px){
	.ocl-content-claim {
		padding-right: 350px;
		padding-bottom: 60px;
	}
	.ocl-content-claim .sppb-addon-content {
		text-align: right;
	}
}

/* Members */
.ocl-member {
	position: relative;
	z-index: 95;
}
.ocl-members .sppb-addon-person {
	-webkit-box-shadow: 5px 5px 8px 0px rgba(0,0,0,0.3);
	-moz-box-shadow: 5px 5px 8px 0px rgba(0,0,0,0.3);
	box-shadow: 5px 5px 8px 0px rgba(0,0,0,0.3);
}
.ocl-members .sppb-addon-content .sppb-person-info-outer {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 15px 50px 0px 50px;
	color: #fff;
	opacity: 0;
	z-index: 105;
	transition: opacity ease-in-out .25s;
}
.ocl-members .ocl-member:hover .sppb-person-info-outer {
	opacity: 1;
}
.ocl-members .ocl-member:before {
	content: '';
	position: absolute;
	height: 100%;
	width: 100%;
	background-color: rgba(0,0,0,0);
	transition: background ease-in-out .25s;
	z-index: 102;
}
.ocl-members .ocl-member:hover:before {
	background-color: rgba(0,0,0,.5);	
}
.ocl-member .sppb-person-contact a {
	display: inline-block;
	margin-right: 3px;
	margin-left: 3px;
	height: 50px;
	width: 50px;
	font-size: 0px;
	line-height: 999;
	
	background-repeat: no-repeat;
	background-position: center;
	background-size: 60% 60%;
}
.ocl-member .sppb-person-contact a.sppb-person-email {
	background-color: #b71923;
	background-image: url('../images/icon-mail.png');
}
.ocl-member .sppb-person-contact a.sppb-person-email:hover {
	background-color: #ca2c36;	
}
.ocl-member .sppb-person-contact a.sppb-person-phone {
	background-color: #fdc300;
	background-image: url('../images/icon-phone.png');
}
.ocl-member .sppb-person-contact a.sppb-person-phone:hover {
	background-color: #ffd854;
}
.ocl-member .sppb-person-contact a.sppb-person-link {
	background-color: #1d71b8;
	background-image: url('../images/icon-hand.png');
}
.ocl-member .sppb-person-contact a.sppb-person-link:hover {
	background-color: #2d83cb;
}
/*
.ocl-member .person-content-hover-content-wrap {
	justify-content: flex-end !important;
	padding-right: 60px !important;
	padding-bottom: 0px !important;
	padding-top: 15px;
	padding-left: 60px !important;
	text-align: left !important;
}
.sppb-addon-person .sppb-addon-content .sppb-person-image {
	position: relative;
	z-index: 50;
	margin-bottom: 0;
}
.sppb-addon-person .sppb-addon-content .sppb-person-image {
	display: block;
}
.sppb-addon-person .sppb-addon-content .sppb-person-image > a:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 51;
	background-color: rgba(0,0,0,0.5);
	opacity: 0;
	transition: opacity .25s ease-in-out;
}
.sppb-addon-person .sppb-addon-content:hover .sppb-person-image > a:before {
	opacity: 1;
}
.sppb-addon-person .sppb-addon-content .person-content-show-on-hover {
	top: auto;
	bottom: 0;
	height: auto;
	z-index: 101;
}
.ocl-member .sppb-person-name {
	font-weight: 700;
}
.ocl-member .sppb-person-info-outer {
}
.ocl-member-vita .sppb-addon-content {
	max-height: 465px;
	overflow-y: scroll !important;
	overflow-x: hidden;
	scrollbar-width: thin;
}
*/



/*
* Jobs section
*/
.oc-jobs-header {}
.oc-jobs-header .sppb-addon-content .sppb-addon-single-image-container {
	position: relative;
	min-height: 600px;
	width: 100%;
	z-index: 99;
}
.oc-jobs-header .sppb-addon-content .sppb-addon-single-image-container img {
	position: absolute; 
	width: 100%; 
	height: 100%; 
	left: 0; 
	right: 0; 
	top: 0; 
	bottom: 0; 
	object-fit: cover;
	z-index: 101;
}
/* --- */
.ocl-job-outer {}
.ocl-job-outer:after {
	content: '';
	display: block;
	height: 1px;
	background-color: #000;
}
.ocl-job-outer:after {
	position: relative;
	right: 226px;
}
.ocl-job-outer:before {
	content: '';
	position: absolute;
	right: calc(50vw - (1310px/2));
	bottom: -21px;
	width: 320px;
	height: 410px;
	background-image: url('../images/jobs-silhouette.png');
	background-repeat: no-repeat;
	background-size: 100%;
}
@media (max-width: 1323px){
	.ocl-job-outer:before {
		right: 0;
	}
}
@media (min-width: 1324px){
	.ocl-job-outer:before {
		right: calc(50vw - (1310px/2));
	}
	.ocl-job-outer:after {
		position: relative;
		right: 226px;
		margin-right: calc(50vw - (1310px/2));
	}
}


@media (min-width: 992px){
	.ocl-job-outer > .sppb-row-container > .sppb-row {
		margin-right: 25%;
	}
}
.ocl-jobs {
	position: relative;
	z-index: 99;
}
@media (min-width: 992px){
	.ocl-jobs {
		background-color: #000;
	}
	.ocl-jobs:after {
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		width: 50%;
		height: 100%;
		background-color: #fff;
		z-index: 100;
	}
}
.ocl-jobs > .sppb-row-container {
	z-index: 101;
}
.ocl-jobs .ocl-jobs-textblock .sppb-column-addons {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
}
@media (max-width: 991px){
	.ocl-jobs-textblock {
		background-color: #000;
	}
}
.ocl-jobs-text {
	text-align: right;
}
@media (max-width: 575px){
	.ocl-jobs-text {
		font-size: 0.875rem !important;
	}
	.ocl-jobs-text .sppb-addon-title {
		font-size: 1.5rem !important;
	}
}
.ocl-jobs-text a,
.ocl-jobs-text a:hover {
	text-decoration: none !important;
}
.ocl-jobs-text strong {}
a.btn-link em {
	font-style: normal !important;
	font-weight: 700 !important;
}
.ocl-jobs-text a.btn-link {
	font-weight: 600;
	font-size: 1.25rem;
}
/* Text format */
.ocl-jobs-text .sppb-addon-title {
	font-size: 2.4rem;
}
.ocl-jobs-text .sppb-addon-title .text-a,
.ocl-jobs-text .sppb-addon-title .text-b {
	display: inline-block !important;
}
@media (min-width: 576px) {
	.ocl-jobs-text .sppb-addon-title .text-b {
		margin-right: 45px;
	}
	.ocl-jobs-text .text-c {
		margin-bottom: 0;
		margin-right: 10px;
	}
	.ocl-jobs-text .btn-link {
		margin-right: 150px;
	}
}
/*  Job team image */
.ocl-claim {
	position: absolute;
	top: 100px;
	right: -150px;
	transform: rotate(90deg);
	padding-right: 40px;
	line-height: 40px;
	font-size: 1.25rem;
	background-image: url(../images/ocl-symbole-alt.png);
	background-repeat: no-repeat;
	background-position: 100% 50%;
	background-size: auto 80%;
}

/* Owl carousel */
.owl-custimzed {}
.owl-custimzed .owl-stage-outer .owl-stage {}
.owl-custimzed .owl-stage-outer .owl-stage .owl-item {
	position: relative;
	height: 100%;
	aspect-ratio: 1/1;
	z-index: 95;
}
.owl-custimzed .owl-stage-outer .owl-stage .owl-item figure.image {
	height: 100%;
	overflow: hidden;
}
.owl-custimzed .owl-stage-outer .owl-stage .owl-item figure.image img {
	object-fit: cover;
	object-position: center !important;
	width: 100%;
	height: 100%;
}
.owl-custimzed .owl-stage-outer .owl-stage .owl-item figure.image a:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.1);
	transition: background ease-in-out .25s;
	z-index: 102;
}
.owl-custimzed .owl-stage-outer .owl-stage .owl-item:hover figure.image a:after {
	background-color: rgba(0,0,0,0);
}
.owl-custimzed .owl-stage-outer .owl-stage .owl-item figure.image figcaption {
	position: absolute;
	top: 15px;
	left: 15px;
	right: 15px;
	z-index: 106;
	color: #fff;
}
.owl-custimzed .owl-stage-outer .owl-stage .owl-item figure.image figcaption h4 {
	font-size: 1.125rem;
	font-weight: 300;
}
.owl-custimzed .owl-stage-outer .owl-stage .owl-item figure.image figcaption h4 strong {
	font-weight: 800;
}
/* Owl nav */
.owl-custimzed .owl-nav {
	display: block !important;
}
.owl-custimzed .owl-nav {}
.owl-custimzed .owl-nav .owl-prev,
.owl-custimzed .owl-nav .owl-next {
	position: absolute;
	top: 50%;
	width: 32px;
	line-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 0;
	transform: translateY(-50%);
	color: #000;
	font-size: 2.5rem !important;
	font-weight: 700 !important;
	z-index: 105;
	transition: color 0.25s linear;
}
@media (max-width: 1336px){
	.owl-custimzed .owl-nav .owl-prev {
		left: 15px;
	}
	.owl-custimzed .owl-nav .owl-next {
		right: 15px;
	}
	.owl-custimzed .owl-nav .owl-prev,
	.owl-custimzed .owl-nav .owl-next {
		color: #fff;
	}
}
@media (min-width: 1340px){
	.owl-custimzed .owl-nav .owl-prev {
		left: -45px;
	}
	.owl-custimzed .owl-nav .owl-next {
		right: -50px;
	}
}
.owl-custimzed .owl-nav .owl-prev:hover,
.owl-custimzed .owl-nav .owl-next:hover {
	background-color: transparent !important;
	color: #1d70b8;
}


/*
 *
 * Lights page
 *
 */
[class*='before-icon']:before {
	content: '';
	position: absolute;
	width: 86px;
	height: 86px;
	right: 0;
	top: 0;
	border: 14px solid #fff;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	transform: translate(50%, -50%);
	background-color: #fff;
	background-repeat: no-repeat;
	background-size: 96%;
	background-position: center;
	z-index: 100;
}
.before-icon-house:before {
	background-image: url('../images/ocl-aussenbeleuchtung.png');
}
.before-icon-house-alt:before {
	background-image: url('../images/ocl-innenbeleuchtung.png');
}
.before-icon-params:before {
	background-image: url('../images/ocl-dynamisches-licht.png');
}
.before-icon-bulb:before {
	background-image: url('../images/ocl-sanierung.png');
}
.before-icon-pencil:before {
	background-image: url('../images/ocl-entwicklung.png');
}
.before-icon-flash:before {
	background-image: url('../images/ocl-elektrofachplanung.png');
}


/*
* Blog styles
*/
.blog {
	margin: 0 auto;
	max-width: 1300px;
}

.article-details {
	margin: 0 auto;
	max-width: 1300px;
}
@media (max-width: 1299px){
	.blog,	
	.article-details {
		padding-right: 30px !important;
		padding-left: 30px !important;
	}
}

/*
* OCL Blog style
*/
.article-return {
	position: relative;
	border-top: 1px solid #000;
	padding-right: 0px;
	padding-left: 0px;
	margin-bottom: 90px;
}
@media (min-width: 1290px){
	.article-return {
		margin-right: calc(50% - 645px);
	}
}
.article-return > a {
	position: absolute;
	right: 0;
	display: inline-block;
	padding: 8px 20px 8px 54px;
	background-color: #000;
	color: #fff;
}
.article-return > a:before {
	content: '';
	position: absolute;
	left: 10px;
	top: 50%;
	width: 36px;
	height: 36px;
	transform: translateY(-50%);
	background-image: url(../images/icon-hand-light.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}


.blog {
	position: relative;
	padding-top: 75px;
	z-index: 98;
}
.blog:before {
	content: '';
	position: absolute;
	top: 0;
	width: 1px;
	height: 100%;
	background-color: #000;
	z-index: 99;
}
.blog:after {
	content: 'Aktuelles';
	position: absolute;
	top: 0;
	padding: 6px 15px;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 1.5rem;
	color: #fff;
	background-color: #000;
}
@media (max-width: 767px){
	.blog:before {
		left: 30px;
	}
	.blog:after {
		left: 30px;
		transform: translateY(-100%);
	}
}
@media (min-width: 768px){
	.blog:before {
		left: 50%;
	}
	.blog:after {
		left: 50%;
		transform: translate(-50%, -100%);
	}
}
.blog .article-list .row > div .article {
	position: relative;
	border-color: #000;
	
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;
}
.blog .article-list .row > div .article:before {
	content: '';
	position: absolute;
	top: 50px;
	width: 36px;
	height: 36px;
	border: 1px solid #000;
	background-color: #fff;
	z-index: 101;
	
	-webkit-border-radius: 18px;
	-moz-border-radius: 18px;
	border-radius: 18px;
}
.blog .article-list .row > div .article:after {
	content: '';
	position: absolute;
	top: 67px;
	width: 75px;
	height: 1px;
	background-color: #000;
}
@media (max-width: 575px){
	.blog .article-list .row > div .article {
		font-size: 0.85rem;
	}
}
@media (max-width: 767px){
	.blog .article-list .row > div .article {
		margin-left: 75px;
		font-size: 0.85rem;
	}
	.blog .article-list .row > div:not(:first-child) .article {
		margin-top: 60px;
	}
	.blog .article-list .row > div .article:before {
		left: -75px;
		transform: translateX(-50%);
	}
	.blog .article-list .row > div .article:after {
		left: -75px;
	}
}
@media (min-width: 768px){
	.blog .article-list .row > div:not(:first-child) .article {
		margin-top: -100px;
	}
	.blog .article-list .row > div.article {
		margin-right: calc(50% + 75px);
	}
	.blog .article-list .row > div.article:before {
		right: -77px;
		transform: translateX(50%);
	}
	.blog .article-list .row > div.article:after {
		right: -75px;
	}
	.blog .article-list .row > div:nth-child(odd) .article {
		margin-right: calc(50% + 60px);
	}
	.blog .article-list .row > div:nth-child(odd) .article:before {
		right: -77px;
		transform: translateX(50%);
	}
	.blog .article-list .row > div:nth-child(odd) .article:after {
		right: -75px;
	}
	.blog .article-list .row > div:nth-child(even) .article {
		transform: translateX(calc(100% + 152px));
		z-index: 1005;
	}
	.blog .article-list .row > div:nth-child(even) .article:before {
		left:  -76px;
		transform: translateX(-50%);
	}
	.blog .article-list .row > div:nth-child(even) .article:after {
		left: -75px;
	}
}

.blog .article-list .row > div .article .article-info {
	top: 0;
	position: absolute;
	padding: 10px 15px !important;
	background-color: #000;
	color: #fff;
	transform: translateY(-50%);
	font-weight: 600;
	font-size: 1.125rem;
}

.blog .article-list .row > div .article .readmore > a {
	display: block;
	line-height: 999;
	font-size: 0;
	height: 50px;
	width: 50px;
	background-color: #fdc300;
	background-image: url(../images/icon-hand-right.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 80%;
	overflow: hidden;
}

.blog .pagination-wrapper {
	margin-top: 60px;
}
@media (max-width: 767px){
	.blog .pagination-wrapper {
		margin-left: 30px;
	}
}
.page-item:first-child .page-link,
.page-item:last-child .page-link {
	border-radius: 0;
}
.pagination > .active > a:hover, 
.pagination > .active > a:focus, 
.pagination > .active > span:hover, 
.pagination > .active > span:focus {
	border-color: #1d70b8;
	background-color: #1d70b8;
}
/*
* Blog article details
*/
.layout-blog .article-body-outer {
	box-sizing: border-box;
}
@media (min-width: 992px){
	.layout-blog .article-body-outer {
		display: flex;
	}
	.layout-blog .article-body-outer .article-image-outer {
		flex: 1;
	}
	.layout-blog .article-body-outer .article-body {
		padding-left: 30px;
		flex: 1;
	}
}
.article-details .article-full-image {
	text-align: center;
}
.article-details .article-full-image img {
	object-fit: cover;
	object-position: 0% center !important;
	width: 100%;
	height: auto;
}
/* Pagination */
.blog .pagination-wrapper {
	margin-top: 60px;
}
@media (max-width: 767px){
	.blog .pagination-wrapper {
		margin-left: 30px;
	}
}
.page-item:first-child .page-link,
.page-item:last-child .page-link {
	border-radius: 0;
}
.pagination > .active > a:hover, 
.pagination > .active > a:focus, 
.pagination > .active > span:hover, 
.pagination > .active > span:focus {
	border-color: #1d70b8;
	background-color: #1d70b8;
}


/*
 * Projects list styles
 */
body.projects-page #sp-main-body {
	padding: 0;
}
body.projects-page #sp-main-body > .container {
	max-width: 100% !important;
	padding: 0;
	margin: 0;
}


/* Projects navbar */
.ocl-article-list {
	padding: 15px 0 15px 0;
	margin-bottom: 3px;
	background-color: #000;
	color: #fff;
}
.ocl-article-list > ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.ocl-article-list ul {
	list-style: none;
}
.ocl-article-list ul li a {
	position: relative;
	color: #fff;
	z-index: 99;
}
.ocl-article-list ul li a:hover {
	color: #ddd;
}
@media (max-width: 991px){
	.ocl-article-list {
		padding: 30px 60px;
		margin-bottom: 3px;
		background-color: #000;
		color: #fff;
	}
	.ocl-article-list ul {
		display: block;
		width: 100%;
	}
	.ocl-article-list ul li a {
		display: block;
	}
	.ocl-article-list > ul > li > a {
		font-weight: 600;
	}
	.ocl-article-list > ul > li > a:after {
		content: '\002B';
		position: absolute;
		right: 0;
		top: 0;
		width: 24px;
		height: 24px;
		line-height: 24px;
		cursor: poiner;
		text-align: center;
		font-weight: 600;
		z-index: 101;
		background-color: #666;
		/*
		-webkit-border-radius: 3px;
		-moz-border-radius: 3px;
		border-radius: 3px;	
		*/
	}
	.ocl-article-list > ul > li > a span.catTitle {
		display: block;
		margin-right: 32px;
	}
	.ocl-article-list > ul > li > ul {
		margin: 0 0 15px 6px;
		padding: 0;
		display: none;
	}
	.ocl-article-list > ul > li.active > ul {
		display: block;
	}
}

@media (min-width: 992px){
	.ocl-article-list ul {
		margin: 0 auto !important;
	}
	.ocl-article-list > ul > li {
		display: inline-block !important;
	}
	.ocl-article-list > ul > li:not(:first-child):before {
		content: '';
		display: inline-block;
		width: 2px;
		height: 24px;
		margin: 0 8px 0 8px;
		background-color: #fff;
		line-height: 0;
		margin-bottom: -5px;
	}
	.ocl-article-list > ul > li > a {
		padding-bottom: 6px;
	}
	.ocl-article-list ul li {
		position: relative;
	}
	.ocl-article-list ul li ul {
		position: absolute;
		display: none;
		/*
		left: 50%;
		transform: translateX(-50%);
		*/
		left: 0px;
		margin-top: 6px !important;
		padding: 4px 0 !important;
		background-color: #fff;
		overflow: visible;
		z-index: 1001;
		width: 240px !important;
	}
	/*
	.ocl-article-list ul li ul:after {
		bottom: 100%;
		left: 50%;
		border: solid transparent;
		content: "";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		border-color: rgba(255, 255, 255, 0);
		border-bottom-color: #ffffff;
		border-width: 5px;
		margin-left: -5px;
	}
	*/
	.ocl-article-list ul > li:not(:first-child) > ul {
		margin-left: 7px !important;
	}
	.ocl-article-list > ul > ul:after {
		bottom: 100%;
		left: 50%;
		border: solid transparent;
		content: "";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		border-color: rgba(255, 255, 255, 0);
		border-bottom-color: #ffffff;
		border-width: 10px;
		margin-left: -10px;
	}
	.ocl-article-list > ul > li:hover ul {
		display: block;
		animation: fade_in 0.35s
	}
	@keyframes fade_in {
		0% {
			opacity: 0;
		}
		100% {
			opacity: 1;
		}
	}
	.ocl-article-list > ul ul li {
		margin: 0 !important;
		display: block !important;
		line-height: 1;
	}
	.ocl-article-list > ul ul li a {
		position: relative;
		display: block !important;
		padding: 8px 10px;
		color: #000;
		font-size: 1rem !important;
	}
	/*
	.ocl-article-list ul ul li a:before {
		content: '\2023';
		position: absolute;
		left: 6px;
		top: 5px;
	}
	*/
	.ocl-article-list ul li.activeCategory ul li a {
		font-weight: normal !important;
	}
}

/* Project listing */
.project-list {}
@media (max-width: 575px){
	.project-list .project-item:not(:first-child) {
		margin-top: 3px;
	}
}
@media (min-width: 576px){
	.project-list {
		display: grid;
		grid-column-gap: 3px;
		grid-row-gap: 3px;
	}
}
@media (min-width: 576px)and (max-width: 767px){
	.project-list {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 768px){
	.project-list {
		grid-template-columns: repeat(3, 1fr);
	}
}
.project-item {
	position: relative;
	z-index: 98;
	overflow: hidden;
	
	/* Box equal height */
	aspect-ratio: 1 !important;
	background-color: #000;
}
.project-item {
	transition: opacity .25s ease-in-out;	
}
.project-item:not(.in-viewport) {
	opacity: 0;
}
.project-item.in-viewport {
	opacity: 1;
}
.project-item .article-intro-image,
.project-item .item-image {
	height: 100%;
	position: relative;
	z-index: 100;
}

.project-item .article-intro-image img,
.project-item .item-image img {
	height: 100%;
	width: 100%;
	object-fit: cover !important;
}
.project-item .article-intro-image a:before,
.project-item .item-image a:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.6);
	transition: opacity ease-in-out .25s;
	opacity: 0;
	z-index: 102;
}
.project-item .article-intro-image:hover a:before,
.project-item .item-image:hover a:before {
	opacity: 1;
}


.project-item .item-content .article-header {
	position: absolute;
	left: 30px;
	right: 30px;
	bottom: 30px;
	z-index: 105;
	transition: all .25s ease-in-out;
}
@media (min-width: 992px){
	.project-item .item-content .article-header{
		opacity: 0;
		transform: translateY(100%);
	}
	.project-item:hover .item-content .article-header,
	.project-item:focus .item-content .article-header{
		opacity: 1;
		transform: translateY(0);
	}
}
.project-item .item-content .article-header a {
	display: inline-block;
	font-weight: 300;
}
.project-item .item-content .article-header a strong {
	font-weight: 600;
}
.project-item .item-content .article-header a,
.project-item .item-content .article-header a:visited {
	transition: all ease-in-out .25s;
	color: #fff;
}
.project-item .item-content .article-header a:hover,
.project-item .item-content .article-header a:active,
.project-item .item-content .article-header a:focus {
	transform: translateX(5px) !important;
	color: #fff;
}

/*
 * Project details
 */
body.projects-page.view-article #sp-main-body > .container {

}

/*
* Castom Bootstrap Carousel
*/
.custom-carousel {
}
.carousel-fade .carousel-item:before {
	content: '';
	position: absolute;
	left: calc(50% - 645px);
	top: 0px;
	background-color: #3366cc;
	background-image: url('../images/icon-search.png');
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 75% 75%;
	/*
	transform: translate(-50%, -50%);
	*/
	transition: opacity .35s ease-in-out;
	opacity: 0;
	z-index: 1001;
}
@media (max-width: 1289px){
	.carousel-fade .carousel-item:before {
		left: 0;
	}
}
@media (min-width: 1290px){
	.carousel-fade .carousel-item:before {
		left: calc(50% - 645px);
	}
}
@media(max-width: 767px){
	.carousel-fade .carousel-item:before {
		height: 35px;
		width: 35px;
	}
}
@media(min-width: 768px){
	.carousel-fade .carousel-item:before {
		height: 50px;
		width: 50px;
	}
}
.carousel-fade .carousel-item.active:before {
	opacity:1;
}
.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
	transition: all 0.6s ease-in-out !important;
}
.custom-carousel .carousel-indicators {
	z-index: 102;
}
.custom-carousel .carousel-indicators.thumb-view {}
.custom-carousel .carousel-indicators.thumb-view > li {
	width: 100px;
	height: auto;
	background-color: transparent;
}
.custom-carousel .carousel-indicators.thumb-view > li > img {
	border: 1px solid #fff;
}
.custom-carousel .carousel-control-prev,
.custom-carousel .carousel-control-next {
	z-index: 103;
}

.custom-carousel .carousel-control-next-icon, 
.custom-carousel .carousel-control-prev-icon {
	width: 2.6rem;
	height: 2.6rem;
}
.custom-carousel .carousel-inner {
}
.custom-carousel .carousel-inner .carousel-item {
	min-height: 360px;
	height: 100vh;
	position: relative;
	z-index: 99;
}
.custom-carousel .carousel-inner .carousel-item > img,
.custom-carousel .carousel-inner .carousel-item > a > img {
	position: absolute; 
	width: 100%; 
	height: 100%; 
	left: 0; 
	right: 0; 
	top: 0; 
	bottom: 0; 		
	object-fit: cover;
	z-index: 101;
}
.custom-carousel .carousel-inner .carousel-item .carousel-caption {
	bottom: 175px;
	z-index: 102;
	text-shadow: 0px 0px 6px rgba(0,0,0,0.75);
}

.project-details > .container {
	padding-top: 60px;
	padding-bottom: 100px;
}

.project-details .project-header {
	position: relative;
	padding-bottom: 20px;
}
.project-details .project-header:before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	height: 1px;
	background-color: #000;
}
@media (max-width: 1289px){
	.project-details .project-header:before {
		width: 100%;
		right: 6px;
		left: 6px;
	}
}
@media (min-width: 1290px){
	.project-details .project-header:before {
		width: 200%;
		transform: translateX(-50%);
	}
}

.project-details .project-header h1,
.project-details .project-header h2 {
	font-size: 2rem;
	font-weight: 500 !important;
}
.project-details .return-outer {
	text-align: right;
	margin-bottom: 30px;
}
.project-details .return-outer a {
	display: inline-block;
	position: relative;
	padding: 12px 20px 12px 54px;
	line-height: 1;
	background-color: #000;
	color: #fff;
}
.project-details .return-outer a:before {
	content: '';
	position: absolute;
	left: 10px;
	top: 50%;
	width: 36px;
	height: 36px;
	transform: translateY(-50%);
	background-image: url(../images/icon-hand-light.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.project-details .project-body {
	margin-bottom: 60px;
}
.project-details ul.fields-container {
	margin: 0;
	padding: 0;
	list-style: none;
}
.project-details ul.fields-container li:not(:first-child){
	margin-top: 20px;
}
.project-details ul.fields-container li span {
	display: block;
}
.project-details ul.fields-container li span.field-label {
	font-weight: 800;
}
.project-details ul.fields-container li:before {
	content: '';
	display: block;
	height: 50px;
	width: 50px;
	line-height: 0;
	background-repeat: no-repeat;
	background-size: 70% 70%;
	background-position: center;
}
.project-details ul.fields-container li.standort:before {
	background-color: #b52b32;
	background-image: url(../images/icon-map.png);
}
.project-details ul.fields-container li.auftraggeber:before {
	background-color: #3366cc;
	background-image: url(../images/icon-client.png);
}
.project-details ul.fields-container li.partner:before {
	background-color: #fac730;
	background-image: url(../images/icon-partner.png);
}
.project-details ul.fields-container li.award:before {
	background-color: #000;
	background-image: url(../images/icon-award-light.png);
}
.project-paginate {
	width: 100%;
	margin-bottom: 2px;
	background-color: #171717;
	color: #fff;
}
@media(max-width: 991px){
	.project-paginate {
		padding: 30px 20px;
	}
	.project-paginate > * {
		display: block;
		font-size: 1rem;
	}
	.project-paginate > *:not(:first-child) {
		margin-top: 6px;
	}
}
@media(min-width: 992px){
	.project-paginate {
			padding: 10px 20px;
		display: inline-flex;
		gap: 30px;
	}
}
.project-paginate a,
.project-paginate a:visited {
	color: #fff;
}
.project-paginate a:hover,
.project-paginate a:active,
.project-paginate a:focus {
	color: #fdc300;
}

/*
 *
 * Jobs page styles
 *
 */
.oc-jobs-header {}
.oc-jobs-header .sppb-addon-content .sppb-addon-single-image-container {
	position: relative;
	min-height: 600px;
	width: 100%;
	z-index: 99;
}
.oc-jobs-header .sppb-addon-content .sppb-addon-single-image-container img {
	position: absolute; 
	width: 100%; 
	height: 100%; 
	left: 0; 
	right: 0; 
	top: 0; 
	bottom: 0; 
	object-fit: cover;
	z-index: 101;
}
.ocl-contact-nav {
	/*
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translateY(100%);
	z-index: 101;
	*/
}
.otc-jobs-header {
}
/* --- */
.ocl-head-symbole .sppb-addon-title {
}
.ocl-head-symbole .sppb-addon-title:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	height: 40px;
	width: 40px;
	transform: translate(-120%, -50%);
	background-image: url('../images/ocl-symbole.png');
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	margin-right: 12px;
}

/*
 * Team modal
 */
@media (min-width: 1200px) {
  #dynamicModal .modal-xl {
		min-width: 1200px !important;
  }
}
#dynamicModal .modal-content {
	position: relative;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;
	background-color: #000;
	color: #fff;
}
#dynamicModal .modal-header {
	border: 0px;
	min-height: 50px;
}
#dynamicModal .modal-header .close-btn {
	position: absolute;
	top: 12px;
	right: 12px;
	display: inline-block;
	height: 30px;
	width: 30px;
	cursor: pointer;
	
	background-image: url(../images/close.svg);
	background-repeat: no-repeat;
	background-size: 80%;
	background-position: center;
}
#dynamicModal .modal-header .modal-title {
	display: none;
}
#dynamicModal .modal-header .btn-close {
	color: #4d4d4d;
}
#dynamicModal .modal-body {
	max-height: 550px;		
	padding: 0;
	z-index: 95;
}
#dynamicModal .modal-footer {
	display: none;
}
.ocl-team-modal-row > .sppb-container-inner > .sppb-row {
	height: 100%;
	padding: 0px;
	margin: 0;
	display: flex;
}
.ocl-team-modal-row > .sppb-container-inner > .sppb-row > div {
	padding: 0;
}
.ocl-team-modal-row > .sppb-container-inner > .sppb-row > div:nth-child(1) { flex: 1;}
.ocl-team-modal-row > .sppb-container-inner > .sppb-row > div:nth-child(2) { flex: 1;}
.ocl-team-modal-row > .sppb-container-inner > .sppb-row > .sppb-row-column:nth-child(1) {
}
.ocl-team-modal-row > .sppb-container-inner > .sppb-row > .sppb-row-column:nth-child(3) {
	padding: 0;
	flex-basis: 50px;
	background-color: #fff;
}
.ocl-team-modal-row .ocl-member-vita .sppb-addon-content {
	height: 450px;
	padding-right: 30px;
	padding-left: 30px;
	scrollbar-width: thin;
	overflow-y: scroll;
}
.ocl-team-modal-row .ocl-member-image {}
.ocl-team-modal-row .ocl-member-image .sppb-addon-title {
	position: absolute;
	height: 50px;
	line-height: 50px;
	padding-right: 15px;
	padding-left: 15px;
	top: 0;
	left: 100%;
	z-index: 101;
	transform-origin: top left;
	transform: rotate(90deg) translateY(-50px);
	white-space: nowrap;
	background-color: #000;
	font-size: 1.125rem;
	font-weight: 300;
	color: #fff;
}
.ocl-team-modal-row .ocl-contact-list {
	bottom: 0;
	top: auto;
}
/*
 * Project tags page
 */
body.view-tag #sp-main-body {
	padding-bottom: 3px !important;
}
body.view-tag #sp-main-body > .container {}
@media (min-width: 1200px) {
	body.view-tag #sp-main-body > .container, 
	body.view-tag #sp-main-body > .sppb-row-container {
		max-width: 100% !important;
		padding: 0px !important;
		margin: 0px !important;
	}
}