/*
Theme Name: Impreza Child
Template: Impreza
Version: 2.92
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/

.mainlogo img {
  transform-origin: center center;
  will-change: transform;
  transform: rotate(0deg) translateZ(0);
  backface-visibility: hidden;
}

/*-----------------------------------------------------------------------------------*/
/* Texthintergrund	 */
/*-----------------------------------------------------------------------------------*/

/* Hintergrund-Verhalten */
h1.hervorgehoben .w-text-value,
h2.hervorgehoben .w-text-value,
h3.hervorgehoben .w-text-value,
h4.hervorgehoben .w-text-value,
h5.hervorgehoben .w-text-value,
h6.hervorgehoben .w-text-value{
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* H1 */
h1.hervorgehoben{
  /* max-width:11.5ch; */
  line-height:1.02;
}

h1.hervorgehoben .w-text-value{
  padding-top:0;
  padding-bottom:0;
  padding-left:20px;
  padding-right:20px;
}

/* H2 */
h2.hervorgehoben{
  line-height:1.08;
}

h2.hervorgehoben .w-text-value{
  padding-top:6px;
  padding-bottom:6px;
  padding-left:20px;
  padding-right:20px;
}

/* H3 */
h3.hervorgehoben .w-text-value{
  /* line-height:1.08; */
  padding-top:4px;
  padding-bottom:4px;
  padding-left:10px;
  padding-right:10px;
}

/* H4 */
h4.hervorgehoben .w-text-value{
  /* line-height:1.08; */
  padding-top:4px;
  padding-bottom:4px;
  padding-left:10px;
  padding-right:10px;
}

/* H5 */
h5.hervorgehoben .w-text-value{
  /* line-height:1.08; */
  padding-top:4px;
  padding-bottom:4px;
  padding-left:10px;
  padding-right:10px;
}

/* H6 */
h6.hervorgehoben .w-text-value{
  /* line-height:1.08; */
  padding-top:4px;
  padding-bottom:4px;
  padding-left:10px;
  padding-right:10px;
}

/* Farben */
.hervorgehoben.beige .w-text-value{
  background: var(--color-beige);
}

.hervorgehoben.braun .w-text-value{
  background: var(--color-braun);
}

.hervorgehoben.orange .w-text-value{
  background: var(--color-orange);
}

.hervorgehoben.dunkelgruen .w-text-value{
  background: var(--color-dunkelgruen);
}

.hervorgehoben.hellgruen .w-text-value{
  background: var(--color-hellgruen);
}

.hervorgehoben.hellgrau .w-text-value{
  background: var(--color-hellgrau);
}

.hervorgehoben.hell .w-text-value{
  background: var(--color-hell);
}

.hervorgehoben.dunkel .w-text-value{
  background: var(--color-dunkel);
}

/* Extra small devices (phones, 600px and down) XR */
@media only screen and (max-width: 600px) {
  /* H2 */
  h2.hervorgehoben{
    line-height:1.2;
  }
} 

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {

} 

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
  
} 

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {

} 

/* Extra large devices (large laptops and desktops, 1440px and up) MS */
@media only screen and (min-width: 1440px) {

}

/* Extra large devices (large laptops and desktops, 1600px and up) SA */
@media only screen and (min-width: 1600px) {

}

/* Extra large devices (large laptops and desktops, 1700px and up) SA +1 */
@media only screen and (min-width: 1700px) {
  
}
  
/* Extra large devices (large laptops and desktops, 2300px and up) SA +2 */
@media only screen and (min-width: 2300px) {
    
}

/*-----------------------------------------------------------------------------------*/
/* pulsieren animation	 */
/*-----------------------------------------------------------------------------------*/

.pulsieren{
  overflow: visible;
}

.pulsieren::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  /* background: var(--color-orange); */
  background: var(--color-hell);
  transform: scale(1);
  opacity:0;
  pointer-events:none;
  z-index:-1;
  animation:pulse 2s ease-out infinite;
}

@keyframes pulse{

  0%{
    transform: scale(1);
    opacity:.6;
  }

  100%{
    transform: scale(1.4);
    opacity:0;
  }

}

/*-----------------------------------------------------------------------------------*/
/* tabs	 */
/*-----------------------------------------------------------------------------------*/

#angebote-tabs .w-tabs-section.active:not(.has_text_color)>.w-tabs-section-header,
#angebote-tabs .w-tabs.style_radio>.w-tabs-list .w-tabs-item.active {
  background-color: var(--color-content-primary) !important;
  color:#fff !important;
}

  #angebote-tabs .w-tabs.style_radio > .w-tabs-list .w-tabs-item {
  font-family: var(--h1-font-family) !important;
}

