﻿/*
 Theme Name:     Buss ChemTech AG
 Theme URI:      http://www.elegantthemes.com/gallery/divi/
 Text Domain:    bct
 Description:    Buss ChemTech AG
 Author:         Klixa IT GmbH
 Author URI:     https://www.klixa.ch
 Template:       Divi
 Version:        1.0.0
*/
 
@import url("../Divi/style.css");
@import url("tina.css");
@import url("nathalie.css");
@import url("navi.css");
 
/* =Theme customization starts here
------------------------------------------------------- */

/*---------- [Load The Fonts] ----------*/
@font-face {
    font-family: HelveticaNeueLTPro-Roman;
    src: url('fonts/HelveticaNeueLTPro-Roman.otf');
}
@font-face {
    font-family: HelveticaNeueLTPro-Hv;
    src: url('fonts/HelveticaNeueLTPro-Hv.otf');
}
@font-face {
    font-family: HelveticaNeueLTPro-Bd;
    src: url('fonts/HelveticaNeueLTPro-Bd.otf');
}

@media all and (max-width: 425px) {
	.et_pb_row{
		width: 84% !important;
	}
  .fw_row{
		width: 100% !important;
	}
}
.et_pb_image .et_pb_image_wrap img[src*=".svg"]{
  width: 100%;
}

/* Headlines*/
h1,h2,h3,h4,h5,h6 {
  color: black;
  padding-bottom:0px;
}
/* Desktop */
@media all and (min-width: 981px) {
  .h1_home_black h1,
  .h1_home_white h1{
    line-height: 1em;
  }
  .h2_bold h2,
  .h2_normal h2,
  h2{
    line-height: 1.1em;
  }
  .h3_normal h3,
  h3{
    line-height: 1.25em;
  }
  .p1_normal p,
  .p2_bold p,
  p, span.ellip, span.ellip-line, h5, h6{
    line-height: 1.33em;
  }
  .h1_content h1,
  .h1_content,
  .p3_quote p, .h1_content p{
    line-height: 1.2em;
  }
  li{
    line-height: 1.67em;
  }
}
@media all and (max-width: 980px) {
  .h1_home_black h1,
  .h1_home_white h1,
  .h1_content h1,
  h1,
  .h1_content, .h1_content p{
    line-height: 1em;
  }
  .h2_bold h2,
  .h2_normal h2,
  h2{
    line-height: 1.2em;
  }
  .h3_normal h3,
  .p3_quote p, h3{
    line-height: 1.28em;
  }
  .p1_normal p,
  .p2_bold p, p, h5, h6, li, span.ellip, span.ellip-line{
    line-height: 1.36em;
  }
}

.h1_home_black h1{
  font-size: clamp(35px, 4.9vw, 60px);
  text-transform: uppercase;
  color: black;
}
.h1_home_white h1{
  font-size: clamp(35px, 4.9vw, 60px);
  color: white;
}
.h1_content h1,
.h1_content, .h1_content p{
  font-size: clamp(35px, 4.4vw, 50px);
  text-transform: uppercase;
}
.h2_bold h2,
.h2_normal h2{
  font-size: clamp(25px, 3.6vw, 45px);
  text-transform: uppercase;
}
.h3_normal h3{
  font-size: clamp(18px, 2.18vw, 24px);
  text-transform: uppercase;
}
.h3_news h3, h3{
  font-size: clamp(18px, 2.18vw, 24px);
}
.p1_normal p, p, h5, li, span.ellip, span.ellip-line{
  font-size: clamp(14px, 1.66vw, 18px);
}
.p2_bold p{
  font-size: clamp(14px, 1.66vw, 18px);
  text-transform: bold;
}
.p3_quote p{
  font-size: clamp(18px, 2.5vw, 30px);
}
/* Desktop Hack für Fontsize... */
@media all and (max-width: 1271px) {
  .icongrid_2 .h3_normal h3{
    font-size: 16px;
  }
  .card_3 .kxit-button-layout,
  .card_multiple_buttons_cards .kxit-button-layout,
  .icongrid_2 .kxit-button-layout{
    font-size: 13px;
  }
  .card_3 .kxit-button-layout:after,
  .card_3 .kxit-button-layout:hover:after,
  .card_multiple_buttons_cards .kxit-button-layout:after,
  .card_multiple_buttons_cards .kxit-button-layout:hover:after,
  .icongrid_2 .kxit-button-layout:after,
  .icongrid_2 .kxit-button-layout:hover:after{
    content: " ";
    float: right;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    border-width: 0px 3px 3px 0;
    border-radius: 2px;
    padding: 3px;
    margin: 0px;
    margin-top: 8px;
  }
}


/* Pagination */
.page-next,
.page-prev{
  display: none;
}
.next:after{
  content: '>';
}
.prev:after{
  content: '<';
}

/** Cover image**/
.cover_image span{
  height: 100%;
}
.cover_image img{
  height: 100%;
  object-fit: cover;
}
/** Icongrid **/
/* general */
.icongrid .et_pb_row{
  column-gap: 1.7em;
}
.icongrid .et_pb_column {
  margin-right: 0px;
  width: 100%;
}
.icongrid .et_pb_row:after{
  content: none;
}
.icongrid .small {
  font-size:18px;
  font-family:'HelveticaNeueLTPro-Bd', Helvetica, Arial, Lucida, sans-serif;
  text-transform: uppercase; 
}
/* Desktop */
@media all and (min-width: 981px) {
  .icongrid .et_pb_image{
    max-width: 168px;
  }
}
/* Tablet */
@media all and (min-width: 768px) and (max-width: 980px) {
  .icongrid .et_pb_column{
    width: 48%;
    margin-right: 0px !important;
  }
  .icongrid .et_pb_image{
    max-width: 168px;
  }

}
/* Mobile */
@media all and (max-width: 767px) {
  .icongrid .et_pb_column{
    width: 48%;
    margin-right: 0px !important;
    padding-bottom: 20px !important;
  }
  .icongrid .et_pb_image{
    max-width: 152px;
  }
}

/** Icongrid 2 **/
/* Desktop */
@media all and (min-width: 968px) {
  .icongrid_2 .h3_normal{
    margin: 0px 25px;
  }
}
/* Mobile */
@media all and (max-width: 767px) {
  .icongrid_2 .h3_normal{
    margin: 0px 46.5px;
  }
  .icongrid_2 .kxit-button-layout {
    max-width: none;
  }
}

