:root {
    /* ------------------
        typo 
    ------------------ */
    --step_700: clamp(1.50rem, calc(1.01rem + 2.17vw), 4.00rem);
    --step_600: clamp(1.00rem, calc(0.76rem + 1.09vw), 2.25rem);
    --step_500: clamp(0.94rem, calc(0.83rem + 0.49vw), 1.50rem);
    --step_400: clamp(0.875rem, calc(0.80rem + 0.33vw), 1.25rem);
    --step_300: clamp(0.75rem, calc(0.70rem + 0.22vw), 1.00rem);

    --fs_700: var(--step_700); /* h1, h2 = 2rem bis 4rem */
    --fs_600: var(--step_600); /* h3 */
    --fs_500: var(--step_500); /* Bulletpoints, Label */
    --fs_400: var(--step_400); /* Copy Text = 0.875rem bis 1.25rem*/
    --fs_300: var(--step_300);

    --lh_700: 1.25;
    --lh_600: ;
    --lh_500: ;
    --lh_400: 1.6; 
    
    /* ------------------
		spacing
	------------------ */
    --header_height: 4rem;

    --primary_nav_gap: clamp(2.00rem, calc(0.11rem + 2.11vw), 3.00rem);

    --hero_padding_inline: 2.5rem;

    --label_width: clamp(6.50rem, calc(5.06rem + 4.16vw), 11.00rem);
    --input_height: clamp(1.80rem, calc(1.65rem + 0.71vw), 2.50rem);

    --hero_content_width: clamp(48.00rem, calc(23.37rem + 27.37vw), 61.00rem); /* min 48rem max 61rem */
    --hero_content_left: clamp(5.00rem, calc(-2.67rem + 10.67vw), 10.00rem);

    --content_img_width: clamp(23.00rem, calc(-3.53rem + 29.47vw), 37.00rem); /* 23rem - 37rem */
    --component_img_width: 6rem; /* min 6rem */

    --triangle_right_width: clamp(46.00rem, calc(21.50rem + 28.00vw), 60.00rem); /* 46 - 60 */
    --triangle_right_position: calc(clamp(12.2rem, calc(5.73rem + 7.38vw), 15.9rem) * -1);
    --slider_width: clamp(40.00rem, calc(3.25rem + 42.00vw), 61.00rem);    

    --spacer_280: clamp(2.00rem, calc(0.67rem + 5.93vw), 6.00rem); /* ab 1400px = clamp(6.00rem, calc(-15.79rem + 24.21vw), 17.50rem) */
    --spacer_160: clamp(2.00rem, calc(0.67rem + 5.93vw), 6.00rem); /* ab 1400px = clamp(6.00rem, calc(-1.58rem + 8.42vw), 10.00rem) */
    --spacer_96: clamp(3.00rem, calc(2.41rem + 2.61vw), 6.00rem);
    --spacer_64: clamp(2.00rem, calc(1.61rem + 1.74vw), 4.00rem); 
    --spacer_48: clamp(2.00rem, calc(0.11rem + 2.11vw), 3.00rem); 

    --btn_padding_inline: clamp(0.75rem, calc(0.70rem + 0.25vw), 1.00rem);
    --btn_padding_block: clamp(1.00rem, calc(0.80rem + 1.01vw), 2.00rem);

    /* ------------------
		color
	------------------ */
    --green_light: hsl(200, 36%, 95%);
    --green_medium: hsl(190, 33%, 51%);
    --green_medium_hover: hsl(190, 33%, 41%);
    --green_dark: var(--colorAppMall);
    --green_dark_hover: var(--colorAppHoverMall);

    ----cc_color_active_indicator: var(--colorAppMall);
    --blue_hover: var(--colorAppHoverMall);

    --cc_color_active_indicator: var(--colorAppMall);
    --cc_btn_border_color: var(--colorAppMall);

    /* ------------------
		style
	------------------ */
    --boxShadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.3);
	--borderRadius: 4px;   
}

@font-face {
	font-family: regular;
	font-weight: 400;
	font-style: normal;
	src: url(../../general/fonts/Montserrat/Montserrat-Regular.ttf) format("truetype");
}
@font-face {
	font-family: medium;
	font-weight: 400;
	font-style: normal;
	src: url(../../general/fonts/Montserrat/Montserrat-Medium.ttf) format("truetype");
}
@font-face {
	font-family: semi-bold;
	font-weight: 400;
	font-style: normal;
	src: url(../../general/fonts/Montserrat/Montserrat-SemiBold.ttf) format("truetype");
}
@font-face {
	font-family: bold;
	font-weight: 400;
	font-style: normal;
	src: url(../../general/fonts/Montserrat/Montserrat-Bold.ttf) format("truetype");
}

