/**
Theme Name: Bauch Engineering
Author: OAO
Author URI: https://www.oao.de
Description: Bauch Theme
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bauch-engineering
Template: astra
*/

@import url("https://use.typekit.net/mse7hby.css");

/* font-family: ff-dax-pro,sans-serif;
font-weight: 300;
font-style: normal;

font-family: ff-dax-pro,sans-serif;
font-weight: 400;
font-style: normal;

font-family: ff-dax-pro,sans-serif;
font-weight: 700;
font-style: normal; */

body {
  font-family: ff-dax-pro,sans-serif;
  font-weight: 300;
}

/* Image Hover */
.teaser--row .teaser--img .overlay ul {
	opacity: 0;
	transition: opacity 1s ease-in-out;
}

.teaser--row .teaser--img .overlay li {
	color: rgba(255,255,255,1);
}

.teaser--row .teaser--img .overlay:hover ul,
.teaser--row .teaser--img .overlay:focus ul {
	opacity: 1;
}

.vc_row-o-equal-height .teaser-box--border .vc_column-inner .wpb_wrapper {
	 height: 100%;
}
 .teaser--row {
	 max-width: 1400px !important;
	 min-height: auto;
	 padding-left: 10px;
	 padding-right: 10px;
	 margin-bottom: 10px !important;
}
 .teaser--row.height--30 {
	 height: 30vh;
	 min-height: 30vh !important;
}
 .teaser--row.height--40 {
	 height: 40vh !important;
	 min-height: 40vh !important;
}
 .teaser--row.height--50 {
	 height: 50vh !important;
	 min-height: 50vh !important;
}
 .teaser--row.height--60 {
	 height: 60vh !important;
	 min-height: 60vh !important;
}
 .teaser--row.height--70 {
	 height: 70vh !important;
	 min-height: 70vh !important;
}
 .teaser--row.height--80 {
	 height: 80vh !important;
	 min-height: 80vh !important;
}
 .teaser--row.height--90 {
	 height: 90vh !important;
	 min-height: 90vh !important;
}
 .teaser--row.teaser--slider {
	 position: relative;
	 width: 100%;
	 overflow: hidden !important;
}
 .teaser--row.teaser--slider .vc_col-sm-4 {
	 flex: 1 0 calc(100% / 3);
	 aspect-ratio: 1 !important;
	 flex-flow: column nowrap;
	 display: flex;
	 justify-content: center;
	 align-items: center;
	 scroll-snap-align: center;
}
 .teaser--row.teaser--slider .vc_col-sm-3 {
	 flex: 1 0 25%;
	 aspect-ratio: 1;
	 flex-flow: column nowrap;
	 display: flex;
	 justify-content: center;
	 align-items: center;
	 scroll-snap-align: center;
}
 .teaser--row.teaser--slider .carousel-wrapper {
	 display: flex;
	 gap: 10px;
	 overflow-x: auto;
	 overflow-y: hidden !important;
	 scroll-snap-type: x mandatory;
	 flex-flow: row nowrap;
	 scroll-behavior: smooth;
	 -ms-overflow-style: none;
	 scrollbar-width: none;
}
 .teaser--row.teaser--slider .carousel-arrow {
	 position: absolute;
	 top: calc(50% - 31px);
	 width: 42px;
	 height: 42px;
	 background-color: rgba(0, 48, 93, 0.7);
	 color: rgba(255, 255, 255, 0.0);
	 text-align: center;
	 line-height: 42px;
	 cursor: pointer;
	 z-index: 300;
	 display: flex;
	 justify-content: center;
	 align-items: center;
}
 .teaser--row.teaser--slider .carousel-arrow--prev {
	 left: 0px;
	 background: rgba(0, 48, 93, 0.7) url(./assets/img/icon-arrow-left-white.svg);
	 background-size: 25px;
	 background-repeat: no-repeat;
	 background-position: center center;
	 color: rgba(255, 255, 255, 0.0);
	 transition: background 1s ease;
}
 .teaser--row.teaser--slider .carousel-arrow--prev:hover, .teaser--row.teaser--slider .carousel-arrow--prev:focus {
	 background: rgba(0, 48, 93, 1.00) url(./assets/img/icon-arrow-left-white.svg);
	 background-size: 25px;
	 background-repeat: no-repeat;
	 background-position: center center;
}
 .teaser--row.teaser--slider .carousel-arrow--next {
	 right: 0px;
	 background: rgba(0, 48, 93, 0.7) url(./assets/img/icon-arrow-right-white.svg);
	 background-size: 25px;
	 background-repeat: no-repeat;
	 background-position: center center;
	 color: rgba(255, 255, 255, 0.0);
}
 .teaser--row.teaser--slider .carousel-arrow--next:hover, .teaser--row.teaser--slider .carousel-arrow--next:focus {
	 background: rgba(0, 48, 93, 1.00) url(./assets/img/icon-arrow-right-white.svg);
	 background-size: 25px;
	 background-repeat: no-repeat;
	 background-position: center center;
}
 .teaser--row .wpb_column {
	 height: 100% !important;
}
 .teaser--row .wpb_wrapper, .teaser--row .wpb_content_element {
	 height: 100% !important;
}
 .teaser--row .vc_column_container > .vc_column-inner {
	 width: 100%;
	 height: 100%;
	 padding-left: 5px;
	 padding-right: 5px;
}
 .teaser--row .vc_col-sm-4 {
	 flex: 1 0 calc(100% / 3);
	 aspect-ratio: 1;
	 flex-flow: column nowrap;
	 display: flex;
	 justify-content: center;
	 align-items: center;
	 scroll-snap-align: center;
	 margin-bottom: 10px;
}
 .teaser--row .vc_col-sm-3 {
	 flex: 1 0 25%;
	 aspect-ratio: 1;
	 flex-flow: column nowrap;
	 display: flex;
	 justify-content: center;
	 align-items: center;
	 scroll-snap-align: center;
}
 .teaser--row .teaser--img {
	 display: block;
	 position: relative;
	 height: 100%;
}
 .teaser--row .teaser--img.height--100 {
	 height: 100%;
}
 .teaser--row .teaser--img.height--60 {
	 height: calc(60% - 5px);
}
 .teaser--row .teaser--img.height--50 {
	 height: calc(50% - 5px);
}
 .teaser--row .teaser--img.height--40 {
	 height: calc(40% - 5px);
}
 .teaser--row .teaser--img.height--quadrat, .teaser--row .teaser--img.height--Quadrat {
	 aspect-ratio: 1 !important;
}
 .teaser--row .teaser--img:nth-of-type(1) {
	 margin-bottom: 10px;
}
 .teaser--row .teaser--img img {
	 display: block;
	 width: 100%;
	 height: 100%;
	 object-fit: cover;
	 object-position: center center;
}
 .teaser--row .teaser--img .overlay {
	 display: block;
	 width: 100%;
	 height: 100%;
	 position: absolute;
	 top: 0px;
	 left: 0px;
	 padding: 40px;
	 background: rgba(0, 48, 93, 0.3);
	 transition: background 1s ease-in-out;
	 z-index: 20;
}
 .teaser--row .teaser--img .overlay h3, .teaser--row .teaser--img .overlay h4 {
	 text-transform: none;
	 hyphens: auto;
	 -moz-hyphens: auto;
}
 .teaser--row .teaser--img .overlay h3, .teaser--row .teaser--img .overlay p, .teaser--row .teaser--img .overlay strong, .teaser--row .teaser--img .overlay h4, .teaser--row .teaser--img .overlay h5, .teaser--row .teaser--img .overlay h6 {
	 color: rgba(255, 255, 255, 0.0);
	 margin-bottom: 15px !important;
	 transition: color 1s ease-in-out;
}
 .teaser--row .teaser--img .overlay:hover, .teaser--row .teaser--img .overlay:focus {
	 background: rgba(0, 48, 93, 0.85);
	 transition: background 1s ease-in-out;
	 z-index: 200 !important;
}
 .teaser--row .teaser--img .overlay:hover h3, .teaser--row .teaser--img .overlay:focus h3, .teaser--row .teaser--img .overlay:hover p, .teaser--row .teaser--img .overlay:focus p, .teaser--row .teaser--img .overlay:hover strong, .teaser--row .teaser--img .overlay:focus strong, .teaser--row .teaser--img .overlay:hover h4, .teaser--row .teaser--img .overlay:focus h4, .teaser--row .teaser--img .overlay:hover h5, .teaser--row .teaser--img .overlay:focus h5, .teaser--row .teaser--img .overlay:hover h6, .teaser--row .teaser--img .overlay:focus h6, .teaser--row .teaser--img .overlay:hover ul, .teaser--row .teaser--img .overlay:focus ul, .teaser--row .teaser--img .overlay:hover li, .teaser--row .teaser--img .overlay:focus li {
	 color: rgba(255, 255, 255, 1.0);
	 transition: color 1s ease-in-out;
}
 .teaser--row .teaser--img .overlay--single {
	 width: 100%;
	 height: 100%;
	 padding: 40px;
	 background: #00305d;
}
 .teaser--row .teaser--img .overlay--single h3, .teaser--row .teaser--img .overlay--single p, .teaser--row .teaser--img .overlay--single strong {
	 color: rgba(255, 255, 255, 1.0);
	 margin-bottom: 15px !important;
}
 .teaser--row .teaser--img a {
	 font-size: 1.6rem;
	 position: absolute;
	 left: 25px;
	 bottom: 25px;
}
 .teaser--row .teaser--img a.button {
	 font-family: 'apparat', sans-serif;
	 background: rgba(0, 48, 93, 0.85);
	 color: #fff;
	 letter-spacing: 0.5px;
	 padding: 10px 20px;
	 text-transform: uppercase;
	 box-shadow: none !important;
	 transition: all 1s ease;
}
 .teaser--row .teaser--img a.button::after {
	 content: ' ';
	 position: absolute;
	 right: 0px;
	 top: 0px;
	 width: 50px;
	 height: 42px;
	 background: url(./assets/img/icon-arrow-right.svg);
	 background-size: 25px;
	 background-position: center center;
	 background-repeat: no-repeat;
	 filter: invert(1);
	 -webkit-filter: invert(1);
	 opacity: 0;
}
 .teaser--row .teaser--img a.button:hover, .teaser--row .teaser--img a.button:focus {
	 background: #00305d;
	 text-decoration: none !important;
	 padding: 10px 50px 10px 20px;
}
 .teaser--row .teaser--img a.button:hover::after, .teaser--row .teaser--img a.button:focus::after {
	 content: ' ';
	 position: absolute;
	 right: 0px;
	 top: 0px;
	 width: 50px;
	 height: 50px;
	 background: url(./assets/img/icon-arrow-right.svg);
	 background-size: 25px;
	 background-position: center center;
	 background-repeat: no-repeat;
	 filter: invert(1);
	 -webkit-filter: invert(1);
	 opacity: 1;
}
 .teaser--row .teaser--img .title-wrapper {
	 position: absolute;
	 top: 0px;
	 left: 0px;
	 width: 100%;
	 height: 100%;
	 padding: 40px;
	 display: flex;
	 flex-direction: row;
	 align-items: flex-end;
}
 .teaser--row .teaser--img label {
	 font-size: 2.25rem;
	 font-family: 'apparat', sans-serif;
	 margin-bottom: 0px !important;
	 width: 100%;
	 z-index: 25;
}
 .teaser--row .teaser--img label.title--main {
	 color: rgba(255, 255, 255, 1.00);
	 text-shadow: #00305d 0px 0px 20px;
	 letter-spacing: 0px;
	 line-height: 120%;
	 box-shadow: none !important;
	 transition: all 1s ease;
	 text-align: left;
}
 .teaser--row .teaser--img:hover label.title--main, .teaser--row .teaser--img:focus label.title--main {
	 color: rgba(255, 255, 255, 0.00);
}
 @media (max-width: 767px) {
	 .teaser--row {
		 max-width: 1400px !important;
		 min-height: auto;
		 padding-left: 10px;
		 padding-right: 10px;
		 margin-bottom: 10px !important;
	}
	 .teaser--row .vc_col-sm-4 {
		 flex: 1 0 100%;
		 aspect-ratio: 2;
		 margin: 15px 0px !important;
	}
	 .teaser--row .vc_col-sm-3 {
		 flex: 1 0 100%;
		 aspect-ratio: 2;
		 margin: 15px 0px !important;
	}
	 .teaser--row.teaser--slider .vc_col-sm-4 {
		 flex: 1 0 100% !important;
	}
	 .teaser--row.teaser--slider .vc_col-sm-3 {
		 flex: 1 0 100% !important;
	}
	 .teaser--row .teaser--img {
		 display: block;
		 position: relative;
		 height: 100%;
	}
	 .teaser--row .teaser--img .overlay, .teaser--row .teaser--img .overlay--single {
		 padding: 30px !important;
		 z-index: 20;
	}
	 .teaser--row .teaser--img .title-wrapper {
		 padding: 30px;
	}
}
 
 