/** Button at Cards **/
/* Desktop */
@media all and (min-width: 981px) {
  .card_column .kxit_kx_button{
    position: absolute;
    bottom: 0;
    width: 100%;
    padding-right: 25%;
  }
}
/* Tablet */
@media all and (min-width: 768px) and (max-width: 980px) {
  .card_column .kxit_kx_button{
    position: absolute;
    bottom: 0;
    width: 100%;
    padding-right: 25%;
  }
}
/* Mobile */
@media all and (max-width: 767px) {
  .card_column .kxit-button-layout {
    max-width: none;
  }
  .card_column .kxit_kx_button{
    position: absolute;
    bottom: 0;
    width: 100%;
    max-width: none;
    padding-right: 25px;
    padding-left: 25px;
    margin-right: 0px;
    margin-left: 0px;
  }
}
/** Image on Cards **/
.card_image .et_pb_image_wrap{
  position: relative;
  max-width: 100%;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.card_image img{
  width: 100% !important;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute; 
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
/* Desktop */
@media all and (min-width: 981px) {
  .card_image {
    aspect-ratio: auto 567/230;
  }
}
/* Tablet */
@media all and (min-width: 768px) and (max-width: 980px) {
  .card_image {
    aspect-ratio: auto 314/150;
  }
}
/* Mobile */
@media all and (max-width: 767px) {
  .card_image {
    aspect-ratio: auto 314/150;
  }
}

/** Select **/
.nice-select.select-dark{
  font-family: HelveticaNeueLTPro-Bd;
  font-size: clamp(14px, 1.66vw, 18px);
  border-radius: 0px;
  width: 100%;
  padding-left: 18px;
}
.nice-select.select-light{
  font-family: HelveticaNeueLTPro-Bd;
  text-transform: uppercase;
  font-size: clamp(14px, 1.66vw, 18px);
  border-radius: 0px;
  width: 100%;
  padding-left: 31px;
}

.nice-select.select-dark .list,
.nice-select.select-light .list{
  width: 100%;
  border-radius: 0px;
  text-transform: none;
  margin-top: 0px;
  max-height: 325px;
  overflow-y: auto !important;
}
.nice-select.select-dark,
.nice-select.select-dark .list{
  border: thin solid white;
}
.nice-select.select-dark{
  height: 56px;
  margin-bottom: 16px;
}

.nice-select.select-dark span{
  position: absolute;
  top: 8px;
}
.nice-select.select-dark:after{
  border-color: white;
}
.nice-select.select-light:after{
  border-color: black;
}
.nice-select.select-dark:after,
.nice-select.select-light:after{
  height: 9px;
  width: 9px;
  right: 20px;
  border-bottom: 3px;
  border-right: 3px;
  border-left: 0px;
  border-top: 0px;
  border-style: solid;
  margin-top: -7px;
}

.nice-select.select-dark{
  color: white !important;
  background-color: rgba(255, 255, 255, 0.17) !important;
}
.nice-select.select-dark .option{
  color: black;
}
.nice-select.select-light,
.nice-select.select-light:hover,
.nice-select.select-light.open,
.nice-select.select-light .list{
  border: thin solid black;
}
.nice-select.select-light .option{
  width: 100% !important;
  font-family: HelveticaNeueLTPro-Bd;
  font-size: clamp(14px, 1.66vw, 18px);
  padding: 12px 8px 8px 31px;
}

.nice-select.select-dark .option:hover,
.nice-select.select-dark .option.selected.focus,
.nice-select.select-light .option.selected.focus,
.nice-select.select-light .option:hover{
  color: white;
  background-color: #a6093d !important;
}
.et_pb_contact_field[data-type=select]:after{
  display: none;
}

/** DataTable **/
/* general */
.footable{
  font-family: 'HelveticaNeueLTPro-Roman' !important;
}
/* Title */
.footable_parent .footable_title{
  background: linear-gradient(270deg, rgba(166,9,61,1) 0%, rgba(27,54,93,1) 100%);
  padding-left: 25px;
}
.footable_parent h3{
  color: white;
  font-family:'HelveticaNeueLTPro-Roman';
  text-transform: uppercase;
  padding-top: 25px;
}
.footable_parent .footable_description{
  background: linear-gradient(270deg, rgba(166,9,61,1) 0%, rgba(27,54,93,1) 100%);
  padding-left: 25px;
  padding-bottom: 25px;
  color: white;
  font-size: clamp(14px, 1.66vw, 18px);
}
@media all and (min-width: 981px) {
  .footable_parent .ninja_footable thead th,
  .footable, .footable_parent .footable_description{
    line-height: 1.33em !important;
  }
}
@media all and (max-width: 980px) {
  .footable_parent .ninja_footable thead th,
  .footable, .footable_parent .footable_description{
    line-height: 1.36em !important;
  }
}
.footable caption{
  display: none;
}
@media all and (max-width: 425px) {
  .footable_parent .footable_title,
  .footable_parent .footable_description,
  .footable_parent th.footable-first-visible
  {
    padding-left: 8% !important;
  }

}
/* Header */
.footable_parent .ninja_footable thead th{
  background: white !important;
  text-transform: uppercase !important;
  font-size: clamp(14px, 1.66vw, 18px) !important;
  font-weight: normal !important;
  padding: 20px 25px 15px 25px !important;
}
/* Table */
.footable_parent .ninja_footable{
  border-radius: 0px !important;
  margin: 0px !important;
  color: black;
  font-size: clamp(14px, 1.66vw, 18px) !important;
}
.footable_parent .ninja_footable tbody tr:nth-child(even) {
  background-color: #d3dfe6;
}
.footable_parent .ninja_footable tbody tr:nth-child(odd) {
  background-color: #e0e9ed;
}
.footable_parent .ninja_footable tbody tr td {
  padding: 20px 25px 15px 25px !important;
}
/* Footer */
.footable_parent tfood .footable-paging{
  background-color: white !important;
}
/* Pagination */
.footable .pagination{
  margin: 0px !important;
}
.footable-pagination-wrapper .pagination .disabled{
  display:none;
}
.footable-pagination-wrapper .pagination a{
  color: black !important;
  border: none !important;
  font-weight: bold !important;
}
.footable-pagination-wrapper .pagination a:hover{
  background-color: #e0e9ed !important;
  border-color: #e0e9ed !important;
}
.footable-pagination-wrapper .pagination .active a{
  background-color: white !important;
  color: #a6093d !important;
  border-bottom: 3px solid  #a6093d !important;
  border-top: none;
  border-right: none;
  border-left: none;
}

/** Newsbox **/
/* Desktop & Tablet */
@media all and (min-width: 981px) {
  .newsbox_row .kxit_kx_button{
    position: absolute;
    bottom: 0px;
    max-width: 317px !important;
  }
  .newsbox_row .newsbox_content_text{
    overflow: hidden;
  }
  .newsbox_row .et_pb_image{
    max-width: 162px;
    width: 100%;
    aspect-ratio: auto 162 / 198;
  }
  .newsbox_row .et_pb_image_wrap{
    height: 100%;
    aspect-ratio: auto 162 / 198;
  }
  .newsbox_row .et_pb_image_wrap img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}

/* Mobile */
@media all and (max-width: 980px) {
  .newsbox_row .kxit_kx_button{
    position: absolute;
    bottom: 0px;
    width: 100%;
  }
  .newsbox_row .kxit-button-layout{
    max-width: none;
  }
}


/** Cards 3 columns **/
/* general */
.card_3_img{
  margin-bottom: 50px !important;
}
/* Tablet */
@media all and (min-width: 768px) and (max-width: 980px) {
  .card_3{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .card_3 .card_3_img span{
    width: 100% !important;
  }
}
/* Mobile */
@media all and (max-width: 767px) {
  .card_3 .card_content_title{
    margin-bottom: 15px !important;
  }
  .card_3 .card_3_img span{
    width: 100% !important;
  }
  .card_3 .kxit-button-layout {
    max-width: none;
  }
  .card_3 .kxit_kx_button {
    padding-right: 25px;
  }
}

/** Cards 2 Columns Multiple Buttons **/
/* general */
.card_multiple_buttons .kxit_kx_button{
  margin-bottom: 0 !important;
}

/* Tablet */
@media all and (min-width: 768px) and (max-width: 980px) {
  .card_multiple_buttons_cards .kxit-button-layout{
    font-size: 14px !important;
  }
  .card_multiple_buttons .kxit_kx_button{
    margin-right: 0px !important;
  }
  .card_multiple_buttons_cards .card_column{
    margin-bottom: 0px !important;
  }
  .card_multiple_buttons_cards{
    display: grid;
    grid-column-gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .card_multiple_buttons .card_multiple_buttons_img span{
    width: 100% !important;
  }

}
/* Mobile */
@media all and (max-width: 767px) {
  .card_multiple_buttons_cards .kxit-button-layout{
    font-size: 14px !important;
  }
  .card_multiple_buttons .card_multiple_buttons_img span,
  .card_multiple_buttons .card_multiple_buttons_img img{
    width: 100% !important;
  }
}

/** Text/Image **/
/* general */
#text_image_row_1,
#text_image_row_2{
  display: flex;
  padding: 0px;
}


/* Desktop */
@media all and (min-width: 981px) {
  #text_image_row_1,
  #text_image_row_2{
    flex-direction: row;
    padding: 150px 0;
  }
  #text_image_row_1 div:nth-of-type(1),
  #text_image_row_2 div:nth-of-type(1){
    order: 1;
    -webkit-order: 1;
  }
  #text_image_row_1 div:nth-of-type(2),
  #text_image_row_2 div:nth-of-type(2) {
    -webkit-order: 2;
    order: 2;
  }
  .text_image_image img{
    /*aspect-ratio: 314 /250;*/
    aspect-ratio: 366/362;
	  object-fit: cover;
    object-position: center;
    max-width: 366px;
    width: 100%;
  }
  .text_image_image{
	  width: 43% !important;
  }
  .text_image_content{
	  width: 57% !important;
    margin-bottom: 0px; 
  }
  #text_image_row_1 .text_image_img{
    display: flex;
    justify-content: end;
  }
}

/* Mobile & Tablet */
@media all and (max-width: 980px) {
  #text_image_row_1,
  #text_image_row_2{
    flex-direction: column;
    padding: 75px 0 32px;
  }
  #text_image_row_1 div:nth-of-type(1),
  #text_image_row_2 div:nth-of-type(1){
    order: 2;
    -webkit-order: 2;
  }
  #text_image_row_1 div:nth-of-type(2),
  #text_image_row_2 div:nth-of-type(2){
    -webkit-order: 1;
    order: 1;
  }
  .text_image_image img{
    aspect-ratio: 314 /250;
	  object-fit: cover;
    object-position: center;
  }
  .text_image_image,
  .text_image_content_title{
    margin-bottom: 50px !important;
  }
  .text_image_content{
    margin-bottom: 0px !important;
  }  
  .text_image_content_subtitle,
  .text_image_content_text{
    margin-bottom: 25px !important;
  }
}

