/* wird für Contao-Inhalte geladen */

/* TinyMCE Styles */
.warnung { color:#e50000; }
.erfolg { color:#090; font-size:1.1em; }
.kleingedruckt { color:#999; font-size:0.9em; }
.gefahr { background-color: #f5f5f5; padding: 8px; }


.ce_headline {
    margin-top: 2.5em;
}
.first .ce_headline.first {
    margin-top: 0;
}
.zentriert {
    text-align: center;
}
.center-box-inside {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

/* responsive Videos Contao 4 */
.video_container video, .video_container audio {
  width: 100%;
  height: auto; }

iframe {
    border: 0;
}
.responsive {
  position: relative;
  height: 0;
  box-sizing: content-box;
  background: #333;
}
  .responsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive.ratio-169 {
    padding-bottom: 56.25%; }
  .responsive.ratio-1610 {
    padding-bottom: 62.5%; }
  .responsive.ratio-219 {
    padding-bottom: 42.8571%; }
  .responsive.ratio-43 {
    padding-bottom: 75%; }
  .responsive.ratio-32 {
    padding-bottom: 66.6666%; }

/* Youtube-Videos als Raster */
.video.grid {
    align-items: flex-start;
    justify-content: space-around;
}
.video.grid [class*=ce_] {
    width: 414px;
}
.video.grid .ce_youtube {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    /*display: block;*/
    flex-direction: column-reverse;
    justify-content: flex-end;
    position: relative;
}
.video.grid .video_container {
    background: #2b2b2b;
}

.video.grid h2,
.video.grid h3,
.video.grid h4 {
    width: 65%;
    width: calc(100% - 9em);
    margin: 15px 0 0;
}

.video.grid .ce_youtube p {
    /*width: 15%;*/
    font-size: 14px;
    text-align: right;
    position: absolute;
    bottom: 0;
    right: 0;
    margin: 0;
}

.video.grid .ti-download,
.image-download .ti-download {
    display: inline-block;
    text-decoration: none;
    background-color: #eee;
    padding: 0.4em 0.75em 0.2em;
    border-radius: 1em;
}
.video.grid .ti-download:hover,
.image-download .ti-download:hover {
    color: #e50000;
}
.video.grid .ti-download:before,
.image-download .ti-download:before {
    margin-right: 0.5em;
}

/* Youtube Consent */
.splashimagelink {
    display: block;
}
.splashimagelink > img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0.67;
}
.ytconsent {
    position: absolute;
    top: 5%;
    left: 5%;
    max-height: 90%;
    width: 90%;
    overflow-y: auto;
    background: rgba(255, 255, 255, 0.92);
    font-size: 0.9rem;
    padding: 1.5em;
    margin: 0;
    cursor: pointer;
}
.ytconsent:hover {
    background: #fff;
}
.ytconsent .yticon {
    margin-right: 0.2em;
}
.ytconsent h3 {
    margin-top: 0;
    margin-bottom: 0.5em;
}
.ytconsent p {
    font-weight: normal;
    margin: 0;
}
.ce_youtube .responsive .ytconsent {
    box-sizing: border-box;
    max-width: 434px;
}
@media (min-width: 500px) {
    .ytconsent {
        top: 50%;
        left: 50%;
        max-width: 440px;
        transform: translate(-50%, -50%);
    }
}

/* volle Breite (1400px), z.B. für breite Bilder */
.mod_article.breit,
.mod_article.breit.fixed-2022 > div {
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    width: unset;
}

.mod_article > .breit {
    margin-left:  -5.55556%;
    margin-right: -5.55556%;
    transition: margin 0.5s;
}
.breit img,
img.pict-wide {
    width: 100%;
}
@media (min-width: 800px) {
    .mod_article > .breit {
        margin-left:  -40px;
        margin-right: -40px;
    }
}
@media (min-width: 1400px) and (max-width:1559px) {
    .mod_article > .breit {
        margin-left:  calc(660px - 50vw);
        margin-right: calc(660px - 50vw);
        overflow: visible;
    }
}

/* Galerie mit Bild-Download (gallery_mit_download.html5) */
ul.image-download {}
.image-download .ti-download {}


/* linke Hälfte leer */
@media (min-width: 1000px) {    
    .abstand-links-50 {
        margin-left: 50%;
        padding-left: 20px;
    }
}

/* Google-Karte */
.dlh_googlemap {
    width: 100% !important;
}

/* Tabellen */
table {}
.ce_text td, .ce_text th,
.ce_table td, .ce_table th {
    padding: 6px 10px 2px;
    border-bottom: 1px solid #999;
}
table .row_last > * {
    border-bottom: 0;
}
table .col_first {
    padding-left: 0;
}
table .col_last {
    padding-right: 0;
}

div.ce_table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.radverleiher .col_5 {
    white-space: nowrap;
}

/* Bild-Text-Kombinationen: float erst ab 720px */
@media screen and (max-width: 719px) {    
  .float_left,
  .float_right {
      float: none !important;
      margin-left: 0;
      margin-right: 0;
      width: auto;
  }
}

@media screen and (min-width: 720px) {
  .float_left {
      float: left;
      margin-left: 0;
      margin-right: 40px;
      margin-bottom: 12px;
  }
  .float_right {
      float: right;
      margin-left: 40px;
      margin-right: 0;
      margin-bottom: 12px;
  }
  .ce_text > :first-child,
  .ce_text figure.float_left + *,
  .ce_text figure.float_right + * {
      margin-top: 0;
  }
}
.clearing {
    clear: both;
}

/* News-Übersicht */
#news-overview .mod_newslist {
    margin: 0 -20px;
    padding-bottom: 75px;
}
#news-overview .news-item {
    box-sizing: border-box;
    display: block;
}
#news-overview .news-item .inner {
    padding: 30px 20px;
}
#news-overview .news-item .inner::before {
    content: "";
    display: block;
    position: relative;
    bottom: 30px;
    border-top: 1px solid #999;
}
.news-item header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-bottom: 6px;
}
.news-item header p {
    margin: 0;
}
p.newsarchive {
    font-family: Kanit, sans-serif;
    font-weight: 200;
    text-transform: uppercase;
    width: 50%;
}
p.newsarchive a {
    display: block;
    transition: 0.3s;
}
p.newsarchive a:hover {
    color: #e50000;
}
.lt8 p.newsarchive {
    font-family: Arial, sans-serif;
    font-weight: normal;
}
.news-item p.info {
    font-size: 15px;
}
.news-item h2 {
    margin: 0.8em 0 0.2em;
}
.news-item p.more {
    text-align: right;
    margin: 0.25em 0 0;
}
/* --- News pagination --- */
.pagination {
    position: absolute;
    right: 20px;
    bottom: 0;
    left: 20px;
    padding: 20px 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    border-top: 1px solid #999;
}
.pagination p,
.pagination ul {
    padding: 0;
    margin: 0;
}
.pagination li {
    display: inline;
}
.pagination a, .pagination span.current, .pagination strong.active {
    padding: 2px 8px;
}
.pagination span.current,
.pagination strong.active {
    color: #e50000;
    font-weight: inherit;
}
.pagination a {
    color: #999;
    text-decoration: none;
}
.pagination a:hover {
    text-decoration: underline;
}
@media screen and (min-width: 640px) {
  #news-overview .news-item {
    width: 50%;
  }
}
@media screen and (min-width: 900px) {
  #news-overview .news-item {
    width: 33.333333%;
  }
}

