/*
* Created by CeLa
* Copyright by Amdre GmbH
* Main Theme CSS
*/


/* Archivo Webfont */
@font-face {
	font-display: swap;
	font-family: 'Archivo';
	font-style: normal;
	font-weight: 200;
	src: url('../fonts/archivo-200.woff2') format('woff2');
}
@font-face {
	font-display: swap;
	font-family: 'Archivo';
	font-style: normal;
	font-weight: 300;
	src: url('../fonts/archivo-300.woff2') format('woff2');
}
@font-face {
	font-display: swap;
	font-family: 'Archivo';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/archivo-regular.woff2') format('woff2');
}
@font-face {
	font-display: swap;
	font-family: 'Archivo';
	font-style: normal;
	font-weight: 500;
	src: url('../fonts/archivo-500.woff2') format('woff2');
}
@font-face {
	font-display: swap;
	font-family: 'Archivo';
	font-style: normal;
	font-weight: 600;
	src: url('../fonts/archivo-600.woff2') format('woff2');
}
@font-face {
	font-display: swap;
	font-family: 'Archivo';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/archivo-700.woff2') format('woff2');
}
@font-face {
	font-display: swap;
	font-family: 'Archivo';
	font-style: normal;
	font-weight: 800;
	src: url('../fonts/archivo-800.woff2') format('woff2');
}
@font-face {
	font-display: swap;
	font-family: 'Archivo';
	font-style: normal;
	font-weight: 900;
	src: url('../fonts/archivo-900.woff2') format('woff2');
}

/*
 * Default styles
 */
:root {
	--base-color: #231f20;	
	--pri-color: #9e260d;
	--sec-color: #ececed; /* light grey */
	
	--pri-font: 'Archivo';
}




html,
body {
	height: 100%;
	margin: 0;
	padding: 0;
	font-family: var(-pri-font);
	color: var(--base-color);
}

/*
 * Colors
 */
.pri-color {
	color: var(--pri-color);
}
.sec-color {
	color: var(--sec-color);
}

/*
 * Headlines
 */
.sppb-section.heading > .sppb-row-container > .sppb-section-title {
	display: flex;
	flex-direction: column-reverse;
}
.sppb-section.heading > .sppb-row-container > .sppb-section-title .sppb-title-heading {
	text-transform: uppercase;
}
.sppb-section.heading > .sppb-row-container > .sppb-section-title .sppb-title-subheading {
	margin-bottom: 20px !important;
	text-transform: uppercase;
	font-size: 1.35rem !important;
}
.sppb-section.heading > .sppb-row-container > .sppb-section-title .sppb-title-subheading:after {
	content: '';
	display: block;
	height: 12px;
	width: 200px;
	background-color: var(--pri-color);
}

/*
 * Text styles
 */
.uppercase {
	text-transform: uppercase;
}
.lowercase {
	text-transform: lowercase;
}
.base-text .sppb-addon-content {
	font-size: 1.125rem;
}
.text-thin {
	font-weight: 300;
}
/* Text column */
@media(min-width: 768px){
	.two-column > .sppb-addon-content {
		column-count: 2;
	}
	.three-column > .sppb-addon-content {
		column-count: 3;
	}
}
/* Font sizes */
.sppb-addon-text-block.text-xs > .sppb-addon-content {
	font-size: .85rem;
}
.sppb-addon-text-block.text-sm > .sppb-addon-content {
	font-size: 1rem;
}
.sppb-addon-text-block.text-md > .sppb-addon-content {
	font-size: 1.35rem;
}
.sppb-addon-text-block.text-lg > .sppb-addon-content {
	font-size: 1.5rem;
}
.sppb-addon-text-block.text-xl > .sppb-addon-content {
	font-size: 2rem;
}
/* List styles */
ul.list-arrow {
	margin: 0;
	padding: 0;
	list-style: none;
}
ul.list-arrow li {
	position: relative;
	padding-left: 30px;
}
ul.list-arrow li:before {
	content: '\f061';
	position: absolute;
	top: 8px;
	left: 0;
	line-height: 1;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 1rem;
}

/*
 * Content sizes
 */
.sppb-column.content-xs,
.sppb-column.content-sm,
.sppb-column.content-md,
.sppb-column.content-lg,
.sppb-column.content-xl {
	margin: 0 auto;
}
.sppb-column.content-xs {
	max-width: 480px;
}
.sppb-column.content-sm {
	max-width: 600px;
}
.sppb-column.content-md {
	max-width: 768px;
}
.sppb-column.content-lg {
	max-width: 992px;
}
.sppb-column.content-xl {
	max-width: 1140px;
}