/* Extra small devices (phones, 600px and down) XR */
@media only screen and (max-width: 600px) {
  /* tabs to accordion mobile */
  #angebote-tabs .w-tabs-section-header {
    padding: 0.5em 1.5em !important;
  }
  
  /* sub-accordion */
  #angebote-tabs .w-tabs.accordion>div>div>.w-tabs-section-content {
    padding:0 !important;
    padding-bottom:2rem !important;
  }
  
  /* .w-tabs.accordion.remove_indents>div>div>.w-tabs-section-content*/
  #angebote-tabs .w-tabs.accordion.remove_indents>div>div>.w-tabs-section-header {
    /* border-radius: 100px !important; */
    padding: 10px 20px !important;
  }

  #angebote-tabs .w-tabs-sections .w-tabs-section:last-child {
    border-bottom:0 !important;
  }
  
  #angebote-tabs .w-tabs-sections .w-tabs-section {
    border-style: dotted !important;
  }
  
  #angebote-tabs .w-tabs-section .w-hwrapper.valign_top .w-text {
    width: 150px !important;
  }

  #angebote-tabs .w-tabs-section.active .w-tabs-section>.w-tabs-section-header {
    background-color: #9fb73d !important; 
  }
  
  #angebote-tabs .w-tabs-section.active .w-tabs-section.active:not(.has_text_color)>.w-tabs-section-header {
    background-color: #3b5623 !important; 
  }
  
} 

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {

} 

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
  
  #angebote-tabs .w-tabs.style_radio > .w-tabs-list .w-tabs-item {
    font-size:1.0rem !important;
  }
  
} 

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
  
  #angebote-tabs .w-tabs.style_radio > .w-tabs-list .w-tabs-item {
    /* Reduzierte Schriftgröße für Tablet Portrait */
    font-size: 1.2rem !important; 
    padding: 0.6rem 1rem !important;
    margin-right: 0.5rem !important;
    border: 2px solid #fff !important;
  }

  #angebote-tabs .w-tabs.style_radio > .w-tabs-list .w-tabs-item.active {
    background: var(--color-hellgruen) !important;
    color: #fff !important;
    border-color: var(--color-hellgruen) !important;
  }
} 

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
  #angebote-tabs .w-tabs.style_radio > .w-tabs-list .w-tabs-item.active  {
    background: var(--color-hellgruen) !important;
    color:#fff !important;
    border-color: var(--color-hellgruen) !important;
  }
  
  #angebote-tabs .w-tabs.style_radio > .w-tabs-list .w-tabs-item {
    background: none;
    border:2px solid #fff !important;
    margin-right:1rem !important; 
    font-size:1.3rem !important;
  }
  
  /* Verhindert, dass die Sektionstitel wie Akkordeon-Balken aussehen */
  #angebote-tabs .w-tabs.accordion .w-tabs-section-header {
      display: none !important;
  }
  
  /* Erzwingt die Sichtbarkeit der horizontalen Tab-Liste */
  #angebote-tabs .w-tabs.accordion .w-tabs-list {
      display: block !important;
  }
  
  /* Verhindert das Stapeln der Sektionen */
  #angebote-tabs .w-tabs.accordion .w-tabs-section {
      display: none;
  }
  #angebote-tabs .w-tabs.accordion .w-tabs-section.active {
      display: block !important;
  }

}

/* Large devices (laptops/desktops, 1025px and up) */
/* Erhöht auf 1025px, damit der Tablet-Fix oben bis 1024px greift */
@media only screen and (min-width: 1025px) {
  #angebote-tabs .w-tabs.style_radio > .w-tabs-list .w-tabs-item.active  {
    background: var(--color-hellgruen) !important;
    color:#fff !important;
    border-color: var(--color-hellgruen) !important;
  }
  
  #angebote-tabs .w-tabs.style_radio > .w-tabs-list .w-tabs-item {
    background: none;
    border:2px solid #fff !important;
    margin-right:1rem !important; 
    font-size:1.5rem !important;
    padding: 0.8rem 1.5rem !important; /* Standard Desktop Padding */
  }
  
  /* Verhindert, dass die Sektionstitel wie Akkordeon-Balken aussehen */
  #angebote-tabs .w-tabs.accordion .w-tabs-section-header {
      display: none !important;
  }
  
  /* Erzwingt die Sichtbarkeit der horizontalen Tab-Liste */
  #angebote-tabs .w-tabs.accordion .w-tabs-list {
      display: block !important;
  }
  
  /* Verhindert das Stapeln der Sektionen */
  #angebote-tabs .w-tabs.accordion .w-tabs-section {
      display: none;
  }
  #angebote-tabs .w-tabs.accordion .w-tabs-section.active {
      display: block !important;
  }
}