/* Buttons */

.vc_general.vc_btn3-color-btn-bauch {
  background-color: #cb1b22;
  color: white;
  font-weight: bold;
}

.vc_general.vc_btn3-color-btn-bauch:hover,
.vc_general.vc_btn3-color-btn-bauch:focus {
  background-color: #db1c24;
  color: white;
}

/* Containers */

.b-container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 544px) {
  .b-container{
    max-width: 100%;
  }
}

@media (min-width: 922px) {
  .b-container {
    max-width: 1240px;
  }
}

/* Menu */

.site-header::after {
	width: 100%;
	height: calc(100% + 100px);
	content: ' ';
	display: block;
	background: linear-gradient(rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.65) 50%, rgba(0,0,0,0) 100%);
	position: absolute;
	top: 0px;
	left: 0px;
}

.main-header-menu .sub-menu {
	background: rgba(0,0,0,0.6) !important;
}

.main-header-menu .sub-menu .menu-link {
  padding: 0.5em 1em
}

.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item {
  line-height: 30px;
}

/* Home Hero */

/* .hero-home {
  justify-content: flex-end;
} */

.hero-content {
  margin-top: auto;
}

@media (min-width: 1300px) {
  .hero-content  {
    margin-bottom: auto;
  }
}

.hero-leistungen {
  color: white;
}