/* ------------------
	General 
------------------ */
.btn {
    position: relative;
    border: 1px solid var(--colorAppMall);
    border-radius: var(--borderRadius); 
    outline: none;   
    display: inline-flex;
    align-items: center;
    padding: var(--btn_padding_inline, 0.75rem) var(--btn_padding_block, 1rem);
    font-family: 'regular';
    font-size: var(--fs_500);
    line-height: var(--lh_500);
    text-transform: initial;
    transition: all 0.3s ease-in-out;
}
.btn:hover,
.btn:focus {
	text-transform: initial;
	text-decoration: none;
	outline: none;
}
.btn-dark {
    background-color: var(--green_dark);
    color: hsl(0, 0%, 100%);
    border: 1px solid var(--green_dark);
}
.btn-dark:hover,
.btn-dark:focus {
	color: hsl(0, 0%, 100%);
	background-color: var(--green_dark_hover);
	border: 1px solid var(--green_dark_hover);
}
.btn-medium {
    background-color: var(--green_medium);
    color: hsl(0, 0%, 100%);
    border: 1px solid var(--green_medium);
}
.btn-medium:hover,
.btn-medium:focus {
	color: hsl(0, 0%, 100%);
	background-color: var(--green_medium_hover);
	border: 1px solid var(--green_medium_hover);
}

.btn svg {
	position: relative;  
	margin-left: 1rem;
    font-size: var(--fs_500);
}

.color-white {
    color: #fff;
}
.color-medium {
    color: var(--green_medium);
}
.color-dark {
    color: var(--green_dark)
}
.color-n1 {
    color: var(--n1Blue);
}

.center {
    text-align: center;
}
.left {
    text-align: left;
}
.right {
    text-align: right;
}

.overflow-hidden {
    overflow: hidden;
}

ul {
    padding-left: 1.3rem;
    margin-bottom: var(--spacer_64);
}
li {
	font-size: var(--fs_500);
	line-height: var(--lh_500);
	font-family: medium;
    margin-bottom: calc(var(--spacer_64) / 2);
}
li:last-child {
	margin-bottom: 0;
}

/* ------------------
    Typo 
------------------ */
html {
    font-size: 16px;
    scroll-behavior: smooth;
}

body {
    font-family: regular; 
    font-size: var(--fs_400);
    line-height: var(--lh_400);
    color: var(--n1Blue);
}
h1, .h1, h2, .h2 {
	font-family: regular;
    font-size: var(--fs_700);
	line-height: var(--lh_700);	
    text-transform: uppercase;
    margin-bottom: var(--spacer_64);
}
h3, .h3 {
	font-family: medium;
    font-size: var(--fs_600);
	line-height: var(--lh_600);	
    text-transform: initial;
    margin-bottom: calc(var(--spacer_64) / 2);
}
h4, .h4 {
	font-family: medium;
    font-size: var(--fs_600);
	line-height: var(--lh_600);	
    text-transform: uppercase;
    margin-bottom: calc(var(--spacer_64) - 1rem);
}

p {
    font-family: regular; 
    font-size: var(--fs_400);
    line-height: var(--lh_400);
    color: inherit;
    margin-bottom: var(--spacer_48);
}
p:last-child {
    margin-bottom: 0;
}

.cc-body-p, .cc-checkbox-label, .cc-checkbox-info, .cc-checkbox-head, .cc-cookie-detailinfo, .cc-cookie-detailinfo-col1 {
    font-family: regular;
    font-size: var(--fs_400);
    line-height: var(--lh_400);
}

a {
	text-decoration: none;
	color: var(--n1Blue);
}
a:hover {
	text-decoration: underline;
}

li::marker {
    color: var(--green_medium);
}

i {
    font-style: italic;
}

.cc-body-p, 
.cc-checkbox-label, 
.cc-checkbox-info, 
.cc-checkbox-head, 
.cc-cookie-detailinfo, 
.cc-cookie-detailinfo-col1 {
    font-family: regular;
    font-size: var(--cc_body_fontSize);
    line-height: var(--lh_15);
}
.cc-body-h2,
.cc-content-h2, 
.cc-checkbox-label {
   font-family: semi-bold;
   font-size: calc(var(--cc_body_fontSize) * 1.4);
   margin-bottom: var(--spacer_32);
}
.cc-content-h2, 
.cc-checkbox-label {
   font-size: calc(var(--cc_body_fontSize) * 1.2);
   margin-bottom: var(--spacer_24);
}
.cc-checkbox-label {
   margin-bottom: 0;
}
.cc-accordion-panel .cc-checkbox-label {
   font-size: var(--cc_body_fontSize);
}
.cc-checkbox-head .cc-checkbox-label {
   margin-left: 1rem !important;
}
.cc-checkbox-head .cc-checkbox-label ~ * {
   width: 2.5rem;
}
.cc-checkbox-info {
   margin-left: 3.5rem !important;
}
.cc-btn {
    margin-bottom: 0;
}

/* ------------------
	Structure 
------------------ */

 .cc-btn {
    background-color: var(--cc_color_active_indicator);
    border: 1px solid var(--cc_btn_border_color);
    color: var(--cc_btn_text_color);
 }
 .cc-btn.cc-btn-default:hover {
    background-color: var(--blue_hover);
 }
 .cc-btn-ghost {
    background-color: transparent;
    border: 1px solid var(--cc_color_active_indicator);
    color: var(--n1Blue);
}
.cc-btn-ghost:hover {
    background-color: var(--cc_color_active_indicator);
    border: 1px solid var(--cc_btn_border_color);
    color: var(--cc_btn_text_color);
}
 
 .cc-cookie-detailinfo-row {
    margin-bottom: 2rem;
 }

 .cc-modal-body {
    max-height: 70vh;
 }