/* Extra large devices (large laptops and desktops, 1440px and up) MS */
@media only screen and (min-width: 1440px) {
  #angebote-tabs .w-tabs.style_radio > .w-tabs-list .w-tabs-item.active  {
    background: var(--color-hellgruen) !important;
    color:#fff !important;
    border-color: var(--color-hellgruen) !important;
  }
  
  #angebote-tabs .w-tabs.style_radio > .w-tabs-list .w-tabs-item {
    background: none;
    border:2px solid #fff !important;
    margin-right:1rem !important; 
    font-size:1.65rem !important;
  }
  
  /* Verhindert, dass die Sektionstitel wie Akkordeon-Balken aussehen */
  #angebote-tabs .w-tabs.accordion .w-tabs-section-header {
      display: none !important;
  }
  
  /* Erzwingt die Sichtbarkeit der horizontalen Tab-Liste */
  #angebote-tabs .w-tabs.accordion .w-tabs-list {
      display: block !important;
  }
  
  /* Verhindert das Stapeln der Sektionen */
  #angebote-tabs .w-tabs.accordion .w-tabs-section {
      display: none;
  }
  #angebote-tabs .w-tabs.accordion .w-tabs-section.active {
      display: block !important;
  }

}

/* Extra large devices (large laptops and desktops, 1600px and up) SA */
@media only screen and (min-width: 1600px) {

}

/* Extra large devices (large laptops and desktops, 1700px and up) SA +1 */
@media only screen and (min-width: 1700px) {
  
}
  
/* Extra large devices (large laptops and desktops, 2300px and up) SA +2 */
@media only screen and (min-width: 2300px) {
    
}

/* ipad */



/*-----------------------------------------------------------------------------------*/
/* Öffnungszeiten	 */
/*-----------------------------------------------------------------------------------*/

/* .nav_opening {
  
}

.nav_opening_hours {
  
} */

.nav_opening,
.nav_opening_hours {
    display: table !important; /* Sorgt dafür, dass der Block nur so breit wie der Text ist */
    padding: 8px 15px !important;
    transform: rotate(-3deg) !important;
    clear: both; /* Verhindert, dass sie nebeneinander rutschen */
}

.nav_opening {
    background: var(--color-hellgruen) !important;
    margin-bottom: 5px; /* Kleiner Abstand zum unteren Block */
}

.nav_opening.is-closed {
    /* background: var(--color-orange) !important; */
    background: var(--color-braun) !important;
}

.nav_opening_hours {
    background: var(--color-dunkelgruen) !important;
    margin-left: 15px !important; /* Versatz nach rechts */
    margin-top: -11px !important; /* Überlappung nach oben */
    /* transform: rotate(1deg) !important; */
}

/* anim */

/* Container-Link Styling */
.status-link-wrapper {
    transition: transform 0.2s ease-in-out;
    cursor: pointer;
}

/* Hover-Animation für beide Boxen gleichzeitig */
.status-link-wrapper:hover {
    animation: hop-animation 0.75s ease;
}

/* Verhindert unschöne Abstände oder Umbrüche */
.status-link-wrapper .kw-status-label {
    margin-bottom: 5px; /* Optionaler Abstand zwischen den Boxen */
}

@keyframes hop-animation {
    0%, 100% { transform: translateY(0); }
    30% { transform: translateY(-5px); }
    50% { transform: translateY(0); }
    70% { transform: translateY(-2px); }
}

/* Blendet die doppelte Uhrzeit aus, die direkt auf unseren Link folgt */
.status-link-wrapper + .nav_opening_hours {
    display: none !important;
}

/* Textfarbe auf Weiß bei Hover für beide Labels */
.status-link-wrapper:hover .kw-status-label {
    color: #ffffff !important;
}

/* Falls die Uhrzeit eine eigene Klasse hat, die eventuell Priorität genießt */
.status-link-wrapper:hover .nav_opening_hours {
    color: #ffffff !important;
}

/* Optional: Ein weicher Übergang für die Farbe */
.kw-status-label {
    transition: color 0.2s ease-in-out, transform 0.2s ease-in-out;
}

/*-----------------------------------------------------------------------------------*/
/* FAQ Tabs	 */
/*-----------------------------------------------------------------------------------*/

/* toggle faq tabs */
#fa.faq-hell .w-tabs[style*="--sections-title-size"]>div>div>.w-tabs-section-header>.w-tabs-section-title,
#faq.faq-hell .w-tabs-section.active:not(.has_text_color)>.w-tabs-section-header {
  /* color:#994120 !important; */
  /* color:#3b5623 !important; */
  color:#994120 !important;
  /* color:#c9551b !important; */
}


.w-tabs-section-title {
}

/*-----------------------------------------------------------------------------------*/
/* Misc	 */
/*-----------------------------------------------------------------------------------*/

