/* nunito-sans-200 - latin */
@font-face {
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 200;
    src: url('../Fonts/nunito-sans-v5-latin-200.eot'); /* IE9 Compat Modes */
    src: local('Nunito Sans ExtraLight'), local('NunitoSans-ExtraLight'),
    url('../Fonts/nunito-sans-v5-latin-200.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../Fonts/nunito-sans-v5-latin-200.woff2') format('woff2'), /* Super Modern Browsers */
    url('../Fonts/nunito-sans-v5-latin-200.woff') format('woff'), /* Modern Browsers */
    url('../Fonts/nunito-sans-v5-latin-200.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../Fonts/nunito-sans-v5-latin-200.svg#NunitoSans') format('svg'); /* Legacy iOS */
}
.nav-link-language {
    padding: 0rem 0rem;
    display: inline-block;
    padding-top: 6px;
}
.site-header .nav-link-language,
.site-header .nav-link-language:visited,
.site-header .nav-link-language:hover,
.site-header .nav-link-language:focus {
    color: #fff;
}
/* nunito-sans-regular - latin */
@font-face {
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 400;
    src: url('../Fonts/nunito-sans-v5-latin-regular.eot'); /* IE9 Compat Modes */
    src: local('Nunito Sans Regular'), local('NunitoSans-Regular'),
    url('../Fonts/nunito-sans-v5-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../Fonts/nunito-sans-v5-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
    url('../Fonts/nunito-sans-v5-latin-regular.woff') format('woff'), /* Modern Browsers */
    url('../Fonts/nunito-sans-v5-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../Fonts/nunito-sans-v5-latin-regular.svg#NunitoSans') format('svg'); /* Legacy iOS */
}


@font-face {
    font-family: 'icomoon';
    src: url('../Fonts/icomoon.eot?du9x3l');
    src: url('../Fonts/icomoon.eot?du9x3l#iefix') format('embedded-opentype'),
    url('../Fonts/icomoon.ttf?du9x3l') format('truetype'),
    url('../Fonts/icomoon.woff?du9x3l') format('woff'),
    url('../Fonts/icomoon.svg?du9x3l#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

[class^="icon-"], [class*=" icon-"],.slick-next:before,.slick-prev:before {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-light:before,.slick-next:before {
    content: "\e907";
}
.icon-arrow-light-left:before,.slick-prev:before {
    content: "\e908";
}
.icon-arrow_forward_ios:before {
    content: "\e900";
}
.icon-arrow_back_ios:before {
    content: "\e903";
}
.icon-keyboard_arrow_right:before {
    content: "\e904";
}
.icon-keyboard_arrow_left:before {
    content: "\e905";
}
.icon-keyboard_arrow_down:before {
    content: "\e906";
}
.icon-instagram:before {
    content: "\ea92";
}
.icon-earth:before {
    content: "\e901";
}
.icon-facebook:before {
    content: "\ea90";
}
.icon-pinterest2:before {
    content: "\ead2";
}
.icon-envelope-o:before {
    content: "\e902";
}
.icon-location:before {
    content: "\e90a";
}
.icon-play:before {
    content: "\e909";
}
.slick-prev::before, .slick-next::before {
    font-size: 40px;}
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    color:
            #fff;
    background-color: #000000;
}
.frame-type-menu_subpages ul {
    display: inline;
    list-style-type: none;
    width: 100%;
    padding: 0;

}
.frame-type-menu_subpages ul li {
    list-style: none;
    display: inline;
    padding: 0 15px 0 0;

}
.frame-type-menu_subpages img{
	filter: grayscale(1);
	transition: all 0.4s ease-in-out;
}
.frame-type-menu_subpages img:hover{
	filter: none;
	transition: all 0.4s ease-in-out;
}
main img {
    width: 100%;
    height: auto;
}
.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0;
    height: 0;
    overflow: hidden;
    height: 100%;
}
.video-element {
    position: relative;
    height: 100%;
}
.textblock {
    text-align: center;
    padding: 20px 35px;
    max-width: 950px;
    margin: 25px auto;
}
.video-element .play-button {
    position: absolute;
    width: 250px;
   height: 250px;
    top: 50%;
    left: 50%;
    margin: -125px 0 0 -125px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 250px;
    line-height: 250px;
    color: #e9511d;
}
@media (max-width: 768px) {

    .video-element .play-button {
        width: 100px;
        height: 100px;
        margin: -50px 0 0 -50px;
        font-size: 100px;
        line-height: 100px;
    }
}
.video-element:hover .play-button {
    background: rgba(0, 0, 0, 0.72);
}
.video-container iframe, .video-container object, .video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.video-element img {
    cursor: pointer;
}

html,body {
    position: relative;
    min-height: 100%;
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 200;
    overflow-x: hidden; hyphens: auto;
}
.dropdown-item {font-weight: 200}
.main {
    overflow: hidden;
    min-height: 90vh;
    padding-top: 50px;
}

body {
    overflow-x: hidden;
    font-weight: 200;
}

.blink {
    animation: blinker 1s linear infinite;
}

@keyframes blinker {
    50% {
        color: #b23a0e;
    }
}
@media (prefers-reduced-motion: reduce) {
    .blink { animation: none; }
}
h1, .h1, h2, .h2, h3, .h3 {
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 200;
    text-transform: uppercase;
    letter-spacing: 2px;
}
h2, .h2 {
    font-size: 1.75rem;
}
h3, .h3 {
    font-size: 1.45rem;
}
.news .header.col h1{
	 font-size: 1.45rem;
}
b, strong{
	font-weight: 300;
}
.img-fluid,figure img,.slick-slide img,.textbild img {
    width: 100%;
    height: auto;
}
.bg-dark {
    background-color: #000000 !important;
}
footer .nav-link,.nav-pills .nav-link[title~=Kontakt],.nav-pills .nav-link[title~=Contact] {
    text-transform: none;
}

.dropdown-item.active, .dropdown-item:active {
    background-color: #000;
}
.navbar-nav .nav-item .nav-link{
border-bottom: solid 1px transparent;
    padding: 0;
    color: white;

}
.navbar-nav .nav-item.active .nav-link{
    border-bottom: solid 1px #999998;

}

.z-1000{
    z-index: 1000;
    position: relative;
    margin-top: -3.2em !important;
}
.navbar-nav, .navbar-brand, footer,.nav-pills .nav-link {
    text-transform: uppercase;
    border-radius: 0;
    font-size: 14px;
    letter-spacing: 2px;
}.navbar-nav, .navbar-brand,.site-header .nav-pills .nav-link {
       color: white;
}
main > .container-fluid {
    padding: 60px 15px 0;
}
.container.pl-md-5.pr-md-5 a{
    color:  #e40008;
}
a{
    color: rgba(91, 91, 90, 0.63);
}
a:hover {
    color: #5b5b5a;
}
main a:hover, footer a:hover {
    color: #e9511d;
}
button:active {
    outline: none;
    border: none;
}

button:focus {
    outline: 0;
}

button {
    background: transparent;
    border: none;
}
#site-2 img,#site-3 img,#site-4 img {
    -webkit-filter: grayscale(1);
    filter: grayscale(1);
}
#site-2 img:hover, #site-3 img:hover, #site-4 img:hover{
    -webkit-filter: none;
    filter: none;
    -webkit-transition: c 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;

}
.nav-pills.nav-fill .nav-link{
    padding: 0.66rem 1rem;
    /*margin: 2px;*/
    color:white;border-bottom: 5px solid transparent;
    background: rgba(43, 43, 43, 0.75);border-radius: 0rem;
}
.nav-pills.nav-fill .nav-link:hover, .nav-pills .nav-link:focus{
    transition: all 100ms linear;
     border-color: #999998;

 }