/* News Detail */
#newsbeitrag {
    overflow: visible;
}
#newsbeitrag .mod_newsreader {
    position: relative;
    overflow: visible;
}
.mod_newsreader .crumb {
    font-family: Kanit, sans-serif;
    margin-bottom: 2.5em;
}
.mod_newsreader > h1 {
    display: none;
}
#newsbeitrag header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-bottom: 2em;
}
#newsbeitrag .hgroup,
#newsbeitrag .news_image {
    width: 100%;
}
#newsbeitrag p.info {
    color: #888;
}
#newsbeitrag time {
    font-weight: 600;
}
#newsbeitrag time::after {
    content: " |";
    font-weight: 300;
    margin: 0 0.25em;
}
#newsbeitrag .hgroup h1 {
    font-weight: normal;
    line-height: 1.15;
    text-transform: none;
    padding: 0.5em 0;
    border-top: 2px solid #000;
    border-bottom: 1px solid #888;
    margin-top: 0;
}
#newsbeitrag .hgroup h2 {
    font-family: nimbus;
    font-size: 1.29em;  /* 22px */
    font-weight: normal;
    flex: 1;
}
.lt8 #newsbeitrag .hgroup h2 {
    font-family: Arial, sans-serif;
}

#newsbeitrag .ce_text {
    margin: 1.5em 0;
    -webkit-columns: 2 360px;
       -moz-columns: 2 360px;
            columns: 2 360px;
    -webkit-column-gap: 40px;
       -moz-column-gap: 40px;
            column-gap: 40px;
}
#newsbeitrag .ce_text p {
    margin: 0;
    padding-bottom: 0.66666em;
}
#newsbeitrag ul#highlights,
.highlights ul {
    margin-top: 0;
    padding-left: 10px;
}
@media screen and (min-width: 740px) {
  .mod_newsreader .crumb {
      position: absolute;
      top: -70px;
  }
}
@media screen and (min-width: 900px) {
  #newsbeitrag header {
      -webkit-flex-wrap: no-wrap;
          -ms-flex-wrap: no-wrap;
              flex-wrap: no-wrap;
  }
  #newsbeitrag .hgroup,
  #newsbeitrag .news_image {
      width: 50%;
  }
  #newsbeitrag .hgroup {
      padding-right: 20px; /* Ausgleich für neg. Margins */
      margin-right: 40px;
      display: flex;
      flex-direction: column;
  }
  #newsbeitrag .news_image {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-box-align: end;
      -webkit-align-items: flex-end;
          -ms-flex-align: end;
              align-items: flex-end;
      margin: 0 -20px;
  }
  #newsbeitrag .news_image a {
      margin-right: 20px;
  }
  #newsbeitrag .news_image .caption {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 120px;
          -ms-flex: 1 1 120px;
              flex: 1 1 120px;
      padding-top: 1.2em;
      padding-right: 20px;
      padding-bottom: 0;
  }
}
@media screen and (min-width: 1200px) {
  #newsbeitrag .ce_text:not(.zentriert) p {
      text-align: justify;
  }
}

div.share-article {
    text-align: right;
    margin-bottom: 3px;
}
.share-article a {
    text-decoration: none;
    color: #666;
    transition: 0.3s;
}
.share-article i {
    width: 2em;
    height: 2em;
    margin-right: 0.25em;
}
.share-article i::before {
    font-size: 19px;
    padding: 7px;
    background-color: #bbb;
    color: #fff;
    border-radius: 50%;
    transition: 0.3s;
}
.share-article a:hover {
    color: #222;
}
.share-article a:hover i.ti-facebook::before {
    background-color: #3b5998;
}
.share-article span {}

/* Galerie */
.ce_gallery ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
}
.mod_newsreader .ce_gallery ul,
.ce_gallery.center ul {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
}
.ce_gallery li {
    float: none;
    margin: 10px;
}
.ce_gallery .caption {
    text-align: center;
}

.mod_newsreader .ce_gallery ul {
    -webkit-box-align: start;
       -ms-flex-align: start;
          align-items: flex-start;
}
.mod_newsreader .ce_gallery figure {
    width: -webkit-min-content;
    width: -moz-min-content;
    width: min-content;
}
.mod_newsreader .ce_gallery img {
    max-width: none;
}

/* Galerie als Slider */
.ce_gallery.slider ul {
    display: block;
}
.ce_gallery.slider ul li {
    float: left;
    clear: none !important;
    margin: 0;
}
.ce_gallery ul.slick-dots {
    bottom: 5px;
}
.ce_gallery ul.slick-dots li {
    float: none;
}
.ce_gallery .slick-dots li button:before {
    color: #fff;
    font-size: 13px;
    opacity: 0.67;
}
.ce_gallery .slick-dots .slick-active button:before {
    opacity: 1;
}
.ce_gallery .slick-prev::before,
.ce_gallery .slick-next::before {
    color: #fff;
    opacity: 0;
    transition: 0.4s;
}
.ce_gallery:hover .slick-prev::before,
.ce_gallery:hover .slick-next::before {
    opacity: 0.75;
}

/* Bilder mit weißem Innenabstand */
.image-padding figure {
    background: #fff;
    padding: 9px 10px;
}

/* Lightbox Thumbnails */
.image_container {
}
.image_container a[data-lightbox] {
    position: relative;
    display: inline-block;
    background-color: #000;
    text-decoration: none;
    max-width: 100%;
    overflow: hidden;
}
a[data-lightbox]::after {    
    content: "\e61a";
    color: #fff;
    font-family: themify;
    font-weight: 300;
    font-size: 30px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -15px;
    margin-top: -26px;
    text-shadow: 0 2px 5px rgba(0,0,0,0.6);
    opacity: 0;
    -webkit-transition: 0.4s;
            transition: 0.4s;
}
a[data-lightbox]:hover::after {
    margin-top: -20px;
    opacity: 1;
}
a[data-lightbox] img {
    -webkit-transition: 0.5s;
            transition: 0.5s;
}
a[data-lightbox]:hover img {
    opacity: 0.85;
    -webkit-transform: scale(1.08,1.08);
        -ms-transform: scale(1.08,1.08);
            transform: scale(1.08,1.08);
}
/* subtle hover for image-text-combos on landing-pages */
.bild-text a[data-lightbox] {
    cursor: zoom-in;
}
.bild-text a[data-lightbox]::after {
    content: normal;
}
.bild-text a[data-lightbox]:hover img {
    opacity: 0.94;
    transform: none;
}