.w-popup.jetztbuchen {
    /* Den Ursprung der Transformation nach links setzen */
    /* -webkit-transform-origin: left center;
    -moz-transform-origin: left center;
    -ms-transform-origin: left center;
    -o-transform-origin: left center;
    transform-origin: left center; */

    /* Deine bestehenden Transformationen */
    /* -webkit-transform: scale(1.3) rotate(3deg);
    -moz-transform: scale(1.3) rotate(3deg);
    -ms-transform: scale(1.3) rotate(3deg);
    -o-transform: scale(1.3) rotate(3deg);
    transform: scale(1.3) rotate(3deg); */
}

a.cmplz-accept-category {
  display: inline-block;
  background-color: #c9551b !important;
  color: #ffffff !important;
  padding: 12px 20px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  font-size: 1.0rem;
  transition: all 0.2s ease;
  margin-bottom:3rem;
  border:2px solid rgb(201, 85, 27);
}

/* Hover */
a.cmplz-accept-category:hover {
  background-color: #fff !important;
  color:#c9551b !important;
  border-color:rgb(201, 85, 27);
}

/* Active (Klick) */
a.cmplz-accept-category:active {
  
}

.mfp-title {
  display: none !important;
}

.w-nav.type_desktop .w-nav-anchor:not(.level_1) {
  
}

.w-nav.type_desktop .w-nav-list.level_2 li a {
  padding-top: 5px !important; 
  padding-bottom:5px !important;
}

.w-nav.type_desktop .w-nav-list.level_2 li:first-child a {
  padding-top:20px !important;
}

.w-nav.type_desktop .w-nav-list.level_2 li:last-child a {
  padding-bottom:20px !important;
}

.w-nav.type_desktop .w-nav-list.level_2 {
  border-radius:0.5rem;
}

.w-nav.type_desktop .w-nav-list * {
  -webkit-transition: all 100ms ease-out;
  -moz-transition: all 100ms ease-out;
  -ms-transition: all 100ms ease-out;
  -o-transition: all 100ms ease-out;
  transition: all 100ms ease-out;
}

.w-iconbox ul {
  margin-left:0.75rem !important;
}

.wpb_text_column a {
  color:#fff !important;
  text-decoration: underline !important;
}

  .wpb_text_column a:hover {
    opacity: 0.7 ;
  }  

/*-----------------------------------------------------------------------------------*/
/* Responsive	 */
/*-----------------------------------------------------------------------------------*/

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

  .nav_opening,
  .nav_opening_hours {
    font-size: 0.75rem !important/* Extra small devices (phones, 600px and down) XR */
  }
  
  .menu-item-has-children.w-nav-item.level_1.togglable.opened {
    background: rgba(0,0,0,0.15);
    border-radius:0.5rem;
  }
  
  .w-nav-list.level_1 {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px); /* Safari Support */
  }
  
  /* mobile nav */
  .w-nav-control {
    border-radius:100px !important;
    max-height: 50px !important;
    max-width: 50px !important;
    background: #c9551b !important;
    min-height:50px !important;
    min-width: 50px !important;
    /* padding:3px !important; */
    color:#fff !important;
  }
  
} 

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {

} 

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
  
} 

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {

} 

/* Extra large devices (large laptops and desktops, 1440px and up) MS */
@media only screen and (min-width: 1440px) {

}

/* Extra large devices (large laptops and desktops, 1600px and up) SA */
@media only screen and (min-width: 1600px) {

}

/* Extra large devices (large laptops and desktops, 1700px and up) SA +1 */
@media only screen and (min-width: 1700px) {
  
}
  
/* Extra large devices (large laptops and desktops, 2300px and up) SA +2 */
@media only screen and (min-width: 2300px) {
    
}

/*-----------------------------------------------------------------------------------*/
/* Complianz Angebote	 */
/*-----------------------------------------------------------------------------------*/

#recras-consent-placeholder {
  background:#f9f9f9; 
  padding:40px; 
  text-align:center; 
  margin-top:20px; 
  border-radius:15px;
  color:#303030;
}

button#accept-recras-cookies {
  color:white; 
  padding:12px 25px; 
  border:none; 
  cursor:pointer; 
  font-weight:bold; 
  border-radius:5px;
  background: #9fb73d !important;
  
  -webkit-transition: all 250ms ease-out;
  -moz-transition: all 250ms ease-out;
  -ms-transition: all 250ms ease-out;
  -o-transition: all 250ms ease-out;
  transition: all 250ms ease-out;
}

button#accept-recras-cookies:hover {
  background: #3b5623 !important;
}

/*-----------------------------------------------------------------------------------*/
/* Recras 	 */
/*-----------------------------------------------------------------------------------*/

.bookprocess .checkboxWrapper {
  margin-top:15px;
}

.bookprocess .checkboxWrapper input[type="checkbox"] {
 border-radius: 100px;
 width: 30px;
 height: 30px;
 overflow: hidden;
 padding: 0; 
}

.bookprocess .steps {
margin-left:0 !important;  
}

.bookprocess aside h2 {
  background-color: #9fb73d !important;
  color:#fff !important;
}

