

@font-face {
    font-family: "Open Sans";
    src: url("fonts/OpenSans/OpenSans-Regular.ttf");
}

@font-face {
    font-family: "Roboto";
    src: url("fonts/Roboto/Roboto-Regular.ttf");
}

* {
    color: black;
    font-family: var(--font-ui), serif;
    font-size: 0.93rem;
}

.row {
    max-width: 1500px;
}

h1,
h2,
h3,
h4,
h5,
h5 a,
.large {
    font-family: var(--font-ui), serif;
    font-size: 1.1rem;
    font-weight: bold;
}
button,
input,
select {
    font-family: var(--font-ui), serif;
}

a.bookytlogo img {
    max-width: 80px;
}

fieldset a {
    text-decoration: underline;
}

fieldset a:hover {
    text-decoration: none;
}

.full-width {
    width: 100%;
}

table thead,
table tbody,
table tbody tr:nth-child(even),
table tbody tr:nth-child(odd) {
    background: unset;
    background-color: unset;
    border: 0;
    color: unset;
}

b,
strong,
.strong {
    font-weight: bold;
}

.no-js {
    display: none;
}

.ui-widget-overlay {
    filter: Alpha(Opacity=95);
    opacity: 0.95;
}

.logout_link {
    display: block;
}

body.testmodus {
    background-color: lightpink;
}

.dialog-auto {
    bottom: 0px;
    left: 0px;
    position: fixed;
}

body.noscroll {
    bottom: 0;
    left: 0;
    overflow: hidden;
    overflow-x: hidden;
    overflow-y: hidden;
    position: fixed;
    right: 0;
    top: 0;
}

#containerDigialerBeleg {
    margin: auto;
    margin-top: 30px;
    max-width: 600px;
}

#tabs-3 .row,
.maxWidthContainer {
    margin: auto;
    max-width: 600px;
}

#tabs-3 .row .zusammenfassung {
    padding: 0;
}

#tabs img.logo,
img.buchungsbestaetigunglogo {
    max-height: 60px;
    max-width: 120px;
    min-height: 30px;
    padding: 0;
    vertical-align: middle;
}

/* Tabs style entfernen */
#tabs ul#tabbarheader {
    height: 60px;
    line-height: 60px; /* equal to height of container */
}

div.rowsuchfilter,
div.divtabbareleemnt,
div.div_auswahl_anzahl {
    margin-top: 35px;
}

@media only screen and (max-width: 640px) {
    #tabs ul#tabbarheader {
        display: flex;
        justify-content: space-between;
    }

    .cellfahrzeugnebeneinander {
        padding-right: 0;
    }

    #fahrzeugliste .ui-tabs .ui-tabs-panel {
        padding-left: 0;
        padding-right: 0;
    }

    ul.fahrzeugkategorien > li,
    ul.fahrzeugkategorien > li a {
        text-align: center;
        width: 100%;
    }

    .row .row {
        margin-right: 0;
    }

    div.rowsuchfilter {
        margin-top: 0;
    }
}

.row:not(.expanded) .row.rowsuchfilter,
div.row.rowsuchfilter {
    max-width: 900px;
}

.beschriftungheadline {
    padding-top: 1em;
}

.ui-tabs .ui-tabs-panel {
    padding-right: 0.1rem;
}

div.fahrzeug_selector_buttonfeld .buchen_button {
    width: 100%;
}

#tabs ul li a span {
    display: contents;
    padding: 0;
    vertical-align: middle; /* fine since i'm inline-block */
}

.ui-widget.ui-widget-content {
    border: 0;
}

.ui-widget-header {
    background: unset;
    border: 0;
    color: unset;
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
.ui-tabs {
    background: unset;
    border: 0;
}

#tabs .ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
    background: unset;
    border: 0;
    font-weight: normal;
}

.ui-tabs-nav.ui-state-default {
    color: var(--color-divider);
}

.DivAccordionClosed h3 {
    color: black;
}

.ui-dialog {
    background: white;
}

.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
    padding: 0;
}

#tabbarheader li a {
    display: contents;
}

.ui-tabs .aufzaehlung {
    border: 0;
    border-radius: 50%;
    display: inline-block;
    font-size: 20px;
    line-height: 30px;
    text-align: center;
    width: 30px;
}

.ui-tabs .aufzaehlung {
    background: var(--color-divider);
    color: var(--color-white);
}

.ui-tabs-active .aufzaehlung {
    background: var(--color-primary);
    color: var(--color-white);
}

.ui-tabs .beschriftung {
    color: var(--color-divider);
}