section.faq h2{
	margin-bottom: 1.5rem;
}
section.faq details{
	padding: 0.75rem 1rem;
	border: 1px solid #ccc;
	margin-bottom: 1rem;
	transition: all 0.3s ease-in-out;
}
section.faq details p{
	margin-left: 15px;
	margin-top: 10px;
	border-top: 1px solid #ccc;
	padding-top: 10px;
}
section.faq details[open] {
    transition: all 0.3s ease-in-out;
}
.whatsapp-widget {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 60px;
  height: 60px;
  background-color: #25d366;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 2px 2px 10px rgba(0,0,0,0.2);
  z-index: 1000;
  transition: transform 0.3s ease;
}

.whatsapp-widget img {
  width: 35px;
  height: 35px;
	filter: none !important;
}

.whatsapp-widget:hover, .phone:hover, .mail:hover, .whatsapp:hover {
  transform: scale(1.1); /* Kleiner Zoom-Effekt beim Drüberfahren */
}

/* Tooltip (optional) */
.whatsapp-widget .tooltip {
  visibility: hidden;
  width: 100px;
  background-color: #333;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 5px;
  position: absolute;
  right: 70px;
  font-family: sans-serif;
  font-size: 12px;
}

.whatsapp-widget:hover .tooltip {
  visibility: visible;
}
summary {
  list-style: none;
  cursor: pointer;
  position: relative;
  padding-left: 25px; /* Platz für den neuen Marker */
}