/** Timeline **/
/* general */
.timeline .aioc_slide_wrapper {
	border-radius: 0px !important;
}
.timeline .swiper-slide,
.timeline .aioc_slide_content {
  opacity: 0.42;
}
.timeline .aioc_slide_content{
  padding-top: 1rem;
}
.timeline .swiper-container-3d {
  perspective: 1950px;
}
.timeline .swiper-slide.swiper-slide-next{
	opacity: 1 !important;
}
.timeline .aioc_slide_content p{
  font-size: clamp(70px, 8.14vw , 120px);
}
/* Desktop */
@media all and (min-width: 981px) {
  .timeline .aioc_slide_title {
    padding-bottom: 30px;
  }
  .timeline .aioc_content_carousel_item .aioc_slide_wrapper .aioc_slide_image_wrapper{
    height: auto;
  }
  .timeline .aioc_arrows_bottom_center, .timeline .aioc_arrows_bottom_left, .timeline .aioc_arrows_bottom_right{
    margin-top: 0px;
  }
  .timeline .swiper-button-next:after, .timeline .swiper-button-prev:after{
    line-height: 24px;
  }
}
/* Tablet */
@media all and (min-width: 768px) and (max-width: 980px) {
  .timeline .aioc_slide_title {
    padding-bottom: 30px;
  }
	.timeline .aioc_swiper_navigation .swiper-button-prev{
		margin-right: 120px;
	}	
}
/* Mobile */
@media all and (max-width: 767px) {
  .timeline .aioc_slide_title {
    padding-bottom: 25px;
  }
	.timeline .aioc_swiper_navigation {
		margin-bottom: 20px;
    height: 98px;
	}
  .timeline .aioc_slide_content{
    font-size: 58px;
  }
	.timeline .aioc_swiper_navigation .swiper-button-prev{
		margin-right: 120px;
	}
}

/** Slider **/
.image-slider .et-pb-controllers a{
  height: 4px;
  width: 69px;
  border-radius: 0px;
  margin-right: 30px;
  opacity: 1;
  color: transparent;
  background-color: white;
}
.image-slider .et-pb-controllers a:last-child{
  margin-right: 0px;
}
.image-slider .et-pb-controllers .et-pb-active-control{
  background-color: #a6093d;
  opacity: 1;
}
.image-slider .et-pb-controllers .et-pb-active-control a{
  color: transparent !important;
}

@media all and (min-width: 768px){
  .image-slider .et_pb_slide_description h1{
    font-size: clamp(2.875rem, 6vw, 3.75rem);
  } 
  .image-slider .et_pb_slide_description{
    position: absolute;
    bottom: 0px;
    padding-top: 0px;
    padding-left: 99px;
    padding-bottom: 13%;
  }
  .image-slider .et_pb_slide{
		height: auto;
    padding: 0px;
	}
	.image-slider .et_pb_container{
		aspect-ratio: 1158 / 595 !important;
		height: auto !important;
	}
	.image-slider .et-pb-controllers {
		text-align: right;
		margin-bottom: 30px;
		padding-right: 69px;
    bottom: 0px;
	}
  .image-slider .et-pb-controllers a{
    margin-right: 30px;
  }
  .image-slider .et_pb_slider_container_inner {
		vertical-align: top;
		padding-top: 1%;
	}
}
@media all and (max-width: 767px){
  .image-slider .et_pb_slide_description{
    position: absolute;
    top: 50px;
    padding-top: 0px;
  }
  .image-slider .et_pb_slide_description h1{
    font-size: 35px;
  } 
	.image-slider .et_pb_container{
		aspect-ratio: 375 / 400;
	}
	.image-slider .et-pb-controllers {
		text-align: center;
		margin-bottom: 3%;
	}
  .image-slider .et-pb-controllers a{
    margin-right: 10px;
  }
}

/** Cards with filter **/
/* general */

.cards_filter_reference .et_pb_portfolio_thumbnail{
  grid-area: portfolio-bild;
  overflow: hidden;
}
.cards_filter_reference .et_pb_module_header h2 a{
  text-transform: uppercase;
  font-size: calc(18px + (24 - 18) * ((100vw - 375px) / (1680 - 375)));
}
.cards_filter_reference .et_pb_portfolio_excerpt {
  font-family: HelveticaNeueLTPro-Roman;
}
.cards_filter_reference .et_pb_module_header a{
  text-transform: uppercase;
}
.cards_filter_reference .kxit-button-layout{
  font-size: 20px;
}
.cards_filter_reference .et_pb_portofolio_pagination{
  font-family: HelveticaNeueLTPro-Bd;
  /*font-size: calc(14px + (18 - 14) * ((100vw - 375px) / (1680 - 375)));*/
  border: none;
  font-weight: bold;
  margin-top: 15px;
}
.cards_filter_reference .et_pb_portofolio_pagination a.active{
  border-bottom: 4px solid #a6093d;
}
.cards_filter_reference .et_pb_portofolio_pagination ul li a{
  font-size: 20px;
  color: black;
}

/* Desktop */
@media all and (min-width: 981px) {
  .portfolio_title{
    width: calc(100% - 370px);
  }
  .cards_filter_reference .et_pb_portfolio_filters{
    position: absolute;
    right: 0px;
    width: 366px;
    height: 60px;
  }
  .cards_filter_reference .et_pb_portfolio_item {
    grid-template-columns: 49% 51%;
    padding: 100px 0;
    display: grid;
    grid-template-areas: 
      'portfolio-bild .'
      'portfolio-bild .'
      'portfolio-bild .'
    ;
  }
  .cards_filter_reference .et_pb_portfolio_thumbnail{
    margin-left: auto;
    margin-right: auto;
  }
  .cards_filter_reference .et_pb_portfolio_thumbnail img{
    max-width: 267px;
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    object-position: center;
  }
  .cards_filter_reference .et_pb_module_header{
    padding-bottom: 0px;
    margin-top: -4px;
  }
  .cards_filter_reference .et_pb_portfolio_excerpt {
    margin-bottom: 35px;
  }
  .cards_filter_reference .et_pb_portfolio_item:after{
    content: '';
    position: absolute;
    bottom: 0;
    width: 55%;
    height: 0;
    border: thin solid black; 
    border-bottom: 0;
    margin-bottom: -1px; 
    visibility: visible;
  }
}
/* Tablet */
@media all and (min-width: 768px) and (max-width: 980px) {
  .portfolio_title{
    width: calc(100% - 270px);
  }
  .cards_filter_reference .et_pb_portfolio_filters{
    position: absolute;
    right: 0px;
    top: -155px;
    width: 266px;
    height: 60px;
  }
  .cards_filter_reference .et_pb_portfolio_item {
    grid-template-columns: 49% 51%;
    padding: 100px 0;
    display: grid;
    grid-template-areas: 
      'portfolio-bild .'
      'portfolio-bild .'
      'portfolio-bild .'
    ;
  }
  .cards_filter_reference .et_pb_portfolio_thumbnail{
    margin-left: auto;
    margin-right: auto;
  }
  .cards_filter_reference .et_pb_portfolio_thumbnail img{
    max-width: 267px;
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    object-position: center;
  }
  .cards_filter_reference .et_pb_module_header{
    padding-bottom: 0px;
  }
  .cards_filter_reference .et_pb_portfolio_excerpt {
    margin-bottom: 35px;
  }
  .cards_filter_reference .et_pb_portfolio_item:after{
    content: '';
    position: absolute;
    bottom: 0;
    width: 55%;
    height: 0;
    border: thin solid black; 
    border-bottom: 0;
    margin-bottom: -1px; 
    visibility: visible;
  }
}
/* Mobile */
@media all and (max-width: 767px) {
  .cards_filter_reference .et_pb_portfolio_filters{
    margin:0px;
  }
  .cards_filter_reference .et_pb_portfolio_item {
    padding: 50px 0;
    margin: 0;
    display: grid;
    grid-template-areas: 
      'portfolio-bild'
      '.'
      '.'
      '.'
    ;
  }
  .cards_filter_reference .et_pb_portfolio_thumbnail img{
    width: 100%;
    aspect-ratio: 314/131;
    object-fit: cover;
    object-position: center;
  }
  .cards_filter_reference .et_pb_module_header{
    padding-bottom: 25px;
  }
  .cards_filter_reference .et_pb_portfolio_excerpt {
    margin-bottom: 25px;
  }
  .cards_filter_reference .et_pb_portfolio_item:after{
    content: '';
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 0;
    border: thin solid black; 
    border-bottom: 0;
    margin-bottom: -1px; 
    visibility: visible;
  }
}