.ui-tabs-active .beschriftung {
    color: var(--color-primary);
}

#tabbarheader > li {
    margin-right: 15px;
}

#tabbarheader > li:last-child {
    margin-right: 0px;
}

table.datum_table,
table.datum_table tbody {
    border: 0;
    margin: 0;
    padding: 0;
    width: auto;
}

table.datum_table tr {
    background-color: transparent !important;
}

table.datum_table tr td {
    border: 0;
    margin: 0;
    padding: 0;
}

table.datum_table tr td:first-child {
    padding-right: 1em;
}

table.datum_table tr.alternativ_head {
    border-bottom: 1px solid var(--color-ccc);
}

.table_calendar {
    margin: 0px;
    margin-top: -2px;
    padding: 0px;
    white-space: nowrap;
}

.table_calendar img {
    padding-left: 2px;
    padding-right: 2px;
}

input,
select {
    border-radius: 3px !important;
}

.table_calendar input[type="text"] {
    display: inline;
}

input.textbox_datum[readonly] {
    background-color: unset;
    cursor: default;
}

.table_calendar input[type="date"],
.table_calendar input[type="time"] {
    display: inline-block;
}

.ui-datepicker-trigger i {
    font-size: 2em;
    margin: 0 5px 0 8px;
    vertical-align: middle;
}

.table_calendar input.textbox_zeitv3 {
    width: 60px;
}

.table_calendar select.uhrzeit {
    width: 80px;
}

.table_calendar input[type="date"],
.table_calendar input.textbox_datum {
    width: 120px;
}

.table_calendar input::-webkit-clear-button {
    -webkit-appearance: none; /* turn off default browser styling */
    display: none; /* Hide the button */
}

.IconEdit,
.ui-datepicker-trigger {
    border: 0;
    cursor: pointer;
    height: 1.8em;
    min-width: 1.8em;
}

table.ui-datepicker-calendar tbody tr td a.ui-state-default {
    color: black;
}

table.ui-datepicker-calendar tbody tr td a.ui-state-hover,
table.ui-datepicker-calendar tbody tr td.ui-datepicker-current-day a {
    background: var(--color-primary);
    color: var(--color-white);
}

table.ui-datepicker-calendar tbody tr td.ui-state-disabled a {
    color: var(--color-divider);
}

.ui-datepicker-header {
    background: var(--color-primary);
}

.ui-datepicker-header span {
    color: var(--color-white);
}

.ui-datepicker-prev span,
.ui-datepicker-next span {
    background-image: none !important;
}

.ui-datepicker .ui-datepicker-next,
.ui-datepicker .ui-datepicker-prev {
    margin-top: 1px;
}

.ui-datepicker-prev.ui-state-disabled {
    display: none;
}

.ui-datepicker-prev:before,
.ui-datepicker-next:before {
    align-items: center;
    bottom: 0;
    color: var(--color-white);
    display: flex;
    font-weight: bold;
    justify-content: center;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.ui-datepicker .ui-icon {
    display: none;
}

.ui-datepicker-prev:before {
    content: "<";
}

.ui-datepicker-next:before {
    content: ">";
}

.ui-datepicker .ui-state-hover {
    background: var(--color-white);
}

.ui-datepicker .ui-state-hover.ui-datepicker-prev:before,
.ui-datepicker .ui-state-hover.ui-datepicker-next:before {
    color: var(--color-primary);
}

button.ui-datepicker-current,
button.ui-datepicker-close {
    background: var(--color-primary);
    color: var(--color-white);
}

.ui-datepicker-buttonpane button {
    color: black !important;
}

#fahrzeugliste .ui-tabs .ui-tabs-panel,
#tabs div.artikelextratabs .ui-tabs .ui-tabs-panel {
    padding-left: 0.5em;
    padding-top: 0px;
}

#fahrzeugliste div.divTab ul li.ui-tabs-tab,
#tabs div.artikelextratabs li.ui-tabs-tab {
    border-radius: 5px;
    font-weight: bold;
    margin-bottom: 10px;
    margin-right: 15px;
    padding-bottom: 15px;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 15px;
}

#fahrzeugliste div.divTab ul li.ui-tabs-tab,
#tabs div.artikelextratabs li.ui-tabs-tab {
    background-color: var(--color-surface-alt);
}

#fahrzeugliste div.divTab ul li.ui-tabs-tab a,
#tabs div.artikelextratabs li.ui-tabs-tab a {
    color: var(--color-text-muted);
}