@media (min-width: 1200px) {
    .sppb-row-container {
        max-width: 1320px !important;
    }
}
@media (min-width: 992px) {
	#offcanvas-toggler {
		display: none !important;
	}
}
#offcanvas-toggler {
	top: 15px;
	left: 15px;
	position: fixed;
	width: 50px !important;
	margin-right: 0 !important;
	float: none !important;
	background-color: var(--pri-color);
}
#offcanvas-toggler .burger-icon {
	margin: 0 auto;
}
#offcanvas-toggler .burger-icon span {
	background-color: #fff;
}

.offcanvas-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* 
 * Header
 */
@media (min-width: 1200px) {
	#sp-header .sp-megamenu-wrapper {
		margin-bottom: 10px !important;
	}
}
#sp-header {
	position: fixed;
	height: inherit !important;
	padding-top: 30px;
	padding-bottom: 30px;
	background-color: transparent !important;
	box-shadow: none !important;
	z-index: 1001;
}
#sp-header:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,.8);
	transition: opacity ease-in-out .25s;
	opacity:  0;
}
#sp-header.scrolled:before {
	opacity: 1;
}

#sp-header .logo img {
	/*
	transition: all linear .25s;
	*/
}
#sp-header.scrolled .logo img {
	max-height: 75px !important;
}
#sp-header:not(.scrolled) .logo img {
	filter: drop-shadow(0px 1000px 0 #fff);
	transform: translateY(-1000px);
}
@media(min-width: 992px){
	#sp-logo {
		min-width: 300px !important;
	}
}

/*
 * Main navbar
 */
@media(max-width: 991px){
	#sp-menu {
		display: none;
	}
}
@media(min-width: 992px) and (max-width: 1199px) {
	#sp-menu {
		margin-top: 15px;
	}
	#sp-menu .sp-megamenu-wrapper ul.sp-megamenu-parent {
		padding-bottom: 0 !important;
	}
	#sp-logo > .sp-column {
		margin-left: -20px;
	}
}

#sp-menu .sp-megamenu-wrapper {
	flex: 1;
}
#sp-menu .sp-megamenu-wrapper ul.sp-megamenu-parent {
	float: none !important;
	margin: 0 !important;
	padding-bottom: 10px;
	flex: 1;
	display: flex !important;
	align-items: end;
}
#sp-menu .sp-megamenu-wrapper ul.sp-megamenu-parent > li:not(:first-child) {
	line-height: 1 !important;
	transition: border-color ease-in-out .25s;
}
#sp-menu .sp-megamenu-wrapper ul.sp-megamenu-parent > li:not(:first-child) {
	border-left: 1px solid #fff;
}
#sp-header.scrolled #sp-menu .sp-megamenu-wrapper ul.sp-megamenu-parent > li:not(:first-child) {
	border-left: 1px solid var(--base-color);
}
#sp-menu .sp-megamenu-wrapper ul.sp-megamenu-parent > li > a {
	text-transform: uppercase;
	font-size: 1.25rem;
	line-height: normal !important;
}
#sp-menu .sp-megamenu-wrapper ul.sp-megamenu-parent > li > a,
#sp-menu .sp-megamenu-wrapper ul.sp-megamenu-parent > li > a:visited {
	color: #fff;
}
#sp-header.scrolled #sp-menu .sp-megamenu-wrapper ul.sp-megamenu-parent > li > a,
#sp-header.scrolled #sp-menu .sp-megamenu-wrapper ul.sp-megamenu-parent > li > a:visited {
	color: var(--base-color);
}


/*
 * Footer styles
 */
.footer-contact-section {}

.footer-rights-section {
}
.footer-navbar .sppb-addon-content {
	text-align: right;
}
.footer-navbar .sppb-addon-content ul.menu li {
	margin: 0 !important;
	padding-right: 6px;
	line-height: 1;
}
.footer-navbar .sppb-addon-content ul.menu li:not(:first-child) {
	padding-left: 6px;
	border-left: 1px solid var(--base-color);
}
.footer-navbar .sppb-addon-content ul.menu li a {
	text-transform: uppercase;
}
.footer-navbar .sppb-addon-content ul.menu li a,
.footer-navbar .sppb-addon-content ul.menu li a:visited {
	color: var(--base-color) !important;
}
.footer-navbar .sppb-addon-content ul.menu li a:hover,
.footer-navbar .sppb-addon-content ul.menu li a:active,
.footer-navbar .sppb-addon-content ul.menu li a:focus {
	color: var(--pri-color) !important;
}

