:root {
    --black: #000;
    --white: #fff;
    --deutz-white: #f2f2f2;
    --deutz-grey: #b1b1b1;
    --deutz-green: #37A137;
    --deutz-blue: #1b4378;
    --deutz-dark-blue: #0f294d;
    --deutz-footer-grey: #1d1d1d;
    --barlow: 'Barlow Condensed', sans-serif;
    --lato: 'Lato', sans-serif;
}

@font-face {
    font-family: 'Barlow Condensed';
    font-style: normal;
    font-weight: 400;
    src: url('../font/BarlowCondensed-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Barlow Condensed';
    font-style: italic;
    font-weight: 400;
    src: url('../font/BarlowCondensed-Italic.ttf') format('truetype');
}

@font-face {
    font-family: 'Barlow Condensed';
    font-style: normal;
    font-weight: 700;
    src: url('../font/BarlowCondensed-Bold.ttf') format('truetype');
}

@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 400;
    src: url('../font/Lato-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Lato Italic';
    font-style: italic;
    font-weight: 400;
    src: url('../font/Lato-Italic.ttf') format('truetype');
}

@font-face {
    font-family: 'Lato Bold';
    font-style: normal;
    font-weight: 700;
    src: url('../font/Lato-Bold.ttf') format('truetype');
}

html {
    overflow-y: scroll;
}
body {
    background-color: #EFEFEF;
    font-family: var(--lato) !important;
}
::selection {
    color: white;
    background-color: var(--deutz-green);
}
h1, h2, h3, h4, h5, h6 {
    color: var(--black);
    font-family: 'Barlow Condensed', sans-serif;
}
h3 {
    margin-bottom: 15px;
}

a, button {
    cursor: pointer;
}

a {
    color: var(--deutz-blue);
}

input[type=radio] {
    outline: none;
}

textarea {
    resize: none;
}

.bold {
    font-weight: bold;
}

.no-border {
    border: 0 !important;
}

.margin-bottom {
    margin-bottom: 20px;
}

.no-margin {
    margin: 0 !important;
}

h4.no-margin {
    margin: 2px 0 !important;
}

.btn.btn-link,
.btn.btn-link:focus {
   outline: none;
    color: var(--deutz-green);
}

.btn-default.btn-disabled {
    color: #CCCCCC;
    border-color: #CCCCCC;
}

.btn-primary {
    background-color: #1e4177;
    border-color: #1e4177;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: #1e4177;
    border-color: #1e4177;
}

.label.label-info {
    background-color: #316796;
}

.alert.alert-success {
    border-color: #B4CAA6;
}

.alert {
    margin-top: 20px;
}

.alert a {
    color: #000000;
    text-decoration: underline;
}

.hint.hint-popover {
    cursor: pointer;
    font-weight: bold;
}
.hint.hint-highlighter {
    cursor: pointer;
    text-decoration: underline;
    font-style: italic;
}

.form-group.last {
    margin-bottom: 0;
}

.container {
    width: 1070px !important;
    padding: 0;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
    min-height: 400px;
}
.container section {
    width: 1070px;
    padding: 0 55px 15px;
    min-height: 20px;
    background-color: #FAFAFA;
}
.container section:nth-child(1),
.container section:nth-child(3),
.container section:nth-child(5),
.container section:nth-child(7) {
    background-color: #FAFAFA;
}
.container section:nth-child(2),
.container section:nth-child(4),
.container section:nth-child(6),
.container section:nth-child(8) {
    background-color: #E5E5E5;
}

#header-container {
    width: 100%;
    height: 173px;
    background-color: var(--deutz-green);
    background-attachment: scroll;
    background-position: center top;
    background-repeat: no-repeat;
}
#header {
    z-index: 888;
    position: relative;
    width: 1070px;
    height: 173px;
    margin: 0 auto;
}

.control-buttons {
    text-align: right;
    padding: 8px 30px 8px 0;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 14px;
}
.control-buttons a:link,
.control-buttons a:visited,
.control-buttons a:hover,
.control-buttons a:active,
.control-buttons a:focus {
    color: #ffffff;
    text-transform: uppercase;
}

/**
 * Logo und Sprachauswahl
 */
#logo-language-bar-container {
    padding-top: 15px;
}

#logo-container {
    padding-bottom: 15px;
}
#logo-container img {
    height: auto;
    width: 130px;
}

#header .hotline {
    color: #FFFFFF;
    padding-top: 13px;
    padding-bottom: 8px;
    text-align: right;
    text-transform: uppercase;
    font-family: 'Barlow Condensed', sans-serif;
}
#header .hotline a:link,
#header .hotline a:visited,
#header .hotline a:hover,
#header .hotline a:active,
#header .hotline a:focus {
    color: #ffffff;
    text-transform: uppercase;
}

#language-bar-container {
    text-align: left;
    width: auto;
    position: relative;
    padding: 0;
    z-index: 200;
    font-family: 'Barlow Condensed', sans-serif;
}

