
body *
{
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}

ul.list-unstyled,
ul.list-unstyled li
{
    list-style: none;
    padding: 0;
    margin: 0;
}
ul.list-unstyled li::marker
{
    display: none;
}

.white-text-shadow
{
	text-shadow: 0px 0px 5px rgba(255, 255, 255, 1);
}

.text-shadow,
.black-text-shadow
{
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 1);
}


.white,
.white-text,
.white *,
.white-text *
{
    color: #FFFFFF !important;
}


.tuckedAway
{
    position: absolute;
    left: -10000px;
}

.imprint-nav-padding
{
    padding-top: 50px;
}

.scroll-top
{
   opacity: 1;
    z-index: 999; 
}

/* ######################################## */


.full-width,
.full-width img,
.team-image img
{
    width: 100%;
    max-width: none;
}


.no-margins,
.no-margins .wpb_content_element
{
    margin: 0 !important;
}




/*
.team-member-name h3 .post-details.details-type-link
{
    font-size: inherit;
    line-height: inherit;
    color: inherit;    

    margin: 0;
    padding: 0;    
}

.team-member-name h3
{
    font-size: 22px;
    margin-bottom: 0;
}

.team-member-position h4
{
    font-size: 19px;
}
*/

/* ################################### */
.masthead *
{
    transition: all 0.2s ease-in-out;
}


/* ################################### */

/*
.myChildrensLinkIsApplied
{
    cursor: pointer;
}
*/

.myChildrensLinkIsApplied:hover,
.myChildrensLinkIsApplied:focus,
.vc_column-inner.myChildrensLinkIsApplied:hover,
.vc_column-inner.myChildrensLinkIsApplied:focus,
.applyMyChildrensLink .myChildrensLinkIsApplied:hover,
.applyMyChildrensLink .myChildrensLinkIsApplied:focus
{
    cursor: pointer !important;
    /*
    border: 1px solid #e73e07;
    background-color: #f2f2f2;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);    
    */
}

/* ########################################################### */

/*
.below-hero-row
{
    z-index: 1;
}
*/

.hero-slider-delim-wrap,
.hero-slider-delim-wrap > .tp-loop-wrap,
.hero-slider-delim-wrap > .tp-loop-wrap .tp-mask-wrap
{
    left: 0 !important;
    width: 100% !important;
    margin-top: 1px !important;  /* plus one to avoid half-pixel-flicker */
    max-width: none;
}

.hero-slider-delim
{
    min-width: inherit !important;
    width: 100% !important;
}

.hero-slider-delim > img
{
    max-width: none;
    width: 100% !important;
    height: 80px !important; 
    
}


/*
.home-testimonials-image-column
{
    margin-top: -50px;
}
*/
/* ################## */

/* 
 + trenner unter headlines können mit accent-border-color die Accent-Farbe bekommen 
 + accent-icon-bg in ICONs mit Text daneben

*/


/* ####################################### */

/*#primary-menu*/



.no-subhead-padding .aio-icon-title,
.no-subhead-padding .aio-icon-header+.aio-icon-description
{
    margin-bottom: 0px;
        margin-top: 0px;

}
/*
.aio-icon-header+.aio-icon-description
{
        margin-top: 0px;
}
*/



/* ################################### */

#bottom-bar
{
    /* border-top: 10px solid #e73e07; 
    background-color: #e73e07 !important; */
    background-color: rgba( 255,255,255,0.5 ) !important;

    position: absolute;
    bottom: 0;
    width: 100%;    
}

#bottom-bar,
#bottom-bar a
{
    color: #666666; 
}

#bottom-bar .mini-nav
{
    margin: 10px 20px;
}

#bottom-bar .mini-nav ul {
    display: block !important;
}
#bottom-bar .menu-select {
    display: none !important;
}

.bottom-text-block
{
    text-align: left;
    line-height: 1.5;    
}

@media screen and (max-width: 990px)
{
    #bottom-bar .bottom-text-block 
    {
        text-align: center;
        margin-left: 0;
    }
}
/* ++++++++++++++++++++++ */

