/*
 * Eigenes CSS zu Lolab ohne Überschreibung von Bootstrap-CSS-Klassen.
 */

/*
	Lohmann Laborservice GmbH
	Stylesheet 2024 (styles.css)
	
	PuDesign - Frank Puschmann
	web: http://www.pu-design.net

	Color		blue		#0669b2
*/

/* --- Layout  --- */

html {
    /* Fix Header beim Scollen beachten */
    scroll-padding-top: var(--header-height);
}

.form-control::placeholder {
    color: #a0a0a0;
}

/**
 * Container um die eigentlichen Inhalte im Header, Content, Footer.
 * Je größer der Viewport desto mehr Puffer links und rechts
 */
.container-lolab {
    max-width: 1700px;
    width: 95%;
    margin: 0 auto;
}

span.lolab-preisgruppe {
    display: inline-block;
    border-radius: 10px;
    border: solid #404040 1px;
    color: #404040;
    width: 12px;
    height: 16px;
    font-size: 14px;
    line-height: 15px;
    padding-left: 3px;
}

/*  BK 2023-05-05 Silbentrennung allgemein aktivieren */
body {
    hyphens: auto;
}

img {
    max-width: 100%;
}

.flex {
    display: flex;
    justify-content: center;
    align-items: center;
}

.flex-right {
    display: flex;
    justify-content: right;
    align-items: center;
}

.allgemeines-clearboth {
    clear: both;
}

.page {
    padding: 0;
}

/**
 * Fixer Header oben. Wird auf mobile/tablet static (siehe @media direkt darunter).
 */
/* Ich würde den blauen Balken erst einmal weglassen und den alten Schatten verwenden */
.header {
    position: fixed;
    margin-top: 0;
    margin-bottom: 0;
    top: 0;
    background-color: #ffffff;
    z-index: 1000;
    width: 100%;
    padding: 0.5em 0;
    /* box-shadow: 0 8px 3px 2px rgba(6, 105, 179, 0.7); */
    height: var(--header-height);
    box-shadow: 0 5px 4px -2px rgba(0, 0, 0, .2);
    transition: background .3s, border .3s, border-radius .3s, box-shadow .3s;
}


/* Header static machen und dahinterliegenden Abstandspuffer ausblenden. */
@media (max-width: 576px) {
    .header {
        position: static;
        top: unset;
        left: unset;
    }

    .headbuffer {
        display: none;
    }
}

.header-logo {
    margin-top: 1em;
}

.body-backend .header-logo {
    margin-top: 0.2em;
}

/**
 * Container um die Breadcrumb und das Untermenü (derzeit nur Details-Seite)
 */
.breadcrumb-and-submenu {
    margin-top: 0.5em;
    margin-bottom: 0;
}

.page-home .breadcrumb-and-submenu {
    display: none;

}

/**
 * Anzeige einer Bestellung: Umbrüche verhindern, damit .table-responsive-md sinnvoll wirkt.
 */
.page-bestellung table.bestellung-selected tr.zeile-kerndaten,
.page-bestellung table.bestellung-entered {
    white-space: nowrap;
}

/**
 * Der Hauptinhalt mit der H1 drin. Typischerweise auch ein .section
 */
.content {
    min-height: 600px;
}

/* -- angepasst FP 241030 -- */
.header img.swg,
.icon-sortiment,
.herstellerlogo img.swg {
    max-width: 100%;
    height: auto;
}

/* -- angepasst FP 241030 -- */
.icon-sortiment {
    max-height: 130px;
}

.header-konto {
    text-align: right;
    height: 20px; /* - - - FP - 250926 - - -  */
    color: #0069b3;
    font-size: 90%;
    text-transform: uppercase;
}

/* Telefonnnummer */
.header-phone {
    padding: 15px 20px 0 20px;
    font-size: 1.4em;
    padding-right: 2.5em;
}

.header-phone a {
    text-decoration: none;
}

/* Search Input Field */
.header-search form {
    margin-bottom: 0;
}

/* Alle Felder des Such-Formulars ohne Formular selbst */
.header-search .search-fields {
    height: 38px;
    width: 100%;
    margin: 10px 0;
    box-shadow: 0 5px 4px -2px rgba(0, 0, 0, .25);
    border-style: solid;
    border-width: 1px;
    border-color: #c0c0c0;
}

.header-search .search-fields input {
    margin: 0;
    border: 0 !Important;
    white-space: normal;
    width: 100%;
    height: 36px;
}

/* Input Background Hack - macht den gelben Hintergrung n Chrome weg */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
}

.header-search .search-fields button span.fa {
    margin-top: 0;
}

/* Sortier-Icons in Kopfzeilen verkleinern) */
th i.fa-solid {
    font-size: 80%;
}

.search-fields button {
    background-color: #0669b2 !Important;
    color: white !Important;
    padding: 0.2em 1.2em 0 1.2em;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
}

button.single-to-basket {
    position: relative;
    margin: 0;
    padding: 0 0 0 0.2em;
    line-height: 1 !Important;
    height: 24px;
}

/*
 * Das hier ist der obere Abstand für den fixed Header eingebaut.
 * Brauchen wir zusätzlich zu scroll-padding-top
 * das Padding mit Hingergrundfarbe bildet den oberen blauen Balken.
 */
/* Ich würde den blauen Balken erst einmal weglassen und den Abstand etwas kleiner machen */
.headbuffer {
    height: calc(var(--header-height) + 0.25em);
}


/* Filter Komponenten - Platz optimieren */
div.filter-body {
    padding: 6px 6px 0;
    border-radius: 4px;
    margin: 0 0 8px;
}

/** Die als "Kennung"-Datensatz gepflegten Details zu einer KN */
div.filter-kennnummer-container {
    margin-bottom: 1em;
}

div.filter-kennnummer-haupttext p,
div.filter-kennnummer-fusszeile p {
    margin-bottom: 1em;
}

div.filter-kennnummer-bild img {
    display: block;
    margin: 0 auto 0 auto;
}

div.filter-kennnummer-fusszeile p.marginbottomzero,
p.marginbottomzero,
ul.marginbottomzero li {
    margin-bottom: 0;
}

/* --- Anpassungen für den Kennummern Container --- */

div.filter-kennnummer-extras p {
    font-style: italic;
    font-size: .8em;
    color: #666666;
}

/** Neue Textblock unter den Produkten */
.filter-kennnummer-fusszeile-container {
    margin: 5px 0 5px 0;
}

#suche-filter-filter a {
    text-decoration: none;
}

/*
 *  Filter, 2021-06-15: Neue Funktionalität zum blockweisen anzeigen und verstecken
 *          Prinzip: Überschrift links, filter-block-viewcontrol rechts, darunter filter-body
 */

#suche-filter-filter div.filter-head {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    font-size: 1em;
    color: #8b8b8b;
    font-weight: normal;
}

/* Die Artikelliste auf der Suchen-Seite */
#suche-filter-liste {
    font-size: 0.9rem;
}

#suche-filter-liste h2 {
    font-size: 1.4em;
    line-height: 1.35;
}

/* Ansicht CMS Produktgruppe (reduzierter Abstand) */
#suche-filter-liste .force-hide-toggles h2 {
    margin-bottom: 0.8rem;
}

/**
 * Mobile: Element beim Filter, welches auf die Liste umschaltet.
 * Steht fix links am Rand.
 */
#suche-filter-liste-thin-switchtolist {
    position: fixed;
    top: 40%;
    left: 0;
}

/**
 * Mobile: Element bei Liste, welches auf den Filter umschaltet.
 * Steht fix rechts am Rand.
 */
#suche-filter-liste-thin-switchtofilter {
    position: fixed;
    top: 40%;
    left: 0;
}

/**
 * Styling für #suche-filter-liste-thin-switchtolist und #suche-filter-liste-broad-showfilter
 * Fix links am Rand und verwinderte Deckkraft.
 */
.suche-filter-liste-thin-links {
    display: inline-block;
    z-index: 99999;
    cursor: pointer;
    font-weight: bold;
    color: #000000;
    padding: 15px 10px;
    border: 1px solid #d0d0d0;
    background-color: #ffe2bd;
    border-radius: 3px;
    text-align: left;
    opacity: 0.85;
}

/* Element, dessen Klick den Filter ausblendet */

#suche-filter-liste-broad-hidefilter {
}

/* Element, dessen Klick den Filter einblendet */

#suche-filter-liste-broad-showfilter {
}

/**
 * Styling für #suche-filter-liste-broad-hidefilter und #suche-filter-liste-broad-showfilter
 */

.suche-filter-liste-broad-links {
    display: inline-block;
    /* font-size: 1.0em; */
    line-height: 1.5em;
    padding: 0.5em 1.0em;
    font-weight: 600;
    cursor: pointer;
    color: #000000;
    border: 1px solid #d0d0d0;
    background-color: #ffe2bd;
    border-radius: 6px;
}