/* Slider als Header von Contao-Seiten: Über STEVENS, Newsletter-Anmeldung */
#headline-ueber-stevens h1 {
    margin-top: 0;
}
    
#cat_header {
    width: 100%;
    /*max-width: 960px;*/
    padding: 0;
    margin: 0 auto;
}
.caroufredsel_skin .image_container img {
    display: block;
    width: 100%;
}

/* Akkordeon Über STEVENS */
#ueber-stevens-wrapper {
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
}

/* Firmengeschichte - Milestones - handorgel.js */
#history .handorgel {
    display: flex;
    flex-direction: column;
}
#history.revert .handorgel {
    flex-direction: column-reverse;
}
#history .handorgel h2 {
    text-align: left;
    max-width: 940px;
    padding-top: 2em;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
}
#history .handorgel h2 span {
    display: block;
    cursor: pointer;
}
.handorgel_header, #history .handorgel h2 {
    padding-left: 1.6em;
}
.handorgel .slideseite .ce_text,
.handorgel .slideseite .ce_gallery {
    max-width: 840px;
}
.handorgel_header::before, #history .handorgel h2::before {
    position: absolute;
    margin-left: -1.6em;
    content: "\e64b";
    display: inline-block;
    font-family: themify;
    font-size: 1em;
    font-weight: normal;
    transition: 0.3s;
}
.handorgel_header:hover::before, #history .handorgel h2:hover::before {
    color: #e50000;
}
.handorgel__header--open {
    color: #e50000;
}
.handorgel__header--open::before {
    transform: scaleY(-1);
}

.handorgel,
.handorgel__content {
    border: 0 !important;
}
@media (min-width: 901px) {
    #history .handorgel h2 {
        padding-left: 250px;
    }
}

/* Reihenfolge */
.toggleSorting {}
ul.toggle-switch {
    list-style: none;
    display: flex;
    justify-content: center;
    padding: 0;
}
ul.toggle-switch::after {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background-color: #fff;
    position: relative;
    margin-top: 2px;
    pointer-events: none;
    transition: 0.15s;
    margin-left: -18px;
    box-shadow: 0 2px 4px rgba(0,0,0, 0.16);
    z-index: 2;
    transform: translateX(-23px);
}
.revert ul.toggle-switch::after {
    transform: translateX(-3px);
}
.toggle-switch li {
    cursor: pointer;
    position: relative;
}
.revert .toggle-switch li:first-child {
    z-index: 1;
}
.toggle-switch li:last-child {
    margin-left: -44px;
    order: 3;
}
.toggle-switch span {
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
}
.toggle-switch button {
    text-indent: 101%;
    width: 44px;
    height: 22px;
    background: #ddd;
    padding: 0;
    border: 0;
    border-radius: 12px;
    overflow: hidden;
    outline: 0;
    vertical-align: 1px;
    cursor: pointer;
    /*transition: 0.3s 0.3s;*/
}

/* Firmengeschichte - Milestones - caroufredsel-Slider */

.ce_caroufredsel_start {
    position: relative;
}
#history .caroufredsel_wrapper {
}
.slideseite {}
.slideseite .ce_text,
.slideseite .ce_gallery,
#history h2 {
    max-width: 720px;
    margin: 0 auto 20px;
}
.slideseite .ce_gallery {
    overflow: visible;
    margin-bottom: -1.2em;
}
.gallery-1preview {
    position: absolute;
}
.slideseite .ce_gallery h4 {
    margin-top: 0;
}
#history h3,
#history h4,
#history p {
    margin-left: 200px;
}
#history h2 {
    max-width: 820px;
    padding-left: 250px;
    margin-bottom: 90px;
}
#history h3 {
    margin-top: 1.2em;
    margin-bottom: 0.6em;
}
#history h4 {
    font-family: Kanit, sans-serif;
    font-weight: 200;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    padding-top: 0.4em;
    padding-bottom: 0.2em;
    border-top: 2px solid #000;
    border-bottom: 1px solid #888;
    margin-bottom: 1.1em;
}
#history .image_container {
    margin-bottom: 0;
    float: left !important;
    width: auto;
    text-align: center;
}

/* Slider-Bedienelemente */
#history .caroufredsel_controls {
    position: absolute;
    top: 43px;
    background-color: #ebebeb;
    line-height: 1.33;
    /*padding: 3px 30px 2px;*/
    width: 100%;
    height: 28px;
}
#history .caroufredsel_navi a {
    position: absolute;
    top: 0;
    width: 58px;
    height: 28px;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: center;
}
#history .caroufredsel_navi span {
    visibility: hidden;
}
#history .caroufredsel_prev {
    left: 0;
    background-image: url(../../img/c32-design/nob-prev.png);
}
#history .caroufredsel_prev:hover {
    background-image: url(../../img/c32-design/nob-prev-hover.png);
}
#history .caroufredsel_next {
    right: 0;
    background-image: url(../../img/c32-design/nob-next.png);
}
#history .caroufredsel_next:hover {
    background-image: url(../../img/c32-design/nob-next-hover.png);
}
/* Jahreszahlen */
#history .caroufredsel_pagi {
    margin-bottom: 0;
    margin-left: 80px;
    font-family: Kanit, sans-serif;
    font-weight: 200;
    letter-spacing: 0.02em;
    overflow: visible;
    padding-bottom: 0;
    width: 5000px;
    transition: margin 333ms;
}
#history .caroufredsel_pagi a {
    display: inline-block;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    width: 60px;
    padding: 4px 0 3px;
    margin: 0 2px;
    transition: 250ms;
}
#history .caroufredsel_pagi a.selected {
    background-color: white !important;
    color: black !important;
    font-size: 1.3em;
    border: 1px solid #e50000;
    width: 72px;
    margin: -4px 0;
}
#history .caroufredsel_pagi a:hover {
    background-color: transparent;
    color: #3D4242;
}
@media screen and (max-width: 900px) {
    #history h2 {
        padding-left: 0;
        text-align: center;
        max-width: none;
    }
}
@media screen and (max-width: 479px) {
    #history h3,
    #history h4,
    #history p {
        margin-left: 0;
    }
    #history h4 { text-align: center; }
    #history .image_container {
        float: none !important;
        width: 100%;
    }
    #history .gallery-1preview {
        position: static;
        margin-bottom: 1em;
    }
    #history .caroufredsel_controls {
        top: 60px;
    }
}

/******************************************
    Formulare 
 ******************************************/