#language-bar-container:hover ul.language-list {
    display: block;
}

.language-bar-label {
    position: relative;
    margin-right: 20px;
    cursor: pointer;
}

.flag-icon {
    width: auto;
    height: 13px;
    margin-right: 6px;
    margin-top: -2px;
}

.language-bar-label div.dropdown-icon {
    position: absolute;
    right: 8px;
    top: 8px;
}

#language-bar-container ul.language-list {
    background-color: white;
    margin: 34px 0 0;
    padding: 8px 6px;
    width: auto;
    position: absolute;
    top: 0;
    left: 0;
    display: none;
}

#language-bar-container ul li {
    list-style-type: none;
    white-space: nowrap;
}
#language-bar-container ul li:last-child {
    border: 0;
}

#language-bar-container ul li a {
    display: inline-block;
    padding: 4px 8px;
    width: auto;
    min-width: 110px;
    color: #000000;
}
#language-bar-container ul li:first-child a {
    padding-right: 0;
}

#language-bar-container ul li a.active {
    color: #1e4177;
}

/**
 * Navigation
 */
#header .navbar {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 1070px;
    height: 52px;
    margin: 0;
    border: 0;
}

.navbar .nav {
    float: right;
    height: 52px;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 16px;
}
.navbar .nav li {
    height: 52px;
    padding: 0;
    margin: 0 0 0 40px;
}
.navbar .nav li a:link,
.navbar .nav li a:visited,
.navbar .nav li a:hover,
.navbar .nav li a:active,
.navbar .nav li a:focus {
    height: 52px;
    padding: 15px 0;
    color: #000000;
    outline: none;
    font-weight: bold;
    text-transform: uppercase;
    background-color: transparent;
    border-bottom: 8px solid #FFF;
    transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -webkit-transition: all .25s ease-in-out;
    letter-spacing: 0.025em;
}
.navbar .nav > li > a:focus,
.navbar .nav > li > a:hover {
    color: #FFF;
    border-color: #FFF;
}
.navbar .nav > li > a.active {
    color: #FFF;
    border-color: #FFF;
}


#navigation-container {
    width: 1050px;
    margin-left: -55px;
    background-color: #1e4177;
    padding-left: 55px;
}
#navigation-container ul {
    padding: 0;
}
#navigation-container ul li {
    float: left;
    list-style-type: none;
    border: 1px solid #FFFFFF;
    border-width: 0 1px 0 0;
    margin: 10px 0;
}
#navigation-container ul li a {
    color: #FFFFFF;
    padding-left: 8px;
    padding-right: 8px;
}
#navigation-container ul li:last-child {
    border-right: 0;
}
#navigation-container ul li:first-child a {
    padding-left: 0;
}

.navbar-collapse {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/**
 * Startseite
 */
#home {
    padding-top: 40px;
    padding-bottom: 80px;
}

/**
 * Banner
 */
section#banner {
    margin-top: 101px;
    padding-bottom: 0;
}
section#banner img {
    width: 1050px;
    margin-left: -55px;
}

/**
 * Hauptüberschrift
 */
section#headline .page-header {
    border-bottom: 0;
    margin: 0;
}

/**
 * Frühbucherrabatt
 */
#early-bird {
    background-color: var(--deutz-green);
    color: white;
    display: none;
    justify-content: center;
    font-size: 30px;
    padding-top: 20px;
}

/**
 * WARENKORB
 */
#basket, #basket-footer {
    padding-top: 30px;
}
#basket .bg-info,
#basket .bg-danger,
#basket .bg-success,
#basket .bg-warning,
#basket .bg-primary {
    padding: 15px;
}
#basket .text-right,
#basket .text-left,
#basket th {
    line-height: 30px;
}

/*
 * Artikel
 */
section.article {
    padding: 15px 55px 30px;
}

.btn-add-basket {
    background-color: var(--deutz-green);
    border-color: var(--deutz-green);
    margin-top: 10px;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background-color: #000000;
}

.description {
    text-align: justify;
}

.flex {
    display: flex;
    width: 100%;
    gap: 25px;
}

.article-image-container {
    width: 290px;
    min-height: 250px;
    overflow: hidden;
    display: inline-block;
    position: relative;
}
.article-image-holder {
    position: relative;
}
.article-image-holder > a:first-of-type img {
    width: auto;
    height: auto;
    max-width: 290px;
    max-height: 290px;
}
.slider-arrow {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 100;
    display: inline-block;
    text-align: center;
    width: 145px;
    opacity: 0;
    cursor: pointer;
    -webkit-transition: all ease .4s;
    -moz-transition: all ease .4s;
    -ms-transition: all ease .4s;
    -o-transition: all ease .4s;
    transition: all ease .4s;
}
.slider-arrow span {
    display: table-cell;
    vertical-align: middle;
    font-size: 30px;
    position: absolute;
    top: 50%;
    height: 50px;
    width: 50px;
    padding: 9px 10px;
    margin: -25px 0 0;
    border-radius: 50%;
    background-color: var(--deutz-green);
    color: white;
}
.article-image-container:hover .slider-arrow {
    opacity: 0.8;
}
.slick-next {
    text-align: right;
    right: 0;
}
.slick-next span {
    right: 0;
}
.slick-prev {
    text-align: left;
    left: 0;
}
.slick-prev {
    left: 0;
}