#primary-header {
    position: fixed;
    z-index: 1000;
    top: calc((var(--header_height) + 0.5rem) * -1);
    background: hsl(0, 0%, 100%);
    width: 100%;
    height: var(--header_height);
    padding-inline: 2rem; 
    -webkit-transition: 0.2s;
    transition: 0.2s;    
    -webkit-box-shadow: var(--boxShadow);
    box-shadow: var(--boxShadow);
}
#primary-header.nav-is-open {
    height: auto;
}

.primaryheader-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--header_height);
}
.primaryheader-container .login svg {
    font-size: 1.6rem;
    margin-right: 1rem;
}

#primary-header.nav-is-closed .primary-nav {
    display: none;
}
#primary-header.nav-is-open .primary-nav {
    display: flex;
    flex-direction: column;
    gap: var(--primary_nav_gap);
    padding: calc(var(--header_height) / 2);
    padding-right: 0;
    padding-bottom: calc(var(--header_height) / 1.5);
}
.primary-nav-item {
    padding-right: var(--primary_nav_gap);
}
.primary-nav-item a * {
    color: var(--n1Blue);
}
.primary-nav-item a:hover {
    text-decoration: none;
}
.primary-nav-item header {
    font-family: medium;
    font-size: var(--fs_400);
    text-transform: initial;
    text-align: right;
    margin-bottom: 0;
}
.primary-nav-item p {
    display: none;
    position: relative;
    left: 0;
    font-size: 0.875rem;
    margin-bottom: 0;
    transition: all 0.2s ease-in-out;
}
.primary-nav-item a:hover header {
    color: var(--green_dark);
}
.primary-nav-item a:hover p {
    left: 0.5rem;
}

.primary-logo,
.logo-text {
    display: flex;
    align-items: center;
}
.primary-logo img {
    width: 2.5rem;
    margin-right: 1rem;
}
.logo-text {
    flex-direction: column;
    align-items: flex-start;
}
.logo-text span:first-child {
    font-family: semi-bold;
}
.logo-text span:last-child {
    display: none;
    font-family: medium;
    font-size: 0.6875rem;   
    line-height: 1.1;
}

.primary-navtoggle {
    --burger_lineheight: 2px;
    --burger_spacing: 9px;
    --burger_height: 20px;
    --burger_width: 26px;

    width: var(--burger_width);
    height: var(--burger_height);
    position: relative;
    cursor: pointer;
    display: inline-block;
}
.primary-navtoggle span{
    background-color: var(--n1Blue);
    position: absolute;
    border-radius: 2px;
    transition: .3s cubic-bezier(.8, .5, .2, 1.4);
    width:100%;
    height: var(--burger_lineheight);
    transition-duration: 500ms
}
.primary-navtoggle span:nth-child(1){
    top:0px;
    left: 0px;
}
.primary-navtoggle span:nth-child(2){
    top: var(--burger_spacing);
    left: 0px;
    opacity:1;
}
.primary-navtoggle span:nth-child(3){
    bottom:0px;
    left: 0px;
}
.primary-navtoggle:not(.open):hover span:nth-child(1){
    transform: rotate(-3deg) scaleY(1.1);
}
.primary-navtoggle:not(.open):hover span:nth-child(2){
    transform: rotate(3deg) scaleY(1.1);
}
.primary-navtoggle:not(.open):hover span:nth-child(3){
    transform: rotate(-4deg) scaleY(1.1);
}
.primary-navtoggle.open span:nth-child(1){
    transform: rotate(45deg);
    top: 13px;
}
.primary-navtoggle.open span:nth-child(2){
    opacity:0;
}
.primary-navtoggle.open span:nth-child(3){
    transform: rotate(-45deg);
    top: 13px;
}


#start-journey {
    scroll-margin-top: var(--header_height);
}