/** Referenz-Seiten **/
/* general */
.reference_title{
  font-size: clamp(25px, 3.6vw , 45px);
  text-transform: uppercase;
}
#text_image_row_2 .references_blurb .et_pb_blurb_content{
  margin: 0px;
}
#text_image_row_2 .references_blurb{
  margin-bottom: 45px;
}
#text_image_row_2 .references_blurb .et_pb_blurb_container{
  vertical-align: middle;
}
#text_image_row_1.reference_text_image_row .h3_normal h3,
#text_image_row_2 .references_blurb h3.et_pb_module_header{
  font-size: clamp(18px, 2.5vw , 24px);
  text-transform: uppercase;
}
#text_image_row_2 .references_blurb .et_pb_blurb_description{
  font-size: clamp(14px, 2.5vw , 24px);
}
#text_image_row_1.reference_text_image_row .h3_normal{
  margin-bottom: 0px;
}

/* Desktop */
@media all and (min-width: 981px) {
  .reference_title{
    line-height: 50px;
  }
  #text_image_row_1.reference_text_image_row,
  #text_image_row_2.reference_text_image_row {
    padding-top: 0px;
    padding-bottom: 75px;
    gap: 30px;
  }
  #text_image_row_1.reference_text_image_row::after,
  #text_image_row_2.reference_text_image_row::after{
    content: none;
  }
  .reference_title_section{
    padding: 100px 0px 50px 0px;
  }
}
/* Tablet */
@media all and (min-width: 768px) and (max-width: 980px) {
  .reference_title{
    line-height: 30px;
  }
  .reference_title_section{
    background: linear-gradient(270deg,#1b365d 0%,#a6093d 100%);
    padding: 50px 0px 50px 0px;
  }
  .reference_title_row {
    color: white;
    padding: 0px !important;
  }
  #text_image_row_1.reference_text_image_row {
    flex-direction: column-reverse; 
  }
  #text_image_row_2.reference_text_image_row {
    padding-top: 0px;
    padding-bottom: 0px;
  }
  #text_image_row_2.reference_text_image_row .text_image_content{
    margin: 50px 0px !important;
  }
}
/* Mobile */
@media all and (max-width: 767px) {
  .reference_title_section{
    background: linear-gradient(270deg,#1b365d 0%,#a6093d 100%);
    padding: 50px 0px 50px 0px;
  }
  .reference_title_row {
    color: white;
    padding: 0px !important;
  }
  #text_image_row_1.reference_text_image_row {
    flex-direction: column-reverse; 
  }
  #text_image_row_2.reference_text_image_row {
    padding-top: 0px;
    padding-bottom: 0px;
  }
  #text_image_row_2.reference_text_image_row .text_image_content{
    margin-top: 50px;
  }
}

.kxit_kx_button {
  font-size: 20px !important;
  line-height: 25px !important;
}






/** TRY Layout Gap**/
.card_2_col_grid,
.et_pb_row_1-4_1-4_1-4.et_pb_equal_columns,
.et_pb_row_4col.et_pb_equal_columns{
  display: grid;
  gap: 30px;
}
.et_pb_column_1_4{
  width: 100% !important;
  margin-right: 0px !important;
}
.card_column, .et_pb_column_1_2{
  width: calc(50% - 15px) !important;
  margin-right: 0px !important;
}
.card_2_col_grid:after,
.card_3:after,
.et_pb_row_4col.et_pb_equal_columns:after{
  content: none;
}
.et_pb_gutters2 .et_pb_column, .et_pb_gutters2.et_pb_row .et_pb_column {
  margin-right: 0px;
}

/* Desktop */
@media (min-width: 981px) {
  .et_pb_row_1-4_1-4_1-4.et_pb_equal_columns,
  .et_pb_row_4col.et_pb_equal_columns{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .card_3{
    gap: 30px;
  }
  .card_3 .card_column{
    width: calc(33.33% - 20px) !important;
  }
} 
/* Tablet */
@media all and (min-width: 768px) and (max-width: 980px) {
  .et_pb_row_4col.et_pb_equal_columns,
  .card_2_col_grid.et_pb_equal_columns{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .et_pb_column_1_3.card_column,
  .et_pb_column_1_2.card_column,
  .et_pb_column_1_4{
    margin-bottom: 0px !important;
  }
  .card_column,
  .et_pb_column_1_2{
    width: 100% !important;
    margin-right: 0px !important;
  }
  .card_3{
    display: grid;
    gap: 30px;
  }
}
/* Mobile */
@media all and (min-width: 590px) and (max-width: 767px) {
  .et_pb_row_4col.et_pb_equal_columns{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .et_pb_column_1_4,
  .et_pb_column_1_3.card_column,
  .et_pb_column_1_2.card_column{
    margin-bottom: 0px !important;
  }
  .card_column,
  .et_pb_column_1_2{
    width: 100% !important;
    margin-right: 0px !important;
  }
  .card_3{
    display: grid;
    gap: 10px;
  }
}
/* Mobile */
@media all and (max-width: 589px) {
  .et_pb_row_4col.et_pb_equal_columns{
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
  .et_pb_column_1_4,
  .et_pb_column_1_3.card_column,
  .et_pb_column_1_2.card_column{
    margin-bottom: 0px !important;
  }
  .card_column,
  .et_pb_column_1_2{
    width: 100% !important;
    margin-right: 0px !important;
  }
  .card_3{
    display: grid;
    gap: 10px;
  }

}

/** ellipsis on cards **/
/** https://codepen.io/jjenzz/pen/naVmMW **/
/* Only on Desktop */
@media all and (min-width: 767px) {
  .ellip {
    display: block;
    height: 100%;
  }
  .ellip-line {
    display: inline-block;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-wrap: normal;
    max-width: 100%;
  }
  .ellip,
  .ellip-line {
    position: relative;
    overflow: hidden;
  }
  .card_five_line,
  .four-lines,
  .five-lines,
  .nine-lines{
    overflow: hidden;
    /*font-size: clamp(14px, 1.66vw, 18px);*/
  }
}


/** Banner with button **/
/* general */
.banner_button{
  background-image: linear-gradient(90deg, rgb(27, 54, 93) 0%, rgb(27, 54, 93) 51%, rgb(166, 9, 61) 52%, rgb(166, 9, 61) 100%);
}
#banner_button_row{
  display: flex;
  padding: 0px;
}

/* Desktop */
@media all and (min-width: 981px) {
  #banner_button_row{
    flex-direction: row;
  }
  .banner_button_image{
    width: 50% !important;
  }
  .banner_button_content{
    width: 50% !important;
    margin: 0px !important;
    padding: 150px 70px;
    background: linear-gradient(270deg, rgba(166,9,61,1) 0%, rgba(27,54,93,1) 100%);
  }
  .banner_button_content_title,
  .banner_button_content_subtitle{
    margin-bottom: 40px !important;
  }
  .banner_button_image_modul,
  .banner_button_image_modul span{
    height: 100%;
  }
  .banner_button_image img{
	  height: 100%;
    width: auto;
	  object-fit: cover;
    object-position: right;
  }
}

/* Tablet */
@media all and (min-width: 768px) and (max-width: 980px) {
  #banner_button_row{
		width: 100% !important;
    flex-direction: row;
	}
  .banner_button_content{
    margin: 0px;
    padding: 150px 10%;
    background: linear-gradient(270deg, rgba(166,9,61,1) 0%, rgba(27,54,93,1) 100%);
  }
  .banner_button_image_modul,
  .banner_button_image_modul span{
    height: 100%;
  }
  .banner_button_image img{
	  height: 100%;
    object-fit: cover;
    object-position: right;
  }

}
/* Contact */
/* Mobile */
@media all and (max-width: 767px) {
  .adresse-buttons .kxit-button-layout{
    max-width: none;
  }
}

/* Mobile */
@media all and (min-width: 426px) and (max-width: 767px){
  .banner_button{
    background: linear-gradient(90deg,rgb(27,54,93) 0%,rgb(166,9,61) 100%) !important;
  }
  #banner_button_row{
		width: 100% !important;
    flex-direction: column-reverse;
	}
  .banner_button_content,
  .banner_button_image{
    margin: 0;
  }
  .banner_button_content{
    padding: 50px 10%;
}
  .banner_button_image span{
    width: 100%;
  }
  .banner_button_image img{
    width: 100% !important;
    aspect-ratio: 375 / 150;
    object-fit: cover;
    object-position: center;
  }

}

/* Mobile Small */
@media all and (max-width: 425px){
  .banner_button{
    background: linear-gradient(90deg,rgb(27,54,93) 0%,rgb(166,9,61) 100%) !important;
  }
  #banner_button_row{
		width: 100% !important;
    flex-direction: column-reverse;
	}
  .banner_button_content{
    padding: 50px 8% 20px;
  }
  .banner_button_image img{
    aspect-ratio: 375 / 200;
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
  }
}