.vc_row>.vc_column_container
{
    z-index: 10;
}

/* ################### */
.wcom-default *
{
    font-family: "Raleway", Helvetica, Arial, Verdana, sans-serif !important;    
}

.wcom-default
{
    max-height: none !important;
    height: 270px !important;
}
.wcoom-container > div 
{
    width: 100% !important;
}

.wcoom-container > div:first-of-type > div
{
    width: 50% !important;
    max-width: none !important;

}
.wcoom-container > div:first-of-type > div:first-of-type
{
    text-align: right;  
    max-width: none !important;
    min-width: 100px;  
}

.wcoom-container > div:first-of-type > div:last-of-type
{
    left: 50% !important;
    max-width: none !important;
    text-align: left;    
    min-width: 100px;  
}


.wcoom-container > div:nth-of-type(2n) > div
{
    min-width: 90px;
    width: 33% !important;
    max-width: none !important;
    left: 33% !important;
}

.wcoom-container > div:nth-of-type(2n) > div:first-of-type
{
    left: 0% !important;
}

.wcoom-container > div:nth-of-type(2n) > div:last-of-type
{
    left: 66% !important;
}

.wcoom-container > div:last-of-type > div:first-of-type
{
    min-width: 110px;
    width: 50% !important;
}

.wcoom-container > div:last-of-type > div:last-of-type
{
    min-width: 180px;
    width: 50% !important;
}

.wcom-city, .wcom-city a {
    font-size: 18px !important;
    margin-bottom: 5px !important;
    line-height: 1 !important;
}

/* ############################# */

/* 
.ampel-wrap
{
    width: 100%;
    position: relative;
    
}

.ampel-base
{
    width: 33%;
    position: relative;
    
    background: url(../vc_templates/images/ampel_200.png) no-repeat top center;
    background-size: cover;
    
}

.ampel-light-pos
{
    display: block;
    width: 100%;
}

.ampel-text
{
    position: absolute;
    width: 150%;
    margin-top: 13%;
    font-size: 24px;
    font-weight: 700;
    font-family: "Average", Helvetica, Arial, Verdana, sans-serif;
}

.ampel-text.text-top    {  margin-left: 119%;  }
.ampel-text.text-mid    {  margin-left: 121%;  }
.ampel-text.text-bot    {  margin-left: 123%;  }

.ampel-border-top,
.ampel-border-top img,
.ampel-border-bot,
.ampel-border-bot img,
.ampel-light,
.ampel-light img
{
    width: 100%;
    height: auto;
    display: block;
    max-width: none;
}


.ampel-border-top
{
    background: url(../vc_templates/images/ampel_200-top.png) no-repeat top center;
    background-size: cover;
}
.ampel-border-bot
{
    background: url(../vc_templates/images/ampel_200-bot.png) no-repeat top center;
    background-size: cover;
}

.ampel-light
{
    background: url(../vc_templates/images/ampelslice_200.png) no-repeat top center;
    background-size: cover;
}
.ampel-light.light-top.show-off     {    background-position: 50%  0%; }
.ampel-light.light-top.show-red     {    background-position: 50%  9.090909%; }
.ampel-light.light-top.show-orange  {    background-position: 50% 18.181818%; }
.ampel-light.light-top.show-green   {    background-position: 50% 27.272727%; }

.ampel-light.light-mid.show-off     {    background-position: 50% 36.363636%; }
.ampel-light.light-mid.show-red     {    background-position: 50% 45.454545%; }
.ampel-light.light-mid.show-orange  {    background-position: 50% 54.545455%; }
.ampel-light.light-mid.show-green   {    background-position: 50% 63.636364%; }

.ampel-light.light-bot.show-off     {    background-position: 50% 72.727273%; }
.ampel-light.light-bot.show-red     {    background-position: 50% 81.818182%; }
.ampel-light.light-bot.show-orange  {    background-position: 50% 90.909091%; }
.ampel-light.light-bot.show-green   {    background-position: 50% 100%; }

*/