.hero-wrap {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;    
}
.video-pattern {
    background: url(//cdn.biexcellence.com/fragBob/apps/general/img/3px-tile.png) repeat scroll left top;
    position: absolute;
    opacity: 0.5;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.grid-layer {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 5;
    opacity: 0.5;
}
.video-background {
    position: absolute;
    top: 0px;
    right: 0px;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    overflow: hidden;
}
.hero-text-wrap {
    display: flex;
    align-items: center;
    height: 100%;
   
    position: relative;
    z-index: 800;
}

.hero-content {
    text-align: center;
    color: white;
    width: 100%;
    padding: 0 var(--hero_padding_inline, 2.5rem);    
}
.hero-content p {
    margin-bottom: var(--spacer_96);
}
.hero-content h1,
.hero-content p {
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.6);
}

.content-section {
    position: relative;
    padding: var(--spacer_280);
}
.content-section.bg-photo {
    padding: var(--spacer_160);
}
.content-section.bg-insiter {
    background-color: var(--green_dark);
    color: white;
}
.content-section.bg-insiter .text-block.center p + p {
    margin-bottom: calc(var(--spacer_64) * 2);
}
.content-section.bg-green-light {
    background-color: var(--green_light);
}
.content-section.with-logo-box {
    padding-bottom: calc(var(--spacer_160) * 1.5);
}

.logo-box-container {
    width: 100%; 
    background-color: #fff;
    border: 1px solid var(--colorBorder);
    padding: var(--spacer_64);
}
.logo-box {
    background-color: #fff;
    box-shadow: var(--boxShadow);
    padding: var(--spacer_160);    
}

.flexbox {
    display: flex;
    gap: var(--spacer_280);
}
.bg-insiter .flexbox,
.content-section.with-logo-box .flexbox {
    flex-direction: column;
}
.bg-insiter .flexbox {
    gap: calc(var(--spacer_280) * 2);   
}
.content-section.with-logo-box .flexbox {
    margin-bottom: var(--spacer_280);
}

.img-block {
    display: none;
    width: var(--content_img_width);
}
.text-block {
    flex: 1;
}

.bg-photo {
    background-image: url(../img/landingpage/insiter_bg_photo.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.bg-lines {
    background-image: url(../img/landingpage/insiter_bg_lines.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
/*
.bg-contact {
    background-image: url(../img/landingpage/insiter_bg_contact.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
*/

.floating-textbox {    
    background-color: var(--green_dark);
    color: white;
    padding: var(--spacer_160);
}
.floating-textbox .component {    
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: var(--spacer_96);
}
.floating-textbox .component-icon {    
    display: flex;
    justify-content: center;
}
.floating-textbox .component img {    
    width: var(--component_img_width);
}

.triangle-left,
.triangle-right,
.triangle-right-small {
    display: none;        
}

.slider-wrap {
    position: relative;
    display: block;
}
#insiter-slider-controls {
    position: absolute;
    top: 4.5rem;
    right: 0;
    left: 0;
    list-style: none;
}
#insiter-slider-controls > li,
#testimonial-slider-controls > li,
#logo-slider-controls > li {
    position: absolute;
    padding: 0.5rem;
    background-color: rgba(255, 255, 255, 0.5);
}
#logo-slider-controls > li {
    background-color: rgba(0, 0, 0, 0.1);
}
#insiter-slider-controls > li:first-child,
#testimonial-slider-controls > li:first-child,
#logo-slider-controls > li:first-child {
    left: 0;
}
#insiter-slider-controls > li:last-child,
#testimonial-slider-controls > li:last-child,
#logo-slider-controls > li:last-child {
    right: 0;
}
#insiter-slider-controls > li svg,
#testimonial-slider-controls > li svg,
#logo-slider-controls > li svg {
    font-size: 2rem;
    color: #fff;
}
.slider-card {
    background-color: var(--green_light);
}
.slider-info {
    padding: var(--spacer_160);
}
.slider-info li {
	font-size: var(--fs_400);
	line-height: var(--lh_400);
	font-family: regular;
    margin-bottom: calc(var(--spacer_64) / 2);
}

.testimonial-wrap {
    --img_max_width: 62.5rem;
    --quote_wrap_mleft: 2rem;
    --quote_wrap_mtop: 2rem;
    --quote_text_pinline: 9rem;
    --quote_text_ptop_ohu: 10rem;
    --quote_text_ptop_meichle: 9rem;

    margin-bottom: var(--spacer_160);
}

.testimonial-wrap,
.logo-box-container {    
    position: relative;
}
.testimonial-wrap ul,
.logo-box-container ul {    
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    list-style: none;
    padding: 0;
    margin: 0;
}
.testimonial-wrap li,
.logo-box-container li {    
    position: absolute;
    cursor: pointer;
}
.testimonial-wrap ul {    
    top: 21.5rem;
}
.logo-box-container ul {    
    top: calc(50% - 1.5rem);
}

.testimonial-wrap .tns-nav {
    display: none;
    text-align: center;
    margin-top: 1rem;
}
.testimonial-wrap .tns-nav > [aria-controls] {
    width: 1rem;
    height: 1rem;
    padding: 0;
    margin: 0 5px;
    border-radius: 50%;
    background: #a3a1a1;
    border: 0;
}
.testimonial-wrap .tns-nav > [aria-controls]:focus {
    outline: none;
}
.testimonial-wrap .tns-nav > .tns-nav-active {
    background: var(--green_dark);
}

.testimonial-item-wrap {
    display: flex;
    flex-direction: column;
    background-color: var(--green_dark);
    color: #fff;
    margin: 0;
}
.testimonial-figure {
    position: relative;
    max-width: var(--img_width);
    margin: 0;
}

.testimonial-figure figcaption {
    font-family: regular;
    font-size: var(--fs_300);
    line-height: var(--lh_400);
    padding: var(--spacer_160);
}
.testimonial-figure figcaption strong {
    display: block;
    margin-bottom: 1rem;
}
.testimonial-quote {
    padding: 0 var(--spacer_160) var(--spacer_160);
}
.testimonial-quote p {
    font-style: italic;
    text-align: center;
}
.testimonial-quote p.quote-ohu,
.testimonial-quote p.quote-holcim {
    font-family: regular;
    font-size: var(--fs_600);
    line-height: 1.7;
}
.testimonial-quote p.quote-kiesbeton {
    font-family: regular;
    font-size: calc(var(--fs_600) - 0.34rem);
    line-height: 1.8;
}
.testimonial-quote p.quote-meichle {
    font-family: regular;
    font-size: calc(var(--fs_600) - 0.2rem);
    line-height: 1.7;
}


.bullet-block ul {
    list-style: none;
    margin-bottom: 0;
}
.bullet-block li {
    display: flex;
}
.bullet-block svg {
    margin-right: 0.75rem;
    color: var(--green_dark);
    font-size: calc(var(--fs_500) + 0.3rem);
    position: relative;
    top: 0.2rem;
}