/**
 * FOOTER
 */
#footer-container {
    width: 100%;
}
#footer-image {
    clip-path:  polygon(0% 100%, 100% 0%, 100% 100%);
    background-color: var(--deutz-footer-grey);
    height: 50px;
    margin-bottom: -0.5px;
}
#footer-content {
    color: white;
    text-transform: uppercase;
    background-color: var(--deutz-footer-grey);
    border-top: 25px solid var(--deutz-footer-grey);
    padding-bottom: 20px;
}
#footer-content a:link,
#footer-content a:visited,
#footer-content a:active,
#footer-content a:focus {
    color: #FFF;
    text-transform: uppercase;
    transition: color 150ms linear 0s;
}
#footer-content a:hover {
    color: hsla(0, 0%, 100%, .6);
    text-decoration: none;
    transition: color 150ms linear 0s;
}
#footer-content .row {
    width: 1070px;
    margin: 0 auto;
    padding: 20px 0;
}
#footer-content .footer-inner {
    display: flex;
    justify-content: space-between;
    max-width: 1070px;
    margin: 0 auto;
}
#footer-content .footer-links {
    padding: 0;
    margin: 0;
    text-align: right;
    list-style-type: none;
}
#footer-content .footer-links li {
    display: inline-block;
    padding: 0;
    margin: 0 0 0 20px;
    list-style-type: none;
}

/**
 * STATISCHE SEITEN (AGB, IMPRESSUM, DATENSCHUTZERKLÄRUNG, WIDERRUFSBELEHRUNG)
 */
#static {
    width: 900px;
    margin: 0 auto;
    font-family: Arial, Helvetica, sans-serif;
}

#static h1, #static h2, #static h3 {
    color: var(--deutz-green);
}

#static h1 {
    font-size: 30px;
    font-weight: bold;
}

#static h2 {
    font-size: 22px;
    font-weight: bold;
}

#static h3 {
    font-size: 18px;
    font-weight: bold;
}

#static .company_name, #static .green {
    color: var(--deutz-green); !important;
}


/* Bestellschritte */
ul.order-nav {
    display: table;
    table-layout: fixed;
}
ul.order-nav:before {
    content: none;
}
ul.order-nav:after {
    content: none;
}
ul.order-nav > li {
    width: auto !important;
}
ul.order-nav li a {
    color: var(--deutz-blue);
    font-weight: bold;
}
div.order-nav-line {
    position: relative;
    height: 3px;
}
div.order-nav-line hr {
    position: absolute;
    top: 0;
    margin: 0;
    border-width: 3px;
    left: 0;
    width: 100%;
}

/* Eindruck-Upload */
.imprint-preview-container {
    position: relative;
    display: inline-block;
    margin-left: 5px;
    margin-right: 15px;
}
.imprint-preview {
    background-color: white;
    border: 1px solid black;
}
input[type="radio"]:checked + .imprint-preview {
    border: 1px solid rgb(0, 70, 238);
    box-shadow: 0 0 5px rgba(0, 70, 238, 1);
}
.imprint-type-selection {
    margin-bottom: 7px;
}
.disabled label {
    color: #626262;
    cursor: not-allowed;
}
label {
    cursor: pointer;
}
.imprint-preview-container:hover .imprint-preview-bigger {
    display: block;
}
.imprint-preview-bigger {
    position: absolute;
    top: 0;
    right: 0;
    padding: 12px;
    background-color: rgba(255, 255, 255, 0.91);
    display: none;
    border: 1px solid black;
}

/* Loading-Spinner */
.loading-spinner {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255,255,255,0.7);
    z-index: 9999;
    display: none;
}
.loading-spinner > div {
    position: absolute;
    height: 90px;
    width: 140px;
    top: 50%;
    left: 50%;
    margin: -35px 0 0 -55px;
    text-align: center;
}
.loading-spinner img {
    width: 70px;
    height: 70px;
}

/* Kundencenter */
.nav-pills li.active a {
    background-color: var(--deutz-blue);
}

/* Bestelladresse */
.confirm-checkbox {
    color: rgb(33, 33, 33) !important;
    padding-top: 0 !important;
}

@media (max-width: 576px) {
    h1 {
        font-size: 30px;
    }
    #early-bird {
        font-size: 20px;
    }

    #footer-content {
        justify-content: center;
    }

    #footer-image {
        height: 20px;
    }
}