/**
 * Die Links, die im Filter kontrollieren, ob/wie Filter/Liste angezeigt werden.
 */
a.suche-filter-view-toggle {

}

/**
 Platz für Hover, wenn nur ein Artikel in der Liste ist
 */

table.artikel.detail.koerper.sekundaer,
table.artikel.detail.detail-cross.koerper.sekundaer {
    margin-bottom: 40px;
}

table.artikel.detail.koerper.sekundaer th {
    font-weight: bold;
}


/**
 * 2026-07-29 Neue Darstellung der Produktlisten mit Bootstrap divs statt table.
 */

/**
 * Lisre-2026-Container für die Produktliste
 */
div.productslist2026-container {
    margin-top: 2em;
    margin-bottom: 2em;
}

/**
 * Lisre-2026-Container für Produkte im Warenkorb
 */
div.warenkorb2026-selected-container {
    margin-top: 2em;
    margin-bottom: 2em;
}


/** Container um alles, das im Kopf ist */
div.list2026-head {
}

/* Zeile mit den Spalten-Titeln. Ist außerhalb der row. */
div.list2026-titles {
    color: #fbfbfb;
    font-weight: bold;
    background-color: #317ab4;
}

/** Die äußeren Columns des Titels, die für das responsive Platzieren zuständig sind. */
div.list2026-head div.list2026-outside-col {
    padding-top: 0.1em;
    padding-bottom: 0.1em;
}

/** Container um alles, dass im Body ist. Ist außerhalb der row. */
div.liste2026-body {
}

/* Container um jede Datenzeile. Ist außerhalb der row. */
div.list2026-product {
    margin: 0.2em 0;
}

/** Die äußeren Columns, die für das responsive Platzieren zuständig sind. */
div.liste2026-body div.list2026-outside-col {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
}

div.list2026-zeile-gerade div.list2026-outside-col {
    background-color: #f4f4f4;
}

div.list2026-zeile-ungerade div.list2026-outside-col {
    background-color: #e8e8e8;
}

/** Die innersten Columns mit den eigentlichen Daten wie Produktname. Padding regulieren, vielleicht abhängt von Media-Query */
.list2026-inside-col {
    padding-left: 1.2em;
    padding-right: 1.2em;
    min-height: 2.0em;
    display: flex;
    align-items: center;
}

.list2026-inside-col.list2026-anzahl {
    justify-content: flex-end;
}

.list2026-inside-col.list2026-anzahl input {
    max-width: 10em;
    text-align: center;
}

.list2026-inside-col.list2026-artikelnummer {
    font-weight: bold;
}

/** H2 wie normalen Text aussehen lassen */
div.list2026-product h2 {
    display: inline;
    margin: 0;
    font-size: 1.0em !important;
}

div.list2026-product input.anzahl {
    font-size: 0.9em;
    padding: 0.1em 0.3em;
}

div.list2026-product .zeile-qualitaet {
    font-weight: normal;
}


/**
 * Filter: Container, der die Artikelliste horizontal scrollen lässt
 * Darin ist div.artikelliste-filter-scrollcontainer-inside
 */

/** BK 2026-08-03 WIRD WOHL WEGFALLEN
div.artikelliste-filter-scrollcontainer-outside {
    overflow: hidden;
    margin-bottom: 10px;
    clear: both;
}
*/

/* Filter: Scroll-Container wenn der Filter ausgeblendet ist. */
/** BK 2026-08-03 WIRD WOHL WEGFALLEN
div.artikelliste-filter-scrollcontainer-inside {
    min-width: 1050px;
    margin-bottom: 10px;
}
*/

/* Filter: Scroll-Container wenn der Filter ausgeblendet ist. */
/* BK 2026-06-22 ich glaube, die brauchen wir nicht (mehr)
div.artikelliste-filter-scrollcontainer-inside-ohnefilter {
    min-width: 1150px;
    margin-bottom: 10px;
}
 */

/* Filter: Scroll-Container wenn der Filter angezeigt wird. */
/* BK 2026-06-22 ich glaube, die brauchen wir nicht (mehr)
div.artikelliste-filter-scrollcontainer-inside-mitfilter {
    min-width: 800px;
}
*/

/* Details: Container, der die Artikelliste horizontal scrollen lässt */

div.artikelliste-details-scrollcontainer-outside {
    overflow: auto;
}

/* Details: Container um die Artikellisten-Blöcke. Liegt in div.artikelliste-details-scrollcontainer-outside */

div.artikelliste-details-scrollcontainer-inside {
    min-width: 1050px;
    margin-bottom: 10px;
}

div.details-hauptartikel-detailsbox {
    padding: 1em 1.25em;
    background-color: #f8f8f8;
}

.details-hauptartikel-detailsbox ul {
    padding-left: 0;
}

div.details-hauptartikel-detailsbox .fa-ul {
    margin-inline-start: var(--fa-li-margin, 1.75em);
}

div.artikel-blog-toggle {
    cursor: pointer;
}

div.artikel-blog-toggle h2 {
    padding-bottom: 1.5rem;
    margin-bottom: 0;
}

.daten-haupt {
    margin-bottom: 1em;
}

.daten-artikelname {
    margin-bottom: 0.75em;
}

div.artikel.detail.kopf div.daten-referenzen {
    /* padding: 1em; */
}

.filter-hinweis-gefilterte-artikel {
    color: #1e610f;
    font-weight: bold;
}

/* Filter Seite - Filter Submit Buttons kleiner */

#suche-filter-filter input[type="submit"] {
    text-transform: capitalize;
    letter-spacing: 0;
    /* padding: 0 15px; */
    /* height: 24px; */
    /* line-height: 24px; */
}

#suche-filter-filter input.filter-clear {
    float: right;
    position: relative;
    top: 1px;
}

/* FilterBlock Linkszeigen */

.filter-block-zeigenlinks {
    display: block;
    float: right;
}

div.filter-block-zeigenlinks-border {
    display: block;
    width: 100%;
    border-bottom: 5px solid #0069b3;
    margin-bottom: 12px;
}

.filter-block-zeigenlinks a {
    text-decoration: none;
}

.filter-block-zeigenlinks span.fa {
    width: 56px;
}

.filter-block-zeigenlinks span.icon-desc {
    font-size: 0.677em;
    position: relative;
    min-width: 56px;
    bottom: 6px;
    display: block;
}

.filter-block-zeigenlinks span.fa,
.filter-block-zeigenlinks span.icon-desc {
    text-align: center;
    padding: 0;
}

/* Icons mit Text darunter beim öffnen/Schlüssel eines Blocks */

.filter-block-zeigenlinks-anzeigen .icon-desc,
.filter-block-zeigenlinks-verstecken .icon-desc {
    margin-top: 5px;
}

.hinweis {
    padding: 0.75em 1em;
    margin-bottom: 1.5em;
}

.hinweis-good, .hinweis-alert {
    min-height: 41px
}

div.hinweis-benutzer {
    margin-top: 15px;
}

/* --- Typography --- */

body {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 1.2em;
    margin-bottom: 0.7em;
    line-height: 1.25;
    font-weight: 600;
}

h1 {
    font-size: 2.1rem;
    letter-spacing: -.1rem;
    margin-bottom: 2.0rem;
}

h2 {
    font-size: 1.8rem;
    letter-spacing: 0;
}

h3 {
    font-size: 1.6rem;
    letter-spacing: 0;
}

h4 {
    font-size: 1.4rem;
    letter-spacing: 0;
}

h5 {
    font-size: 1.3rem;
    letter-spacing: 0;
}

h6 {
    font-size: 1.2rem;
    letter-spacing: 0;
}

/** Hero-Container auf der Startseite - Text und Bild */
.hero-container {
    /* margin-top: 1em; - FP 260709 */
    margin-bottom: 2.5em;
    padding-top: 5em;
    padding-bottom: 3em;
    background-color: #0669b2;
    background: url(/assets/images/lolab_home_back.jpg) center no-repeat;
    font-size: 1.0rem;
}

/** Text auf dem Hero */
div.hero-text {
}

.hero-text h1 {
    margin-top: 1rem;
    font-size: 4.0em;
    font-weight: 900;
}

.hero-text p {
    font-size: 1.3em;
    line-height: 1.5;
    font-weight: 400;
    margin-bottom: 1rem;
}

h3.aktion {
    color: #c90023;
    font-weight: 400;
    line-height: 1;
    margin-bottom: 0;
}

p.aktion {
    color: #c90023;
    font-weight: bold;
}

span.aktion {
    color: #c90023;
    font-weight: bold;
}

.daten-haupt h2,
.daten-haupt h5 {
    line-height: 1;
    margin-bottom: 0.25em;
}