.bct-modal {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow: auto;
  background-color: green;
}

/** Home **/

/* Desktop */
@media all and (min-width: 1151px) {
  #title_home{
    position: absolute;
    top: 270px;
    width: 100%;
  }
  #newsbox_home{
    position: absolute;
    top: -39px;
    left: 50%;
    z-index: 5;
    background-color: transparent;
  }
}
@media all and (min-width: 981px) and (max-width: 1150px) {
  #title_home{
    position: absolute;
    top: 270px;
    width: 100%;
  }
  #newsbox_home{
    position: absolute;
    top: -39px;
    right: 1%;
    z-index: 5;
    background-color: transparent;
  }
}
/* Tablet */
@media all and (min-width: 768px) and (max-width: 980px) {
  #header_home{
    max-height: 100px;
    min-height: 0px;
  }
  #title_home{
    padding-top: 50px;
  }
}
/* Mobile */
@media all and (max-width: 767px) {
  #header_home{
    max-height: 100px;
    min-height: 0px;
  }
  #title_home{
    padding-top: 50px;
  }
}
/** Footer **/
body.error404 #et-boc .et-l .et_pb_social_media_follow_network_0_tb_footer a.icon, 
body.error404 #et-boc .et-l .et_pb_social_media_follow_network_1_tb_footer a.icon,
.et_pb_social_media_follow .et_pb_social_media_follow_network_0_tb_footer a.icon,
.et_pb_social_media_follow .et_pb_social_media_follow_network_1_tb_footer a.icon{
  background-color: transparent !important;
}
.et-social-linkedin a.icon:before,
.et-social-youtube a.icon:before{
  content: none;
}
.fa-linkedin:before,
.fa-square-youtube:before{
  font-size: 52px;
}

/** Search Page **/
.search_results{
  font-family: HelveticaNeueLTPro-Roman;
  font-size: clamp(14px, 1.66vw, 18px);
  color: black;
}
.et_pb_gutters3 .et_pb_column_1_2 .et_pb_module.search_field{
  margin-bottom: 20px;
}
.search_field input.et_pb_s{
  border: black thin solid;
  background-color: white;
  color: black;
  font-family: HelveticaNeueLTPro-Bd;
  font-size: 15px;
  text-transform: uppercase;
  vertical-align: middle;
  line-height: 50px;
  padding: 0px 23px 0px 23px;
  width: 50%;
}
.search_field input.et_pb_s::placeholder{
  color: black;
  font-family: HelveticaNeueLTPro-Bd;
  font-size: 15px;
  text-transform: uppercase;
  vertical-align: middle;
  line-height: 50px;
  padding: 0px;
  width: 100%;
}
.search_field::before{
  content: "\f179";
  font-family: dashicons;
  position: absolute;
  z-index: 1;
  right: 0;
  font-size: 28px;
  padding: 11px;
}
.search_result article{
  border-bottom: black thin solid;
  padding: 25px 0px 19px 0px;
  margin-bottom: 0px;
}
.search_result h5{
  margin-bottom: 15px;
}
.search_result .post-content-inner{
  color: black;
  margin-bottom: 25px;
}
.search_result .wp-pagenavi{
  margin-top: 40px;
  font-family: HelveticaNeueLTPro-Bd;
  font-size: 20px;
  text-align: center;
}
.search_result .wp-pagenavi .current{
  padding: 6px 12px;
  border-bottom: 3px #a6093d solid;
}
.search_result .wp-pagenavi a {
  padding: 6px 12px;
  color: black;
}
/* Desktop */
@media all and (min-width: 981px) {
  .search_result .post-content{
    width: calc(90% - 366px);
    float: left;
  }
  .search_result .post-button{
    width: 50%;
    max-width: 366px;
    float: right;
  }
}

/* Tablet */
@media all and (max-width: 980px) {
  .seach_results{
    margin-bottom: 20px;
  }
  .search_row .et_pb_column{
    margin-bottom: 25px;
  }

  .search_result .post-button{
    width: 100%;
    margin-top: 25px;
  }
  .search_result .acc-butt{
    max-width: none;    
  }
}



/********************************************
 * Dropdown-Sprachwechsler
 ********************************************/
.my-language-switcher-dropdown {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 50px;
}

/* Nur die aktive Flagge oben */
.my-language-switcher-dropdown .active-flag-toggle img {
  width: 24px;      /* z.B. 24 px wie vorher */
  height: auto;
  cursor: pointer;
  margin-top: 10px; /* falls du Abstand brauchst */
  max-width: max-content;
}

/* Das Dropdown */
.my-language-switcher-dropdown .flag-dropdown {

  display: none;
  position: middle;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  background: #fff;
  z-index: 9999;
}

/* Nur die Flaggen im Dropdown größer machen */
.my-language-switcher-dropdown .flag-dropdown li a img {
  width: 24px!important;  /* z.B. größer */
  height: auto;
  max-width: max-content;
}

/* Dropdown sichtbar, wenn Klasse .is-open */
.my-language-switcher-dropdown.is-open .flag-dropdown {
  display: block;
}

/* Optional Hover-Effekt */
.my-language-switcher-dropdown .flag-dropdown li:hover {
  background: #eee; 
}
.my-language-switcher-dropdown.is-open {
  background: white;

}

@media (max-width: 980px) {
    .mobile_footer_row a {
        color: black;
        font-size: 18px;
        margin-right: 10px;
    }
}



/* =========================================================================
   Nur für den Slider mit module_class="testimonial-slider"
   ========================================================================= */
/* 1.  ganze Slide linksbündig statt von Divi zentriert                  */
.testimonial-slider .et_pb_slide{
	text-align:left;
}

.testimonial-slider span {
	float: left;
}

/* 2.  Zitat‑Heading & Autorenzeile (normaler Slide‑Content)             */
.testimonial-slider .et_pb_slide_title,
.testimonial-slider .et_pb_slide_content{
	text-align:left;          /* Links‑Ausrichtung */
}

/* Grund-Grid */
.news-item .news-inner{
  display:flex;
  gap:4%;
  padding:60px 0;
  align-items:flex-start;
}

/* Links-/Rechts-Tausch */
.news-left  .news-img{ order:1; flex:0 0 33%; }
.news-left  .news-content{ order:2; flex:1 1 63%; }

.news-right .news-img{ order:2; flex:0 0 33%; }
.news-right .news-content{ order:1; flex:1 1 63%; }

.news-btn{
  display:inline-block;
  background:#0f305d;
  color:#fff;
  padding:14px 60px 14px 30px;
  position:relative;
  font-family:'HelveticaNeueLTPro-Bd';
  text-transform:uppercase;
}
.news-btn::after{
  content:'\203A';               /* › */
  position:absolute;
  right:25px; top:50%;
  transform:translateY(-50%);
}

/* Bild anpassen */
.news-img img{
  width:100%; height:auto; object-fit:cover;
}



/* ---------- Publications Pagination (angepasst) ---------- */
.pub-pagination{
  margin:60px 0 0;                 /* 60 px Abstand nach oben   */
  text-align:right!important;      /* rechtsbündig – wie Referenzen */
  font-family:'HelveticaNeueLTPro-Bd',Helvetica,Arial,sans-serif;
}
.pub-pagination .page-numbers{
  display:inline-block;
  margin:0 6px;
  font-size:20px;
  color:#000;
  text-decoration:none;
  margin-bottom: 10px;
}
.pub-pagination .prev,
.pub-pagination .next{             /* Pfeile formatiert */
  font-size:20px;
}
.pub-pagination .current{
  color:#a6093d;
  border-bottom:3px solid #a6093d;
}




/* =========================
   PUBLICATIONS – Layout
   ========================= */

/* 1) gesamter Block */
.pub-wrapper{
  max-width:1040px;          /* zentrierter Content-Frame */
  margin:0 auto;
}

/* 2) eine Publication-Zeile */
.pub-item{
  display:flex;
  align-items:flex-start;
  padding:100px 0 75px;      /* 100 px oben | 75 px unten */
  position:relative;         /* ► Anker für die Linie */
}

/* 2a) Trennlinie exakt 756 px */
.pub-item::after{
  content:'';
  position:absolute;
  bottom:0;
  left:0px;                /* beginnt nach dem linken Leerraum */
  width:756px;               /* gewünschte Breite */
  height:1px;
  background:#000;
}
.pub-item:last-of-type::after{display:none;}   /* letzte ohne Linie */