@media (max-width: 1300px) {
  .hero-leistungen {
    font-size: 13px;
  }
}

.hero-leistungen a,
.hero-leistungen h2 {
  color: inherit
}

.hero-leistungen h2 {
  font-weight: 700;
  margin-bottom: 1rem;
}

@media (min-width: 922px) {
  .hero-leistungen .wpb_column:not(:last-Child) {
    border-right: solid 1px white;
  }
}

/* Getwid Post Carousel */

.wp-block-getwid-post-carousel__slide {
  background-color: white;
  padding: 1rem;
}

.wp-block-getwid-post-carousel__slide .wp-block-getwid-template-post-date {
  font-weight: bold;
  text-transform: uppercase;
}

.wp-block-getwid-post-carousel__slide .wp-block-getwid-template-post-featured-image {
  position: relative;
  padding-bottom: calc((9/16)*100%);
  margin-left: -1rem;
  margin-right: -1rem;
  margin-bottom: 1rem;
}

.wp-block-getwid-post-carousel__slide .wp-block-getwid-template-post-featured-image img {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}


.wp-block-getwid-post-carousel__slide .wp-block-getwid-template-post-title {
  font-size: 1rem;
  margin-bottom: 1rem;
  font-weight: bold;
  text-transform: uppercase;
}