.legal-container {
    position: relative;
    padding: calc(var(--header_height) * 2) 2rem var(--header_height) 2rem;
}
.legal-container .backbutton {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
}
.legal-container h1 {
    font-family: regular;
    font-size: var(--fs_700);
	line-height: var(--lh_700);	
    text-transform: uppercase;
    margin-bottom: var(--spacer_64);
}
.legal-container .insiter-agb .h1,
.legal-container h2 {
    font-family: regular;
    font-size: var(--fs_600);
	line-height: var(--lh_600);	
    text-transform: uppercase;
    margin-bottom: calc(var(--spacer_64) - 1rem);
}
.legal-container .insiter-agb h2,
.legal-container h3 {
    font-family: medium;
    font-size: var(--fs_500);
	line-height: var(--lh_500);	
    text-transform: initial;
    margin-bottom: calc(var(--spacer_64) - 1rem);
}

.legal-container .insiter-agb ol {
    margin-bottom: calc(var(--spacer_64) - 1rem);
    padding-left: 2.5rem;
}
.legal-container .insiter-agb ol li {
    margin-bottom: calc(var(--spacer_64) / 8);
}


footer {
    display: flex;
    justify-content: space-between;
    position: relative;
    bottom: 0;
    left: 0;
    right: 0;
    padding: var(--spacer_64);
    background-color: var(--colorCardBG);
    z-index: 100;
    box-shadow: 0.1875rem 0 0.375rem rgb(0 0 0 / 30%);
}
footer .primary-logo {
    margin-bottom: 1rem;
}
footer ul {
    list-style: none;
    padding: 0;
    margin-bottom: 0;
}
footer li {
    margin-bottom: 0.5rem;
    line-height: 1;
}
footer a {
    color: var(--n1Blue);
    text-decoration: underline;
}
footer .right-col {
    display: flex;
    align-items: center;
}
footer .right-col img {
    width: 5rem;
    margin-left: 1rem;
}
footer .right-col .myn1 {
    display: none;
}


/* ************************* */
/* ***** modal styles  ***** */
/* ************************* */