.ampelersatzbild,
.ampelersatzbild img
{
    width: 85%;
    max-width: none;
}


/* ################################# */

.wpb_column.green-on-hover > .vc_column-inner
{
    transition: background-color 0.2s ease-in-out;
}

.wpb_column.green-on-hover:hover > .vc_column-inner
{
    background-color: #088b30 !important; 
}

/* ##################### */

.vc_row.coloredTeaserButtonRow > .vc_column_container > .vc_column-inner
{
    padding: 100px 0;
    transition: all 0.2s ease-in-out;
}

.vc_row.coloredTeaserButtonRow > .vc_column_container > .vc_column-inner a
{
    font-family: "Average", Helvetica, Arial, Verdana, sans-serif;
    font-size: 45px;
    line-height: 60px;
    color: #fff;
    transition: all 0.2s ease-in-out;
    text-decoration: none;
    text-shadow: 0px 0px 10px #999999;/* #088b30;*/
}

.vc_row.coloredTeaserButtonRow > .vc_column_container.applyMyChildrensLink:hover a /* ,
.vc_row.coloredTeaserButtonRow > .vc_column_container > .vc_column-inner a:hover */
{
    font-size: 55px;
    line-height: 60px;
    text-shadow: 0px 0px 5px #333333;/* #088b30;*/
    
}


/* ############################# */

.half-width-image-row .text-column .wpb_content_element 
{
    margin: 30px 0 35px;
}


.half-width-image-row .image-column > .vc_column-inner
{
    padding: 0 !important;
}


/* erst ab small */
@media (min-width: 768px)
{

    .half-width-image-row.half-width-image-is-left .text-column > .vc_column-inner
    {
        padding-right: 50px; /* web-page padding ausgleich */
        padding-left: 30px;
    }

    .half-width-image-row.half-width-image-is-right .text-column > .vc_column-inner
    {
        padding-left: 50px; /* web-page padding ausgleich */
        padding-right: 30px;
    }

    .half-width-image-row .text-column
    {
        max-width: 615px; /* 1300 width - 100 outer padding + 2 * 15 ausgelagertes Padding-Fix => 1230 row width / 2 = 615px + 50 px padding ausgleich => 665px */
        
    }

}

@media (min-width: 1320px)
{
    .half-width-image-row.half-width-image-is-right .text-column
    {
        position: relative;
        right: 645px;
    }
}
@media screen and (max-width: 767px)
{
    .half-width-image-row.vc_row-flex>.vc_column_container.text-column>.vc_column-inner
    {
        padding: 0 20px;
    }

    .half-width-image-row.vc_row-flex>.vc_column_container.image-column>.vc_column-inner
    {
        padding: 0;
    }

    .half-width-image-row .image-column
    {
        height: 350px;
    }    

    .half-width-image-row .text-column .wpb_content_element 
    {
        margin: 30px 0 30px;
    }  
}

/* ############################################################# */

.wpcf7-response-output
{
    z-index: 9999;
}

.wpcf7-form .wpcf7-response-output.wpcf7-validation-errors,
.wpcf7-form.invalid .wpcf7-response-output
{
    color: #ffffff !important;
    background-color: #b00020 !important;
}
.wpcf7-form.invalid .wpcf7-not-valid-tip-text
{    
    color: #ffffff !important;
}


.wpcf7-form .wpcf7-response-output.wpcf7-mail-sent-ok,
.wpcf7-form.valid .wpcf7-response-output
{
    color: #333333 !important;
    background-color: #6ce66c !important;
}
.wpcf7-form .wpcf7-valid-tip-text
{    
    color: #333333 !important;
}


div.wpcf7-mail-sent-ok:before,div.wpcf7-validation-errors:before {
    font: 26px/30px FontAwesome;
    margin-right: 16px;
    vertical-align: middle;
}
div.wpcf7-mail-sent-ok:before {
    content:'\f00c';
}
div.wpcf7-validation-errors:before {
    content:'\f057';
}