.bookprocess label[for^='fixedtext_']:not(:has(+ [type="hidden"])) {
  font-family: var(--h2-font-family, inherit) !important;
  font-weight: var(--h2-font-weight, inherit) !important;
  font-size: 1.8rem !important;
  font-style: var(--h2-font-style, inherit) !important;
  line-height: var(--h2-line-height, 1.4) !important;
  letter-spacing: var(--h2-letter-spacing, inherit) !important;
  text-transform: var(--h2-text-transform, inherit) !important;
}

.bookprocess fieldset > div > label {
  font-family: var(--h2-font-family, inherit) !important;
  font-size: 1.3rem !important;
  text-transform: none !important;
  line-height: var(--h2-line-height, 1.4) !important;
}

.bookprocess .steps,
.bookprocess .recapWrapper h2 {
  font-family: var(--h2-font-family, inherit) !important;
font-size: 1.4rem !important;
/* text-transform: none !important; */
line-height: var(--h2-line-height, 1.4) !important;
}

.bookprocess .steps {
  font-size: 1.1rem !important;
}

.bookprocess .previousStep,
.bookprocess .primary.nextStep {
  background: #c9551b !important;
  color:#fff !important;
  border-color: #c9551b !important;
}

.bookprocess .previousStep {
  background: #aaa !important;
  border-color: #aaa !important;
}

  .bookprocess .primary.nextStep:hover {
    background: #994120 !important;
  }
  
  .bookprocess .previousStep:hover {
    background: #666 !important;
  }
  
.bookprocess .recras-booking_starttime.display-blocks label {
  background-color: #9fb73d !important;
  border-color: #9fb73d !important;
}
  
.bookprocess .recras-booking_starttime.display-blocks :checked + label {
  background-color: #3b5623 !important;
  border-color: #3b5623 !important;
}

/*-----------------------------------------------------------------------------------*/
/* Tabs	 */
/*-----------------------------------------------------------------------------------*/

#angebote-tabs .wpb_text_column ul {
  margin-left: 0.8rem !important;
}

/*-----------------------------------------------------------------------------------*/
/* Textlink Fix	 */
/*-----------------------------------------------------------------------------------*/

/* Zielt auf Links innerhalb deiner Text-Boxen ab */
.w-iconbox-text a {
    color: inherit !important; /* Übernimmt die Farbe des umgebenden Textes */
    text-decoration: underline; /* Standardmäßig unterstrichen */
    text-decoration-thickness: 2px; /* Feinheit der Linie */
    text-underline-offset: 5px; /* Startposition des Unterstrichs (etwas tiefer) */
    transition: text-underline-offset 0.15s ease; /* Macht die Bewegung flüssig */
}

/* Hover-Effekt: Unterstrich bewegt sich nach oben */
.w-iconbox-text a:hover {
    text-underline-offset: 2px; /* Zieht den Unterstrich näher an den Text heran */
    color: inherit !important; /* Stellt sicher, dass die Farbe gleich bleibt */
}

/*-----------------------------------------------------------------------------------*/
/* Tabsprung	 */
/*-----------------------------------------------------------------------------------*/

#firmen-anker {
    display: block;
    position: relative;
    top: -150px; /* Schiebt den unsichtbaren Anker nach oben */
    visibility: hidden;
}

/*-----------------------------------------------------------------------------------*/
/* Tabdirektauf-Sprung fix Accordion	 */
/*-----------------------------------------------------------------------------------*/

/* Extra small devices (phones, 600px and down) XR */
@media only screen and (max-width: 600px) {
  .w-popup.jetztbuchen {
    margin-top:15px;
    margin-bottom:30px;
    
    -webkit-transform-origin: left center;
    -moz-transform-origin: left center;
    -ms-transform-origin: left center;
    -o-transform-origin: left center;
    transform-origin: left center;
    
    -moz-transform: scale(0.8);
    -webkit-transform: scale(0.8);
    -o-transform: scale(0.8);
    -ms-transform: scale(0.8);
    transform: scale(0.8);
  }
} 

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {

} 

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
  
} 

/* Ab Desktop-Größe */
@media only screen and (min-width: 992px) {
    .w-popup.jetztbuchen {
        position: fixed !important;
        /* Erläuterung: Nimm den größeren Wert von beiden: 
           Entweder 25px vom Rand ODER die Berechnung für 1800px Content */
        right: max(25px, calc((100% - 1870px) / 2 + 25px)) !important;
        
        bottom: 25px !important;
        z-index: 9999 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(150px); 
        transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    }
    
    .jetztbuchen.weitererbutton {
      margin-right: 280px !important;
      position: fixed !important;
      
      /* right: max(25px, calc((100% - 1870px) / 2 + 10vw)) !important; */
     
      /* bottom: 125px !important; */
      
    }
    
      /* geöffnet fix */
      .w-popup-wrap.layout_right_panel.jetztbuchen.weitererbutton {
       margin-right:0 !important; 
      }

    .w-tabs-section.active .w-popup.jetztbuchen.show-now {
        transform: translateY(0);
    }

    .w-popup.jetztbuchen:not(.show-now) {
        transform: translateY(150px);
    }
}