.modal .modal-md {
    max-width: 39rem;
}
.modal .modal-content {
    border-radius: 0;
    border-color: var(--green_dark);
    padding: 4rem;
}
.modal .modal-header {
    padding: 0;
    border-bottom: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    position: absolute;
    right: 1rem;
    top: 1rem;
    z-index: 1;
}
.modal .modal-header .close, .modal .modal-header .close:not(:disabled):not(.disabled):hover, .modal .modal-header .close:not(:disabled):not(.disabled):focus {
    opacity: 1;
    line-height: 0;
    padding: 1.6rem;
}
.modal .modal-header svg {
    font-size: 1.2rem;
    color: var(--green_dark);
}
.modal .modal-body {
    padding: 0 0 4rem;
}
.modal .card {
    border: 1px solid var(--colorBorder);
    background-color: var(--colorCardBG);
    min-height: 5rem;
    border-radius: var(--borderRadius);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 2rem;
    font-family: medium;
    font-size: 0.75rem;
    line-height: 1.875rem;
    margin-bottom: 1.5rem;
}
.form-container .form-block {
    margin-bottom: var(--XspacerMainContent);
}
.modal .modal-body .form-block:last-child, .modal .modal-body .form-group:last-child {
    margin-bottom: 0;
}
.modal .form-container .form-block .form-headline {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 1px solid var(--n1Blue);
    margin-bottom: 2rem;
}
.modal .form-container .form-block .form-headline h5 {
    font-size: var(--headlineSizeLevel1);
    margin: 0;
    line-height: 2rem;
    font-family: semi-bold;
}
.modal .form-container .form-group {
    margin-bottom: 2rem;
    align-items: baseline;
}
.modal .form-container .form-group .col-form-label, .modal .businesshours-item span, .modal .businesshours-inquiry {
    margin-bottom: 0;
    font-size: var(--headlineSizeLevel2);
    font-family: medium;
    text-transform: initial;
    display: block;
    line-height: 0.9375rem;
}
.modal input, .modal input.form-control, .modal .inquiry-pile-details-container.form-container .form-block .inquiries-message p {
    /*
    width: 100%;
    height: var(--singleInputHeight);
    */
    font-size: var(--inputFontSize);
    line-height: var(--inputLineHeight);
    font-family: regular;
    padding: 0.3125rem 0.375rem;
    border: 1px solid var(--n1Blue);
    background: hsl(0, 0%, 100%);
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    border-radius: 0;
    color: var(--n1Blue);
}
.modal .form-group select {
    opacity: 0;
    visibility: hidden;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.modal .select2-container--default {
    max-width: 1230px;
    width: 100% !important;
    z-index: 95;
}
.modal .select2.select2-container {
    z-index: 90 !important;
}
.modal .select2-container--default .select2-selection {
    -webkit-border-radius: 0 !important;
    border-radius: 0 !important;
    border-color: var(--n1Blue) !important;
    outline: 0 !important;
    line-height: var(--inputLineHeight) !important;
    height: var(--singleInputHeight) !important;
    -webkit-transition: 0.3s !important;
    transition: 0.3s !important;
    font-size: var(--inputFontSize) !important;
    font-family: regular;
}
.modal .select2-container--default .select2-selection .select2-selection__rendered {
    line-height: var(--inputLineHeight) !important;
    font-size: var(--inputFontSize) !important;
    font-family: regular !important;
    color: var(--n1Blue) !important;
    padding: 0 1.625rem 0 0.375rem !important;
    height: var(--singleInputHeight) !important;
}
.modal .select2-container--default .select2-selection .select2-selection__arrow, .modal #tab-lvnavigator #TreeGrid .chevron span {
    background-repeat: no-repeat !important;
    background-position: center center !important;
    -webkit-transition: 0.3s !important;
    transition: 0.3s !important;
    height: var(--singleInputHeight) !important;
    width: 1.875rem !important;
    line-height: var(--inputLineHeight) !important;
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    pointer-events: none !important;
}
.modal .select2-container--default .select2-selection .select2-selection__arrow:before, .modal #tab-lvnavigator #TreeGrid .chevron span:before {
    background: url(//cdn.biexcellence.com/fragBob/apps/general/img/icon-arrow-down.svg) no-repeat;
    content: "";
    cursor: pointer;
    height: 7px;
    right: 10px;
    top: 8px;
    width: 12px;
    transition: all 0.2s;
}
.modal .select2-container--default .select2-selection .select2-selection__arrow b {
    display: none;
}
.modal .select2-container--default .select2-results__option {
    background: hsl(0, 0%, 100%);
    -webkit-transition: 0.3s;
    transition: 0.3s;
    font-family: regular;
    font-size: 11px;
    margin-bottom: 0;
    padding: 5px 10px;
    position: relative;
    word-break: break-word;
    line-height: 1.375rem;
}
.modal .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--green_dark);
}
.modal .form-container .form-group label, .modal .label {
    display: block;
    font-size: var(--headlineSizeLevel2) !important;
    line-height: 0.9375rem !important;
    font-family: medium !important;
    margin-bottom: 0.1875rem;
}
.modal .form-container .form-group .custom--checkbox {
    display: flex;
    margin-bottom: 0;
    align-items: center;
}
.modal .custom--checkbox--input input, .modal .custom--checkbox--label {
    cursor: pointer;
    font-size: var(--headlineSizeLevel2);
    line-height: var(--headlineSizeLevel2);
    font-family: medium;
}
.modal .custom--checkbox--input input {
    transform: scale(1);
    color: hsl(0, 0%, 100%);
    background-color: var(--green_dark);
}
.modal .custom--checkbox--control {
    border-radius: 0;
    border: 0.03rem solid var(--colorBorder);
    width: 0.8125rem;
    height: 0.8125rem;
    background-color: hsl(0, 0%, 100%);
}
.modal .custom--checkbox--label {
    font-family: regular;
    font-size: var(--inputFontSize);
}
.modal .custom--checkbox--label {
    transform: translateY(0);
}
.modal p, .modal textarea, .modal textarea.form-control {
    font-family: var(--copyTextFontFamily);
    font-size: var(--copyTextFontSize);
}
.modal p {
    line-height: var(--copyTextLineHeight);
}
.modal .modal-footer {
    padding: 0;
    border: none;
}
.modal .btn {
    border-radius: var(--borderRadius);
    background-color: var(--green_dark);
    color: hsl(0, 0%, 100%);
    border: 1px solid var(--green_dark);
    font-size: 0.85rem;
    line-height: 1;
    font-family: semi-bold;
    padding: 0.75rem 1.5rem;
    outline: none;
    transition: all 0.3s ease-in-out;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-transform: uppercase;
    position: relative;
}
.modal .btn.btn-small, .modal .btn-mobile {
    font-family: var(--copyTextFontFamily);
    font-size: var(--copyTextFontSize);
    padding: 0.6719rem 1.5rem;
    max-height: 2.25rem;
}
.modal .btn.btn-ghost {
    background-color: hsl(0, 0%, 100%);
    color: var(--n1Blue);
    border: 1px solid var(--n1Blue);
}
.modal .modal-footer button {
    margin-left: 1rem;
}
.modal .btn.btn-small svg {
    font-size: 0.75rem;
    margin-left: 0.75rem;
}
.modal .btn.btn-small.btn-lefticon svg {
    margin-left: auto;
    margin-right: 0.75rem;
}
.modal .btn-disabled, .modal .btn-disabled:hover {
    border-color: var(--colorBorder);
    background-color: var(--colorBorder);
    cursor: not-allowed;
}
.modal svg.fa-circle-check {
    color: var(--green_dark);
}

#modalRegister .modal-content {
    padding: 2rem;
}
#modalRegister .modal-body {
    max-height: calc(100vh - 8rem);
    overflow-y: scroll;
    padding: 0 1rem 2rem 0;
}

.cc-outerlayer {
   z-index: 1600;
}



/* ************************* */
/* ***** media queries ***** */
/* ************************* */

@media (max-width: 59em) {  /* ca 950er Auflösung */   
    
    .cc-checkbox-row {
       position: relative;
       margin-bottom: 1rem;
    }
    .cc-checkbox-head .cc-checkbox-label,
    .cc-checkbox-info {
       margin-left: 0 !important;
    }
    .cc-checkbox-head .cc-checkbox-label ~ * {
       width: 1.6rem;
    }
    .cc-btn {
        margin-bottom: 1rem;
    }
 }