#cf7md-form .cf7md-item, #cf7md-form input, #cf7md-form label, #cf7md-form textarea, #cf7md-form p, #cf7md-form .mdc-select, #cf7md-form.cf7md-form+.wpcf7-response-output, #cf7md-form .wpcf7-not-valid-tip, #cf7md-form .cf7md-card-title, #cf7md-form .cf7md-card-subtitle, #cf7md-form .mdc-button, #cf7md-form .mdc-floating-label, #cf7md-form .mdc-text-field-helper-text, #cf7md-form .mdc-text-field__input, #cf7md-form .mdc-select__native-control, #cf7md-form .mdc-form-field {
    font-family: "Open Sans", Arial, sans-serif;
}

/*
#page .parentFormundefined, 
.popup-message-style .parentFormundefined, .inline-message-style .parentFormundefined, 
#page .wpcf7-mail-sent-ok, .popup-message-style .wpcf7-mail-sent-ok, .inline-message-style .wpcf7-mail-sent-ok, 
#page .wpcf7-validation-errors, .popup-message-style .wpcf7-validation-errors, 
.inline-message-style .wpcf7-validation-errors, #page .wpcf7-response-output, 
.popup-message-style .wpcf7-response-output, .inline-message-style .wpcf7-response-output

*/




/* ####################################### */

#HeaderSlider
{
  width: 100%;
  height: 350px;
  position: relative;
  overflow: hidden;
}

#HeaderSlider.size-homeslide
{
  height: 350px;
}

/*
@media (min-width: 992px)
@media (min-width: 768px)
*/

#HeaderSlider .caption-container
{
  position: absolute;
  top: 0px;
  width: 100%;
  /*
  max-width: 1200px;
  margin: 0 auto;
  */

  height: 100%;
  display: flex;
}


#HeaderSlider .caption-container > .wf-wrap
{
  width: 100%;
  height: auto;
  margin: 0 !important;
}

#HeaderSlider .caption-container.caption-align-left-top,
#HeaderSlider .caption-container.caption-align-left-center,
#HeaderSlider .caption-container.caption-align-left-bottom
{  
    justify-content: left;
}

#HeaderSlider .caption-container.caption-align-center-top,
#HeaderSlider .caption-container.caption-align-center-center,
#HeaderSlider .caption-container.caption-align-center-bottom
{  
    justify-content: center;
}

#HeaderSlider .caption-container.caption-align-right-top,
#HeaderSlider .caption-container.caption-align-right-center,
#HeaderSlider .caption-container.caption-align-right-bottom
{  
    justify-content: right;
}

#HeaderSlider .caption-container.caption-align-left-top,
#HeaderSlider .caption-container.caption-align-center-top,
#HeaderSlider .caption-container.caption-align-right-top
{  
    align-items: flex-start;
}

#HeaderSlider .caption-container.caption-align-left-center,
#HeaderSlider .caption-container.caption-align-center-center,
#HeaderSlider .caption-container.caption-align-right-center
{  
    align-items: center;
}

#HeaderSlider .caption-container.caption-align-left-bottom,
#HeaderSlider .caption-container.caption-align-center-bottom,
#HeaderSlider .caption-container.caption-align-right-bottom
{  
    align-items: flex-end;
}




.header-caption-wrap
{
  width: 100%;
  position: absolute;
  bottom: 90px;

  bottom: 10vw;
  height: calc(100% - 10vw - 90px);  

  /*background: rgba(255,255,255,0.5);*/
}



/* #HeaderSlider .caption-container > .wf-wrap > .vc_row, */
.header-caption-wrap > .wf-wrap,
.header-caption-wrap > .wf-wrap > .vc_row
{
    height: 100%;
}
/*
.header-caption-wrap > .wf-wrap > .vc_row.vc_row-o-content-bottom>.vc_column_container>.vc_column-inner
{

}
*/

@media (max-width: 450px)
{
.header-caption
{
  padding: 0 !important;
}
}