.daten-haupt h5.qualitaet-ergaenzung {
    font-weight: normal;
}

.artikelnummer a {
    text-decoration: none
}

div.header-info .mail,
div.header-info .tel {
    font-size: 24px;
    margin: 10px 0;
    cursor: pointer;
}

div.header-info .mail a {
    text-decoration: none !important;
}

span.kontakt-mail, span.kontakt-tel, span.kontakt-fax {
    font-size: 1.2em;
}

span.kontakt-mail i, span.kontakt-tel i, span.kontakt-fax i {
    width: 1.25em;
}

.kontakte article a, .kontakt-mail a, .kontakt-tel a, .kontakt-fax a {
    text-decoration: none;
}

a.fa {
    text-decoration: none;
}

a.link-merken, a.link-entfernen, a.link-hinzufuegen {
    padding-left: 10px;
}

/* Listen im Inhalt formatieren */

ul {
    list-style: circle outside;
}

ul li {
    margin-bottom: 0.75rem;
}

/* Hinweis --- */

.hinweis {
    /* font-size: 90%; */
}

.hinweis p {
    margin-bottom: 0;
}

.hinweis-alert {
    font-weight: 600;
}

.hinweis ul {
    margin-left: 60px;
    margin-top: 10px;
    margin-bottom: 2px;
}

/* Aufzählungszeichen entfernen */

.hinweis ul li {
    list-style-type: none;
}

#suche-autocompletion-message,
#suche-autocompletion-extra,
div.suche-basistreffer-extra,
div.suche-basistreffer-message,
.overlay-container span {
    font-style: italic;
}

div.overlay-container {
    font-weight: normal;
}

div.suche-handelstreffer,
div.suche-bedarfsstreffer {
    text-transform: uppercase;
}

div.suche-basistreffer,
div.suche-handelstreffer,
div.suche-bedarfsstreffer {
    font-weight: 600;
}

.hinweis.hinweis-artikelgruppe {

}

/**
 *  Da die Basissuche ein paar Sekunden dauert geben wir dem Benutzer beim Absenden einen Hinweis.
 *
 *	Das besteht aus einem Container div.basissuche-wartehinweis-refpoint um das Suchfeld und einem
 *	Hinweis div.basissuche-wartehinweis der (absolute) dazu ausgerichtet ist.
 *
 *	Das Prinzip ist im Header und Startseite dasselbe
 */

div.basissuche-wartehinweis-refpoint {
    position: relative;
}

div.basissuche-wartehinweis {
    display: none;
    position: absolute;
    left: 1px;
    top: 1px;
    padding: 5px;
    color: #404040;
    background-color: #e9eff5;
    border: 0 solid #808080;
    z-index: 999;
}

/* 2023-02-16: Die neue (versuchsweise?) Suche bei der die X wichtigsten sichtbar sind und das
   danach erst auf Anzeige */

div.suche-hits-toggle-container {
    padding: 10px 0 5px 0;
    text-align: center;
    font-style: italic;
}

div.suche-hits-hidden-container {
    display: none;
}

div.suche-hits-toggle-show,
div.suche-hits-toggle-hide {
    text-align: center;
}

div.suche-hits-toggle-show span a,
div.suche-hits-toggle-hide span a {
    margin: 1em auto 0;
}

/* --- Navigation (Top-Menu) --- */

.header-navi {
    font-size: 1.0rem;
}

.header-navi ul {
    margin: 0;
    padding: 0;
}

.header-navi ul li {
    display: inline-block;
    list-style: none;
    padding-left: 0.7em;
    padding-right: 0;
    line-height: 1.3;
}

/* hier kommt das Submenu */

.header-navi ul ul {
    position: absolute;
    width: auto;
    display: none;
    top: auto;
    min-width: 10em;
    max-width: 1000px;
    transition: opacity .25s ease .1s;
}

.header-navi ul ul li {
    width: 100%;
}

.header-navi ul li:hover > ul {
    display: block;
    z-index: 3;
}

.header-navi ul ul a,
.header-navi ul ul a:hover,
.header-navi ul ul a:focus,
.header-navi ul ul a:active {
    border-left: 3px solid transparent
}

.header-navi li,
.header-navi a {
    position: relative;
}

.header-navi li {
    border-width: 0
}

.header-navi a {
    display: flex;
    align-items: center;
    white-space: nowrap;
    text-decoration: none;
    font-size: 1em;
    font-weight: 400;
}

/* im Menue: Kompletter Link */

.header-navi a.warenkorb-gefuellt,
.header-navi a.merkzettel-gefuellt,
.header-navi a.kunde-angemeldet {
    font-weight: bold;
}

/* Anhang mit Klammer und Anzahl */

.header-navi span.warenkorb-gefuellt-postfix,
.header-navi span.merkzettel-gefuellt-postfix {
    font-weight: normal;
}

/* Anhang nur Anzahl */

.header-navi span.warenkorb-gefuellt-postfix-anzahl,
.header-navi span.merkzettel-gefuellt-postfix-anzahl {
    padding: 0 3px 1px 3px;
    border-radius: 5px;
    margin-left: 2px;
    position: relative;
    color: #ffffff;
    background-color: #0069b3;
}

/* User Symbol bei Warenkorb gefüllt */

.header-navi .kunde-angemeldet span {
    margin-left: 2px;
    position: relative;
}

/* Listen --- */

.details ul,
.daten-referenzen ul {
    list-style-type: none;
    margin-bottom: 0;
}

.details ul li:last-child,
.daten-referenzen ul li:last-child {
    margin-bottom: 0;
}

/* Neue auf zwei unterschiedlich aussehende Zeilen verteilte H1 */

.page-suche-details h1 span.qualitaet-haupt {
    display: block;
    font-size: 1.615rem;
    letter-spacing: -.05rem;
}

.daten-referenzen ul li a {
    text-decoration: none;
}

.articles article {
    padding: 1.5em 1.2em;
    font-size: 0.9rem;
    margin-bottom: 1.0em;
    position: relative;
}

.articles article h2 {
    margin-top: 0.5em;
    text-align: center;
    hyphens: initial;
}

.articles article h3 {
    font-weight: 300;
    margin-bottom: 0.25em;
}

.articles article ul {
    margin-bottom: 0;
    margin-left: 0;
}

.articles article li {
    margin-bottom: 0.1em;
}

.articles article h2 a,
.articles article h3 a {
    text-decoration: none;
}

/* Die Intro-Blöcke haben rechts von der H2 ein absolut positioniertes Icon */
.articles article.intro-block h2 {
    text-align: left;
    font-size: 1.6em;
    margin-bottom: 1.5em;
}

article.intro-block div.icon {
    position: absolute;
    right: 1.5em;
    top: 1.5em;
    width: 70px;
    height: auto;
    z-index: 99;
}

div.filter-body h6 {
    font-weight: 400;
    margin: 0;
}

div.filter-body h6,
div.filter-body label {
    font-size: 0.8em;
}

div.filter-body h6 {
    font-family: "Helvetica", Helvetica, Arial, sans-serif;
}

div.filter-body label {
    font-weight: 300;
}

div.filter-body label,
div.filter-body input {
    margin-bottom: 4px;
}

div.filter-body input {
    margin-right: 4px;
}

/* Texte neben der Filter-Checkbox einrücken */

div.filter-body label {
    padding-left: 20px;
    text-indent: -20px;
}

/* --- Tabellen --- */

table tr td {
    vertical-align: top;
}

table.artikel.koerper th {
    font-size: 1.0em;
    font-weight: 600;
    text-align: center;
}

table.artikel.koerper th:first-child {
    text-align: left;
}

table.warenkorb th,
table.merkzettel-edit th,
table.merkzettel-basket th,
table.topsellers th,
table.bestellung th,
table.bestellhistorie th,
table.preislisten th {
    font-size: 0.9em;
    font-weight: 600;
    hyphens: manual;
}

table.warenkorb td,
table.merkzettel-edit td,
table.merkzettel-basket td,
table.topsellers td,
table.bestellung td,
table.bestellhistorie td,
table.preislisten td {
    font-size: 0.9em;
}

tr.hauptartikel td.artikelnummer,
td.artikelnummer a,
table.artikel.detail.koerper.primaer {
    font-weight: 600;
}

th.nowrap,
td.nowrap {
    white-space: nowrap;
}

table.warenkorb td.warenkorb-versandkosten {
    text-align: right;
    padding-top: 10px;
    line-height: 120%;
}

td.preis,
td.packung,
td.align-right,
div.align-right {
    text-align: right;
}

.overlay-container.artikel td:first-child,
.overlay-container.preise span {
    font-size: 1.0em;
}

/* Footer --- */

.footerwrap {
    padding: 20px 0;
}

.footerwrap2 {
    padding: 15px 0;
}

.footer {
    font-size: .965em;
    font-weight: 400;
}

