:root {--bs-body-line-height: 1.4;}


/* parallax auf iphones ausblenden - momentan auf allen mobile devices deaktiviert */
  @supports (-webkit-touch-callout: none) {
    .fixedbg {background-attachment: scroll!important;}
}

/* Fix für miese Safari-Performance bei Akkordeons und Scrolling: Box-shadow statt drop-shadow verwenden */
#content > .section:not(#prefooter) .card {
    -webkit-box-shadow: 0px 0px 20px 0px rgb(22 42 107 / 10%);
    box-shadow: 0px 0px 20px 0px rgb(22 42 107 / 10%);

    -webkit-filter: none;
    filter: none; 
}

/* Tabellenüberschrift in der Datenschutz/Cookie-Tabelle ändern */
.ikanos-privacy-cookielist__cookies caption { /* ADDED */
  caption-side: top;
  font-weight:bold;
}

.widerruf-container
{
  background-color:#bfe0d345;
border: 2px solid #009c84;
  border-radius:8px;
  padding:1rem;

}

/* Wenn runde Ecken bei Bildern benötigt werden */
.rounded-img .img-fluid
{
  border-radius: 1rem;
}

/* Breite der Store-Icons begrenzen */
.store {max-width:375px;}

/* Drop-Shadow bei Slider-Bildern ausschalten */
.slide figure {filter:unset;}


.banner-gray {
  background-color: rgba(0, 0, 0, .44);
  left: 50%;
  padding: 2rem 0;
  position: relative;
  transform: translateX(-50%);
  width: 100vw;
}

.fixedbg {    
  background-attachment: fixed;
  background-size: cover;
  }

@media (max-width: 768px) {
  .fixedbg {    
background-position-x: -400px;
  }
  }

.newsletter .form-check-label
{font-size:0.75rem;}

.rounded-corners img {border-radius:1.5rem;}