@media (min-width: 450px)
{
  #HeaderSlider
  {
    height: 350px;
  }

  #HeaderSlider.size-homeslide
  {
    height: 450px;
  }
}


@media (max-width: 768px)
{
    #HeaderSlider .caption-container .wf-wrap
    {
      max-width: none !important;
    }

    #HeaderSlider .caption-container .wf-wrap .vc_row
    {
      padding: 0 !important;
    }
}


@media (min-width: 768px)
{
  #HeaderSlider
  {
    height: 500px;
  }

  #HeaderSlider.size-homeslide
  {
    height: 500px;
  }
}


@media (min-width: 922px)
{
  .header-caption-wrap
  {
    height: calc(100% - 10vw - 160px);  

  }  
}

@media (min-width: 992px)
{
  #HeaderSlider
  {
    height: 500px;
  }

  #HeaderSlider.size-homeslide
  {
    height: 600px;
  }
}


@media (min-width: 1200px)
{
  #HeaderSlider
  {
    height: 500px;
  }

  #HeaderSlider.size-homeslide
  {
    height: 650px;
  }
}



#HeaderSlider
{
    height: max(250px, min(750px, 40vw)) !important;
}


#HeaderSlider .slides,
#HeaderSlider .slick-list,
#HeaderSlider .slides .slide,
#HeaderSlider .slides .slide .main-container,
#HeaderSlider .slides .slide .slide-image,
#HeaderSlider .slides .slide .slide-video,
#HeaderSlider .slides .slide .slide-caption
{
  width: 100%;
  height: 100%;
}

.blend-mode-screen        {  mix-blend-mode: screen; }
.blend-mode-multiply      {  mix-blend-mode: multiply; }
.blend-mode-screen        {  mix-blend-mode: screen; }
.blend-mode-overlay       {  mix-blend-mode: overlay; }
.blend-mode-darken        {  mix-blend-mode: darken; }
.blend-mode-lighten       {  mix-blend-mode: lighten; }
.blend-mode-color-dodge   {  mix-blend-mode: color-dodge; }
.blend-mode-color-burn    {  mix-blend-mode: color-burn; }
.blend-mode-hard-light    {  mix-blend-mode: hard-light; }
.blend-mode-soft-light    {  mix-blend-mode: soft-light; }
.blend-mode-difference    {  mix-blend-mode: difference; }
.blend-mode-exclusion     {  mix-blend-mode: exclusion; }
.blend-mode-hue           {  mix-blend-mode: hue; }
.blend-mode-saturation    {  mix-blend-mode: saturation; }
.blend-mode-color         {  mix-blend-mode: color; }
.blend-mode-luminosity    {  mix-blend-mode: luminosity; }


#HeaderSlider .slides .slide .overlay-container
{
    position: relative;
    width: 66%;
    height: 100%;
    top: -100%;
    right:  0;
    margin: 0 0 0 auto;


    /* clip-path: polygon(100% 0%, 100% 50%, 100% 100%, 0% 100%, 0% 50%, 0% 0%); */

}


#HeaderSlider .slides .slide .slide-content.mask-trans
{
    -webkit-mask:       url("../images/tp.png");
    mask-image:         url('../images/tp.png');
    -webkit-mask-image: url("../images/tp.png");
    mask-size: cover;
    -webkit-mask-size: cover;
    mask-position: left center;  
    -webkit-mask-position: left center;  
}


#HeaderSlider .slides .slide .slide-content.masked
{
    mask-size: cover;
    -webkit-mask-size: cover;
    mask-position: left center;  
    -webkit-mask-position: left center;  
}