summary::-webkit-details-marker {
  display: none;
}
summary::before {
  content: "+";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: bold;
  transition: transform 0.3s ease; /* Die Animation der Drehung */
  display: inline-block;
}
details[open] summary::before {
  transform: rotate(180deg);
}
details[open] summary::before {
  content: "-"; /* Wechselt das Zeichen direkt */
}


@media (min-width: 768px) {
    .slick-next {
        right: 35px;
        z-index: 1;
    }
    .slick-prev {
        left: 25px;z-index: 1;
    }
    @keyframes fadein{from{opacity:0;}to{opacity:1;}}@-moz-keyframes fadein{from{opacity:0;}to{opacity:1;}}@-webkit-keyframes fadein{from{opacity:0;}to{opacity:1;}}@-o-keyframes fadein{from{opacity:0;}to{opacity:1;}}
    #site-1 .site-header #navbarCollapse .navbar-nav {display: none!important;animation:fadein 0.5s;-moz-animation:fadein 1.0s;-webkit-animation:fadein 0.5s;}
    #site-1 .site-header.show-menu #navbarCollapse.navbar-collapse .navbar-nav {display: flex!important;animation:fadein 0.5s;-moz-animation:fadein 1.0s;-webkit-animation:fadein 0.5s;}
    .navbar-nav .nav-item{
        padding-right: 0.5rem;
        padding-left: 0.5rem;

    }
    .banner {
        max-height: 98vh;
        overflow: hidden;
    }
    footer .nav-link:last-of-type {
        padding-right:0;

    }footer .nav-item:first-child .nav-link {
         padding-left:0;

     }
}
.caption {
    opacity: 0;
    position: absolute;
    bottom: 0;
    padding: 5px;
    left: 0;
    right: 0;
    margin: 0;
    color:
            white;
    font-size: 12px;
    font-weight: 300;
    font-family: sans-serif;
}

.news-list-view a:hover .caption {
    opacity: 1;
    display: block;
    padding:14px;
    background-color: rgba(0, 0, 0, 0.8);
    font-size:16px;
    letter-spacing:0.098em;
}

.videoWrapper {
    /* falls back to 16/9, but otherwise uses ratio from HTML */
padding-bottom: calc(var(--aspect-ratio, .5625) * 100%);
}
/* Style the video: 100% width and height to cover the entire window */

#myVideo {
    position: fixed;
    right: 0;
    bottom: 0;
    top:-370px;
    width: 120%;
    height: 160%;
    z-index:0;
}
@media (max-width: 992px) {
    /* Style the video: 100% width and height to cover the entire window */

    #myVideo {
        position: absolute;
        left: -50px;
        top:-20%;
        width: 120%;
        height: 120%;
        z-index:0;
    }
    #site-4 .frame-space-after-extra-large {
        margin-bottom: 0!important;
    }
    #site-4 .frame-space-before-extra-large {
        margin-top: 0!important;
    }
    .navbar-nav li{padding: 1rem 0}
    .z-1000{
        z-index: 1000;
        position: relative;
        margin-top: 0em !important;
    }
.bar {
    display: block;
    height: 2px;
    width: 28px;
    background-color: #ffffff;
    margin: 8px auto;

}

.buttons {
    cursor: pointer;
    display: inline-block;
    width: auto;
    margin: 0 auto;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
    height: 50px;
}

.buttons.active {
    padding: 0px 0px;
}

.buttons.active .top {
    -webkit-transform: translateY(15px) rotateZ(45deg);
    -moz-transform: translateY(15px) rotateZ(45deg);
    -ms-transform: translateY(15px) rotateZ(45deg);
    -o-transform: translateY(15px) rotateZ(45deg);
    transform: translateY(15px) rotateZ(45deg);
}

.buttons.active .bar {
    margin: 13px auto;

}

.buttons.active .middle {
    width: 0;
}

.middle {
    margin: 0 auto;
}

.buttons.active .bottom {
    -webkit-transform: translateY(-15px) rotateZ(-45deg);
    -moz-transform: translateY(-15px) rotateZ(-45deg);
    -ms-transform: translateY(-15px) rotateZ(-45deg);
    -o-transform: translateY(-15px) rotateZ(-45deg);
    transform: translateY(-15px) rotateZ(-45deg);
}