@media (min-width: 31em) {  /* ca 490er Auflösung */
    .hero-text-wrap {
        --tmp_spacer_inline_hero: clamp(1.50rem, calc(-2.50rem + 17.78vw), 13.50rem);        
        padding: 0 var(--tmp_spacer_inline_hero);
    }
    
    #insiter-slider-controls {
        top: 7.5rem;
    } 
}

@media (min-width: 59em) {  /* ca 950er Auflösung */
    :root {
        --component_img_width: clamp(7.00rem, calc(5.48rem + 2.56vw), 9.00rem);
        --component_img_mt: clamp(0.50rem, calc(0.12rem + 0.64vw), 1.00rem);
        --component_gap: 3rem;
        

    }

    .logo-text span:last-child {
        display: inline;
    }
    
    .floating-textbox .component {    
        flex-direction: row;
        gap: var(--component_gap);
    }
    .floating-textbox .component-icon {    
        display: block;
    }
    .floating-textbox .component-icon img {    
        margin-top: var(--component_img_mt);
    }
    .floating-textbox .component-text {    
        flex: 1;
    }

    .legal-container {
        position: relative;
        max-width: 50rem;
        padding: calc(var(--header_height) * 2) 0 var(--header_height) 6rem;
    }

    .testimonial-wrap {
        --img_width: 20rem;
    }
    .testimonial-item-wrap {
        flex-direction: row;
        margin: var(--quote_wrap_mtop) 0 0 var(--quote_wrap_mleft);
    }  
    .testimonial-wrap .tns-nav {
        display: block;
    }
    .testimonial-wrap ul {
        display: none;
    }
    .testimonial-figure {
        position: relative;
        width: var(--img_width);
        top: calc(var(--quote_wrap_mtop) * -1);
        left: calc(var(--quote_wrap_mleft) * -1);
        max-width: var(--img_max_width);
    }      
     .testimonial-figure figcaption {
        padding-left: calc(var(--quote_wrap_mleft) * 3);
        padding-top: calc(var(--quote_wrap_mleft) * 2);
    }
    .testimonial-quote {
        flex: 1;
        padding: calc(var(--quote_wrap_mtop) * 4) calc(var(--quote_wrap_mtop) * 2) 0 var(--quote_wrap_mtop);
    }
    .testimonial-quote p.quote-kiesbeton {
        font-size: calc(var(--fs_600) - 0.5rem);
    }

    #modalRegister .modal-body {
        max-height: calc(100vh - 10rem);
    }
    
    footer .right-col .myn1 {
        display: block;
    }
}

@media (min-width: 71em) {  /* ca 1100er Auflösung */
    :root {
        /* ------------------
            typo 
        ------------------ */
        --xFactor: 1.2;

        /* ------------------
            spacing
        ------------------ */
        --header_height: 4.8rem;
        
    }

    #primary-header {
        height: var(--header_height);
    }
    .primary-logo img {
        width: calc(2.5rem * var(--xFactor));
    }
    .logo-text span:first-child {
       font-size: calc(1rem * var(--xFactor));
    }
    .logo-text span:last-child,
    footer li a,
    footer .myn1 {
        font-size: calc(0.6875rem * var(--xFactor));
    }

    .hero-text-wrap {
        padding: 0;
    }
    .hero-content {
        padding: 0; 
        width: var(--hero_content_width);  
        margin-left: var(--hero_content_left); 
    }

    .testimonial-wrap {
        --img_width: 24rem;
    }
    .floating-textbox .component {    
       flex-direction: row;
    }

    .testimonial-wrap .controls {
        display: none;
    }

    .testimonial-quote {
        flex: 1;
        padding: 0 var(--quote_text_pinline) 0 calc(var(--quote_text_pinline) - var(--quote_wrap_mleft));
    }
    .testimonial-quote p.quote-ohu,
    .testimonial-quote p.quote-holcim,
    .testimonial-quote p.quote-meichle {
        padding-top: var(--quote_text_ptop_ohu);
    }
    .testimonial-quote p.quote-kiesbeton {
        padding-top: calc(var(--quote_text_ptop_ohu) - 2rem);
    }
    
    footer {
        display: flex;
        justify-content: space-between;
    }

}