.footer p {
    margin-bottom: 0;
}

.footer a {
    text-decoration: none;
}

.footer-menu ul {
    padding-left: 0
}

.footer-menu ul li {
    position: relative;
    list-style: none;
    /*    float: right; */
    display: inline;
    margin-right: 2em;
}

/* Colors	blau: 0069b3 	hellblau: 8aacdc	d-blau: 00497e

–––––––––––––––––––––––––––––––––––––––––––––––––– */

body {
    background-color: #ffffff;
    /*    background: #00497e; warum alles blau?*/
}

.page {
    background-color: #ffffff;
}

.hinweis-container {
    background-color: #db2d35;
}

article.intro-block {
    background-color: #378eca;
    color: #ffffff;
}

a,
.mail,
.tel,
.header-navi .kunde-angemeldet span {
}

.articles article h2,
.articles article header,
.articles article i {
    color: #0069b3;
}

.articles article.intro-block h2 {
    color: #ffffff;
}

a:hover,
h3.aktion,
p.aktion,
.mail span,
.tel span,
div.error,
p.error,
span.error,
span.red,
.signalwort,
div.suche-autocompletion-extra,
div.suche-basistreffer-extra,
#suche-filter-liste .has-toggles h2:hover {
    color: #c90023; /* Text in Rot #CF1730 */
}

/* 2024-07-15 Artikelgruppen Outfit */

.detail-artikelgruppe {
    color: #999999;
}

div.header-info .mail span a {
    color: #c90023 !important;
}

.header-navi, .header-navi ul, .header-navi li {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.header-navi ul ul {
    background: rgba(255, 255, 255, 0.8523498);
}

.header-navi li a {
    color: black;
}

.header-navi li a:hover {
    color: #0669b2;
}

.header-navi ul ul li a:hover {
    background: #e2f4fe;
}

.header-navi a.current {
    background: #373a3c;
    color: #fff
}

.header-navi a.disabled {
    cursor: not-allowed;
    color: #a1a6a9
}

.hero-container h1, .hero-container p {
    color: #ffffff
}

/* FP 260709 */
.btn.button-home {
    padding: 0.5em 2.0em;
}

.button-home {
    background-color: #f5ca00;
    color: #222222;
    font-size: 0.9em;
    /* padding: 0.5em 2.0em; - FP 260709 */
    text-transform: uppercase;
}

.button-home:hover {
    background-color: #e4a700;
}

.button-merkzettel-basket {
    background-color: #ffc0ff;
}

.button-xmas2023 {
    background-color: #cf1c13;
    border-color: #cf1c13;
    color: #ffffff;
}

.button-xmas2023:hover {
    background-color: #b1270e;
    border-color: #b1270e;
    color: #ffffff;
}

.divider {
    height: 1px;
    border-bottom: 3px solid #c90023;
    margin: 8px auto;
}

/* Footer Colors --- */

.footerwrap {
    background-color: #0069b3;
}

.footerwrap2 {
    background-color: #00497e;
}

.footer {
    color: #ffffff;
}

.footer a {
    color: #efefef !Important;
}

.footer a:hover {
    color: #8aacdc !Important;
}

/** 2025-10-21: Neuer Footer-Abschnitt mit 2 x 4 Blöcken */

div.footerblocks {
    background-color: #efefef;
    padding-top: 1.5em;
    padding-bottom: 1em;
}

div.footerblocks .footer-block {
    color: #202020;
    font-size: 1.0rem;
}

div.footerblocks .footer-block .footer-block-icon img {
    width: 80%;
    text-align: center;
    max-width: 50px;
    max-height: 50px;
    display: block;
    margin: 0 auto 0 auto;
}

div.footerblocks .footer-block h4 {
    color: #0069b3;
    font-size: 1.2em;
    margin-bottom: 10px;
}

div.footerblocks .footer-block p {
    font-size: 0.9em;
}

/* Farben für Buttons --- */

/* BK 2026-08-06 ungewollte Überschreibung Bootstrap?
.content .button,
.content button,
.content input[type="submit"],
.content input[type="button"] {
    color: #0069b3;
    background-color: #ffffff;
    border-color: #0069b3;
}
*/

/* BK 2026-08-06 ungewollte Überschreibung Bootstrap?
.button:hover,
button:hover,
#suche-filter-filter input[name="submit_clear"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
    color: #ffffff;
    background-color: #0069b3;
}
*/

#suche-filter-filter input[name="submit_clear"] {
    color: #ffffff;
    background-color: #8aacdc;
    border-color: #8aacdc;
}

.search-fields button,
button.single-to-basket {
    border: none;
    background-color: transparent;
    background-image: none;
    color: #0069b3;
}

.header form div.search-fields button:hover,
div.search-fields.input.main button:hover {
    color: #c90023;
}

button.single-to-basket:hover,
.link-hinzufuegen:hover {
    color: #34b418;
}

table.warenkorb input,
table.merkzettel-edit input,
table.merkzettel-basket input {
    background-color: #ffffff;
    border-color: #d1d1d1;
}

.header form div.search-fields button:hover {
    background: none;
}

/* Farben für Tabellen --- */

table.artikel.koerper th,
table.warenkorb th,
table.merkzettel-edit th,
table.merkzettel-basket th,
table.topsellers th,
table.bestellung th,
table.bestellhistorie th,
table.preislisten th,
table.hersteller th,
table.warengruppen th,
tr.liste_kopfzeile {
    color: #fbfbfb;
    font-weight: normal;
    background-color: #317ab4;
}


table.artikel.koerper th a,
table.warenkorb th a,
table.merkzettel-edit th a,
table.merkzettel-basket th a,
table.topsellers th a,
table.bestellung th a,
table.bestellhistorie th a,
table.preislisten th a,
table.hersteller th a,
table.warengruppen th a,
tr.liste_kopfzeile a {
    color: #ffffff !important;
}


/** Die Spalte, nach der gerade sortiert wird **/

th.tcol-sortcol a {
    text-decoration: underline;
}

/* Links in THs, z.B. Sortierung - auf volle Spaltenbreite erweitern */

table th a {
    display: block;
    text-decoration: none; /* - - - FP - 250923 - - - */
}

table.artikel.koerper.sekundaer th {
    color: #454545;
    font-weight: normal;
    background-color: #d1d1d1;
}

tr.zeile-qualitaet {
    color: #7d7d7d;
}

/* Artikel deutlicher voneinander getrennt */

table.artikel.koerper tr.zeile-produkte-zeile.zeile-qualitaet td {
    border-bottom-color: #7d7d7d;
}

.overlay-container table tr:last-child td {
    border-bottom: none;
}

/* div.overlay-container table tr td {
    padding: 1px 3px 1px 3px;
} */

/* Farben für besondere Artikel LCL, TOP, RST, HON --- */

table.artikel.koerper .hersteller-rst .artikelnummer a,
table.artikel.detail.koerper.primaer .hersteller-rst .artikelnummer,
table.artikel.koerper .hersteller-rst .lieferzeit,
table.artikel.detail.koerper.primaer .hersteller-rst .lieferzeit {
    color: #cf1c13;
}

table.artikel.koerper .hersteller-rst .artikelnummer a:hover {
    color: #933000;
}

table.artikel.koerper .hersteller-rst .preistabelle .one,
table.artikel.koerper .hersteller-rst .preistabelle .three,
table.artikel.koerper .hersteller-rst .preistabelle .five {
    color: #cf1c13;
    font-weight: bold;
}

/** Die besonderen icons z.B. rotes Ausrufezeichen bei TOP */

span.artikelnummer-spezialmarker {
    margin-right: 4px;
}

span.artikelnummer-spezialmarker img {
    display: inline-block;
    width: 16px;
    position: relative;
    top: 3px;
}

table.artikel.koerper .hersteller-top .artikelnummer a,
table.artikel.detail.koerper.primaer .hersteller-top .artikelnummer {
    color: #cf1c13;
}

table.artikel.koerper .hersteller-top .artikelnummer a:hover {
    color: #933000;
}

table.artikel.koerper .hersteller-top .preistabelle .one,
table.artikel.koerper .hersteller-top .preistabelle .three,
table.artikel.koerper .hersteller-top .preistabelle .five {
    color: #cf1c13;
    font-weight: bold;
}

/* Farben für  Boxen --- */

.hinweis {
    border: 1px solid #d1d1d1;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, .10);
}

.produktgruppen-block {
}

.produktgruppen-block h4 {
    margin: 0;
    font-size: 1.34rem;
}

.articles article {
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, .10);
    /* border-radius: 5px; */
}

.articles article {
    box-shadow: 0 0.9px 0.9px rgba(0, 0, 0, 0.011),
    0 4.9px 4.9px rgba(0, 0, 0, 0.049),
    0 14.9px 16.7px rgba(0, 0, 0, 0.088),
    0 40px 80px rgba(0, 0, 0, 0.05);
}