.footer-info,
.footer-contact {
	font-size: 1rem;
}

@media(max-width: 767px){
	.footer-branding {
		max-width: 250px;
	}
}
.social-icon {
	line-height: 1;
}
.social-icon a {
	margin: 0 !important;
	line-height: 0.75 !important;
}
.social-icon a i {
	font-size: 1.25rem;
}


/*
 * Addon Sytles
 */
.main-carousel {}
.main-carousel .sppb-carousel-extended-outer-stage {
	min-height: 600px;
	height: 90vh !important;
}
.main-carousel .sppb-carousel-extended-item img {
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;
	
	object-fit: cover !important;
	object-position: 0% bottom !important;
	width: 100%;
	height: 100%;
}
.main-carousel .sppb-carousel-extended-item .sppb-carousel-extended-content-wrap {
	right: 10%;
	bottom: 10%;
	width: auto !important;
	align-items: end;
	justify-content: end;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;
}
.main-carousel .sppb-carousel-extended-item .sppb-carousel-extended-content-wrap .sppb-carousel-extended-heading {
	font-size : clamp(2rem, 10vw, 5rem);
	font-weight: 900;
	text-transform: uppercase;
	text-align: right;
	text-shadow: 4px 4px 3px rgba(0,0,0,0.6);
}
.main-carousel .sppb-carousel-extended-item .sppb-carousel-extended-content-wrap .sppb-carousel-extended-subheading {
	font-size : clamp(1.25rem, 10vw, 3rem);
	font-weight: 200;
	text-transform: uppercase;
	text-align: right;
	text-shadow: 4px 4px 3px rgba(0,0,0,0.6);
}

/*
 * Main slideshow
 */
.main-slider {}
.main-slider .sp-item.slider-content-vercally-center {
	align-items: end !important;
	padding-bottom: 5% !important;
}
.main-slider .sp-slider-outer-stage > div > .sppb-container {
	max-width: 100% !important;
	margin: 0 10%;
}
.main-slider .sp-slider-content-align-right h1 {
	font-size : clamp(2rem, 10vw, 6rem);
	text-shadow: 3px 3px 5px rgba(0,0,0,0.4);
}
.main-slider .sp-slider-content-align-right h2 {
	font-size : clamp(1.25rem, 10vw, 3rem);
	text-shadow: 3px 3px 5px rgba(0,0,0,0.5);
}

/*
 * Reference section
 */
.references-section {}
.references-section > .sppb-row-container > .sppb-row > div > div > div > div,
.references-section > .sppb-row-container > .sppb-row > div > div > div > div > div {
	height: 100%;
}
.reference-column .reference-item .sppb-addon-image {
	position: relative;
}
.reference-column .reference-item .sppb-addon-image:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: -12px;
	height: 50px;
	width: 100px;
	z-index: 101;
	background-color: var(--base-color);
	color: #fff;
	
	background-repeat: no-repeat;
	background-position: calc(100% - 10px) 50%;
	background-size: auto 80%;	
}
.reference-column .reference-item .sppb-addon-image:after {
	content: '';
	display: block;
	position: absolute;
	bottom: 50px;
	left: -12px;
	width: 12px;
	height: 6px;
	background-color: #a2a2a2;
	z-index: 100;
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
}
.reference-column.shell-column .reference-item .sppb-addon-image:before {
	background-image: url(../images/icon-rohbau.png);
}
.reference-column.construction-column .reference-item .sppb-addon-image:before {
	background-image: url(../images/icon-schluesselfertig.png);
}
.reference-column.paving-column .reference-item .sppb-addon-image:before {
	background-image: url(../images/icon-pflasterarbeiten.png);
}
.reference-column.renovation-column .reference-item .sppb-addon-image:before {
	background-image: url(../images/icon-sanierung.png);
}
.reference-item {
	height: 100%;
}
.reference-item .sppb-addon-image {
	margin-bottom: 0;
}
.reference-item .sppb-addon-body {
	padding: 1.875rem;
	background-color: var(--pri-color);
	color: #fff;
}
.reference-item .sppb-addon-body .sppb-image-content-title {
	display: block !important;
	position: relative;
	cursor: pointer;
}
.reference-item .sppb-addon-body.show .sppb-image-content-title {
	margin-bottom: 20px !important;
}
.reference-item .sppb-addon-body .sppb-image-content-title:after {
	content: '\f107';
	position: absolute;
	top: 0;
	right: 0;
	line-height: 1;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 1.75rem;
	transition: all ease-in-out .25s;
	opacity: 1;
	transform: translateY(0);
}
.reference-item .sppb-addon-body.show .sppb-image-content-title:after {
	opacity: 0;
	transform: translateY(15px);
}
.reference-item .sppb-addon-body .sppb-image-content-text {
	transform: all ease-in-out .25s;
}
.reference-item .sppb-addon-body:not(.show) .sppb-image-content-text {
	height: 0;
	overflow: hidden;
}
.reference-item .sppb-addon-body.show .sppb-image-content-text {
}