.wp-block-getwid-post-carousel__slide .wp-block-getwid-template-post-title a {
  color: inherit;
}

/* Footer */

.ast-builder-grid-row-container-inner {
  padding: 0 1.5rem;
}

@media (min-width: 922px) {
  .site-primary-footer-wrap .widget-title {
    border-bottom: solid 1px white;
  }
}

.site-primary-footer-wrap a {
  color: white;
}



.vc_section[data-vc-full-width] > .vc_row,
.vc_section > .vc_row {
	width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto;
    padding: 0 30px !important;
}

@media (max-width: 1650px) { 
	
	.vc_section[data-vc-full-width] > .vc_row,
	.vc_section > .vc_row {
		width: 100% !important;
    	max-width: 1100px !important;
	}
		
}

@media (max-width: 1450px) { 
	
	.vc_section[data-vc-full-width] > .vc_row,
	.vc_section > .vc_row {
		width: 100% !important;
    	max-width: 1000px !important;
	}
		
}

@media (max-width: 1150px) { 
	
	.vc_section[data-vc-full-width] > .vc_row,
	.vc_section > .vc_row {
		width: 100% !important;
    	max-width: 900px !important;
	}
		
}

@media (max-width: 600px) {
	
	.vc_section[data-vc-full-width] > .vc_row,
	.vc_section > .vc_row {
		padding: 0 15px !important;
	}
	
}