/* Hover für Fading des Randes */

.articles article:hover {
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, .10);
}

/* Hover Einfärben der H2 */

.articles article:hover h2 a {
    color: #c90023;
}

#suche-autocompletion,
#details-auswahl {
    border: 1px solid #a0a0a0;
}

.hinweis,
#suche-autocompletion,
#details-auswahl,
div.overlay-container {
    background-color: #efefef;
}

div.overlay-container {
    box-shadow: 0 0.9px 0.9px rgba(0, 0, 0, 0.011),
    0 4.9px 4.9px rgba(0, 0, 0, 0.049),
    0 9.9px 9.9px rgba(0, 0, 0, 0.088),
    0 16px 16px rgba(0, 0, 0, 0.05);
}

.hinweis.hinweis-artikelgruppe {
    background-color: transparent;
    color: #317ab4;
}

.hinweis.hinweis-demo,
.hinweis.hinweis-aktion {
    background-color: transparent; /* c90023 */
    color: #ffffff;
    font-weight: 600;
    text-align: center;
    margin-bottom: 0;
    border: none;
}

/** Trefferliste der Start-Suche */

div.listeneintrag,
div.listeneintrag:last-child {
    border-bottom: 1px solid #a0a0a0;
}

/** Trefferliste der Start-Suche: Ein Link (enthält Name und Details) */

div.listeneintrag a {
    display: block;
}

/** Trefferliste der Start-Suche: Details (Anzahl Treffer, ähnlichkeit etc.) */

div.listeneintrag span.listeneintrag-details {
    font-size: 85%;
    font-weight: 400;
    color: #222222;
}

/* border under hersteller img */

div.herstellerlogo {
    /* border-bottom: 1px solid #d1d1d1; */
}

.filter-body input[type="text"],
.filter-body select {
    width: 99%;
}

div.suche-basistreffer,
div.suche-handelstreffer,
div.suche-bedarfsstreffer {
    border: 1px solid #d1d1d1;
    background-color: #e9eff5;
}

.hinweis-icon {
    display: table-cell;
    vertical-align: inherit;
    float: left;
    margin-right: 10px;
}

.hinweis-alert {
    border-color: #c90023;
}

.hinweis-alert .hinweis-icon {
    color: #c90023;
}

.hinweis-good {
    border-color: #acb623;
}

.hinweis-good .hinweis-icon {
    color: #acb623;
}

/* Hinweis, dass man etwas sieht, was nur der Admin sehen kann */

.hinweis-admin-only {
    font-weight: bold;
    font-size: 110%;
    color: #a00000;
    text-align: center;
}

/* --- Diverses --- */

div.symbole-signalwort {
    width: 100%;
}

div.symbole-signalwort:after {
    content: "";
    display: table;
    clear: both;
}

.symbole span {
    display: block;
    width: 32px;
    height: 32px;
    float: left;
    margin-right: 5px;
}

span.symbol-ghs01 {
    background: url(/assets/images/ghs01.png) no-repeat left center;
}

span.symbol-ghs02 {
    background: url(/assets/images/ghs02.png) no-repeat left center;
}

span.symbol-ghs03 {
    background: url(/assets/images/ghs03.png) no-repeat left center;
}

span.symbol-ghs04 {
    background: url(/assets/images/ghs04.png) no-repeat left center;
}

span.symbol-ghs05 {
    background: url(/assets/images/ghs05.png) no-repeat left center;
}

span.symbol-ghs06 {
    background: url(/assets/images/ghs06.png) no-repeat left center;
}

span.symbol-ghs07 {
    background: url(/assets/images/ghs07.png) no-repeat left center;
}

span.symbol-ghs08 {
    background: url(/assets/images/ghs08.png) no-repeat left center;
}

span.symbol-ghs09 {
    background: url(/assets/images/ghs09.png) no-repeat left center;
}

.signalwort {
    position: relative;
    display: block;
    height: 32px;
    line-height: 32px;
    vertical-align: middle;
    margin-bottom: 0.76em;
}

code ul {
    margin-bottom: 0;
}

/* z.B. Checkout-Formular */

div.error input,
div.error select,
div.error textarea,
input.error,
select.error,
textarea.error {
    background-color: #ffcccc;
    border-color: #cc0000;
}

textarea[name="bemerkungen"],
textarea[name="nachricht"] {
    height: auto;
}

/* Style --- */

span.pflichtfeld {
    font-size: 80%;
}

ul.general_errorslist_ul {
    margin-bottom: 0;
    margin-top: 0;
}

/* Auswählen-Link rechts in der Liste */

div.listeneintrag a,
div.listeneintrag a:hover {
    text-decoration: none;
    text-align: left;
    border-bottom: 0;
}

/* Container um #suche-autocompletion damit dieser absolut positioniert werden kann. */

#suche-autocompletion-ankerpunkt {
    position: relative;
    margin: 10px auto 10px auto;
    width: 100%;
}

/* Container um #suche-autocompletion-message und #suche-autocompletion-hits
   WICHTIG: Wird in der Ajax-Version per Javascript absolut platziert */

#suche-autocompletion {
    position: relative;
    top: 0;
    left: 300px;
    padding: 5px;
    width: 500px;
}

/* ergebnis-Text */

div.suche-basistreffer,
div.suche-handelstreffer,
div.suche-bedarfsstreffer {
    padding: 15px;
    margin-bottom: 1.5em;
}

div.suche-basistreffer a,
div.suche-handelstreffer a,
div.suche-bedarfsstreffer a {
    text-decoration: none;
}

#suche-autocompletion-message,
#suche-autocompletion-extra,
div.suche-basistreffer-extra,
div.suche-basistreffer-message {
    width: 100%;
    /* font-style: italic; */
    padding: 0;
    margin-bottom: 10px;
}

/* Trefferliste der Basissuche */

#suche-autocompletion-hits {
    width: 100%;
    padding-top: 5px;
    max-height: 200px;
    overflow: auto;
}

div.suche-basistreffer-hits,
div.suche-filterliste-hits {
    width: 100%;
    padding-top: 5px;
}

tr.filterliste-aktueller-artikel {
    background-color: #E0F0FF;
}

/* Zeile in einer Produktliste/ Auswahlliste (Basis-Suche oder Details-Suche) */

div.listeneintrag {
    padding: 3px;
    cursor: pointer;
    min-height: 20px;
    line-height: 20px; /* Text vert. zentriert */
}

div.listeneintrag:last-child {
    padding: 3px;
    cursor: pointer;
}

/* Sonderfall Warengruppe - in zwei Spalten geteilt */

div.listeneintrag span.wgr-obername {
    display: block;
    float: left;
    width: 240px;
}

div.listeneintrag span.wgr-untername {
    float: none;
}

/* Linker Teil (Artikelname) der Autocomplete-Liste auf Startseite. Rechts davon ist der Link */

div.suche-basistreffer div.listeneintrag span {
    width: 80%;
}

/* Basis-Seite: Container um den zweispaltigen Text unten auf der --- */

#suche-intros {
    margin: 30px auto 0 auto;
}

#suche-intros div.intro-left {
    float: left;
    width: 30%;
}

#suche-intros div.intro-middle {
    float: left;
    width: 30%;
}

#suche-intros div.intro-right {
    float: right;
    width: 30%;
}

/* Ab hier nun die Styles fuer die Details-Suche --- */

#suche-anzeigebasiswert {
    margin: 10px 0 10px 0;
    padding: 2px 5px;
    vertical-align: middle;
}

/* Eine Unternavigation innerhalb einer Seite mit zentrierten Links, z.B. oben in den Sortimenten */

div.subnavbar-center {
    text-align: center;
    margin: 30px 0 30px 0;
    text-transform: uppercase;
}

div.subnavbar-center a {
    margin-left: 10px;
    margin-right: 10px;
    font-size: 105%;
}

/* Eine Unternavigation innerhalb einer Seite mit rechts ausgerichteten Links, z.B. oben im Merkzettel */

div.subnavbar-right {
    text-align: right;
    margin: 30px 0 30px 0;
    text-transform: uppercase;
}

/* Ergebnis-Seite (Darstellung der passenden Produkte mit Details als Tabelle) */

table.artikel {
    width: 100%
}

/* Filter Seite - Umbruch in Tabelle verhindern */

table .list2026-anzahl,
table .lieferzeit {
    white-space: nowrap;
}

table td.lieferzeit {
    text-transform: uppercase;
}

/* table.artikel .lieferzeit */

span.overlaylieferundlager-link {
    /* BK 2026-08-02 wieso klein? font-size: 0.8em; */
    padding-right: 0.5em;
}

/* Tabellen */

