/* =============================================================================
 * css variables (custom elements abhängig)
 * ========================================================================== */



.text-accentColor {
    color: var(--accentColor);
}

.text-secondColor {
    color: var(--secondColor);
}

.text-custom-1 {
    color: var(--customColor1);
}

.text-custom-2 {
    color: var(--customColor2);
}

.bg-accentColor {
    background-color: var(--accentColor);
}

.bg-secondColor {
    background-color: var(--secondColor);
}

.bg-custom-1 {
    background-color: var(--customColor1);
}

.bg-custom-2 {
    background-color: var(--customColor2);
}
.bg-grey-gradient {
background: linear-gradient(to bottom, #7B7E81 0%, #3E3F41 100%);
}
/* =============================================================================
 * Fonts (Local)
 * ========================================================================== */

/* source-sans-3-200 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 200;
    src: url('/files/cto_layout/fonts/source_sans_3/source-sans-3-v19-latin-200.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-sans-3-200italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 200;
    src: url('/files/cto_layout/fonts/source_sans_3/source-sans-3-v19-latin-200italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-sans-3-300 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 300;
    src: url('/files/cto_layout/fonts/source_sans_3/source-sans-3-v19-latin-300.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-sans-3-300italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 300;
    src: url('/files/cto_layout/fonts/source_sans_3/source-sans-3-v19-latin-300italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-sans-3-regular - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 400;
    src: url('/files/cto_layout/fonts/source_sans_3/source-sans-3-v19-latin-regular.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-sans-3-italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 400;
    src: url('/files/cto_layout/fonts/source_sans_3/source-sans-3-v19-latin-italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-sans-3-500 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 500;
    src: url('/files/cto_layout/fonts/source_sans_3/source-sans-3-v19-latin-500.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-sans-3-500italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 500;
    src: url('/files/cto_layout/fonts/source_sans_3/source-sans-3-v19-latin-500italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-sans-3-600 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 600;
    src: url('/files/cto_layout/fonts/source_sans_3/source-sans-3-v19-latin-600.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-sans-3-600italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 600;
    src: url('/files/cto_layout/fonts/source_sans_3/source-sans-3-v19-latin-600italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-sans-3-700 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 700;
    src: url('/files/cto_layout/fonts/source_sans_3/source-sans-3-v19-latin-700.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-sans-3-700italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 700;
    src: url('/files/cto_layout/fonts/source_sans_3/source-sans-3-v19-latin-700italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-sans-3-800 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 800;
    src: url('/files/cto_layout/fonts/source_sans_3/source-sans-3-v19-latin-800.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-sans-3-800italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 800;
    src: url('/files/cto_layout/fonts/source_sans_3/source-sans-3-v19-latin-800italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-sans-3-900 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 900;
    src: url('/files/cto_layout/fonts/source_sans_3/source-sans-3-v19-latin-900.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-sans-3-900italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 900;
    src: url('/files/cto_layout/fonts/source_sans_3/source-sans-3-v19-latin-900italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/*================================================================================
   *Ausblenden der Suchfunktion im Header
=================================================================================*/

.mod_search{
    display:none;
}
/* =============================================================================
 * Hilfsklassen
 * ========================================================================== */
@media only screen and (min-width: 768px) {
    .overflow-visible {
        overflow: visible;
    }
}


.display-inline-block {display: inline-block;}

.position-relative {
    position: relative;
}

.z_index0 {z-index: 0;}

.grid-row-max-height {
    height: calc(100% - 180px);
}

@media only screen and (max-width: 767px) {

    /** order classes **/
    .order_1_m {
        order: 1;
    }

    .order_2_m {
        order: 2;
    }

    .order_3_m {
        order: 3;
    }

    .order_4_m {
        order: 4;
    }

    .order_5_m {
        order: 5;
    }

    .order_6_m {
        order: 6;
    }
}

.display-inline {
    display: inline;
}


/* =============================================================================
 * Typo-Hilfsklassen
 * ========================================================================== */
.font-weight-100, .font-weight-100 p  {
    font-weight: 100 !important;
}

.font-weight-200, .font-weight-200 p  {
    font-weight: 200 !important;
}

.font-weight-300, .font-weight-300 p {
    font-weight: 300 !important;
}

.font-weight-350, .font-weight-350 p  {
    font-weight: 350 !important;
}

.font-weight-400, .font-weight-400 p  {
    font-weight: 400 !important;
}

.font-weight-500, .font-weight-500 p {
    font-weight: 500 !important;
}

.font-weight-600, .font-weight-600 p  {
    font-weight: 600 !important;
}

.font-weight-700, .font-weight-700 p  {
    font-weight: 700 !important;
}

.font-weight-800, .font-weight-800 p  {
    font-weight: 800 !important;
}

.font-weight-900, .font-weight-900 p  {
    font-weight: 900 !important;
}


@media only screen and (max-width: 768px) {
    .h-align-right-m {
        text-align: right;
    }
}

/*=============================================================================
   Rechtstexte*/
   
.erecht_24 p{
    margin-bottom:42px;
    font-size:19px;
}

.erecht_24 h2,.erecht_24 h3 .erecht_24 h4{
    margin-bottom:16px;
}
/* =============================================================================
 * PCT Korrekturen
 * ========================================================================== */

@media only screen and (max-width: 768px) {
    .ce_shift_wrapper_start[data-position-absolute-mob="none"] {
        position: relative;
    }
}

.ce_bgimage.bg_right_center .ce_bgimage-image {
	background-position: right center;
}
/* =============================================================================
 * Mainmenü
 * ========================================================================== */

.mainmenu .vlist.level_1 li:first-child a:before {
    display: none;
}

/* =============================================================================
 * Hintergrund Start / Ende
 * ========================================================================== */

.ce_bgimage.max_width_slider .contentwrap {
    max-width: 1440px;
}

/* =============================================================================
 * Custom Deko Line for Headlines and co.
 * ========================================================================== */

.ce_headline.deko-line-black,
.ce_iconbox.deko-line-black .headline,
.ce_wrap.deko-line-black {
    border-image: linear-gradient(to top, transparent 0%, transparent 10%, var(--secondColor) 10%, var(--secondColor) 90%, transparent 90%, transparent 100%) 1;
    border-left: 6px solid;
    padding-left: 0.8em;
}

.ce_headline.deko-line-white,
.ce_iconbox.deko-line-white .headline,
.ce_wrap.deko-line-white {
    border-image: linear-gradient(to top, transparent 0%, transparent 10%, white 10%, white 90%, transparent 90%, transparent 100%) 1;
    border-left: 6px solid;
    padding-left: 0.8em;
}
/* =============================================================================
 * Dropdown Menü PS
 * ========================================================================== */
 
 .vlist.level_2 .vlist.level_3,
 .vlist.level_3 .vlist.level_4{
     transform: translateY(10%);
 }
 
 .vlist.level_2,
 .vlist.level_3,
 .vlist.level_4{
     padding:0px!important;
 }
 
 .vlist.level_2 li.level_2,
 .vlist.level_2 li.level_3,
 .vlist.level_2 li.level_4{
     border-bottom:white solid 1px;
     padding:8px;
 }
 
 .vlist.level_2 li.level_2:hover > a,
 .vlist.level_2 li.level_3:hover > a,
 .vlist.level_2 li.level_4:hover > a{
     transform:scale(1.1);
 }
 
 .vlist.level_2 li.level_2:hover,
 .vlist.level_2 li.level_3:hover, 
 .vlist.level_2 li.level_4:hover{
     padding:8px 16px 8px 16px;
 }
/* =============================================================================
 * Iconboxes
 * ========================================================================== */
.ce_iconbox.version2 .content * {
    hyphens: auto;
}

.ce_iconbox.version2 {
    border: 1px solid #707070;
    border-radius: 4px;
    padding: 20px;
    box-shadow: 10px 10px 10px #3333332c;
    background-color: white;
}

.ce_iconbox.version2 .headline {
    color: var(--accentColor);
    font-size: var(--h3-fontSize);
    line-height: 1.2;
}

.ce_iconbox.version2 .ce_iconbox_cwrapper {
    overflow: hidden;
}

.ce_iconbox.version2 .ce_iconbox_icon {
    flex: 0 0 150px;padding-right:20px;
}

.ce_iconbox.version2 .image_container img {
    width: auto;margin-top:-50px;box-shadow: 10px 10px 10px #3333332c;
}



.ce_iconbox.custom-sec-link-design a.link::before {display:none;}

.ce_iconbox.custom-sec-link-design a.link::after
{
    content:"\e628";
    transform: rotateY(0deg);
    transition: transform 0.3s ease, margin-left 0.3s ease;
    transform-origin: center center;
    margin: 0;
    position: relative;
    background: rgba(255, 255, 255, 0);
    line-height: var(--hyperlink-default-icon-size);
    width: var(--hyperlink-default-icon-size);
    height: var(--hyperlink-default-icon-size);
    font-size: var(--hyperlink-default-icon-font-size);
    font-family: 'themify' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-left:15px;
}

.ce_iconbox.custom-sec-link-design a.link:hover::after {
    transform: rotateY(180deg) scale(0.8);
    margin-left:-5px;
}

.ce_iconbox.custom-sec-link-design a.link
{margin-left:0px;transition: margin-left 0.3s ease;font-weight: 700;color:var(--secondColor);}

.ce_iconbox.custom-sec-link-design a.link:hover 
{margin-left:10px;}

/* =============================================================================
 * Hyperlink
 * ========================================================================== */
.ce_hyperlink.custom-sec-link-design a {padding-left: 0px;color:var(--secondColor);}
 .ce_hyperlink.custom-sec-link-design a > span {border-right: 1px solid;}
  .ce_hyperlink.custom-sec-link-design a i {transform: rotateX(0deg)  translateY(-50%);transition:transform 0.3s ease;transform-origin: center center; /* oder z.B. center top / left bottom etc. */}
 .ce_hyperlink.custom-sec-link-design a:hover i {transform: rotateY(180deg) translateY(-50%);}
@media only screen and (max-width: 767px) {
    .ce_hyperlink.mr-s, .ce_hyperlink.mr-xs, .ce_hyperlink.mr-xxs {
        margin-right:  25px!important;
    }
}


.ce_hyperlink.custom-sec-link-design.btn-trnsp-white a {padding-left: 0px;color:white;}


.ce_hyperlink.custom-sec-link-design.btn-customColor1-light a {color:white;
background: linear-gradient(to bottom, #000000 0%, #4B4B4B 35%, #000000 100%);
border-image:linear-gradient(to bottom, #000000 0%, #4B4B4B 35%, #000000 100%);
/*padding-left: var(--hyperlink-default-padding-left);*/
padding-left:25px;
}

/* =============================================================================
 * Video with Teaser
 * ========================================================================== */

.ce_video_w_teaser .video_content {
    position: absolute;
    bottom: 50%;
    left: 50%;
    transform: translate(-50%, 50%);
    z-index: 2;
    color: white;
    text-align: center;
    display: flex
;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}


.ce_video_w_teaser .play-button-static {margin-bottom:unset;}



@media only screen and (max-width: 767px) {
    .ce_video_w_teaser[data-style="style1"] .video_content {
        transform: translate(-50%, 50%);
        bottom: 50%;
    }
}
/* =============================================================================
 * Badge
 * ========================================================================== */
.ce_badge .ce_badge_inside {font-weight: 600;letter-spacing: 0.05em;}
.ce_badge.display-inline-block {margin-right: 10px;}


.ce_badge[data-style="style1 white"] .ce_badge_inside {
    border: 2px solid white;
    background: none;
    border-radius: 100px;
    display: inline-block;
    padding: 0 10px;
    color: white;
    font-size: 0.9rem;
    line-height: 1.6rem;
}

.ce_badge[data-style="style1 white"] .ce_badge_inside a {
    color: white;
}

.ce_badge[data-style="style1"] .ce_badge_inside {
    border: 2px solid var(--secondColor);
    background: none;
    border-radius: 100px;
    display: inline-block;
    padding: 0 10px;
    color: var(--secondColor);
    font-size: 0.9rem;
    line-height: 1.6rem;
}

.ce_badge[data-style="style1"] .ce_badge_inside a {
    color: var(--secondColor);
}

.ce_badge[data-style="style2"] .ce_badge_inside {
}

.ce_badge[data-style="style2"] .ce_badge_inside a {
    color: white;
}


/* =============================================================================
 * Bild erweitert
 * ========================================================================== */

.ce_image_extended.style-mask1 .image_container {
   mask-image: url(/files/kunde/3_Grafiken/Grafik_Maske_1.svg);
   -webkit-mask-image: url(/files/kunde/3_Grafiken/Grafik_Maske_1.svg);
   mask-size: cover;
   mask-repeat: no-repeat;

   -webkit-mask-size: cover;
   -webkit-mask-repeat: no-repeat;

}

/* =============================================================================
 * Gallery Elevatezoom
 * ========================================================================== */

.ce_elevatezoom img {
    width: 100%;
    max-width: 100%;
    height: 100px;
    width: 100px;
    object-fit: cover;}


/* =============================================================================
 * BG svg Mobile cover
 * ========================================================================== */
 
 
 .ce_bgimage-image.svg-inline {overflow:hidden;}
 
    .ce_bgimage-image.svg-inline svg{
   min-height: 100%;
    min-width: 100vw;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    }
    
    
/* =============================================================================
 * Iconbox Kontakt
 * ========================================================================== */
  
.ce_iconbox_v3 .fonticon::before {font-size:2rem;}
.ce_iconbox_v3 .subheadline {font-size:1.5rem;}


/* =============================================================================
 * Open Street Maps
 * ========================================================================== */
.ce_openstreetmap .leaflet-layer {filter: grayscale(1);}
.ce_openstreetmap .leaflet-marker-icon {filter: grayscale(0) hue-rotate(240deg);}

/* =============================================================================
 * Liste
 * ========================================================================== */

.ce_list li:after {
    content: "";
    width: 100%;
    height: 1px;
    background: rgba(0, 0, 0, .08);
    position: absolute;
    left: -26px;
    bottom: 0;
}
/* =============================================================================
 * Text in Links
 * ========================================================================== */
p a {
    color: var(--accentColor);
    font-weight:600;
}

/* =============================================================================
 * Text in Links
 * ========================================================================== */

.same_height .same-height-wrap > .ce_wrap > .inside {
    height: 100%;
}

/* =============================================================================
 * Kontaktformular
 * ========================================================================== */
 
 .ce_form p {
  text-transform: uppercase;
  font-weight: 700;
  color: var(--accentColor);
}

.ce_form label {
  font-weight: 500;
  color:var(--secondColor);
}


.ce_form p a {
  text-decoration: underline;
}

.ce_form select,
.ce_form input,
.ce_form textarea {
  border: unset;
  background: #F0F5F8;
  border-radius:0px;
  color:#555555;
  height:unset;
  padding:15px 30px;
  font-size: 1.1rem;
  
}




.ce_form input::placeholder,.ce_form textarea::placeholder {
  color:#768ea2!important;
    
}
.ce_form input:focus,.ce_form textarea::focus {
  color:#555555!important;
    
}

.ce_form input.radio {
  border: unset;
  background: #F0F5F8;
  margin-left: 21px;
  margin-right: 10px;
}

.ce_form fieldset {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.ce_form fieldset legend {
  border-radius: unset;
  background: var(--accentColor);
  display: flex;
  font-weight: 500;
  align-items:center;
  
}

.ce_form fieldset .mandatory {
  color: white;
}

@media only screen and (max-width: 767px) {
  .ce_form fieldset.radio_container {
    flex-wrap: wrap;
    flex-direction: column;
  }
}


.ce_form fieldset[class*="prefix-icon-"] {
  padding: unset;
  border: unset;
}

.ce_form fieldset[class*="prefix-icon-"] legend {
  background: unset;
  padding-left: unset;
  color:var(--secondColor);
}

.ce_form fieldset[class*="prefix-icon-"] legend:before {
  margin-right: 0.35em;
}

.ce_form label[class*="prefix-icon-"]:before,
.ce_form [class*="prefix-icon-"] legend:before {
  background: var(--accentColor);
  /*border-radius: 100px;*/
  font-weight: 500;
  color: white;
  width: 1.5em;
  height: 1.5em;
  display: inline-block;
  text-align: center;
  line-height: 1.5em;
}

.ce_form label.prefix-icon-1:before,
.ce_form .prefix-icon-1 legend:before {
  content: "1";
}

.ce_form label.prefix-icon-2:before,
.ce_form .prefix-icon-2 legend:before {
  content: "2";
}

.ce_form label.prefix-icon-3:before,
.ce_form .prefix-icon-3 legend:before {
  content: "3";
}

.ce_form label.prefix-icon-4:before,
.ce_form .prefix-icon-4 legend:before {
  content: "4";
}

.ce_form label.prefix-icon-5:before,
.ce_form .prefix-icon-5 legend:before {
  content: "5";
}

.ce_form label.prefix-icon-6:before,
.ce_form .prefix-icon-6 legend:before {
  content: "6";
}

.ce_form .checkbox_container span {
  align-items: flex-start;
  line-height:2;
}

.ce_form .checkbox_container .checkbox {
  margin-top: 0.6em;
  margin-right: 10px;
  margin-left: 20px;
}

.widget-submit {
  text-align: center;
}

.ce_form button.submit {
  background: var(--accentColor);
  border-radius: 0px;
  font-size: 1.2rem;
  height: unset;
  min-width: 200px;
  font-family: inherit;
  font-weight: 600;
  text-transform:uppercase;
  letter-spacing: 0.05em;
}

input[type="checkbox"],
input[type="radio"] {
  min-width: 25px;
}

.ce_form .wrapper_form{
    display:flex;
    flex-wrap:wrap;
    column-gap:5%;
    width:100%;
}

.ce_form .wrapper_form > div.widget{
    width:47.5%;
}

.ce_form .wrapper_form.row_3 > div.widget{
    width:30%;
}
.ce_form select{
    appearance:auto;
}

.ce_form .abstandhalter_form{
   width:100%;
   height:1px;
   background-color: var(--accentColor);
   margin:12px 0px 12px 0px;
}

#floating-button i.fa-send:before{
    content:"\e628";
}

#floating-button:hover i:before{
    transform:scaleX(-1);
    transition: transform 0.3s ease;
    display:inline-block;
}