/*
 * Teaser contact
 */
.contact-info {
	text-align: center;
}
.contact-info .sppb-addon-image img {
	max-width: 50px;
	height: auto;
	margin: 0 auto;
}
.contact-info .sppb-addon-body {
	display: flex;
	flex-direction: column;
}
.contact-info .sppb-addon-body .sppb-image-content-title {
	order: 2;
	font-size: 2.5rem;
	font-weight: 800;
}
.contact-info .sppb-addon-body .sppb-image-content-subtitle {
	order: 1;
	font-size: 2.5rem;
}
.contact-info .sppb-addon-body .sppb-image-content-text {
	order: 3;
}

.contact-info .sppb-addon-body .sppb-image-content-btn {
	order: 4;
}

/*
 * Working section
 */
.working-section {
	background-image: url(../images/bg-sign.png);
	background-repeat: no-repeat;
	background-position: calc(100% - 50px) calc(100% - 50px);
}
.working-info {
	max-width: 624px;
}
.service-info-column > div > div,
.service-info-column > div > div > div {
	height: 100%;
}
.service-info {
	padding: 30px 15px;
	height: 100%;
	background-color: #48484a;
	color: #fff;
	display: flex;
	flex-direction: column;
}
.service-info .sppb-addon-image {
	order: 2;
	margin-bottom: 0;
	text-align: right;
}
.service-info .sppb-addon-image img {
	display: inline !important;
}
.service-info .sppb-addon-body {
	order: 1;
	flex-grow: 1;
}
.service-info .sppb-addon-body > * {
	flex: 1;
}
.service-info .sppb-addon-body .sppb-image-content-title {
	font-weight: 900;
	text-transform: uppercase;
}
.service-info .sppb-addon-body .sppb-image-content-text {
	font-size: 1.5rem;
	font-weight: 300;
}

/*
 * References section
 */
.projects-section {}
.project-column {}
.project-item {
	position: relative;
	overflow: hidden;
	z-index: 95;
}
.project-item .sppb-addon-image {
	position: relative;
	margin-bottom: 0;
	z-index: 100;
}
.project-item .sppb-addon-body {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 30px;
	background-color: rgba(0,0,0,.5);
	color: #fff;
	text-align: center;
	z-index: 105;
	
	display: flex;
	flex-direction: column;
	justify-content: center;
}
@media(min-width: 768px){
	.project-item .sppb-addon-body {
		transition: all ease-in-out .25s;
		transform: translateY(100%);
	}
	.project-item:hover .sppb-addon-body {
		transform: translateY(0);
	}
}
.project-item .sppb-addon-body .sppb-image-content-title {
	font-weight: 700;
}
.project-item .sppb-addon-body .sppb-image-content-text {
	font-size: 1.5rem;
	font-weight: 300;
}

/*
 * Process section
 */
.process-section {
	background-image: url(../images/bg-bex.webp);
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: auto 100%;
	counter-reset: section;
}
.process-section .sppb-panel-group > .sppb-panel .sppb-panel-heading:before {
	counter-increment: section;
	content: counter(section) '.';
	font-size: 1.25rem;
	font-weight: 800;
}
.process-section .sppb-panel-group > .sppb-panel .sppb-panel-heading:not(.active):before {
	color: var(--pri-color);
}
.process-section > .sppb-row-container .sppb-section-title {
	margin-bottom: 0 !important;
}
.process-info {}
.process-accordion {}
.process-accordion .sppb-panel-custom {
	background-color: transparent !important;
}
.process-accordion .sppb-panel-custom .sppb-panel-heading {
	position: relative;
	color: #fff;
}
.process-accordion .sppb-panel-custom .sppb-panel-heading .sppb-accordion-icon-wrap {
	position: absolute;
	top: 10px;
	right: 15px;
	font-size: 1.25rem;
}
.process-accordion .sppb-panel-custom .sppb-panel-heading .sppb-panel-title {
	text-transform: uppercase;
	font-weight: 800;
	font-size: 1.25rem;
}
.process-accordion .sppb-panel-custom .sppb-panel-heading.active {
	background-color: var(--pri-color);
}
.process-accordion .sppb-panel-custom .sppb-panel-heading:not(.active) {
	background-color: var(--base-color);
}
.process-accordion .sppb-panel-custom .sppb-panel-body p:last-child {
	margin-bottom: 0;
}
.process-accordion .sppb-panel-custom .sppb-panel-heading .sppb-accordion-icon-wrap i:before {
	content: '\f107';
}