table.artikel.koerper th,
table.warenkorb th,
table.merkzettel-edit th,
table.merkzettel-basket th,
table.topsellers th,
table.bestellung th,
table.bestellhistorie th,
table.preislisten th {
    border-bottom: none;
    padding: 2px 4px;
}

table.artikel td {
    font-size: 1.0em;
    padding: 1px 3px 1px 2px;
    margin: 0;
    line-height: 1.6;
}

/* --- damit die Preistabelle kein zusätzliches Padding hat */

table.artikel td td {
    padding: 0;
}

/* Abwechselnd pro Produkt der Ergebnisliste */

tr.zeile-gerade {
    background-color: #f2f2f2;
}

/* Spalten der oberen Tabelle auf der Ergebnisseite */

table.artikel .kopf td.spalte1 {
    width: 25%;
}

table.artikel .kopf td.spalte2 {
    width: 15%;
}

table.artikel .kopf td.spalte3,
table.artikel .kopf td.spalte4,
table.artikel .kopf td.spalte5 {
    width: 20%;
}

/* --- Artikel-Tabellen neuer Style --- */

table.artikel.koerper .tcol.one {
    width: 15%;
}

table.artikel.koerper .tcol.seven {
    width: 25%;
}

table.artikel.koerper .tcol.two,
table.artikel.koerper .tcol.three,
table.artikel.koerper .tcol.five,
table.artikel.koerper .tcol.six {
    width: 8%;
}

table.artikel.koerper .tcol.four {
    width: 28%;
}

table.artikel.koerper .tcol.two {
    text-align: right;
}

table.artikel.koerper .tcol.five {
    text-align: center;
}

table.artikel.koerper .tcol.six {
    text-align: right;
}

table.artikel.koerper .tcol.seven {
    text-align: left;
}

/** Den Hersteller in der Artikelliste haben wir als h2, soll aber normal aussehen. vermutlich SEO */
table.artikel.koerper .tcol.seven h2 {
    display: inline;
    margin: 0;
    font-size: 1.0em;
}

table.artikel input.anzahl {
    width: 50%;
    height: 22px;
    padding: 0;
    margin: 0;
    position: relative;
    top: -1px;
}

div.ergebnis-submits {
    margin: 0 0 15px 0;
    text-align: right;
}

div.ergebnis-submits input {
    margin: 0 0 0 15px;
}

td.artikelnummer {
    position: relative;
    z-index: 99;
}

/* Bezugspunkt fuer div.overlayartikel-container und span.overlayartikel-link */

.refpoint-overlayartikel,
.refpoint-overlaypreise,
.lieferzeit {
    position: relative;
}

span.overlayartikel-link {
    position: absolute;
    top: 0;
    right: 0.4em;
}

/* Verhindern, dass Kinder Events auslösen, inbesondere ein mouseout */

span.overlayartikel-link * {
    pointer-events: none;
}

/* Das Icon (seit Mai 2023) */

span.overlayartikel-link img {
    width: 16px;
    height: auto;
}

/*
  Overlay-Hover - Preis Info Link.
  Variante ab Mai 2023 mit eigenen Icons
*/

.refpoint-overlaypreise span.overlaypreise-link {
    position: absolute;
    top: 0;
    left: 23%;
}

/* Verhindern, dass Kinder Events auslösen, inbesondere ein mouseout */

span.overlaypreise-link * {
    pointer-events: none;
}

/* Das Icon (seit Mai 2023) */

span.overlaypreise-link img {
    width: 18px;
    height: auto;
}

/*
  Overlay-Hover - Preis Info Link.
  Variante ab Mai 2023 mit eigenen Icons.
  Icons sind in /assets/images/preiscodes
*/

.refpoint-overlaypreise span.preiscode-icon {
}

/* Container fuer die Aufschluesselung --- fp */

div.overlay-container {
    display: none;
    position: absolute;
    padding: 3px;
    z-index: 99;
    font-size: 85%;
    font-weight: 400;
    /*	line-height: 125%; */
}

div.overlay-container.artikel {
    min-width: 260px;
    width: auto;
    left: 98%;
    top: 1.6em;
}

div.overlay-container.preise {
    min-width: 260px;
    width: auto;
    left: 28%;
    top: 1.6em;
}

div.overlay-container.lieferundlager {
    min-width: 200px;
    max-width: 260px;
    width: auto;
    right: 3%;
    top: 1.6em;
    text-align: left;
    text-transform: initial;
    white-space: initial;
    hyphens: initial;
}

/* --- Formatierung Preistabelle --- */

.overlay-container table,
table.preistabelle {
    width: 100%;
    margin-bottom: 0;
}

table.preistabelle tr td {
    border: none !Important;
}

table.preistabelle td.tcol-p {
    width: 20%;
    text-align: right;
}

table.artikel .koerper table.preistabelle tr td {
    padding: 2px 5px 2px 2px;
    white-space: nowrap;
    font-size: 12px;
}

table.preistabelle td.list2026-anzahl {
    width: 13%;
}

table.preistabelle td.lieferzeit {
    width: 18%;
}

/** Hinweis zu Lagerbeständen wenn Benutzer nicht angemeldet ist. **/
/* div.lieferundlager-hint {
    font-size: 15px;
    text-align: left;
} */

/* table.lieferundlager td {
    vertical-align: top;
} */

/* Farbliche Kennzeichnungen der Liefer/Lager-Stati. Schliessen sich gegenseitig aus. --- */

/* Lol hat auf Lager und hat bestellt #38cc1d */

td.lieferundlager-lolja-bestellt {
    background-image: linear-gradient(to right, rgba(56, 204, 29, 0) 50%, rgba(56, 204, 29, 1) 100%);
}

/* Lol hat auf Lager aber nicht bestellt #38cc1d */

td.lieferundlager-lolja {
    background-image: linear-gradient(to right, rgba(56, 204, 29, 0) 50%, rgba(56, 204, 29, 1) 100%);
}

/* Lol hat leer und bestellt, Hersteller egal #aaffaa */

td.lieferundlager-lolnull-bestellt {
    background-image: linear-gradient(to right, rgba(179, 241, 123, 0) 50%, rgba(179, 241, 123, 1) 100%);
}

/* Lol k.A., Hersteller hat auf Lager #aaffaa */

td.lieferundlager-herstja {
    background-image: linear-gradient(to right, rgba(179, 241, 123, 0) 50%, rgba(179, 241, 123, 1) 100%);
}

/* Lol k.A., Hersteller hat Eintrag aber leer (auf Abruf) #ffaa66 */

td.lieferundlager-herstnull {
    background-image: linear-gradient(to right, rgba(248, 241, 110, 0) 50%, rgba(248, 241, 110, 1) 100%);
}

/* Fallback: Keine verwertbaren Infos - weder von Lol noch Hersteller */

td.lieferundlager-noinfo {
    /* background-image: linear-gradient(to right, transparent 90%, rgb(254, 251, 213) 10%); */
}

/* Warenkorb: Basis */

table.warenkorb {
    width: 100%
}

table.warenkorb td {
    padding: 3px;
    margin: 0;
}

table.warenkorb input,
table.warenkorb_entered input {
    width: 99%;
    margin: 0;
    height: 24px;
    padding: 1px 3px;
}

/* Warenkorb: Artikel-Tabellen neuer Style */

table.warenkorb .tcol.one,
table.warenkorb_entered .tcol.one {
    width: 14%;
}

table.warenkorb .tcol.two,
table.warenkorb_entered .tcol.two {
    width: 50%;

}

table.warenkorb .tcol.three,
table.warenkorb .tcol.four,
table.warenkorb .tcol.five,
table.warenkorb .tcol.six {
    width: 8%;
}

table.warenkorb .tcol.seven {
    width: 4%;
    text-align: center;
}

table.warenkorb .tcol.one,
table.warenkorb .tcol.four,
table.warenkorb .tcol.five,
table.warenkorb .tcol.six {
    white-space: nowrap;
}

table.warenkorb th.tcol.three,
table.warenkorb_entered td.tcol.three input,
table.warenkorb th.tcol.four,
table.warenkorb_entered td.tcol.four input,
table.warenkorb th.tcol.five,
table.warenkorb th.tcol.six {
    text-align: center;
}

table.warenkorb td.tcol.four,
table.warenkorb td.tcol.five,
table.warenkorb td.tcol.six {
    text-align: right;
}

div.submits-container {
    text-align: right;
    margin: 3em 0 3em 0;
}

div.checkout-agb {
    margin: 10px 0 10px 0;
}

/* --- Checkout: Kundendaten --- */

li.nav13 {
    margin-bottom: 25px;
}

table.hersteller {
    margin-left: 0;
}

table.hersteller th,
table.hersteller td {
    padding: 3px 15px 3px 3px;
}

table.warengruppen {
    margin-left: 0;
}