input.submit,
button.submit {
    background: #000;
    color: #fff;
    font-weight: 600;
    border: 0;
    border-radius: 4px;
    cursor: pointer;
}
button.submit {
    padding-left: 1em;
    padding-right: 2em;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
}
button.submit::after {
    content: "⟩";
    content: "\e649";
    font-family: themify;
    font-size: 0.875em;
    position: absolute;
    margin-left: 0.5em;
    -webkit-transition: margin 0.2s;
            transition: margin 0.2s;
}
button.submit:hover::after {
    margin-left: 0.8em;
}

form label {
    display: block;
    font-size: 81.25%;
    font-weight: normal;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
form .widget {
    margin-bottom: 1.2em;
}
.widget-text input,
textarea,
input.captcha,
select {
    width: 100%;
    padding: 5px 8px;
    border: 1px solid #bbb;
    border-radius: 3px;
}

input.captcha {
	width: 4em;
    margin-right: 5px;
}
.radio_container,
.checkbox_container {
    padding: 0;
    border: 0;
}
.checkbox_container label,
.radio_container label {
	display: inline-block;
    vertical-align: bottom;
}
.checkbox_container > span,
.radio_container > span {
	display: block;
}
.error {
    color: #e50000;
}
label.error {
    font-weight: 600;
}
p.error {
    margin: 0.5em 0;
}
input.error {
    border-color: #c55;
}
span.mandatory {
    color: #e50000;
    font-weight: bold;
    margin-left: 0.3em;
}

.comment_default {
	padding: 5px 0;
	margin: 0 20px;
}
.comment_default.even {
	background-color: #f8f8f8;
}
.comment_default .info {
	color: #888888;
}

div#register {
    padding: 0;
}
#register-bike .formbody {
    max-width: 1000px;
    margin: 0 auto;
}

#register-bike .form-left {
  text-align: center;
	margin-right: 4%;
}
#register-bike fieldset {
    text-align: left;
    padding: 10px 16px;
    border: 1px solid #fff;
    margin-bottom: 25px;
}
#register-bike fieldset.personal-data {
    margin-bottom: 48px;
}
#register-bike legend {
	padding: 10px;
  width: auto;
}
#register-bike label {
	display: inline-block;
    font-size: 1em;
    letter-spacing: normal;
    text-transform: none;
	width: 203px;
}
#register-bike label.security {
	width: auto;
  text-align: left;
}
#register-bike .checkbox_container {
    padding: 0;
    border: 0;
    margin: 0;
}
#register-bike .checkbox_container label {
    width: auto;
}
#register-bike .widget {
    margin-bottom: 0.5em;
}
#register-bike .widget-submit {
    text-align: center;
    clear: both;
}
#register-bike .submit {
    font-size: 1em;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    margin-top: 15px;
}
#register-bike input.text,
#register-bike select {
    display: inline-block;
    width: auto;
}
#register-bike input.upload {
    margin-bottom: 5px;
    width: 250px;
}
#register-bike .radio_container {
    border: 0;
    padding: 0;
    margin-bottom: 0;
}
#register-bike .radio_container span {
    display: block;
}
#register-bike .radio_container label {
    width: auto;
}
#register-bike p.error {
	  display: inline;
}
#register-bike input.text.error {
    display: block;
    margin-left: 123px;
}
@media screen and (min-width: 1000px) {
  #register-bike .form-left,
  #register-bike .form-right {
      width: 48%;
      float: left;
  }
}

/* Datepicker Kaufdatum */
div.datepicker_dashboard {
    background: #000;
    box-sizing: content-box;
    padding: 9px;
    border-radius: 4px;
    margin-top: 187px;
    margin-left: 40px;
}
.datepicker_dashboard table,
.datepicker_dashboard td,
.datepicker_dashboard th {
    border: 0 none;
}
div.datepicker_dashboard .unavailable,
div.datepicker_dashboard .days .otherMonth {
    color: #666 !important;
 }
.CalendarFieldIcon {
    position: absolute;
    margin-left: -23px;
    margin-top: 10px;
    cursor: pointer;
}
/* Contao 4*/
img.ui-datepicker-trigger {
  display: block;
  width: 19px;
  height: 19px;
  overflow: hidden;
}

/* Tauschteile-Listen für Pedelecs */
.tt-content .ce_accordion {
    margin: 2px 0;
}
.tt-content .toggler {
    background-color: #ebebeb;
    transition: background-color 0.4s;
    font-size: 1.1em;
    font-weight: normal;
    line-height: normal;
    padding: 0.45em 1em 0.12em;
}
.tt-content .toggler .ui-icon::before {
    font-size: 1.2em;
    vertical-align: -0.3em;
}
.tt-content .ui-state-active {
    color: #e50000;
}


@media screen and (min-width: 1000px) {
  .section .tt-content {
      float: right;
      width: 75%;
  }
  .section .tt-nav {
      float: left;
      width: 25%;
  }
}

.tt-nav h3 {
    margin: 1.5em 0 0.33em
}
.tt-nav ul {
    padding-left: 1em;
    margin: 0;
}
.tt-nav li {
    list-style: none;
}
.tt-nav a,
.tt-nav span {
    display: block;
    color: #888;
    padding: 2px 0;
}
.tt-nav a:hover {
    text-decoration: none;
    color: inherit;
}
.tt-nav figure a { padding: 0; }
.tt-nav span.active {
    color: inherit;
    font-weight: 600;
}

.tabcontrol_tabs ul,
.ce_tabcontrol_tabs ul {
    padding: 0;
}
.tabcontrol_tabs li,
.ce_tabcontrol_tabs li {
    list-style: none;
    display: inline-block;
    background-color: #ccc;
    color: #fff;
    text-align: center;
    min-width: 5em;
    padding: 10px 15px 5px;
    border-radius: 5px;
    margin-top: 0;
    cursor: pointer;
}
.tabcontrol_tabs li:hover,
.ce_tabcontrol_tabs li:hover  {
    background-color: #bbb;
}
.tabcontrol_tabs li.selected,
.ce_tabcontrol_tabs li.selected {
    background-color: #333;
    cursor: default;
}

/* STEVENS Teams Übersicht */
.kachellayout {
    margin: 0 -20px;
}
.kachellayout.max2 {
    /*max-width: 908px;
    margin: 0 auto;*/
}
.kachellayout a.ce_page_teaser {
    text-decoration: none;
}
.kachellayout .ce_page_teaser.ce_headline {
    padding: 12% 0;
    border-top: 1px solid #999;
    margin: 0;
}
.kachellayout .ce_page_teaser article,
.kachellayout .ce_page_teaser.ce_headline span,
.kachellayout > .ce_text,
.kachellayout .product .blocklink {
    display: block;
    padding: 30px 20px;
    margin-left: 0;
    margin-right: 0;
}
.kachellayout .ce_page_teaser article:before,
.kachellayout > .ce_text:before {
    content: "";
    display: block;
    position: relative;
    bottom: 30px;
    border-top: 1px solid #999;
}
.kachellayout h1 {
    margin: 0 0 0.33em;
    /*font-size: 1.333em;*/
}
.kachellayout p.more {
    text-align: right;
    margin: 0.25em 0 0;
}
.kachellayout figure {
    text-align: center;
}
a.ce_page_teaser {
    display: block;
    text-decoration: none;
}
a.ce_page_teaser:hover h1,
a.ce_page_teaser:hover span.button {
    color: #e50000;
}
a.ce_page_teaser:hover .button::after {
    margin-left: 0.8em;
}