#fahrzeugliste div.divTab ul li.ui-tabs-tab.ui-state-active,
#tabs div.artikelextratabs li.ui-state-active {
    background: var(--color-primary);
}

#fahrzeugliste div.divTab ul li.ui-tabs-tab.ui-state-active a,
#tabs div.artikelextratabs li.ui-state-active a {
    color: var(--color-white);
}

#fahrzeugliste div.divTab .columns,
#tabs div.artikelextratabs .columns {
    padding-left: 0.35rem;
}

#fahrzeugliste div.divTab .fahrzeug_selector_buttonfeld .columns {
    padding-left: 0;
    padding-right: 0;
}

#fahrzeugliste div.divTab,
#fahrzeugliste div.divTab ul {
    padding-left: 0;
}

#fahrzeugliste div.divTab .cellfahrzeugnebeneinander {
    margin-bottom: 15px;
    padding-left: 0;
}

#tabs div.artikelextratabs div.artikelauswahl .row {
    padding-bottom: 10px;
}

h3.mietartikelkategorie {
    margin-top: 20px;
}

img.fahrzeug_logo {
    height: 1.2rem;
    margin: 0.1rem;
    margin-right: 9px;
    margin-top: 5px;
}

.ui-accordion-content {
    background: transparent;
    border: 0;
    color: black;
}

.buchungsbestaetigung .DivAccMehrDetails,
.buchungsbestaetigung h5,
#contentbereich .DivAccMehrDetails {
    margin-top: 25px;
}

.buchungsbestaetigungrow {
    margin-top: 30px;
}

.DivAccMehrDetails h3 span.ui-accordion-header-icon {
    float: right;
}

.DivAccMehrDetails h3 {
    color: black !important;
    font-size: 1.1rem !important;
    font-weight: bold !important;
    padding: 0 !important;
}

.DivAccMehrDetails h3.ui-accordion-header-collapsed {
    border-bottom: 1px solid black !important;
}

.DivAccMehrDetails .ui-accordion-content {
    border: 0;
    padding: 0;
}

.DivAccMehrDetails {
    margin-bottom: 20px;
}

.durchstrich {
    text-decoration: line-through;
}

.button.success,
.button.success:hover,
.button.success:focus,
.button.success *,
.button,
button.success,
button.success:hover,
button.success:focus {
    background: var(--color-primary);
    border-radius: 5px;
    color: white !important;
}

.button.hollow {
    background: white;
    border: 1px solid var(--color-primary);
    border-radius: 5px;
    color: var(--color-primary) !important;
}

#login_dialog div.buttonlogin .button {
    width: 100%;
}

.buchungsuebersicht .column {
    margin-bottom: 6px;
}

.list_uebersicht_netto,
.list_uebersicht_gesamtbetrag {
    border-top: 1px solid var(--color-surface-alt);
}

.list_uebersicht_gesamt span:first-child {
    margin-right: 6px;
}

.extralarge {
    font-size: 21px;
}

img.IconEditSmall {
    border: 0;
    height: 1.1em;
    margin-right: 3px;
    min-width: 1.1em;
}

#artikeldiv > .row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -0.7em;
}

#artikeldiv .artikelauswahl > .row {
    height: 100%;
}

#artikeldiv .artikelauswahl_compact {
    margin-bottom: 10px;
}

#artikeldiv .artikelauswahl_large {
    margin-bottom: 10px;
    position: relative;
}

#artikeldiv .artikelauswahl_large .artikel_bezeichnung {
    margin-bottom: 65px;
}

#artikeldiv .artikelauswahl_large .preisanzeigebereich {
    bottom: 0;
    left: 0;
    padding-left: 30px;
    padding-right: 25px;
    position: absolute;
}

#artikeldiv .artikelauswahl_large .preisanzeigebereich .artikel_preis {
    min-height: 50px;
}

div#contentbereich:not(.sammelvorgang)
.divTab
div.column.cellfahrzeugnebeneinander
.fahrzeug_selector {
    padding: 0;
}

div.cellfahrzeugnebeneinander p.bildcontent.gallerie {
    display: none;
}