table.warengruppen th,
table.warengruppen td {
    padding: 3px 15px 3px 3px;
}

span.freitext-trenner {
    padding-left: 30px;
}

span.freitext-text {
    font-weight: bold;
    color: #cc0000;
}

/* Analystenzertifikat/Charge */

#analysenzertifikat-popup {
    font-size: 90%;
}

#analysenzertifikat-popup input,
#analysenzertifikat-popup button {
    width: 90%;
    padding: 3px;
    margin: 0 0 5px 0;
    line-height: 20px;
    height: auto;
}

/* Merkzettel beim Bearbeiten: Basis */

table.merkzettel-edit {
    width: 100%
}

table.merkzettel-edit th,
table.merkzettel-edit td {
    padding: 1px 3px 1px 2px;
}

table.merkzettel-edit textarea {
    width: 99%;
    margin: 0;
    min-height: 50px; /* - - - FP - 250923 - - - */
    padding: 1px 3px;
}

/* Merkzettel beim Bearbeiten: Artikel-Tabellen */

table.merkzettel-edit .tcol-artikelnummer {
    width: 13%;
    white-space: nowrap;
}

/* Lange Bezeichnung */

table.merkzettel-edit .tcol-bezeichnung {
    width: 35%;
}

/* Inhalt */

table.merkzettel-edit .tcol-inhalt {
    width: 5%;
    white-space: nowrap;
}

table.merkzettel-edit .tcol-preis {
    width: 7%;
    white-space: nowrap;
    text-align: right;
}

table.merkzettel-edit .tcol-hinzugefuegt {
    width: 7%;
    white-space: nowrap;
}

table.merkzettel-edit .tcol-anzahl {
    width: 3%;
    white-space: nowrap;
}

table.merkzettel-edit .tcol-ihrenummer {
    width: 10%;
    white-space: nowrap;
}

table.merkzettel-edit .tcol-ihrenotizen {
    width: 15%;
    white-space: nowrap;
}

table.merkzettel-edit .tcol-actions {
    width: 4%;
    white-space: nowrap;
    vertical-align: middle;
}

/* Merkzettel beim Warenkorb-Übernahme: Basis */

table.merkzettel-basket {
    width: 100%
}

table.merkzettel-basket th,
table.merkzettel-basket td {
    padding: 5px 5px 5px 10px;
}

table.merkzettel-basket input[type="text"] {
    width: 99%;
    margin: 0;
    height: 24px;
    padding: 1px 3px;
}

table.merkzettel-basket textarea {
    width: 99%;
    margin: 0;
    height: 46px;
    padding: 1px 3px;
}

/* Merkzettel beim Warenkorb-Übernahme: Artikel-Tabellen */

table.merkzettel-basket .tcol-marker {
    width: 12%;
    white-space: nowrap;
}

table.merkzettel-basket .tcol-artikelnummer {
    width: 12%;
    white-space: nowrap;
}

/* Lange Bezeichnung */

table.merkzettel-basket .tcol-bezeichnung {
    width: 30%;
}

/* Inhalt */

table.merkzettel-basket .tcol-inhalt {
    width: 5%;
    white-space: nowrap;
}

table.merkzettel-basket .tcol-preis {
    width: 6%;
    white-space: nowrap;
    text-align: right;
}

table.merkzettel-basket .tcol-hinzugefuegt {
    width: 7%;
    white-space: nowrap;
}

table.merkzettel-basket .tcol-anzahl {
    width: 3%;
    white-space: nowrap;
}

table.merkzettel-basket .tcol-ihrenummer {
    width: 10%;
    white-space: nowrap;
}

table.merkzettel-basket .tcol-ihrenotizen {
    width: 15%;
    white-space: nowrap;
}

td.tcol-marker label {
    font-weight: normal;
    margin-bottom: .2rem;
}

td.tcol-marker input,
td.tcol-anzahl input {
    margin-bottom: .2rem;
}

/* Ist relativ Positioniert um darin die Buttons absolut zu positionieren */

div.merkzettel-submits {
    position: relative;
    margin: 20px 0 20px 0;
    text-align: right;
    height: 30px;
}

/* Buttons innerhalb von div.merkzettel-submits positionieren */

input.merkzettel-button-suchen {
    position: absolute;
    left: 0;
}

input.merkzettel-button-drucken {
    position: absolute;
    left: 0;
}

input.merkzettel-button-loeschen {
    position: absolute;
    left: 440px;
}

/* Topsellers: Basis */

table.topsellers {
    width: 100%
}

table.topsellers th,
table.topsellers td {
    padding: 5px 5px 5px 10px;
}

/* Topsellers: Artikel-Tabellen */

table.topsellers td.tcol-marker {
    width: 5%;
    white-space: nowrap;
    text-align: center;
}

table.topsellers td.tcol-artikelnummer {
    width: 14%;
    white-space: nowrap;
}

table.topsellers td.tcol-bezeichnung {
    white-space: nowrap;
    width: 52%;
}

table.topsellers td.tcol-inhalt {
    width: 7%;
    white-space: nowrap;
    text-align: right;
}

table.topsellers td.tcol-anzahlbestellungen {
    width: 12%;
    white-space: nowrap;
    text-align: center;
}

table.topsellers td.tcol-anzahlartikel {
    width: 10%;
    white-space: nowrap;
    text-align: center;
}

/* Bestellung (Anzeige): Basis */

table.bestellung {
    width: 100%
}

table.bestellung th,
table.bestellung td {
    padding: 5px 5px 5px 10px;
}

/* Bestellung (Anzeige): Artikel-Tabellen */

table.bestellung .tcol-marker {
    width: 5%;
    white-space: nowrap;
}

table.bestellung .tcol-artikelnummer {
    width: 15%;
    white-space: nowrap;
}

table.bestellung .tcol-bezeichnung {
    width: 50%;
}

table.bestellung .tcol-inhalt {
    width: 10%;
    white-space: nowrap;
    text-align: right;
}

table.bestellung .tcol-anzahl {
    width: 10%;
    white-space: nowrap;
    text-align: right;
}

table.bestellung .tcol-preis {
    width: 10%;
    white-space: nowrap;
    text-align: right;
}

/* Bestellhistorie */

table.bestellhistorie {
    width: 100%
}

table.bestellhistorie th,
table.bestellhistorie td {
    padding: 5px 5px 5px 10px;
}

table.bestellhistorie .tcol-date {
    width: 15%;
}

table.bestellhistorie .tcol-status {
    width: 15%;
}

table.bestellhistorie .tcol-referenznummer {
    width: 20%;
}

table.bestellhistorie .tcol-bemerkungen {
    width: 40%;
}

table.bestellhistorie .tcol-actions {
    width: 10%;
}

/* Preislisten (Anzeige): Basis */

table.preislisten {
    width: 100%
}

table.preislisten th,
table.preislisten td {
    padding: 5px 5px 5px 10px;
}

/* Preislisten (Anzeige): Artikel-Tabellen */

table.preislisten .tcol-artikelnummer {
    width: 9%;
    white-space: nowrap;
}

table.preislisten .tcol-bezeichnung {
    width: 18%;
}

table.preislisten .tcol-finalerpreis {
    width: 5%;
    text-align: right;
}

table.preislisten .tcol-preisinfo-artikel {
    width: 17%;
}

table.preislisten .tcol-preisinfo-rabatt {
    width: 17%;
}

table.preislisten .tcol-preisinfo-individual {
    width: 17%;
}

table.preislisten .tcol-preisinfo-sonderpreis {
    width: 17%;
}

/* Fixe Breiten für saubere Ausrichtung der Zahlen untereinander */

table.preisinfotable span.preisinfo-anzahl {
    display: inline-block;
    min-width: 20px;
}

table.preisinfotable span.preisinfo-preis {
    display: inline-block;
    min-width: 45px;
}

/**
 * Die kleine Tabelle mit Preisen innerhalb der Liste der Preislisten
 */

table.preisinfotable {
    width: 98%;
}

table.preisinfotable td {
    border-width: 0;
    padding: 0 2px 0 2px;
    background-color: #f0f0f0;
    font-size: 90%;
}

table.preisinfotable td.tcol-einzelpreis {
    width: 24%;
    text-align: right;
}

table.preisinfotable span.price-onrequest {
    font-size: 85%;
}

table.preisinfotable td.tcol-staffel1 {
    width: 33%;
    text-align: right;
}

table.preisinfotable td.tcol-staffel2 {
    width: 33%;
    text-align: right;
}

table.preisinfotable td.tcol-preiscode {
    width: 10%;
    text-align: right;
}

/**
 * Pagination (Preislisten)
 */

div.pagination {
    text-align: center;
    margin: 20px 0 20px 0;
}

div.pagination a {
    padding: 0 4px 0 4px;
    text-decoration: none;
}