.kachellayout > * {
  width: 100%;
}
@media screen and (min-width: 640px) {
    .kachellayout > * {
        width: 50%;
    }
}
@media screen and (min-width: 900px) {
    .kachellayout > * {
        width: 33.333333%;
    }
    .kachellayout.max2 > * {
        width: 50%;
    }
}

/* Rasterlayout (ohne Isotope) */
.rasterlayout {}
.rasterlayout figure {
    text-align: center;
}
@media (min-width: 1260px) {
    .rasterlayout {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        margin-left: -20px;
        margin-right: -20px;
    }
    .rasterlayout > * {
        padding-left: 20px;
        padding-right: 20px;
    }
    .rasterlayout.max2 > * {
        width: 50%;
    }
    .rasterlayout.max3 > * {
        width: 33.33333%;
    }
}

.rasterlayout > .linie {
    padding-top: 22px;
}
.rasterlayout > .linie:before {
    content: "";
    display: block;
    width: 100%;
    position: relative;
    bottom: 22px;
    border-top: 1px solid #999;
}

/* Links Bild, rechts Text */
div.bild-text {
    overflow: visible;
}
.bild-text figure {
    text-align: center;
    margin-inline: -5vw;
}
.bild-text p {
    text-align: left;
}
@media (min-width: 720px) {
    .bild-text:not(.ce_page_teaser),
    .bild-text.ce_page_teaser article {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
    }
    .bild-text h1,
    .bild-text h2,
    .bild-text h3,
    .bild-text h4 {
        width: 100%;
    }
    .bild-text figure {
        width: calc(50% - 20px + 5vw);
    }
    .bild-text .text {
        width: calc(50% - 20px);
    }
    .bild-text figure.float_right,
    .bild-text.ce_page_teaser:nth-of-type(even) figure {
        order: 2;
    }
    .bild-text.v-zentriert,
    .bild-text.v-zentriert article {
        align-items: center;
    }
}
@media (min-width: 1080px) {
    .bild-text.v-zentriert .text {
        padding-right: 5%;
    }
    .bild-text.v-zentriert .float_right+.text,
    .bild-text.ce_page_teaser:nth-of-type(even) .text {
        padding-right: 0;
        padding-left: 5%;
        text-align: right;
    }
    .bild-text.v-zentriert .float_right+.text p,
    .bild-text.ce_page_teaser:nth-of-type(even) .text p {
        text-align: right;
    }
    .bild-text figure {
        width: calc(50% - 20px);
    }
    .bild-text figure.float_right { margin-right: 0; }
    .bild-text figure:not(.float_right) { margin-left: 0; }
}

.ce_page_teaser.hl-invisible article>h1,
.ce_page_teaser.hl-invisible article>h2,
.ce_page_teaser.hl-invisible article>h3 {
    position: absolute;
    left: -100vw;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.bild-text.ce_page_teaser {
    margin: 1em 0;
}

/* STEVENS Teams Detailseite */
/* Crumbtrail und Social Links */
#nav-crumb.crumb-teams {
    float: none;
    font-family: Kanit, sans-serif;
    font-size: 14px;
    text-transform: uppercase;
}
#nav-crumb.crumb-teams a,
#nav-crumb.crumb-teams span {
    display: inline-block;
}
@media (min-width: 600px) {
    #nav-crumb.crumb-teams {
        float: left;
        width: 50%;
        margin-right: 20px;
    }
}
@media (min-width: 1200px) {
    #nav-crumb.crumb-teams {
        font-size: 15px;
    }
}

.teamchannels ul {
    display: flex;
    justify-content: flex-end;
    padding-left: 0;
}
.teamchannels li {
    list-style: none;
    margin-right: 1em;
}
.teamchannels a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    text-indent: -999em;
    width: 2em;
    height: 2em;
}
.teamchannels a:before {
    position: absolute;
    left: 0;
    display: inline-block;
    font-size: 19px;
    text-indent: 0;
    padding: 7px;
    background-color: #999;
    color: #fff;
    border-radius: 50%;
}
.teamchannels a:hover:before {
    background-color: #666;
}
li a.ti-world:hover:before {
    background-color: #666;
}
li a.ti-facebook:hover:before {
    background-color: #3b5998;
}
li a.ti-twitter-alt:hover:before {
    background-color: #1da1f2;
}
li a.ti-youtube:hover:before {
    background-color: #c00;
}
.teamchannels span {
    display: inline-block;
    font-family: Nimbus, "Helvetica Neue", Helvetica, Arial, sans-serif;
    visibility: hidden;
    text-indent: -999em;
}
@media (min-width: 1000px) {
    .teamchannels ul {
        justify-content: flex-start;
    }
}

/* Team Header */
header.team-header { clear: both; }
@media (min-width: 1000px) {
    header.team-header {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
    }
    .team-header > * {
        margin-top: 0 !important;
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 50%;
            -ms-flex: 1 1 50%;
                flex: 1 1 50%;
    }
    .team-header .ce_image,
    .team-header .ce_gallery {
        margin-right: 40px;
    }
    .ce_accordion.team-text .toggler {
        left: 50%;
        margin-left: 20px;
    }
}
.team-header .ce_text {
    padding-bottom: 30px;
}
.team-header h1 {
    font-weight: normal;
    line-height: 1.15;
    text-transform: none;
    padding: 0.5em 0;
    border-top: 2px solid #000;
    border-bottom: 1px solid #888;
    margin-top: 0;
}
.team-header h2 {
    font-family: nimbus;
    font-size: 1.29em;
    font-weight: normal;
}

/* Text Akkordeon */
.ce_accordion.team-text {
    padding-top: 20px;
}
.ce_accordion.team-text .toggler {
    position: absolute;
    margin-top: -50px;
}
.ce_accordionSingle.team-text .accordion > div {
    -webkit-columns: 2 360px;
    -moz-columns: 2 360px;
    columns: 2 360px;
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    column-gap: 40px;
    width: 100%;
}
.ce_accordionSingle.team-text .accordion > div :first-child {
    margin-top: 0;
}
.ce_accordionSingle.team-text .accordion > div :last-child {
    margin-bottom: 0;
}