div.rowfahrzeugergebnis {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.rowfahrzeugergebnis .cellfahrzeugnebeneinander .equalheight,
.hbcontainer .equalheight {
    border: 1px solid var(--color-ccc);
    border-radius: 5px;
    box-shadow: 0 3px 6px #00000029;
    height: 100%;
    overflow: hidden;
    position: relative;
}

.hbcontainer > .row > .column {
    padding-bottom: 10px;
    padding-right: 0.5rem;
}

.rowfahrzeugergebnis .cellfahrzeugnebeneinander .equalheight .textinhalt {
    margin-bottom: 5rem;
    padding: 25px;
}
.rowfahrzeugergebnis
.cellfahrzeugnebeneinander
.equalheight
.textinhalt.belegt {
    margin-bottom: 10rem;
}

.content-vermietung.sammelvorgang
.fahrzeug_selector
.row.sammelvorgang
.column {
    padding: 0;
}

.content-vermietung.sammelvorgang
.rowfahrzeugergebnis
.cellfahrzeugnebeneinander
.equalheight
.textinhalt {
    margin-bottom: 12rem;
}

.rowfahrzeugergebnis
.cellfahrzeugnebeneinander
.equalheight
.fahrzeug_selector_buttonfeld {
    bottom: 0;
    left: 0;
    position: absolute;
    width: 100%;
}

.rowfahrzeugergebnis .cellfahrzeugnebeneinander .equalheight .row {
    margin: 0;
}

.rowfahrzeugergebnis
.cellfahrzeugnebeneinander
.equalheight
.row
.bildergalerie {
    padding: 0;
}

#fahrzeugliste div.divTab .columns.bildergalerie {
    padding: 0;
}

select#kilometer {
    max-width: 300px;
}

div.kilometerrow {
    margin-bottom: 10px;
    margin-top: 8px;
}

h3.artikel_headline {
    margin-bottom: 0;
}

div#haftungsbeschraenkung {
    margin-bottom: 15px;
    padding-top: 8px;
}

div#haftungsbeschraenkung .equalheight .row {
    margin: 5px;
}

div.hinweislink,
a.hinweislink {
    color: var(--color-primary);
    cursor: pointer;
    font-weight: bold;
}

div.artikel_bezeichnung div.hinweislink {
    margin-top: 10px;
    text-align: right;
}

input:checked ~ .switch-paddle {
    background: var(--color-primary);
}

.switch-paddle {
    background: white;
}

input ~ .switch-paddle {
    border: 2px solid black;
    border-radius: 15px;
}

.switch-paddle:after {
    background: white;
    border: 2px solid black;
    border-radius: 15px;
    margin-top: -2px;
}

input:checked ~ .switch-paddle:after {
    margin-top: 0;
}

input:checked ~ .switch-paddle {
    border: 0;
    border-radius: 15px;
}

div.artikelauswahl_compact img.dateiextra {
    max-height: 100px;
}

div.artikelauswahl {
    padding: 0;
}

.slick-arrow,
.slick-arrow:hover {
    background-color: black;
    border-radius: 9px;
    padding-top: 1px;
}

div.artikelauswahl .slicksliderp {
    display: none;
}

div.artikelauswahl > .row {
    border: 1px solid var(--color-ccc);
    border-radius: 5px;
    box-shadow: 0 3px 6px #00000029;
    margin: 10px;
    padding-top: 5px;
}

div.artikelauswahl_after {
    margin-bottom: 30px;
}

.slick-slider {
    max-width: 95%;
}

.cellfahrzeugnebeneinander .slick-slider {
    max-width: 100%;
}

.slick-slide {
    text-align: center;
    width: 100%;
}

div.artikelauswahl .slick-slide {
    height: 200px;
}

.slick-slide img {
    margin: 0 auto;
    width: auto;
}

div.fahrzeug_selector .slick-slide img {
    max-height: 350px;
}
div.artikelauswahl .slick-slide img {
    max-height: 200px;
}
div.fahrzeug_selector_buttonfeld input[type="button"] {
    width: 100%;
}

#button_speichern #label_betrag {
    display: none;
}

.buchungsbestaetigungtop {
    margin-bottom: 30px;
}

#fahrerfeld h3 span {
    display: none;
}

#fahrerfeld h3 {
    color: black !important;
    font-size: 1.1rem;
    font-weight: bold !important;
    padding-left: 0 !important;
}

#fahrerfeld .ui-accordion .ui-accordion-content {
    border: 0;
    padding-left: 0;
}

div.preisanzeigesammel button {
    margin: 0;
}

div.rowfahrzeug {
    margin-top: 15px;
}

div.agbs {
    border: 1px solid var(--color-border);
    max-height: 200px;
    overflow-y: scroll;
    padding: 1.25rem;
    word-wrap: break-word;
}

div.bemerkungstext {
    -webkit-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* number of lines to show */
    line-height: 1.5em; /* fallback */
    max-height: 3em; /* fallback */
    overflow: hidden;
    text-overflow: ellipsis;
}