/*
 * About us
 */
.about-us-section {}
.about-us-section > .sppb-row-container .sppb-section-title {
	margin-bottom: 0 !important;
}

.custom-carousel {}
.custom-carousel .sppb-carousel-extended-outer-stage {
	height: auto !important;
}
.custom-carousel .sppb-carousel-extended-outer-stage .sppb-carousel-extended-item img {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}
.faq-accordion {
	max-width: 1000px;
}

.seperator-divider {
	background-size: auto 100%;
}

/*
 * Contact section
 */
.contact-section {
	background-image: url(../images/bg-bexbau.webp);
	background-repeat: no-repeat;
	background-size: auto 100%;
	background-position: center;
}
.contact-section > .sppb-row-container .sppb-section-title {
	margin-bottom: 20px !important;
}
@media(min-width: 768px){
	.contact-person {
		display: flex;
		gap: 30px;
	}
	.contact-person > * {
		flex: 1;
	}
}
.contact-person .sppb-addon-body {
	display: flex;
	flex-direction: column;
}
.contact-person .sppb-addon-body .sppb-image-content-title {
	order: 2;
}
.contact-person .sppb-addon-body .sppb-image-content-subtitle {
	order: 1;
}
.contact-person .sppb-addon-body .sppb-image-content-text {
	order: 3;
}

/* Contact form */
#contact-form {}
#contact-form .row > * {
	padding-right: 9px;
	padding-left: 9px;
}
#contact-form .rsform-block-anrede .form-label {
	margin-bottom: 0;
}
#contact-form .rsform-block-anrede * {
	font-weight: 300;
}
#contact-form .form-control {
	padding: 15px 25px;
	background-color: #d8d9db;
	border-color: #d8d9db;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}
#contact-form .form-control::placeholder {
	color: #333132;
}
#contact-form [data-rsfp-hashcash] {
	padding: 0;
	background-color: transparent;
	border: 0;
}
#contact-form span.hashcash__text {
	padding-left: 15px;
	color: var(--pri-color) !important;
}
#contact-form .rsform-block-senden {
	margin-top: 15px;
	text-align: center;
}
#contact-form .rsform-block-senden .btn-primary {
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;
	font-weight: 800;
	font-size: 1.25rem;
	text-transform: uppercase;
	padding: 12px 30px;
}
#contact-form .rsform-block-senden .btn-primary:hover {
	padding-left: 30px;
}


/*
 * Close section
 */
.close-section {
	background-position: 100% 100%;
	background-size: 50% auto;
}
@media(max-width: 767px){
	.close-section {
		background-size: 75% auto;
	}
}
@media(max-width: 991px){
	.close-section {
		padding-bottom: 175px !important;
	}
}

/*
 * Page rights
 */
body.page-rights #sp-main-body {
	padding-top: 0;
}
body.page-rights #sp-main-body > .container {
	max-width: 100% !important;
	padding-right: 0;
	padding-left: 0;
}
body.page-rights #sp-main-body .article-details > *:not(.article-full-image){
	max-width: 1320px;
	margin: 0 auto;
	padding-right: 15px;
	padding-left: 15px;
}
body.page-rights #sp-main-body .article-details h1 {
	font-weight: 800;
	font-size: 2.5rem;
	text-transform: uppercase;
	margin-bottom: 45px;
}
body.page-rights #sp-main-body .article-details > .article-full-image {
	text-align: center;
	max-height: 800px;
	overflow: hidden;
	margin-bottom: 45px;
}
body.page-rights #sp-main-body .article-details > .article-full-image img {
	object-fit: cover;
	object-position: center !important;
	width: 100%;
	height: 100%;
}