.bar {
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}
}
.bildergrid img{width: 100%;height: auto}
/*.bildergrid img {*/
/*    -webkit-filter: grayscale(1);*/
/*    filter: grayscale(1);*/
/*}*/
/*.bildergrid img:hover {*/
/*    -webkit-filter: none;*/
/*    filter: none;*/
/*}*/

.sliderrow .slick-prev::before, .sliderrow .slick-next::before {
    color: #1a1818;}
.sliderrow .slick-next {right: 35px;}
.sliderrow .slick-prev {left: 15px;z-index: 100}

.frame-type-menu_subpages li{list-style: none;padding: 10px 0}
.frame-type-menu_subpages a{text-transform: none}
@media (max-width: 768px) {
    .page-footer .nav{justify-content: center;}
    h2, .h2 {
        font-size: 1.70rem;
    }
}
@media (max-width: 390px) {
	    h1, .h1 {
        font-size: 2rem;
    }
    h2, .h2 {
        font-size: 1.40rem;
    }
}
@media (max-width: 576px) {
	    h1, .h1 {
        font-size: 2rem;
    }
}
.subline{
    position: absolute;
    right: 80px;
    width: 20%;
    margin-top: -125px;
}
@media (max-width: 768px) {
    .subline{
        position: absolute;
        right: 40px;
        margin-top: -75px;
        width: 30%;
    }
}


/* Page title from DefaultLayout: below the fixed navbar, centred */
main > h1.page-title {
    padding-top: 6rem;
    margin-bottom: 0;
}

/* Header slider: show only the first slide until slick is ready, so the page does not jump (CLS) */
.banner.slider:not(.slick-initialized) > div:not(:first-child) {
    display: none;
}
.banner.slider img {
    display: block;
    width: 100%;
    height: auto;
}

/* Footer links: readable contrast on white (WCAG AA) */
footer a,
footer .nav-link {
    color: #666665;
}

/* Primary buttons site-wide in the gold of the brand/landing pages (was Bootstrap blue where no inline CSS was set) */
.btn-primary {
    color: #fff;
    background-color: #a08b56;
    border-color: #94724c;
}
.btn-primary:hover,
.btn-primary:focus {
    color: #fff;
    background-color: #94724c;
    border-color: #a08b56;
}

/* Contact page: form band (grey like the landing pages), square green submit button */
.contact-form-band {
    margin-top: 4rem;
    padding: 3rem 0 5rem;
    background-color: rgba(43, 43, 43, 0.19);
}
.contact-form-band .frame {
    margin-top: 0;
    margin-bottom: 0;
}
.contact-form-band .btn-primary {
    margin-top: 0.5rem;
    color: #fff;
    background-color: #28a745;
    border-color: #28a745;
    border-radius: 0;
}
.contact-form-band .btn-primary:hover,
.contact-form-band .btn-primary:focus {
    background-color: #218838;
    border-color: #1e7e34;
}

/* Header video on the start page (replaces the image slider there) */
.banner-video {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    opacity: 0;
    transition: opacity .6s ease;
}
.banner-video.is-playing {
    opacity: 1;
}
/* Cover image shows at once and stays until the video really plays (iOS shows black otherwise) */
.banner-video-slide {
    background: #2b2b2b var(--poster) center / cover no-repeat;
}
@media (max-width: 767.98px) and (orientation: portrait) {
    .banner-video-slide {
        background-image: var(--poster-mobile);
    }
}

/* Start page on phones: video at 80% of the screen height so the H1 below stays in view, cropped */
@media (max-width: 767.98px) {
    .banner--video .banner-video {
        height: 80vh;
        height: 80svh;
        aspect-ratio: auto;
        object-fit: cover;
    }
}

/* WhatsApp button fades in only after scrolling (past the header slider where there is one, see main.js) */
.whatsapp-widget {
    opacity: 0;
    visibility: hidden;
    transition: opacity .4s ease, visibility .4s ease, transform 0.3s ease;
}
.whatsapp-visible .whatsapp-widget {
    opacity: 1;
    visibility: visible;
}

@media (max-width: 767.98px) {
    .banner--video ~ .container > .frame:first-child {
        margin-top: 1rem;
    }
    .banner--video ~ .container > .frame:first-child h1 {
        font-size: 1.375rem;
        -webkit-hyphens: manual;
        hyphens: manual;
    }
}

/* Start page: no subline logo on the video */
.banner--video + div .subline {
    display: none;
}

/* Forms (EXT:form): square fields and buttons; the placeholder is the visible label, so the label above
   the field is only kept for screen readers */
form .form-control,
form .form-select,
form .btn {
    border-radius: 0;
}
form .form-element:has([placeholder]) > .form-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