/* Extra large devices (large laptops and desktops, 1440px and up) MS */
@media only screen and (min-width: 1440px) {

  
}

/* Extra large devices (large laptops and desktops, 1600px and up) SA */
@media only screen and (min-width: 1600px) {

}

/* Extra large devices (large laptops and desktops, 1700px and up) SA +1 */
@media only screen and (min-width: 1700px) {
  
}
  
/* Extra large devices (large laptops and desktops, 2300px and up) SA +2 */
@media only screen and (min-width: 2300px) {
    
}

/*-----------------------------------------------------------------------------------*/
/* Recras Kontaktformular / Footer	 */
/*-----------------------------------------------------------------------------------*/

.kontaktblock-footer .bookprocess .primary {
font-family: var(--h1-font-family) !important;
font-style: normal !important;
text-transform: none !important;
/* font-size: 18px !important; */
font-size: 1.2rem !important;
line-height: 1.20 !important;
font-weight: 600 !important;
letter-spacing: 0em !important;
padding: 0.8em 1.6em !important;
transition-duration: 0.3s !important;
border-radius: 10px !important;
transition-timing-function: ease !important;
--btn-height: calc(1.20em + 2 * 0.8em) !important;
--btn-border-width: 0px !important;
--btn-background: var(--color-orange) !important;
--btn-hover-background: #ffffff !important;
background: var(--btn-background, transparent) !important;
border-color: var(--btn-border-color, transparent) !important;
border-image: none !important;
color: var(--color-hell) !important; 
text-transform: uppercase !important;
}

  .kontaktblock-footer .bookprocess .primary:hover {
    background: var(--color-hell) !important; 
    color:var(--btn-background, transparent) !important;
  }
  
.kontaktblock-footer .bookprocess fieldset > div:not([id]):not(:has( [type="hidden"])) {
  margin-bottom:1rem !important;
}


.kontaktblock-footer .bookprocess :is(input, select, textarea):focus {
  border:1px solid #333 !important;
}

.kontaktblock-footer .bookprocess > div {
  padding:0 !important;
  gap:0 !important; 
}

/*-----------------------------------------------------------------------------------*/
/* bildlinks	 */
/*-----------------------------------------------------------------------------------*/

/* .hover_image button img {
  
}

  .hover_image button:hover img {
    opacity: 1 !important;
  } */
  

.hover_image button {
    overflow: hidden;
    transform: scale(1);
    animation: softZoomOut 0.35s ease forwards;
  }
  
  .hover_image button img {
    transform: scale(1);
  }
  
  .hover_image button:hover img {
    opacity: 1 !important;
  }
  
  .hover_image button:hover {
    animation: softZoomBounce 0.5s ease forwards;
  }
  
  /* Hover rein */
  @keyframes softZoomBounce {
    0% {
      transform: scale(1);
    }
    40% {
      transform: scale(1.06);
    }
    70% {
      transform: scale(1.03);
    }
    100% {
      transform: scale(1.05);
    }
  }
  
  /* Hover raus */
  @keyframes softZoomOut {
    0% {
      transform: scale(1.05);
    }
    100% {
      transform: scale(1);
    }
  }

#page-footer .recras-required > :is(label[for^='choice_'], label[for^='contact']):not(:empty)::after {
  color:#fff !important;
}

.highlight-dunkelgruen a {
  color: var(--color-dunkelgruen) !important;
}

  .highlight-dunkelgruen a:hover {
    color: var(--color-dunkel) !important;
  }
  
/*-----------------------------------------------------------------------------------*/
  /* Impressum/Datenschutz Fonts	 */
  /*-----------------------------------------------------------------------------------*/
  
  #rechtliches *,
  #rechtliches a {color:#ffffff !important;}
  
  #rechtliches h2 {font-size:1.7rem !important;}
  #rechtliches h3 {font-size:1.3rem !important;}
  #rechtliches h4 {font-size:1.3rem !important;}
  #rechtliches h5 {font-size:1.3rem !important;}
  
/*-----------------------------------------------------------------------------------*/
/* Popup Close Button */
/*-----------------------------------------------------------------------------------*/

.kw-close-btn,
.kw-close-btn:after,
button.w-popup-closer,
.w-popup-wrap[style*="--closer-color"] .w-popup-closer {
-webkit-transition: all 150ms ease-out !important;
-moz-transition: all 150ms ease-out !important;
-ms-transition: all 150ms ease-out !important;
-o-transition: all 150ms ease-out !important;
transition: all 150ms ease-out !important;
}