/* Über uns Akkordeon */
.about .accordion {
    padding-top: 1em;
}
.about .image_container {
    width: calc(50% - 20px);
}
.about h3 {
    margin-top: 0;
}
@media screen and (min-width: 900px) {
    .flex3 .accordion > div {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin: 0 -20px;
    }
    .flex3 .accordion > div > * {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 33.333%;
                flex: 0 1 33.333%;
        margin: 0 20px;
    }
}


/* Team-News und Facebook-Feed */
.mod_newslist.team-news,
.mod_rss_reader.fb-feed,
.ce_aggregator.fb-feed
{
    margin-left: -20px;
    margin-right: -20px;
    overflow: visible;
 }
.mod_rss_reader.fb-feed,
.ce_aggregator.fb-feed {
    margin-bottom: 30px;
}
.team-news .news-item,
.rss_items_only,
.layout_facebook {
    outline: 0;
    position: relative;
}
.team-news .inner,
.rss_items_only,
.layout_facebook {
    padding: 0 20px;
}
.team-news .slick-prev, .fb-feed .slick-prev { left: -18px; }
.team-news .slick-next, .fb-feed .slick-next { right: -18px; }

.fb-feed .inner {
    position: relative;
    background-color: rgba(78,105,162,0.1);
}
.rss_items_only .inner {
    height: 400px;
    /*overflow: auto;
    overflow-y: scroll;*/
    overflow: hidden;
}
.rss_items_only .inner:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 40px;
    background-image: linear-gradient(to top, #edf0f6 50%, rgba(255,255,255,0.00) 100%);
    transition: 0.3s;
}
.rss_items_only:hover .inner:after { height: 80px; }
.fb-feed .info,
.fb-feed h2,
.fb-feed .description,
.rss_items_only .more,
.fb-feed .teaser {
    padding-left: 16px;
    padding-right: 16px;
}
.fb-feed .info {
    background-color: #4e69a2;
    color: #fff;
    font-size: 15px;
    text-align: right;
    padding: 4px 16px 0;
    margin: 0;
}
.rss_items_only .info {
    margin-bottom: 5px;    
}
.fb-feed h2 {
    margin: 0;
}
.fb-feed h2 a {
    display: block;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0.5em 0;
}
.rss_items_only:hover a,
.layout_facebook:hover a {
    color: #3b5998;
}
.fb-feed a:hover {
    color: #e50000;
}
.fb-feed .description img {
    display: inline;
    float: left;
    margin-right: 15px;
}
.fb-feed .rss_items_only p.more {
    position: absolute;
    right: 20px;
    left: 20px;
    text-align: right;
    margin: -2em 0 0 0;  
    opacity: 0;
    transition: 0.3s;  
}
.rss_items_only:hover p.more { opacity: 1; }
.layout_facebook .more {
    margin-bottom: 0;
}
.fb-feed .teaser {
    min-height: 6.8em
}
.fb-feed .teaser:first-line {
    font-size: 1.2em;
    font-weight: 600;
    letter-spacing: 0.02em;
}
.fb-feed .image_container {
    background-color: rgba(78,105,162,0.25);
    max-height: 220px;
    overflow: hidden;
}
.fb-feed .image_container img {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    margin-top: 110px;
}
.fb-feed .actions {
    padding: 0 0 8px;
    margin: 0;
    list-style: none;
}
.fb-feed .more a,
.fb-feed .actions a {
    padding-left: 16px;
}
.fb-feed .more span,
.fb-feed .actions span {
    line-height: 0.5;
    margin-right: 0.5em;
}

/* Team-Fahrer */
.drivers {
    /*text-align: center;*/
    overflow: auto;
    padding-left: 30px !important;
    padding-right: 30px !important;
}
.drivers .ce_headline { text-align: left; }
.drivers .image_container { margin: 0; max-width: 100%; background-color: #fff; }
.drivers .ce_text.active .image_container { margin-right: 20px; }
.drivers .caption {
    text-align: center;
    padding: 0.5em;
    width: 100% !important;
 }
.drivers .ce_text,
.drivers .ce_image {
    display: inline-block;
    text-align: left;
    width: 200px;
    height: 230px; /* Quadrat + BU */
    overflow: hidden;
    vertical-align: top;
    margin: 10px 10px;
    cursor: pointer;
    opacity: 1;
    filter: alpha(opacity=100);
    -webkit-transition: opacity 0.3s;
            transition: opacity 0.3s;
}
.drivers .doppeltbreit {
    width: 424px;
    height: auto;
}
.drivers .ce_text:hover,
.drivers .ce_image:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
}
.drivers .ce_text.active,
.drivers .ce_image.active {
    width: 648px;
    max-width: 100%;
    height: auto;
    height: 432px;
    opacity: 1;
    filter: alpha(opacity=100);
}
.drivers .ce_text .text {
    font-size: 15px;
    overflow: auto;
    padding-right: 10px;
    height: 100%;
}
.drivers .text h2 {
    margin: 0 0 0.5em;
}
.drivers table {
    margin: 0.5em 0 1.2em;
}
.drivers p {
    margin: 0.5em 0;
}
.drivers .ce_text:not(.active) figure a,
.drivers .ce_image:not(.active) figure a {
    display: block;
    height: 200px;
    overflow: hidden;
    pointer-events: none;
    /*border-radius: 50%;*/
}
.drivers figure a,
.drivers .ce_text figure img { vertical-align: middle; }

.drivers .ce_gallery ul {
    align-items: stretch;
}
.drivers .ce_gallery li {
    /*flex: 1 0 1%;*/
}

/* Sponsorenlogos */
.ce_gallery.gal-sponsoren ul {
    margin: 0 -20px;
}
.ce_gallery.max3 ul {
    max-width: 1020px;
    margin: 0 auto;
    justify-content: center;
}
.gal-sponsoren li {
    margin: 5px 20px;
}
.gal-sponsoren img {
    transform: scale(0.6);
    transition: 0.25s;
}
.no-touch .gal-sponsoren img {
    filter: grayscale(100%);
}
.gal-sponsoren:hover img {
    filter: grayscale(0%);
}
.gal-sponsoren li:hover img {
    transform: scale(1);
}

/* Die Bikes */
.gal-bikes ul {
    margin: 0 -10px;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
}
.gal-bikes li {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
}
.gal-bikes .image_container {
    background-color: #fff;
    /*padding: 1em 5% 0;*/
}
.gal-bikes .caption {
    width: 100% !important;
}
@media screen and (min-width: 760px) {
    .gal-bikes li {
        max-width: 47%;
    }
}

/* Galerie/Impressionen */
.gal-impressionen ul {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
}