/* 3) linke Spalte = PDF-Thumbnail
      267 px Leerraum links | 200 px Bild | 127 px Leerraum rechts */
.pub-thumb{
  flex:0 0 200px;
  width:200px;
  height:264px;
  margin:0 127px 0 267px;    /* L-Offset 267 | R-Offset 127 */
  overflow:hidden;
}
.pub-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

/* 4) rechte Spalte = Meta-Daten */
.pub-meta{flex:1 1 auto;}

/* 4a) Titel */
.pub-title{
  font-family:'HelveticaNeueLTPro-Bd',Helvetica,Arial,sans-serif;
  font-size:24px;
  line-height:1.1;
  text-transform:uppercase;
  margin:0 0 25px 0;         /* 25 px bis zur Beschreibung */
}

/* 4b) Beschreibung */
.pub-desc{
  font-family:'HelveticaNeueLTPro-Roman',Helvetica,Arial,sans-serif;
  font-size:18px;
  line-height:1.33;
  margin:0 0 75px 0;         /* 75 px bis zum Button */
}

/* 4c) Download-Button */
.pub-btn{
  display:inline-block;
  min-width:366px;           /* Figma-Breite */
  height:50px;
  background:#1b365d;        /* Dunkelblau */
  color:#fff;
  padding:14px 60px 14px 30px;
  font-family:'HelveticaNeueLTPro-Bd';
  font-size:18px;
  line-height:22px;
  text-transform:uppercase;
  position:relative;
  text-decoration:none;
  margin-bottom:75px;        /* 75 px Abstand nach unten */
}
.pub-btn::after{             /* weißer Chevron » */
  content:'';
  position:absolute;
  top:50%;
  right:25px;
  width:9px; height:9px;
  border:3px solid #fff;
  border-left:0; border-top:0;
  transform:translateY(-50%) rotate(-45deg);
}
.pub-btn:hover{background:#a6093d;}  /* Hover-Weinrot */


/* Publications – Header mit Filter rechts */
.pub-header{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:50px;
}
.pub-heading{margin:0;}
.pub-filter-wrapper{width:366px;} /* gleiche Breite wie Portfolio-Filter */

@media (max-width:980px){
	.pub-header{flex-direction:column;align-items:flex-start;}
	.pub-filter-wrapper{width:100%;margin-top:25px;}
}

/* =========================
   RESPONSIVE
   ========================= */

/* Tablet */
@media (max-width:980px){
  .pub-item{
    flex-direction:column;
    padding:80px 0 50px;
  }
  .pub-item::after{
    left:0; width:100%;          /* Linie vollbreit auf Tablet */
  }
  .pub-thumb{
    width:200px;
    height:264px;
    margin:0 0 40px 0;           /* Offsets entfallen */
  }
  .pub-btn{min-width:280px;}
}

/* Mobile */
@media (max-width:767px){
  .pub-item{padding:60px 0 40px;}
  .pub-title{font-size:20px;}
  .pub-desc {font-size:16px;}
  .pub-btn  {font-size:16px;padding:12px 50px 12px 25px;}
}


/**  Slider / Testimonial  =================================== */

/* ---------- Allgemein ---------- */
.testimonial_row_slider{
    max-width: 960px !important;
}

/* ---------- Grund‑Slides ---------- */
.testimonial-slider-light .et_pb_slide,
.testimonial-slider-colour .et_pb_slide{
    padding: 0;
}

/* ---------- Slide‑Beschreibung ---------- */
.testimonial-slider-light .et_pb_slide_description{
    background-color:#ffffff;
    margin:150px 0;
    color:#000 !important;
    width:auto;
    -webkit-animation-fill-mode:both;
    animation-fill-mode:both;
    -webkit-animation-name:fadeBottom;
    animation-name:fadeBottom;
}

.testimonial-slider-colour .et_pb_slide_description{
    background:linear-gradient(180deg,#1b365d 0%,#a6093d 100%) !important;
    color:#fff !important;
    width:auto;
    -webkit-animation-fill-mode:both;
    animation-fill-mode:both;
    -webkit-animation-name:fadeBottom;
    animation-name:fadeBottom;
}

/* ---------- Typografie ---------- */

/* ---------- Text Alignment - ALL testimonials must be left-aligned ---------- */
.testimonial-slider .et_pb_slide,
.testimonial-slider-light .et_pb_slide,
.testimonial-slider-colour .et_pb_slide{
    text-align:left !important;
}

.testimonial-slider .et_pb_slide_description,
.testimonial-slider-light .et_pb_slide_description,
.testimonial-slider-colour .et_pb_slide_description{
    text-align:left !important;
}

.testimonial-slider .et_pb_slide_title,
.testimonial-slider-light .et_pb_slide_title,
.testimonial-slider-colour .et_pb_slide_title{
    text-align:left !important;
}

.testimonial-slider-light   .et_pb_slide_description h2,
.testimonial-slider-light   .et_pb_slide_description p{
    color:#000 !important;
    font-family:'HelveticaNeueLTPro-Roman';
}

.testimonial-slider-colour .et_pb_slide_description h2,
.testimonial-slider-colour .et_pb_slide_description p{
    color:#fff !important;
    font-family:'HelveticaNeueLTPro-Roman';
}

.testimonial-slider-light   .et_pb_slide_description h2,
.testimonial-slider-colour .et_pb_slide_description h2{
    font-size:clamp(18px, 2.5vw, 30px) !important;
}

.testimonial-slider-light   .et_pb_slide_description p,
.testimonial-slider-colour .et_pb_slide_description p{
    font-size:clamp(14px, 1.66vw, 18px) !important;
}

/* ---------- Dreieck‑Pointer ---------- */
.testimonial-slider-light .et_pb_slide_description:after{
    content:'';
    position:absolute;
    bottom:0;
    width:0;
    height:0;
    border:72px solid #ffffff;
    border-bottom:0;
    margin-bottom:-70px;
    clip-path:polygon(67% 0,0 0,86% 99%);
    visibility:visible;
}

.testimonial-slider-colour .et_pb_slide_description:after{
    content:'';
    position:absolute;
    bottom:0;
    width:0;
    height:0;
    border:72px solid #a6093d;
    border-bottom:0;
    margin-bottom:-70px;
    clip-path:polygon(67% 0,0 0,86% 99%);
    visibility:visible;
}

/* ---------- Pagination‑Controller ---------- */
.testimonial-slider-colour.controller-white .et-pb-controllers a{
    background-color:#d3dfe6;
}

.testimonial-slider-light .et-pb-controllers a,
.testimonial-slider-colour .et-pb-controllers a{
    height:5px;
    border-radius:0;
    opacity:1;
    background-color:#ffffff;
}

.testimonial-slider-light .et-pb-controllers a:last-child,
.testimonial-slider-colour .et-pb-controllers a:last-child{
    margin-right:0;
}

.testimonial-slider-colour .et-pb-controllers .et-pb-active-control,
.testimonial-slider-colour.controller-white .et-pb-controllers .et-pb-active-control{
    background-color:#a6093d;
    opacity:1;
}

.background-white .et-pb-controllers a {
  background-color:#D3DFE6;
}
.background-white .et-pb-controllers a.et-pb-active-control {
  background-color:#A6093D;
}

.background-blue .et-pb-controllers a {
  background-color:#FFFFFF;
}
.background-blue .et-pb-controllers a.et-pb-active-control {
  background-color:#A6093D;
}

.background-gradient .et-pb-controllers a {
  background-color:#FFFFFF !important;
}
.background-gradient .et-pb-controllers a.et-pb-active-control {
  background-color:#1B365D !important;
}

/* ========== BREAKPOINTS ========== */

/* -------- Desktop -------- */
@media (min-width:981px){
    .testimonial-slider-light .et_pb_slide_description,
    .testimonial-slider-colour .et_pb_slide_description{
        padding:50px 50px 50px 130px;
        border-radius:25px;
        margin:150px 0 190px;
    }
    .testimonial-slider-light .et_pb_slide_title:before{
        content:'«';
        font-size:120px;
        font-family:'HelveticaNeueLTPro-Hv';
        position:absolute;
        margin-top:-2%;
        margin-left:-7%;
        color:#000;
    }
    .testimonial-slider-colour .et_pb_slide_title:before{
        content:'«';
        font-size:120px;
        font-family:'HelveticaNeueLTPro-Hv';
        position:absolute;
        margin-top:-2%;
        margin-left:-7%;
        color:#fff;
    }
    .testimonial-slider-light .et_pb_slide_description h2,
    .testimonial-slider-colour .et_pb_slide_description h2{
        line-height:1.2em;
    }
    .testimonial-slider-light .et_pb_slide_description p,
    .testimonial-slider-colour .et_pb_slide_description p{
        line-height:1.33em;
    }
    .testimonial-slider-light .et_pb_slide_description:after,
    .testimonial-slider-colour .et_pb_slide_description:after{
        left:72%;
    }
    .testimonial-slider-light .et_pb_slide_content,
    .testimonial-slider-colour .et_pb_slide_content{
        margin-top:40px;
    }
    .testimonial-slider-light .et-pb-controllers a,
    .testimonial-slider-colour .et-pb-controllers a{
        margin-right:30px;
        width:69px;
    }
}

/* -------- Tablet -------- */
@media (min-width:426px) and (max-width:980px){
    .testimonial_row_slider{ padding:0; }

    .testimonial-slider-light .et_pb_slide_description,
    .testimonial-slider-colour .et_pb_slide_description{
        padding:50px 50px 50px 80px;
        border-radius:25px;
        margin:150px 0;
    }
    .testimonial-slider-light .et_pb_slide_title:before{
        content:'«';
        font-size:80px;
        font-family:'HelveticaNeueLTPro-Hv';
        position:absolute;
        margin-top:-2%;
        margin-left:-9%;
        color:#000;
    }
    .testimonial-slider-colour .et_pb_slide_title:before{
        content:'«';
        font-size:80px;
        font-family:'HelveticaNeueLTPro-Hv';
        position:absolute;
        margin-top:-2%;
        margin-left:-9%;
        color:#fff;
    }
    .testimonial-slider-light .et_pb_slide_description h2,
    .testimonial-slider-colour .et_pb_slide_description h2{
        line-height:1.2em;
    }
    .testimonial-slider-light .et_pb_slide_description p,
    .testimonial-slider-colour .et_pb_slide_description p{
        line-height:1.33em !important;
    }
    .testimonial-slider-light .et_pb_slide_description:after,
    .testimonial-slider-colour .et_pb_slide_description:after{
        left:66%;
    }
    .testimonial-slider-light .et_pb_slide_content,
    .testimonial-slider-colour .et_pb_slide_content{
        margin-top:40px;
    }
    .testimonial-slider-light .et-pb-controllers a,
    .testimonial-slider-colour .et-pb-controllers a{
        width:69px;
        margin-right:30px;
    }
}

/* -------- Mobile -------- */
@media (max-width:425px){
    .testimonial_section_slider{ padding-bottom:0; }
    .testimonial_row_slider{ padding:0; }

    .testimonial-slider-colour .et_pb_container,
    .testimonial-slider-light  .et_pb_container{
        height:200px !important;
    }
    .testimonial-slider-colour .et_pb_slide_description,
    .testimonial-slider-light  .et_pb_slide_description{
        padding:75px 50px;
        margin:75px 0 72px 0;
    }
    .testimonial-slider-light .et_pb_slide_description h2,
    .testimonial-slider-colour .et_pb_slide_description h2{
        line-height:1.28em !important;
    }
    .testimonial-slider-light .et_pb_slide_description p,
    .testimonial-slider-colour .et_pb_slide_description p{
        line-height:1.36em !important;
    }
    .testimonial-slider-light .et_pb_slide_description:after,
    .testimonial-slider-colour .et_pb_slide_description:after{
        left:52%;
    }
    .testimonial-slider-light .et_pb_slide_content,
    .testimonial-slider-colour .et_pb_slide_content{
        margin-top:25px;
    }
    .testimonial-slider-light .et-pb-controllers a,
    .testimonial-slider-colour .et-pb-controllers a{
        margin-right:10px;
        width:69px;
    }
    .testimonial-slider-light .et-pb-controllers,
    .testimonial-slider-colour .et-pb-controllers{
        margin:30px 0;
        position:relative;
    }
}

/* ========== Feinheiten / Overlays ========== */

/* Rahmen & Schatten entfernen */
.testimonial-slider-light .et_pb_slide,
.testimonial-slider-colour .et_pb_slide{
    background:transparent !important;
    box-shadow:none !important;
}

/* Divi Shadow‑Overlay abschalten */
.testimonial-slider-light .box-shadow-overlay,
.testimonial-slider-colour .box-shadow-overlay{
    display:none !important;
    box-shadow:none !important;
}

/* Controller‑Striche (nur light, falls gewünscht) */
.testimonial-slider-light .et-pb-controllers a{
    background:#ffffff00;
    border-color:#ffffff00;
    border-radius:0;
    opacity:.4;
}
.testimonial-slider-light .et-pb-controllers .et-pb-active-control{
    background:#33333300;
    opacity:1;
}

/* ---------- Autor / Slide‑Content ---------- */
/* Colour: weißer Text (kommt schon oben); Light: linksbündig + schwarz */
.testimonial-slider-light .et_pb_slide_content{
    text-align:left;
    color:#000 !important;
}
.testimonial-slider-colour .et_pb_slide_content{
    color:#fff !important;
}

.testimonial-slider-colour .et_pb_slide,
.testimonial-slider-light  .et_pb_slide{
    background-color:transparent !important;   /* nur die Farbe, Bild bleibt erhalten */
    box-shadow:none !important;
}

.background-blue, .background-white, .background-gradient {
  padding: 0 !important;
}

.testimonial-slider-light .et_pb_container,
.testimonial-slider-colour .et_pb_container {
    height: auto !important;
}

.et_pb_slides {
    transition: min-height 0.5s ease-in-out;
}

.et-pb-slider-arrows {
  display: none;
}

/* =========================================================================
   Fluent Forms - Fullwidth Contact Form Styling
   Replaces old Divi form with identical appearance
   ========================================================================= */

/* Form Container - Full Width, Transparent Background */
.fluentform.ff-default.fluentform_wrapper_4 {
    background-color: transparent !important;
}

.fluentform .ff-el-form-top {
    background-color: transparent !important;
}

/* Form Fields - General Styling */
.fluentform .ff-el-form-control,
.fluentform .ff-el-form-control:focus,
.fluentform textarea.ff-el-form-control,
.fluentform input.ff-el-form-control {
    font-family: 'HelveticaNeueLTPro-Roman', Helvetica, Arial, sans-serif !important;
    font-size: clamp(14px, 1.66vw, 18px) !important;
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.17) !important;
    border: 1px solid #ffffff !important;
    border-radius: 0 !important;
    text-align: left !important;
    padding: 16px !important;
    width: 100% !important;
    margin-bottom: 16px !important;
    height: 56px !important;
    box-sizing: border-box !important;
}

/* Focus State */
.fluentform .ff-el-form-control:focus,
.fluentform textarea.ff-el-form-control:focus,
.fluentform input.ff-el-form-control:focus {
    background-color: #ffffff !important;
    color: #707070 !important;
    border-color: #ffffff !important;
    outline: none !important;
}

/* Placeholder Styling */
.fluentform .ff-el-form-control::placeholder,
.fluentform textarea.ff-el-form-control::placeholder,
.fluentform input.ff-el-form-control::placeholder {
    color: #ffffff !important;
    opacity: 1 !important;
    font-size: clamp(14px, 1.66vw, 18px) !important;
}

.fluentform .ff-el-form-control:focus::placeholder,
.fluentform textarea.ff-el-form-control:focus::placeholder,
.fluentform input.ff-el-form-control:focus::placeholder {
    color: #707070 !important;
    font-size: clamp(14px, 1.66vw, 18px) !important;
}

/* Labels - Hidden but accessible */
.fluentform .ff-el-input--label {
    display: none !important;
}

/* Nice Select Dropdown Styling */
.fluentform .nice-select.ff-el-form-control {
    font-family: 'HelveticaNeueLTPro-Roman', Helvetica, Arial, sans-serif !important;
    font-size: clamp(14px, 1.66vw, 18px) !important;
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.17) !important;
    border: 1px solid #ffffff !important;
    border-radius: 0 !important;
    height: 56px !important;
    padding: 16px 30px 16px 18px !important;
    margin-bottom: 16px !important;
    width: 100% !important;
    display: block !important;
    line-height: 24px !important;
    box-sizing: border-box !important;
}