button.w-popup-closer,
.w-popup-wrap[style*="--closer-color"] .w-popup-closer {
    color: var(--color-dunkelgruen) !important;
    opacity: 1 !important;
    
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    width: 44px !important;
    height: 44px !important;
    cursor: pointer !important;
    background: #fff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10000000 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
    border: none !important;
    
}

.kw-close-btn:hover,
button.w-popup-closer:hover,
.w-popup-wrap[style*="--closer-color"] .w-popup-closer:hover {
    color:#fff !important;
    background-color: var(--color-dunkelgruen) !important;
  }

  .kw-close-btn:hover::after {
    color:#fff !important;
  }
  
.kw-close-btn:after {
    content: '\f00d' !important;
    font-family: fontawesome !important;
    font-weight: 400 !important;
    vertical-align: top !important;
    font-size:1.5rem !important;
}

/*-----------------------------------------------------------------------------------*/
/* Mobile fixes	 */
/*-----------------------------------------------------------------------------------*/

/* Extra small devices (phones, 600px and down) XR */
@media only screen and (max-width: 600px) {
  /* Buttons / Buchen mobile	 */
  #buchenbuttons .us-btn-style_6 {
    padding:0.8em 0.8em !important;
  }
  
  #angebote-tabs .w-tabs-section.no_indents>.w-tabs-section-content>.w-tabs-section-content-h {
    /* background: rgba(0,0,0,0.1) !important; */
    padding: 0 1rem !important;
  }
  
  #angebote-tabs .w-tabs.accordion>div>div>.w-tabs-section-content {
    padding-bottom:0 !important;
  }
  
  #angebote-tabs .w-tabs-section .w-hwrapper.valign_top .w-text {
    width: 100% !important;
  }
  
  #angebote-tabs h6 {
  text-align: left !important;
  }

} 

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {

} 

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
  
} 

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {

} 

/* Extra large devices (large laptops and desktops, 1440px and up) MS */
@media only screen and (min-width: 1440px) {

}

/* Extra large devices (large laptops and desktops, 1600px and up) SA */
@media only screen and (min-width: 1600px) {

}

/* Extra large devices (large laptops and desktops, 1700px and up) SA +1 */
@media only screen and (min-width: 1700px) {
  
}
  
/* Extra large devices (large laptops and desktops, 2300px and up) SA +2 */
@media only screen and (min-width: 2300px) {
    
}

/*-----------------------------------------------------------------------------------*/
/* Mobile: horizontale Umschläge Angebote	 */
/*-----------------------------------------------------------------------------------*/


/* Nur für Mobilgeräte (typischerweise unter 600px bei US Design / UpSolution) */
@media (max-width: 600px) {
    #angebote-tabs .w-hwrapper {
        /* Erzwingt den Umbruch der Spalten */
        flex-direction: column !important;
        /* Entfernt den seitlichen Gap und setzt Abstände für die vertikale Ansicht */
        gap: 0.5rem !important;
    }

    #angebote-tabs .w-hwrapper > .w-text:first-child {
        /* Erster Block (die Bezeichnung) immer fett */
        font-weight: bold !important;
    }
    /* Den Wrapper auf vertikal stellen */
    #angebote-tabs .w-hwrapper {
        flex-direction: column !important;
        display: flex !important;
    }

    /* Alle direkten Kinder (die Spalten) auf volle Breite zwingen */
    #angebote-tabs .w-hwrapper > * {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        flex-basis: 100% !important;
    }

    /* Den linken Block (die Bezeichnung) fett machen */
    #angebote-tabs .w-hwrapper > .w-text:first-child {
        font-weight: bold !important;
    }
}

/*-----------------------------------------------------------------------------------*/
/* Popup-Content mobile	 */
/*-----------------------------------------------------------------------------------*/

@media (max-width: 600px) {
    .w-popup-wrap[style*="--popup-padding"] .w-popup-box-content {
        padding: 50px 0.25rem !important;
     }
}

@media (max-width: 767px) {
    /* Setzt einen permanenten "Puffer" für alle Tabs */
    .w-tabs-section {
        scroll-margin-top: 350px !important; 
    }
}

/*-----------------------------------------------------------------------------------*/
/* Complianz Cookie-Site */
/*-----------------------------------------------------------------------------------*/



/* Alles weiß, aber NICHT in .cmplz-dropdown und NICHT in .cmplz-categories */
#rechtlichescookies :not(.cmplz-dropdown):not(.cmplz-dropdown *):not(.cmplz-categories):not(.cmplz-categories *) {
  color: #ffffff !important;
}

/* Links weiß, aber NICHT in .cmplz-dropdown und NICHT in .cmplz-categories */
#rechtlichescookies a:not(.cmplz-dropdown a):not(.cmplz-categories a) {
  color: #ffffff !important;
}