/* Spaltenaufteilung 3-1 (Kamran on Bike ) */
@media screen and (min-width: 900px) {
    .grid-3-1 {
        display: flex;
    }
    .grid-3-1 > :first-child {
        margin-right: 40px;
    }
    .flex-3-of-4 {
        flex: 1 1 66.6666%;
        flex: 1 1 calc(66.6666% + 40px);
    }
    .flex-1-of-4 {        
        flex: 1 1 33.3333%;
    }
}
@media screen and (min-width: 1200px) {
    .flex-3-of-4 {
        flex: 1 1 75%;
        flex: 1 1 calc(75% + 80px);
    }
    .flex-1-of-4 {        
        flex: 1 1 25%;
    }
}

/* Kooperationen Navigationsgalerie */
.gal-koop img {
    transition: opacity 0.25s;
}
.gal-koop a:hover img {
    opacity: 0.75;
}

/* Service-Übersicht + About-Übersicht */
/* Bildteaser */
.grid.bild-teaser {
    margin-bottom: 20px;
}
.start-teaser {
    justify-content: space-around;
}
.bild-teaser a {
    display: block;
    position: relative;
    background-color: #4b4b4b;
}
.bild-teaser a img {
    width: 100%;
    transition: .3s;
}
.bild-teaser a:hover img {
    opacity: 0.82;
}
.bild-teaser .linktext {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    font-size: 1em;
    text-align: left;
    padding: 9px 20px 10px 24px;
    background: rgba(0,0,0, .5);
    color: #fff;
}
.bild-teaser .linktext * {
    padding: 0;
    margin: 0;
    line-height: 1.15;
}
.linktext :first-child {
    font-weight: normal;
}
.bild-teaser .caption {
    font-size: 1.0625em;
    font-weight: 600;
}

/* Icon-Teaser */
.section .icon-teaser  {
    padding-left: 20px;
    padding-right: 20px;
}
.icon-teaser  a {
    text-align: center;
    text-decoration: none;
    width: 300px;
}
.icon-teaser  a:before {
    display: inline-block;
    background-color: #fff;
    color: #4b4b4b;
    font-size: 54px;
    padding: 14px;
    border: 3px solid #fff;
    border-radius: 50%;
    transition: .3s;
}
.icon-teaser  a:hover:before {
    background-color: #4b4b4b;
    color: #fff;
}
.icon-teaser  h1 {
    font-size: 1.3333em;
}
@media (min-width: 760px) {
    .bild-teaser a,
    .icon-teaser a{
        flex: calc(50% - 40px);
    }
}
@media (min-width: 986px) and (max-width: 1239px) {
    .grid.service,
    .grid.start-teaser {
        max-width: 906px;
        margin-left: auto;
        margin-right: auto;
    }
}
@media (min-width: 1240px) {
    .bild-teaser a {
        flex: calc(33.333% - 40px);
    }
    .icon-teaser a {
        flex: calc(25% - 40px);
    }
}

/* Distributoren */
#distributoren .grid {
    margin: 2em 0;
}
#distributoren .grid > * {
    flex: 345px;
    margin: 0;
    padding: 1.5em 1em 0.5em 0;
    border-top: 1px solid #bbb;
}
/*#distributoren .grid > :nth-child(odd) {
    background-color: #eee;
}*/

/* Hero-Header für "Über STEVENS" und andere im Stil der Kategorie-Header */
.mod_article.header-hero {
    position: relative;
    width: 100%;
    min-height: 31vw;
    padding-block: 5%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
}
.mod_article.header-hero + .mod_article {
    margin-top: 20px;
}
.mod_article.header-hero.hero-lg {
    padding-top: 30%;
    padding-bottom: 12%;
}
.header-hero > * {
    position: relative;
    z-index: 1;
    margin-top: 0;
    margin-bottom: 0;
}
.header-hero figure {
    height: 100%;
}
.header-hero img {
    width: 100%;
    min-height: 100%;
    object-fit: cover;
}
.header-hero .ce_image,
.header-hero .ce_image:after,
.header-hero .ce_caroufredsel_gallery,
.header-hero .ce_caroufredsel_gallery:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.text-white .ce_image:after,
.text-white .ce_caroufredsel_gallery:after {
    background-image: linear-gradient(90deg, rgba(0,0,0,0.33) 25em, rgba(0,0,0,0) 50em);
    z-index: 1;
    
}
.text-black .ce_image:after,
.text-black .ce_caroufredsel_gallery:after {
    background-image: linear-gradient(90deg, rgba(255,255,255,0.33) 25em, rgba(255,255,255,0) 50em);
    z-index: 1;
    
}
.header-hero h1,
.header-hero h2 {
    /*max-width: 1320px;
    margin-left: auto;
    margin-right: auto;*/
}
.header-hero p {
    font-size: 18px;
    font-weight: 600;
    text-shadow: 1px 1px 4px rgb(0 0 0 / 60%);
    width: 696px;
    max-width: 100%;
    margin: 30px 0 0 0;
    position: relative;
    z-index: 1;
}
.text-white {
    color: #fff;
    text-shadow: 0.05em 0 1.5em rgba(0,0,0,0.2), 0 0 0.2em rgba(0,0,0,0.1);
}

.text-black h1,
.text-black h2 {
    color: #000;
    text-shadow: 0 0 1.5em rgba(255,255,255,0.4), 0 0 0.5em rgba(255,255,255,0.2);
}

.header-hero h1 {
    line-height: 1.1;
}
.header-hero h2 {
    font-family: Kanit, sans-serif;
    font-size: 1.3333em;
    font-weight: 200;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    margin-top: 10px;
}
.header-hero h2+h1,
.header-hero h3+h1,
.header-hero h4+h1 {
    margin-top: 0.5rem;
}

.header-left {}
@media (max-width: 1050px) {
    .header-hero img {
        width: auto;
        max-height: 100%;
        /*max-width: none;*/
    }
}
@media (min-width: 740px) {
    .header-hero p {
        font-size: 20px;
        max-width: 80%;
    }
}
@media (min-width: 1290px) {
    .mod_article.header-hero {
        min-height: 435px;
    }
}

/* Galerie + Text in Spaltenform für "Über Stevens" */
div.intro-about {
    font-size: 1.125em;
}
div.gal-col.ce_gallery ul {
    margin-left: -10px;
    margin-right: -10px;
}
.text-col .ce_text h3,
.text-col h3.ce_headline,
.max-width-center .ce_text h3,
.max-width-center h3.ce_headline {
    font-family: Kanit, sans-serif;
    font-size: 1.25em;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.15;
    text-transform: uppercase;
    padding: 0.33em 0;
    border-top: 2px solid #000;
    border-bottom: 1px solid #888;
    margin: 1.5em 0 0.6em;
}
.text-col .ce_text:first-child h3:first-child { margin-top: 0; }
.text-col p:first-child { margin-top: 0; }
.text-col p:last-child { margin-bottom: 0; }