.fluentform .nice-select.ff-el-form-control .current {
    color: #ffffff !important;
    font-size: clamp(14px, 1.66vw, 18px) !important;
}

.fluentform .nice-select.ff-el-form-control.open .current,
.fluentform .nice-select.ff-el-form-control:focus .current {
    font-size: clamp(14px, 1.66vw, 18px) !important;
}

.fluentform .nice-select.ff-el-form-control:after {
    border-color: #ffffff !important;
    height: 9px !important;
    width: 9px !important;
    right: 20px !important;
    border-bottom: 3px solid #ffffff !important;
    border-right: 3px solid #ffffff !important;
    border-left: 0 !important;
    border-top: 0 !important;
    margin-top: -7px !important;
}

/* Dropdown List */
.fluentform .nice-select.ff-el-form-control .list {
    background-color: #ffffff !important;
    border: 1px solid #ffffff !important;
    border-radius: 0 !important;
    margin-top: 0 !important;
    width: 100% !important;
    max-height: 325px !important;
    overflow-y: auto !important;
}

.fluentform .nice-select.ff-el-form-control .option {
    color: #000000 !important;
    cursor: pointer !important;
    font-weight: 400 !important;
    line-height: 40px !important;
    list-style: none !important;
    min-height: 40px !important;
    outline: none !important;
    padding-left: 18px !important;
    padding-right: 29px !important;
    text-align: left !important;
    transition: all 0.2s !important;
}