/*

Die Masken werden nicht mehr über die Klasse appliziert, sondern direkt in der header.php,
damit das animerte GIF bei einem Slide-Wechsel zurückgesetzt werden kann. Es wird dort 
immer das bild images/header-overlay-mask-XXXXXX  geladen


#HeaderSlider .slides .slide .slide-content.mask-quad1
{
    -webkit-mask:       url("../images/header-overlay-mask-quad1.gif");
    mask-image:         url('../images/header-overlay-mask-quad1.gif');
    -webkit-mask-image: url("../images/header-overlay-mask-quad1.gif");
    mask-size: cover;
    -webkit-mask-size: cover;
    mask-position: left center;  
    -webkit-mask-position: left center;  
}

#HeaderSlider .slides .slide .slide-content.mask-quad2
{
    -webkit-mask:       url("../images/header-overlay-mask-quad2.gif");
    mask-image:         url('../images/header-overlay-mask-quad2.gif');
    -webkit-mask-image: url("../images/header-overlay-mask-quad2.gif");
    mask-size: cover;
    -webkit-mask-size: cover;
    mask-position: left center;  
    -webkit-mask-position: left center;  
}
*/

#HeaderSlider .slick-track
{
  height: 100%;
}

#HeaderSlider .slides .slide .slide-image,
#HeaderSlider .slides .slide .slide-video
{
  background-repeat: no-repeat;
  background-size: cover;
    position: relative;
}

#HeaderSlider .slides .slide .slide-image .mask
{
  display: block;
  position: absolute;
  width: 100%;
  bottom: 0px;
  height: 210px;
  background: rgb(0,98,49);
  background: linear-gradient(0deg, rgba(0,98,49,0.7) 0%, rgba(0,98,49,0) 100%);
}

/*
.slick-prev
{
  left: 30px;
}

.slick-next
{
  right: 30px;
}
*/

/*
.video-wrap { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; width: 100%;}
.video-wrap video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
*/

.video-wrap {
    overflow: hidden;
    width: 100%;
    height: 100%;
}
.video-wrap video {
    height: 100%;
    width: 177.77777778vh; /* 100 * 16 / 9 */
    min-width: 100%;
    min-height: 56.25vw; /* 100 * 9 / 16 */

    max-width: none;
}

/* merge with above css */
.video-wrap {
    position: relative; /* or absolute or fixed */
}
.video-wrap video {
    position: absolute;
    left: 50%; /* % of surrounding element */
    top: 50%;
    transform: translate(-50%, -50%); /* % of current element */
}



.slick-dots {
    position: absolute;
    bottom: 55px !important;
    display: block;
    width: 50% !important;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: right !important;
    right: 20px;
}

.slick-dots li button:before
{
  font-family: 'slick';
    font-size: 20px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: '•';
    text-align: center;
    opacity: .25;
    color: #ffffff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

}

.slick-dots li.slick-active button:before {
    opacity: .75;
    color: #ffffff
}


#main
{
  z-index: 1;
}



/*
#HeaderSlider .vc_column_container > .vc_column-inner 
{
    padding-left: 15px;
    padding-right: 15px;
}
*/

/*
.header-caption::after {
    content: '';
    position: absolute;

    width: calc(100% + 2530px);
    left: -2500px;

    height: calc(100% + 60px);
    top: -30px;

    z-index: -1;
    background: rgba(255,255,255,0.8);

}
*/

#HeaderSlider .caption-container > .wf-wrap,
.header-caption-wrap > .wf-wrap 
{
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  padding: 0 50px 0 50px; 
  
}



@media (max-width: 450px)
{
  #HeaderSlider .caption-container > .wf-wrap,
  .header-caption-wrap > .wf-wrap
  {
    padding: 0 20px; 

  }
}



/* ------------------------- */


/*
@media (min-width: 450px)
{
  #HeaderSlider
  {
    height: 350px;
  }

  #HeaderSlider.size-homeslide
  {
    height: 350px;
  }
}

@media (min-width: 768px)
{
  #HeaderSlider
  {
    height: 550px;
  }

  #HeaderSlider.size-homeslide
  {
    height: 550px;
  }
}

@media (min-width: 992px)
{
  #HeaderSlider
  {
    height: 650px;
  }

  #HeaderSlider.size-homeslide
  {
    height: 650px;
  }
}


@media (min-width: 1200px)
{
  #HeaderSlider
  {
    height: 750px;
  }

  #HeaderSlider.size-homeslide
  {
    height: 750px;
  }
}
*/