/* deutschlandticket hacks */
.comparison-section h2 {color:#162a6b!important;}


/* Vergleichstabellen bei Seniorenticket  */

.comparison-table {line-height:120%;}
.comparison-table td {position: relative;}
.comparison-table .dimension   {word-wrap: break-word;}
.comparison-table .positive, .comparison-table .negative, .comparison-table .neutral, .comparison-table .partial {  padding-left: 3rem;  border-left:1px solid;}
.comparison-table th {background-color:#162a6b;color:#fff;border-left:1px solid rgb(255 255 255 / 42%);hyphens:auto;}
.comparison-table td:before {
  font-family: 'bootstrap-icons';
  font-size: 1.5rem;
  left: .5rem;
  position: absolute;
}
.comparison-table .positive:before {
  color: #009c84;
  content: '\f26a';
}
.comparison-table .negative:before {
  color: #cf4c00;
  content: '\f622';
}
.comparison-table .partial:before {
  color: #ebc515;
  content: '\f288';
}

.comparison-table tr:nth-child(even)  {
  background:rgb(22 42 107 / 5%);
  }
.comparison-table  tr:nth-child(odd)  {
  background:rgba(255,255,255,0);
  }
.comparison-table   {font-size: calc(0.5rem + 1.2vw);}

.comparison-table .dimension {width:33%;text-align:right;}
.comparison-table .ticketname {width:33%;}
 
  
@media (max-width:600px) {
.comparison-table .dimension   {width:25%;}
.comparison-table .ticketname {width:37%;}
.comparison-table td:before {  font-family: 'bootstrap-icons';  font-size: 1rem;  top: .5rem;  position: absolute;}
.comparison-table .positive, .comparison-table .negative, .comparison-table .partial {  padding-left: 0.5rem;padding-top:1.75rem;  }
.comparison-table .neutral {padding-left: 0.5rem;}
.comparison-table {hyphens:auto;}
  }
@media (min-width:996px)  {.comparison-table {font-size:1.1rem; line-height:130%;} .comparison-table th {font-size:1.25rem;}}

@media (max-width: 768px){ .comparison-section .container, .comparison-section .container-sm {  max-width: 100%!important;}}



/* Vergleichstabelle Deutschlandticket */

.dticket-table {line-height:120%;}
.dticket-table td {position: relative;}
.dticket-table .dimension   {word-wrap: break-word;}
.dticket-table .positive, .dticket-table .negative, .dticket-table .neutral, .dticket-table .partial {  padding-left: 3rem;  border-left:1px solid;}
.dticket-table th {background-color:#162a6b;color:#fff;border-left:1px solid rgb(255 255 255 / 42%);hyphens:auto;}
.dticket-table td:before {
  font-family: 'bootstrap-icons';
  font-size: 1.5rem;
  left: .5rem;
  position: absolute;
}
.dticket-table .positive:before {
  color: #009c84;
  content: '\f26a';
}
.dticket-table .negative:before {
  color: #cf4c00;
  content: '\f622';
}
.dticket-table .partial:before {
  color: #ebc515;
  content: '\f288';
}

.dticket-table tr:nth-child(even)  {
  background:rgb(22 42 107 / 5%);
  }
.dticket-table  tr:nth-child(odd)  {
  background:rgba(255,255,255,0);
  }
.dticket-table   {font-size: calc(0.75rem + 1.2vw);}

.dticket-table .dimension {width:30%;text-align:left;}
.dticket-table .ticketname {width:70%;}
  
@media (max-width:600px) {
.dticket-table .dimension   {width:33%;}
.dticket-table .ticketname {width:67%;}
.dticket-table td:before {  font-family: 'bootstrap-icons';  font-size: 1rem;  top: .5rem;  position: absolute;}
.dticket-table .positive, .dticket-table .negative, .dticket-table .partial {  padding-left: 0.5rem;padding-top:1.75rem;  }
.dticket-table .neutral {padding-left: 0.5rem;}
.dticket-table {hyphens:auto;}
  }
@media (min-width:996px)  {.dticket-table {font-size:1.1rem; line-height:130%;} .dticket-table th {font-size:1.25rem;}}



/* handy background light section background behaviour*/
.dticketbackground
{
  background-image: url('/s/fileadmin/rmv_microsites/microsites/deutschlandticket/Deutschlandticket---RMVgo-Download-Section---Gradient.jpg');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
  @media screen and (max-width:575px) {
.dticketbackground {
        background-position: -300px center!important;
    }}

.background-blue
{
  background-image: url('/s/fileadmin/rmv_microsites/microsites/deutschlandticket/Deutschlandticket_-_RMVgo_Download_Section_-_Overlay.jpg');
  color:white;
}

.background-gradient
{
    color:white;
  background-image: url('/s/fileadmin/rmv_microsites/microsites/deutschlandticket/Deutschlandticket---RMVgo-Download-Section---Gradient.jpg');
}


.newsletterblue
{
  color:white;
  background:linear-gradient(180deg, #243c8b 0%, #162a6b 100%);
}
.newsletterblue .btn-primary {background:white;color:#162a6b;}


/* Datenschutz-Text beim Newsletterformular */
.newsletter-form .form-check-label {font-size:0.75rem;}
.newsletterblue .form-check-label a {color:white!important;}
.newsletterblue .mandatory {display:none;}

/* Abstand Bilder auf On-Demand-Shuttle-Seite */
  .bildgruppe figure {margin: 0 0 0.25rem;}


/* Coupon-Werbesektion auf RMVgo-Site */
.couponsektion .rounded-img .img-fluid
{
  border-radius: 2rem;
}
.couponsektion h2 {margin-bottom:0.25rem;  text-shadow: 2px 2px 20px #032664;
    line-height: 100%;}
.couponsektion .card-body {padding:1rem;}
.couponsektion h5 {margin-bottom:0rem;}
.couponsektion .fineprint {line-height:100%;font-size:0.85rem;}
.couponsektion p {margin-bottom:0rem;}
.couponsektion .fineprint {    background-color: #162a6b96;
    padding: 0.5rem;
    border-radius: 0.5rem;
}
.couponsektion {background-image:url("/s/fileadmin/rmv_microsites/microsites/rmvgo/coupon_background_hi.jpg")!important;}
.couponsektion {background-size:cover;}
.wlansektion .couponsektion {border-radius:calc(0.75rem + 0.75vw);margin-bottom:1.5rem!important;}
.wlansektion .couponsektion:before {background:none!important;}

.couponsektion .box {
max-width: 40vw;
    margin-left: 30vw;
}
  @media screen and (max-width:992px) {
    .couponsektion .box {
    max-width: 600px;
    margin-left:auto;
      margin-right:auto;}
.couponsektion {background-image:url("/s/fileadmin/rmv_microsites/microsites/rmvgo/coupon_background2_hi.jpg")!important;}
}

  @media screen and (min-width:1900px) {
    .couponsektion .box {
max-width:600px;
    margin-left: 500px;
}
}

/* Anpassung für die großen Checkmark-SVGs auf der Deutschlandticket-Site */
.check img {max-width:7vw;}
.check figure {margin-bottom:0.4rem;}
@media screen and (min-width:720px) {.check img {max-width:40px;}}

/* Spezielles Swiper-CSS für RMVgo-Site (Store-Screeens) */

.rmvgo-swiper .swiper-wrapper {
    transition-timing-function: linear
}
  

.rmvgo-swiper   .imgslide {border: 2px solid #E3EAEF;} 
.rmvgo-swiper     .imgslide {border-radius:10px;}
  
  @media only screen and (max-width: 575px) {
.rmvgo-swiper     .appstore-slider {max-width:80%;}
  }
  
.rmvgo-swiper   .swiper-button-prev:after, .rmvgo-swiper .swiper-button-next:after {
        color: rgb(22,42,107);
    background-color: white;
    padding: 15px;
    border-radius: 5px;
    font-size: 1.4rem;
    box-shadow: 0 10px 28px rgba(22,42,107,0.5);}
  

/* Blaue Schrift erzwingen bei Sektionen mit hellem Background-Bild */
.blue {color:#162a6b!important; }
.aufheller {background-color:rgb(255,255,255,0.5);padding:1rem;border-radius:0.5rem;}

/* Hessenpass-Site: Spezial-Überschrift für Infografik-Sektion */
 .hessenpass-infografik h3 {background-color: rgb(22, 42, 107); color:white;padding:1rem;border-radius:20px;} 

/* Checkmark-Icons Größe regulieren */
.check img {max-width:7vw;}
.check figure {margin-bottom:0.4rem;}
@media screen and (min-width:720px) {.check img {max-width:40px;}}



/* Grundsätzlich: Die Schriftgrößen bei Headlines wachsen aktuell immer weiter, wenn man besonders große Browser-Fenster hat ist das unschön - oberhalb vom 1920 sollten sie gleich bleiben - bei H2 ist es am auffälligsten, hier mal provisorisch gefixt */

@media (min-width: 320px) {
  h2 {
    font-size: calc(1.75rem + ((1vw - 3.2px) * 1.375));
    min-height: 0vw;
  }
}
@media (min-width: 1920px) {
  h2 {
    font-size: 50px;
  }
}

/* Winterbanner auf RMVgo-Site Bildabstand nach unten löschen */
.winterbanner figure, .winterbanner img {margin-bottom: 0rem!important;}