/* Dropdowns und Kategorien unangetastet/lesbar lassen */
#rechtlichescookies .cmplz-dropdown,
#rechtlichescookies .cmplz-dropdown *,
#rechtlichescookies .cmplz-categories,
#rechtlichescookies .cmplz-categories * {
  color: #000000 !important;
}

/* Schriftgrößen nur außerhalb von Dropdowns und Kategorien */
#rechtlichescookies h2:not(.cmplz-dropdown h2):not(.cmplz-categories h2) {
  font-size: 1.7rem !important;
}

#rechtlichescookies h3:not(.cmplz-dropdown h3):not(.cmplz-categories h3),
#rechtlichescookies h4:not(.cmplz-dropdown h4):not(.cmplz-categories h4),
#rechtlichescookies h5:not(.cmplz-dropdown h5):not(.cmplz-categories h5) {
  font-size: 1.3rem !important;
}

#rechtlichescookies #cmplz-document { max-width: 100% !important;}
#rechtlichescookies #cmplz-document p {font-size:1.0rem !important
  
}
#rechtlichescookies h2 {font-size:1.7rem !important;}
#rechtlichescookies h3 {font-size:1.2rem !important;}
#rechtlichescookies h4 {font-size:1.1rem !important;}
#rechtlichescookies h5 {font-size:1.1rem !important;}

#rechtlichescookies #cmplz-cookies-overview h3 {
  font-size:1.3rem !important;
}

/*-----------------------------------------------------------------------------------*/
/* button	 */
/*-----------------------------------------------------------------------------------*/

#rechtlichescookies .cmplz-service-header br {
  display: none !important;
}
#rechtlichescookies .cmplz-service-header input {
  margin-left:-60px !important;
  display: block !important;
}

/*-----------------------------------------------------------------------------------*/
/* Angebote Tabelle Tabs	 */
/*-----------------------------------------------------------------------------------*/

/* Angebote Tabs: rechte Datenzeilen */
#angebote-tabs .w-tabs-section-content .w-hwrapper {
  display: grid !important;
  grid-template-columns: 200px minmax(0, 1fr) !important;
  column-gap: 1.6rem !important;
  row-gap: 0.5rem !important;
  align-items: start !important;
  --hwrapper-gap: 0 !important;
}

/* Linke Spalte */
#angebote-tabs .w-tabs-section-content .w-hwrapper > :first-child {
  grid-column: 1 !important;
  width: 200px !important;
  min-width: 200px !important;
  max-width: 200px !important;
  white-space: nowrap !important;
}

/* Rechte Spalte */
#angebote-tabs .w-tabs-section-content .w-hwrapper > :not(:first-child) {
  grid-column: 2 !important;
  min-width: 0 !important;
  width: auto !important;
  text-align: left !important;
  justify-self: start !important;
}

#angebote-tabs .w-tabs-section-content .w-hwrapper > :not(:first-child) * {
  text-align: left !important;
}

/* UL ohne eigenes Padding/Margin */
#angebote-tabs .w-tabs-section-content .w-hwrapper ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* LI mit hängendem Bullet */
#angebote-tabs .w-tabs-section-content .w-hwrapper li {
  position: relative !important;
  display: block !important;
  margin: 0 0 0.7em 0 !important;
  padding: 0 0 0 1.5em !important;
  text-align: left !important;
}

#angebote-tabs .w-tabs-section-content .w-hwrapper li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
}

#angebote-tabs .w-tabs-section-content .w-hwrapper li:last-child {
  margin-bottom: 0 !important;
}

/* Preis-Badges */
#angebote-tabs .w-tabs-section-content .w-hwrapper > h6.dunkelgruen {
  grid-column: 2 !important;
  width: fit-content !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 0.5rem 0 !important;
  white-space: nowrap !important;
  justify-self: start !important;
  text-align: left !important;
}

#angebote-tabs .w-tabs-section-content .w-hwrapper > h6.dunkelgruen * {
  text-align: left !important;
}

/* Mobile: alles einspaltig */
@media (max-width: 767px) {
  #angebote-tabs .w-tabs-section-content .w-hwrapper {
    display: block !important;
    grid-template-columns: none !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
  }

  #angebote-tabs .w-tabs-section-content .w-hwrapper > * {
    display: block !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
    justify-self: auto !important;
    white-space: normal !important;
  }

  #angebote-tabs .w-tabs-section-content .w-hwrapper > :first-child {
    margin-bottom: 0.5rem !important;
  }

  #angebote-tabs .w-tabs-section-content .w-hwrapper > h6.dunkelgruen {
    display: inline-block !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 0 0.7rem 0 !important;
    white-space: normal !important;
  }

  #angebote-tabs .w-tabs-section-content .w-hwrapper li {
    padding-left: 1.2em !important;
  }
}