div.pagination a.current {
    font-weight: 600;
    color: #CF1730;
}

/*
 *  Vorschauen der CMS Produktgruppen auf der Startseite und Übersicht.
 */

div.sortimente-container article.columns:nth-child(2n+1) {
    margin-left: 0;
}

div.sortimente-container article {
    margin-bottom: 3.5em;
    min-height: 200px;
}

/*
 * Vorschau einer CMS Produktgruppe auf Übersicht und Startseite
 */

.cms-produktgruppe-vorschau {
    margin: 0;
    font-size: 0.90rem;
}

.cms-produktgruppe-vorschau h2 {
    font-size: 1.8em;
}

.cms-produktgruppe-vorschau-bild img {
    width: 100%;
    height: auto;
}

.cms-produktgruppe-vorschau-bildcontainer {
    display: flex;
    align-items: center;
    min-height: 72px;
}

.cms-produktgruppe-vorschau-bildcontainer img.herstellerlogo {
    margin-left: auto;
    margin-right: auto;
}

.cms-produktgruppe-vorschau-link {
    text-align: right;
}

.cms-produktgruppe-vorschau-auszug img.herstellerlogo {
    float: left;
    padding: 0 10px 10px 0;
    max-width: 100px;
}

/*
 * Hauptseite einer CMS Produktgruppe
 */

div.cms-produktgruppe-seite-bild img {
    width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    display: block;
}

div.cms-produktgruppe-filterundliste {
    margin-top: 20px;
}

/* Kennnummer Vorschau */

div.kennnummer-vorschau {
    margin: 0;
    /* text-align: center; */
}

div.kennnummer-vorschau-bild img {
    width: 100%;
    height: auto;
}

div.kennnummer-vorschau-bildcontainer {
    display: flex;
    align-items: center;
    min-height: 72px;
}

div.kennnummer-vorschau-bildcontainer img.herstellerlogo {
    margin-left: auto;
    margin-right: auto;
}

div.kennnummer-vorschau-link {
    text-align: right;
}

/* --- Angepasste Spaltenbreiten, weil eine Spalte mehr --- */

.cms-produktgruppe-filterundliste table.artikel.koerper .tcol.one,
.cms-produktgruppe-filterundliste table.artikel.koerper .tcol.seven {
    width: 20%;
}

.cms-produktgruppe-filterundliste table.artikel.koerper .tcol.two,
.cms-produktgruppe-filterundliste table.artikel.koerper .tcol.three,
.cms-produktgruppe-filterundliste table.artikel.koerper .tcol.five,
.cms-produktgruppe-filterundliste table.artikel.koerper .tcol.six {
    width: 10%;
}

.cms-produktgruppe-filterundliste table.artikel.koerper .tcol.four {
    width: 20%;
}

/**
 * Normale Elemente die per JS verlinken sollen. Login-Ziel steht dann in data-lolelementlink .
 */

.lolelementlink {
    cursor: pointer;
}

/**
 * Zur Darstellung des Cross-Sellings auf der Details-Seite unten
 */

div.crosssales-toggle {
    text-align: center;
}

/** Verwenden von einzelnen Snippets in verschiedenen Seiten, z.B. Kontakt, Anfrage
    Wo mehrere Snippets in einer Seite sind, ist das hier der Hauptinhalt */

div.snippet-inpage {
    margin: 20px 0 20px 0;
    background-color: #ffc0ff;
}

/** Den Textabschnitten oben eine feste Höhe geben, damit die Seite beim Wechsel nicht optisch springt */

body.page-cms-produktgruppen div.snippet-inpage,
body.page-chemie div.snippet-inpage {
    min-height: 100px;
}

/** Teilweise werden Snippets als Footer verwendet. Ist nicht einheitlich */

div.snippet-footer {
    margin: 15px 0 10px 0;
}

option.select-option-parent {
    font-weight: bold;
}

option.select-option-child {
    font-weight: normal;
}

/* Dashboard (Startseite Konto) */

div.dashboard-kundendaten {
    padding: 20px;
    background-color: #f0f0f0;
}

div.dashboard-kacheln {
}

div.dashboard-kachel {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    line-height: 1.5em;
    padding: 20px;
    background-color: #f0f0ff;
    text-align: center;
    border: 1px outset #a0a0b0;
}

div.dashboard-kachel-danger {
    background-color: #fff0f0;
    border: 1px outset #b0a0a0;
}

div.dashboard-kachel a {
    color: #4040a0;
    font-weight: bold;
    text-decoration: none;
}

/* --- Kontaktformular --- */

.kontaktanfrage-feldnamew {
    display: none;
}

div.kontakt-submits {
    margin: 20px 0 20px 0;
    text-align: center;
}

/**
 * Registrierungs-Formular
 */

.registrierung-feldnamew {
    display: none;
}

/* Ist relativ Positioniert um darin die Buttons absolut zu positionieren */

div.registrierung-submits {
    margin: 20px 0 20px 0;
    text-align: center;
}

/*
 * Einzelner Kennnummern-Eintrag auf der Chemikalien-Seite
 */

article.chemie-kennnummer-article {
    padding: 0.25em 1em;
    display: flex;
    align-items: stretch;
    font-size: 1.0rem;
}

article.chemie-kennnummer-article img {
    width: 90%;
}

article.chemie-kennnummer-article h2 {
    font-size: 1.3em;
    text-align: left;
}

article.chemie-kennnummer-article p {
    font-size: 0.9em;
}

/* li unten in den Chemikalien. Sind typischerweise per li umgesetzte Bubbles */

.chemie-kennnummer-details ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.chemie-kennnummer-details li {
    display: inline-block;
    font-size: .8em;
    margin-right: .5em;
    margin-bottom: .5em;
    padding: 4px 12px;
    background-color: #f2f2f2;
    border-radius: 20px;
    padding-left: 0;
}

div.tox.tox-tinymce {
    margin-bottom: 1.5rem;
}

/* Texthinweis die mit dem Land zu tun haben, z.B. Registrierung und Bestellung */

.registration-landhinweis,
.warenkorb-landhinweis,
.checkout-landhinweis {
    padding: 0;
    margin: 5px 0 5px 0;
    text-align: left;
    color: #c90023;
}

.fa-2x {
    font-size: 1.2em !important;
}

/* Bootstrap Breakpoints: Eigenes Overlay, frei positionierbar - z.B. in die eigene custom.css übernehmen */
#bp-indicator {
    position: fixed;
    top: 1rem;
    left: 1rem;
    z-index: 1080; /* über Bootstrap-Modals (1055) */
    font-family: monospace;
    font-size: 0.9rem;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.25);
}

#bp-indicator .badge {
    font-size: 1rem;
    padding: 0.5rem 0.9rem;
}

#bp-width {
    opacity: 0.85;
}


@media print {
    .fa-up-long {
        display: none;
    }

    .fa-down-long {
        display: none;
    }

    .breadcrumb-and-submenu {
        display: none;
    }
}

/* smaller than 860 */
/* vor bootstrap
@media (max-width: 768px) {
    .container {
        width: 95%;
    }

    .header .header-logo,
    .header .header-head,
    .header .header-info {
        width: 95%;
    }

    table.artikel.koerper .tcol.two,
    table.artikel.koerper .tcol.three,
    table.artikel.koerper .zeile-qualitaet {
        display: none;
    }

}
*/

/* Smaller than phablet (also point when grid becomes active) */
/*
vor bootstrap
@media (max-width: 550px) {
    .container {
        width: 95%;
    }

    .hero-container {
        padding-top: 0;
        background: none;
        background-color: #0669b2;
    }

    .column,
    .columns {
        margin-left: 0;
    }

    .header {
        position: relative;
    }

    .header .header-logo,
    .header .header-head,
    .header .header-info {
        width: 95%;
    }

    .headbuffer {
        margin-top: 0;
    }

}
*/

/* Variable Header-Höhe passend setzen */

/* Bootstrap 5 Breakpoints:
   xs:  < 576px
   sm:  ≥ 576px
   md:  ≥ 768px
   lg:  ≥ 992px
   xl:  ≥ 1200px
   xxl: ≥ 1400px
*/

/**
 * Die Höhe unseres fixen Headers hängt vom Viewport/Breakpoint ab
 */

/* xs – Standard/Fallback */

:root {
    --header-height: 340px;
}

/* sm */
@media (min-width: 576px) {
    :root {
        --header-height: 220px;
    }
}

/* md */
@media (min-width: 768px) {
    :root {
        --header-height: 150px;
    }
}

/* lg */
@media (min-width: 992px) {
    :root {
        --header-height: 140px;
    }
}

/* xl */
@media (min-width: 1200px) {
    :root {
        --header-height: 140px;
    }
}

/* xxl */
@media (min-width: 1400px) {
    :root {
        --header-height: 140px;
    }
}