.fluentform .nice-select.ff-el-form-control .option.selected {
    font-weight: bold !important;
}

.fluentform .nice-select.ff-el-form-control .option:hover,
.fluentform .nice-select.ff-el-form-control .option.selected.focus {
    background-color: #a6093d !important;
    color: #ffffff !important;
}

/* Checkboxes */
.fluentform .ff-el-form-check-label,
.fluentform .ff_tc_label {
    font-family: 'HelveticaNeueLTPro-Roman', Helvetica, Arial, sans-serif !important;
    font-size: clamp(14px, 1.66vw, 18px) !important;
    color: #ffffff !important;
    text-align: left !important;
    line-height: 1.7 !important;
    display: inline-flex !important;
    align-items: center !important;
    cursor: pointer !important;
}

.fluentform .ff-el-form-check-label a,
.fluentform .ff_tc_label a {
    color: #ffffff !important;
    text-decoration: underline !important;
}

.fluentform .ff-el-form-check-input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    background-color: rgba(255, 255, 255, 0.17) !important;
    border: 1px solid #ffffff !important;
    border-radius: 0 !important;
    margin-right: 10px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    position: relative !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    vertical-align: middle !important;
}

.fluentform .ff-el-form-check-input[type="checkbox"]:checked {
    background-color: rgba(255, 255, 255, 0.17) !important;
    border-color: #ffffff !important;
}

.fluentform .ff-el-form-check-input[type="checkbox"]:checked::before {
    content: "N" !important;
    font-family: ETmodules !important;
    color: #ffffff !important;
    width: 17px !important;
    height: 17px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 17px !important;
    text-align: center !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    display: block !important;
}

/* Terms & Conditions Checkbox Wrapper */
.fluentform .ff-el-tc {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 20px !important;
}

.fluentform .ff_tc_checkbox {
    flex-shrink: 0 !important;
    margin-right: 10px !important;
    display: flex !important;
    align-items: center !important;
}

.fluentform .ff_t_c p {
    margin: 0 !important;
    padding: 8px 0 0 0 !important;
    font-size: inherit !important;
}

/* Newsletter Checkbox */
.fluentform .ff-el-form-check {
    margin-bottom: 20px !important;
}

/* Submit Button */
.fluentform .ff-btn.ff-btn-submit {
    font-family: 'HelveticaNeueLTPro-Bd', Helvetica, Arial, Lucida, sans-serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 0px solid !important;
    border-color: #a6093d !important;
    border-radius: 0px !important;
    padding: 0.3em 70px 0.3em 20px !important;
    line-height: 1.7em !important;
    cursor: pointer !important;
    position: relative !important;
    display: inline-block !important;
    width: 236px !important;
    margin: 0 0 0 18px !important;
    text-align: left !important;
    transition: color 300ms ease 0ms, background-color 300ms ease 0ms, border 300ms ease 0ms !important;
}

/* Button Arrow */
.fluentform .ff-btn.ff-btn-submit:after {
    content: '' !important;
    position: absolute !important;
    right: 25px !important;
    top: 50% !important;
    transform: translateY(-50%) rotate(-45deg) !important;
    width: 9px !important;
    height: 9px !important;
    border: 3px solid #000000 !important;
    border-left: 0 !important;
    border-top: 0 !important;
    transition: border-color 300ms ease 0ms !important;
}

/* Button Hover State */
.fluentform .ff-btn.ff-btn-submit:hover {
    background-color: #a6093d !important;
    color: #ffffff !important;
}

.fluentform .ff-btn.ff-btn-submit:hover:after {
    border-color: #ffffff !important;
}

/* Button Working State - Fix arrow jumping to left during submission */
.fluentform .ff-btn.ff-btn-submit.ff-working:after {
    right: 25px !important;
    left: auto !important;
}

/* Button Disabled State */
.fluentform .ff-btn.ff-btn-submit:disabled,
.fluentform .ff-btn.ff-btn-submit.disabled {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
}

.fluentform .ff-btn.ff-btn-submit:disabled:after,
.fluentform .ff-btn.ff-btn-submit.disabled:after {
    right: 25px !important;
    left: auto !important;
}

/* Button Alignment */
.fluentform .ff-text-right {
    text-align: right !important;
}

/* Mobile Adjustments */
@media (max-width: 767px) {
    .fluentform .ff-el-form-control,
    .fluentform input.ff-el-form-control {
        font-size: 14px !important;
        padding: 14px !important;
        height: 50px !important;
    }

    .fluentform textarea.ff-el-form-control {
        font-size: 14px !important;
        padding: 14px !important;
        height: 120px !important;
        min-height: 120px !important;
    }

    .fluentform .nice-select.ff-el-form-control {
        font-size: 14px !important;
        padding: 14px 25px 14px 14px !important;
        height: 50px !important;
    }

    .fluentform .ff-el-form-check-label,
    .fluentform .ff_tc_label {
        font-size: 14px !important;
    }

    .fluentform .ff-btn.ff-btn-submit {
        width: 100% !important;
        margin: 0 !important;
        padding: 0.3em 70px 0.3em 20px !important;
        text-align: left !important;
    }

    .fluentform .ff-text-right {
        text-align: left !important;
    }
}

/* Tablet Adjustments */
@media (min-width: 768px) and (max-width: 980px) {
    .fluentform .ff-el-form-control,
    .fluentform textarea.ff-el-form-control,
    .fluentform input.ff-el-form-control {
        font-size: 18px !important;
    }

    .fluentform .ff-el-form-control::placeholder,
    .fluentform textarea.ff-el-form-control::placeholder,
    .fluentform input.ff-el-form-control::placeholder {
        font-size: 18px !important;
    }

    .fluentform .ff-el-form-control:focus::placeholder,
    .fluentform textarea.ff-el-form-control:focus::placeholder,
    .fluentform input.ff-el-form-control:focus::placeholder {
        font-size: 18px !important;
    }

    .fluentform .nice-select.ff-el-form-control {
        font-size: 18px !important;
    }

    .fluentform .nice-select.ff-el-form-control .current {
        font-size: 18px !important;
    }

    .fluentform .nice-select.ff-el-form-control.open .current,
    .fluentform .nice-select.ff-el-form-control:focus .current {
        font-size: 18px !important;
    }

    .fluentform .nice-select.ff-el-form-control .option {
        font-size: 18px !important;
    }

    .fluentform .ff_tc_label,
    .fluentform .ff-el-form-check-label {
        font-size: 18px !important;
    }
}

/* Desktop Adjustments */
@media (min-width: 981px) {
    .fluentform .ff-el-form-control,
    .fluentform textarea.ff-el-form-control,
    .fluentform input.ff-el-form-control {
        font-size: 18px !important;
    }

    .fluentform .nice-select.ff-el-form-control {
        font-size: 18px !important;
    }

    .fluentform .ff-el-form-check-label,
    .fluentform .ff_tc_label {
        font-size: 18px !important;
    }

    .fluentform .ff-text-right {
        text-align: right !important;
    }
}

/* Error Validation */
.fluentform .error.text-danger {
    color: #ffffff !important;
    font-family: 'HelveticaNeueLTPro-Roman', Helvetica, Arial, sans-serif !important;
    font-size: 14px !important;
    margin-top: -12px !important;
    margin-bottom: 8px !important;
}

.fluentform .ff-el-form-control.is-invalid {
    border-color: red !important;
}

/* Container Spacing */
.fluentform .ff-t-container {
    margin-bottom: 0 !important;
}

.fluentform .ff-el-group {
    margin-bottom: 0 !important;
}

/* Required Fields Text */
.fluentform .ff-el-is-required {
    color: #ffffff !important;
}

/* Hidden Conditional Fields */
.fluentform .ff_excluded {
    display: none !important;
}

/* Textarea Specific */
.fluentform textarea.ff-el-form-control {
    height: 150px !important;
    min-height: 150px !important;
    resize: vertical !important;
    padding: 16px !important;
    line-height: normal !important;
}