@media (min-width: 86em) {  /* ca 1400er Auflösung */
    :root {
        --spacer_280: clamp(6.00rem, calc(-15.79rem + 24.21vw), 17.50rem);
        --spacer_160: clamp(6.00rem, calc(-1.58rem + 8.42vw), 10.00rem);
        --content-img-width: clamp(23.00rem, calc(-3.53rem + 29.47vw), 37.00rem);
        --floatingbox_width: clamp(59.25rem, calc(17.57rem + 46.32vw), 81.25rem);       
    }

    #primary-header.nav-is-open .primary-nav {
        flex-direction: row;
        padding: calc(var(--header_height) / 2);
        padding-bottom: calc(var(--header_height) / 1.5);
    }
    .primary-nav-item {
        border-right: 1px solid var(--n1Blue);
    }
    .primary-nav-item:last-child {
        border-right: none;
    }
    .primary-nav-item header {
        text-align: left;
        text-transform: uppercase;
        margin-bottom: 1rem;
    }
    .primary-nav-item p {
        display: block;
    }

    .content-section {
        padding: var(--spacer_160) var(--spacer_280);
    }
    .content-section.bg-lines {
        padding: calc(var(--spacer_280) * 1.5) var(--spacer_280);
    } 
    .content-section.bg-contact {
        padding: calc(var(--spacer_280) * 2) var(--spacer_280);
    }   
    
    .img-block {
        display: block;
    }

    .triangle-right {
        display: block;
        position: absolute;
        right: -32rem;
        bottom: var(--triangle_right_position);
        width: var(--triangle_right_width);
        color: var(--green_medium);
        transform: rotate(-45deg);
        z-index: 10;             
    }
    .triangle-right-small {
        display: block;
        position: absolute;
        right: -36rem;
        bottom: var(--triangle_right_position);
        width: var(--triangle_right_width);
        color: var(--green_medium);
        transform: rotate(-45deg);
        z-index: 10;             
    }
    .triangle-left {
        display: block;
        position: absolute;
        left: -42rem;
        top: -20rem;
        width: 60rem;
        color: var(--green_medium);
        transform: scaleX(-1) rotate(-45deg);
        z-index: 10;             
    }

    .floating-textbox {    
        width: var(--floatingbox_width);        
    }

    .bg-insiter .flexbox {
        flex-direction: row-reverse;
        align-items: center;
        gap: var(--spacer_280);
    }
    .content-section.with-logo-box .flexbox {
        flex-direction: row;
    }

    .slider-block {
        width: var(--slider_width);
        background-color: var(--green_light);
        padding: var(--spacer_64);
    }
    .slider-block img {
        margin-bottom: var(--spacer_64);
    }
    #insiter-slider-controls {
        top: calc(50% - 4rem);
        cursor: pointer;
    }
    #insiter-slider-controls > li {
        background-color: transparent;
        padding: 0;
    }
    #insiter-slider-controls > li:first-child {
        left: calc(var(--spacer_64) * -2);
    }
    #insiter-slider-controls > li:last-child {
        right: calc(var(--spacer_64) * -2);
    } 
    #insiter-slider-controls > li svg {
        font-size: 4rem;
        color: hsla(0, 0%, 100%, 0.5);
    }
    .slider-info {
        padding: 0;
    }

    .testimonial-wrap {
        --quote_text_pinline: 10rem;
    }
    .testimonial-quote {
        padding: 0 var(--quote_text_pinline) 0 calc(var(--quote_text_pinline) - var(--quote_wrap_mleft));
    }
    .testimonial-quote p.quote-kiesbeton {
        padding-top: calc(var(--quote_text_ptop_ohu) - 6rem);
    }
    
    .bg-contact .center {
        width: 40rem;
        margin: 0 auto;
    }

    .legal-container {
        max-width: 65rem;
    }
    .legal-container .backbutton {
        right: 2rem;
        bottom: 2rem;
    }

    #modalRegister .modal-body {
        overflow-y: hidden;
    }
}

@media (min-width: 118em) {  /* ca 1890er Auflösung */
    :root {
        --slider_width: clamp(50.00rem, calc(-19.67rem + 58.67vw), 61.00rem);        
    }
        
    .triangle-right {
        bottom: var(--triangle_right_position);
    }
    .triangle-left {
        top: -18rem;
        width: 62rem;
    }

    .content-section.with-logo-box .flexbox {
        margin-bottom: var(--spacer_96);
    }
    .content-section.bg-lines .flexbox {
        align-items: center;
    } 

    .content-section.bg-contact {
        padding: var(--spacer_280);
    }
    .bg-contact .center {
        width: 50rem;
    }

    .testimonial-wrap {
        --img_width: 30rem;
        --quote_text_ptop_ohu: 12rem;
    }
    .testimonial-figure figcaption {
        padding: 0;
        padding-left: calc(var(--quote_wrap_mleft) * 3);
        padding-top: calc(var(--quote_wrap_mleft) * 2);
        padding-bottom: calc(var(--quote_wrap_mleft) * 2);
    }
    .testimonial-quote p.quote-meichle {
        padding-top: var(--quote_text_ptop_meichle);
    }

    #logo-slider-controls > li {
        background-color: transparent;
        padding: 0;
    }
    #logo-slider-controls > li:first-child {
        left: calc(var(--spacer_64) * -1.5);
    }
    #logo-slider-controls > li:last-child {
        right: calc(var(--spacer_64) * -1.5);
    }
    #logo-slider-controls > li svg {
        font-size: 4rem;
        color: var(--green_dark);
    }

    #modalRegister .modal-content {
        padding: 4rem;
    }
}

@media (min-width: 137em) {  /* ca 2200er Auflösung */
    .testimonial-wrap {
        --img_width: 37.5rem;
        --quote_text_pinline: 14rem;
        --quote_text_ptop_ohu: 14rem;
        --quote_text_ptop_meichle: 13rem;
    }
    .testimonial-quote p.quote-kiesbeton {
        padding-top: calc(var(--quote_text_ptop_ohu) - 2rem);
    }

    .bg-contact .center {
        width: 80rem;
    }
    .triangle-left {
       width: 65rem;
    }
}