#box_buchungsuebersicht .fehler_buchung,
.fehlermeldung,
.div_auswahl_belegt {
    color: red;
}

#box_buchungsuebersicht .fehler_buchung,
.fehlermeldung,
.div_auswahl_belegt {
    background-color: white;
}

div.fehler_buchung.callout.alert {
    margin-top: 10px;
}

.alternativen .fehlermeldung {
    margin-bottom: 10px;
    padding-left: 10px;
}

div.anfrage_button_div .column input.button_anfrage {
    margin-right: 10px;
}

div.div_alternative_content input[type="button"]:first-child {
    margin-right: 15px;
}

fieldset.checkout {
    align-items: center;
    display: flex;
}

fieldset.checkout .switch {
    float: left;
    margin-bottom: 0;
    margin-right: 10px;
}

.dialog_meldung_popup .buttonclose {
    display: none;
}

div.alternative_zeit .ui-datepicker {
    margin: auto;
}

ul.alternativen_list,
ul.alternativen_list li {
    list-style-type: none;
    width: 100%;
}

ul.alternativen_list li a {
    width: 100%;
}

ul.alternativen_list {
    margin: 0;
    margin-top: 10px;
}

.selectzeit {
    margin-left: 8px;
    margin-top: 3px;
}

div#login_info {
    margin-bottom: 10px;
}

.hide-for-large .button_kd_vergessen {
    margin-top: 25px;
}

div.buchungsbestaetigung,
div.buchungsbestaetigungtop,
div.buchungsbestaetigungrow {
    margin: auto;
    max-width: 1000px;
    padding-top: 4em;
}

div.buchungsbestaetigungrow input,
div.buchungsbestaetigungrow a {
    margin-left: 8px;
}

div.buchungsbestaetigungcontainer {
    width: 100%;
}

div.buchungsbestaetigung div.artikelauswahl_large img {
    max-height: 120px;
}

div.margin-top {
    margin-top: 20px;
}

div.preisanzeigebereich select {
    margin: auto;
}

ul.nolist {
    list-style-type: none;
    margin-left: 0;
    padding: 0;
}

ul.nolist input[type="radio"] {
    display: none;
}

.artikelauswahl_compact div.columns h5 {
    overflow: hidden;
    text-overflow: ellipsis;
}

#tabs_kunde.tabs,
#tabs_kunde .tabs,
#tabs_kunde.tabs .ui-state-default {
    border: 1px solid black;
}

#tabs_kunde.tabs .ui-tabs-active {
    background-color: black;
}

#tabs_kunde .ui-accordion-header {
    color: black;
}

div.content-vermietung.sammelvorgang div.fahrzeug_selector_buttonfeld {
    padding: 10px;
}

/*Sammelbuchung Leiste unten*/
#warenkorb_seite1_unten {
    bottom: 0;
    left: 0;
    position: fixed;
    width: 100%;
    z-index: 1;
}
/*Sammelbuchung Leiste unten*/
a.bookytlogo {
    bottom: 0;
    left: 0;
    position: fixed;
    z-index: 1;
}
#warenkorb_seite1_unten {
    z-index: 2;
}
#warenkorb_seite1_unten_leiste {
    background-color: var(--color-primary);
    color: var(--color-white);
    filter: brightness(120%);
    padding: 10px 0;
    text-align: center;
}
#warenkorb_seite1_unten_leiste * {
    color: var(--color-white);
}
#warenkorb_seite1_unten #button_weiter_unten {
    border-radius: 0;
    margin-bottom: 3px;
    width: 100%;
}
#warenkorb_seite1_unten_before {
    height: 70px;
}
.tinybuttonwarenkorb {
    float: right;
}

.warenkorb {
    margin: 30px;
    max-width: 1200px;
}

#buchungsbuttonarea button span {
    color: var(--color-white);
}
#buchungsbuttonarea button.hollow span{
    color:var(--color-primary);
}

select.sprachbox {
    max-width: 155px;
}

.hideNurGruppen {
    display: none !important;
}

div.columns.frei .column .button[disabled] {
    display: none;
}

div.shrinked_text {
    /* Vertikale Box‑Orientierung */
    -webkit-box-orient: vertical;
    /* Notwendig, damit WebKit den Clamp anwenden kann */
    display: -webkit-box;
    /* Anzahl der Zeilen */
    -webkit-line-clamp: 6;

    /* Verberge den restlichen Text */
    overflow: hidden;

    /* Optional: füge "…" am Ende der letzten Zeile hinzu */
    text-overflow: ellipsis;
}