.vc_section[data-vc-full-width].full-width > .vc_row,
.vc_section.full-width > .vc_row,
.vc_row.full-width > .vc_row {
	width: 100% !important;
	max-width: none !important;
	padding: 0px 0px 0px 0px !important;
}

#primary {
	
}

section, 
section.about, setcion.hestia-about, section.hestia-blogs {
	padding: 100px 0px 110px 0px !important;
}

section.header-bild {
	width: 100vw;
	height: 65vh !important;
	color: #fff !important;
}

section.header-bild--top {
	background-position: top center !important;
}

section.header-bild h1, section.header-bild p {
	color: #fff !important
}

.site-footer-section {
	padding-top: 30px;
	padding-bottom: 30px;
}

.site-footer-section aside section {
	padding-top: 0px !important;
	padding-bottom: 0px !important;
}

.wpb_content_element ul {
	margin-left: 10px;
}

.wpb_content_element ul li {
	padding-left: 10px;
}

.wpb_content_element ul li::marker {
	color: #cd1719;
	content: '::';
	font-weight: 700;
}

.vc_tta.vc_general .vc_tta-panels,
.vc_tta.vc_tta-o-no-fill.vc_tta-tabs .vc_tta-panels {
	display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  height: auto;
  min-height: 600px;
  align-content: center;
}

.vc_tta.vc_general .vc_tta-panel.vc_active .vc_tta-panel-body {
	margin: auto 0;
}

.vc_tta.vc_general .vc_tta-panel.vc_active {
  display: block;
  align-self: center;
  display: flex;
  width: 100% !important;
  align-content: center;
	padding-left: 15px;
	padding-right: 15px;
  height: 100%;
  min-height: 600px;
}

.vc_tta.vc_general .vc_tta-panel .wpb_single_image img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 300px;
}

.vc_pagination .vc_pagination-item .vc_pagination-trigger {
      
    }
    
    .pageable-arrow {
        font-size: 20px;
        cursor: pointer;
    }

    .pageable-arrow--next {
        display: block;
        position: absolute;
        top: calc(50% - 25px);
        right: -25px;
        height: 50px;
        width: 50px;
        z-index: 99;
		font-size: 40px;
		text-align: center !important;
    }

    .pageable-arrow--prev {
        display: block;
        position: absolute;
        top: calc(50% - 25px);
        left: -25px;
        height: 50px;
        width: 50px;
        z-index: 99;
		font-size: 40px;
		text-align: center
    }


section.main_header_video {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}

section.main_header_video .vc_row:first-child {
	padding: 0px !important;
  padding-top: 0px !important;
  height: 65vh !important;
	max-width: none !important;
}

section.main_header_video .vc_row:first-child .wpb_column {
  padding-top: 0px !important;
  height: 100% !important;
}

.start-background {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  /* z-index: -10; */
}

.start-background video {
  object-fit: cover;
  object-position: center center;
  width: 100%;
  height: 100%;
  margin-bottom: 0px;
  /* position: absolute; */
  /* top: 50%; */
  /* left: 50%; */
  /* min-width: 100%; */
  /* min-height: 100%; */
  /* width: auto; */
  /* height: auto; */
  /* z-index: -100; */
}

/* ---- ANIMATION ---- */

.animated {
  animation-duration: 2s !important;
  animation-fill-mode: both;
}

.hover-zoom {
	transition: all 1s ease;
}

.hover-zoom:hover {
	transform: scale(1.2)
}

.hover-opacity {
	transition: all 1s ease;
	opacity: 0.80;
}

.hover-opacity:hover {
	opacity: 1.0;
}