@media (max-width: 960px) {
    div.gal-col ul {
        /*flex-wrap: nowrap;*/
        justify-content: center;
    }
    .gal-col img {
        width:  auto;
        height: 37vw;
    }
}
@media (min-width: 961px) {
    div.gal-col,
    div.text-col {
        width: 50%;
        margin-top: 30px;
    }
    div.gal-col {
        float: left;
        padding-right: 20px;
    }
    div.text-col {        
        float: right;
        padding-top: 10px;
        padding-left: 20px;
    }
    div.text-col:after {
        content: "";
        display: table;
        width: 100%;
        height: 1px;
        visibility: hidden;
    }
  .mod_newsreader .text-col {
      padding-top: 0;
  }
}

/* Inhalte in zentrierter Spalte */
.max-width-center {
    max-width: 53em;
    margin-left: auto;
    margin-right: auto;
}

/* Downloads */
.ce_downloads ul {
  list-style: none;
  padding-left: 0;
}

.ce_download a,
.ce_downloads a {
  display: inline-block;
  padding: 0.25em 0;
  text-decoration: none;
}

.ce_download a:hover,
.ce_downloads a:hover {
  color: #e50000;
}

.ce_download .size,
.ce_downloads .size {
  opacity: 0.67;
  font-size: 0.8em;
  margin-left: 0.5em;
}

.ce_download a:before,
.ce_downloads a:before {
  content: "\e6a7";
  font-family: themify;
  margin-right: 40px;
}
.mime_icon {
  position: relative;
  left: 48px;
  bottom: 0.2em;
  pointer-events: none;
}
/* Contao 4 */
div .download-element {
  background-position: 26px center;
  padding-left: 0;
  background-size: 26px;
}
.download-element a {
  padding: 6px 0 2px;
}
.download-element a:before {
  content: "\e6a7";
  font-family: themify;
  margin-right: 44px;
}

/* Bikewear + Parts ab 2022 in Contao */
.grid.bikewear {
    overflow: visible;
}
.bikewear-header {
    width: 100%;
    padding-top: 4em !important;
    margin-top: 0 !important;
    overflow: visible !important;
}
.bikewear-header h1 {
    margin-bottom: 30px;
}
.bikewear-header p {
    font-size: 1.25em;
    font-weight: 600;
    max-width: 41em;
}
.bikewear-header .nav-cat {
    margin: 1em 0;
    background: transparent;
    color: inherit;
}
.bikewear-header .nav-cat ul {
    padding: 0;
}
.bikewear-header .nav-cat li {
    border-radius: 2em;
}
.bikewear-header .nav-cat .active {
    background: rgba(0,0,0,0.15);
}
.bikewear-header .nav-cat .active * {
    background: transparent;
    font-weight: normal;
}
.bikewear-header .nav-cat a:hover {
    background: transparent;
    background: rgba(0,0,0,0.08);
    border-radius: 2em;
    /*border-bottom: 1px solid;*/
    /*transform: scale(1.1);*/
}

.grid > .product {
    margin: 0;
}
.product .blocklink {
    position: relative;
    background: #fff;
    text-decoration: none;
    height: 100%;
    border: 1px solid transparent;
    transition: 0.3s;
}
.product .blocklink::after {
    top: 36%;
}
.product .blocklink:hover img {
    opacity: 1;
}
.product .teaser {
    text-align: center;
    line-height: 1.25;
}
.product .teaser p {
    margin: 0.5em 0;
}
.product .teaser img {
    height: 280px;
    object-fit: contain;
}
.product .teaser h2 {
    font-family: Kanit, sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    margin-top: 1.5em;
}
.product .teaser > :last-child {
    margin-bottom: 0;
}
.product .teaser p.sizes {
    font-size: 0.9em;
}
.procuct .pri-price {
    font-size: 1.3333em;
    margin-left: 0.2em;
}
/*@media (min-width: 900px) {
    .bikewear-header {
        padding-left: 33.3333%;
    }
}*/
@media (hover:hover) {
    .onhover {
        opacity: 0;
        transition: 0.3s;
    }
    .blocklink:hover .onhover {
        opacity: 1;
    }
    .product .blocklink:hover {
        z-index: 1;
        border-color: #ddd;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
    }
    .product .teaser {
        display: flex;
        flex-direction: column;
    }
    .product .teaser p {
        margin: 0.33em 0;
    }
}
div#lightcase-case {
    text-shadow: none;
}
.lightcase-fullScreenMode #lightcase-overlay {
    background: #fff;
}
.lightcase-fullScreenMode #lightcase-overlay {
    background: #fff;
}
.lightcase-fullScreenMode a[class*='lightcase-icon-'], .lightcase-fullScreenMode a[class*='lightcase-icon-']:focus {
    color: rgba(0, 0, 0, 0.6);
}
.lightcase-fullScreenMode #lightcase-content .slick-prev {
    left: 20px;
}
.lightcase-fullScreenMode #lightcase-content .slick-next {
    right: 20px;
}
#lightcase-content *, .lightcase-inlineWrap {
    color: inherit !important;
}
.modal-bikewear {
    width: 90vw;
    max-width: 100%;
    background: #fff;
    padding: 1em;
}
.product .hide-mobile, .bikewear-text .hide-mobile {
    display: none;
}
.bikewear-text .specs p:not(.price) {
    margin: 0;
}
.bikewear-images ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.bikewear-images li {}
.bikewear-images img {
    margin-left: auto;
    margin-right: auto;
}
.bikewear-images .img-fullsize {
    max-height: calc(82vh - 140px);
    min-height: 320px;
}
.bikewear-images .img-fullsize img {
    max-height: calc(76vh - 140px);
    min-height: 300px;
    object-fit: contain;
}
.bikewear-images .img-fullsize .slick-slide {
    padding: 3vmin;
}
.bikewear-images .img-thumbs li:only-child {
    display: none;
}
.bikewear-images .img-thumbs img {
    height: 90px;
    min-height: 54px;
    max-height: 9vmin;
    object-fit: contain;
}
.bikewear-images .img-thumbs .slick-list {}
.bikewear-images .img-thumbs .slick-track {}
.bikewear-images .img-thumbs .slick-slide {
    background: #fff;
    width: 110px !important;
    padding: 8px;
    border: 2px solid #eee;
    margin: 0 5px;
}
.bikewear-images .img-thumbs .slick-current {
    border-color: #999;
}
@media (min-width: 720px) and (min-height: 720px) {
    .product .hide-mobile, .bikewear-text .hide-mobile {
        display: block;
    }
}
@media (orientation: portrait), (max-width: 799px) {
    .bikewear-text {
        margin-bottom: -1em;
    }
}
@media (orientation: landscape) and (min-width: 800px) {
    .modal-bikewear {
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: center;
    }
    .bikewear-text {
        width: 30%;
        flex-shrink: 0;
        margin-right: 2%;
    }
    .bikewear-images {
        width: 65%;
    }
}
