/*********************
 * GLOBAL
 ********************/
h1 {
    font-size: 30px;
}

h1.small {
    font-size: 28px;
}

h1.xsmall {
    font-size: 24px;
}

h1.small small {
    color: rgba(51 51 51 / 50%);
}

h2 {
    font-size: 26px;
}

h3 {
    font-size: 22px;
}

h1,
h2,
h3 {
    margin-bottom: 18px;
}

h4,
h5,
h6 {
    font-weight: 500;
}

a {
    color: #9bd0f6;
}

a.link-dark {
    color: #2a87ca;
}

hr {
    border-top: 1px solid #eeeeee;
}

dl dt,
dl dd {
    display: inline-block;
    width: 49%;
    min-width: 200px;
    padding: 4px 0;
}

ol {
    list-style-type: decimal;
    padding-left: 40px;
    padding-right: 40px;
    color: #666666;
}

ol li {
    padding: 4px 0;
}

ul.asterisk-text {
    padding-left: 40px;
    padding-right: 40px;
    color: #666666;
}

ul.messenger-theme-air .messenger-message.alert-warning .messenger-message-inner::before {
    background-color: #eac85e;
}

/* Helper */
.mt-3 {
    margin-top: 3px;
}

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

.mt-42 {
    margin-top: 42px;
}

.mb-25 {
    margin-bottom: 25px;
}

.mb-50 {
    margin-bottom: 50px;
}

/*********************
 * THEME
 ********************/
.sidebar {
    width: 180px;
    margin-top: 130px;
    margin-left: 15px;
}

.wrap {
    margin-left: 200px;
}

.sidebar-alerts .alert {
    padding-left: 25px;
}

.account {
    width: 250px;
}

.alert > p + p {
    margin-top: 20px;
}

.logo {
    z-index: 0;
    left: 30px;
}

.logo a:hover,
.logo a:focus {
    text-decoration: none;
    color: rgba(255 255 255 / 75%);
}

.page-header .search-query {
    width: 340px;
}

.page-header .search-query:focus {
    width: 400px;
}

.widget header small {
    text-transform: none !important;
}

.widget-text {
    padding: 10px 40px 30px;
}

ul.messenger-theme-air .messenger-message {
    background-color: rgba(52 52 52 / 80%);
}

/* Cart and cart layer */
#cart span {
    font-size: 18px;
    padding: 0 4px;
}

#account-menu .btn {
    margin: 20px 10px 0;
}

#account-menu .media,
#account-menu .media-heading {
    font-size: 12px;
}

.page-header .nav > li > a {
    width: auto;
    margin: 0 15px;
}

.body.tab-content {
    overflow: hidden;
}

.widget-tabs .nav > li > a {
    padding-bottom: 12px;
}

.feed-item .icon {
    width: 33px;
    height: 33px;
    line-height: 32px;
}

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

/* Validation */
.parsley-errors-list li {
    color: #ffee76;
}

.form-control.parsley-error,
.form-control.parsley-error:focus {
    box-shadow: inset 0 0 3px #ffee76;
}

.modal .parsley-errors-list li {
    color: #c0a800;
}

.modal .form-control.parsley-error,
.modal .form-control.parsley-error:focus {
    box-shadow: inset 0 0 3px #c0a800;
}

.modal textarea.form-control {
    height: 140px;
}

.editable-click,
a.editable-click {
    border-bottom: dashed 1px #9bd0f6;
}

a.editable-click:hover {
    border-color: #54aff0;
}

/*********************
 * Products
 ********************/

/* Carousel */
.carousel .caption {
    text-align: left;
}

/* Overview elements */
.thumbnail {
    position: relative;
}

.thumbnail .label {
    position: absolute;
    top: 16px;
    left: 4px;
    border-radius: 0;
    font-size: 12px;
    font-weight: 500;
    padding: 4px 8px;
}

.thumbnail .label.more-images {
    bottom: 16px;
    top: unset;
}

.thumbnail .caption {
    height: 190px;
}

.thumbnail .caption h3 {
    color: inherit;
    height: 44px;
    font-size: 18px;
    line-height: 22px;
    overflow: hidden;
    margin-bottom: 9px;
}

.thumbnail .caption .description {
    height: 40px;
    overflow: hidden;
}

/* Filter */
.filter .form-group {
    margin: 10px 10px 20px 0;
}

/*********************
 * Footer
 ********************/
body > footer {
    color: rgba(51 51 51 / 50%);
    font-weight: 700;
    position: relative;
    bottom: 0;
    left: 0;
    width: 100%;
    pointer-events: none;
}

body > footer div {
    padding: 10px 20px;
}

/*********************
 * Navigation
 ********************/

/* Ausblenden der 2ten Navigationsebene wenn nicht genug Platz für Text */
@media (768px <= width <= 1048px) {
    #sidebar ul ul {
        display: none;
    }
}

#sidebar .side-nav > li > a {
    display: flex;
    align-items: center;
}

#sidebar .side-nav .fa {
    margin-right: 5px;
}

#sidebar .side-nav > li span {
    display: block;
}

@media (1020px <= width) {
    .subvention-button {
        position: absolute;
        right: 0;
        bottom: 10px;
    }
}

@media (width <= 768px) {
    .sidebar {
        margin-top: 90px;
    }
}

/*********************
 * Widgets
 ********************/

/* Tabs */
@media (width <= 768px) {
    .widget-tabs header {
        border-bottom: solid 1px #cccccc;
    }

    .widget-tabs .nav-tabs li {
        width: 100%;
        margin: 0;
    }

    .widget-tabs .nav-tabs li a {
        margin: 0;
    }

    .widget-tabs .nav-tabs li.active a,
    .widget-tabs .nav-tabs li.active a:hover {
        color: #ffffff;
        font-weight: 700;
        border-bottom: 0;
    }

    .widget-tabs .nav-tabs li:not(:first-child) a {
        border-radius: 0;
    }
}

/*********************
 * Tabellen
 ********************/

/* responsive */
@media (width <= 1020px) {
    table.table-responsive thead,
    table.table-responsive tbody,
    table.table-responsive tr,
    table.table-responsive th,
    table.table-responsive td {
        display: block;
        float: left;
        clear: both;
        width: 100%;
    }

    table.table-responsive {
        text-align: right;
        border: none;
    }

    table.table-responsive thead {
        position: absolute;
        top: -1111px;
        left: -1111px;
    }

    table.table-responsive td::before {
        float: left;
        padding: 0 10px 0 0;
        content: attr(data-label) ":";
    }

    table.table-responsive td:nth-child(1) {
        font-weight: bold;
    }

    table.table-responsive td > .checkbox,
    table.table-responsive th > .checkbox {
        right: 12px;
        left: auto;
    }

    table.table-responsive td > .checkbox label,
    table.table-responsive th > .checkbox label {
        text-align: left;
    }

    table.table-responsive input.form-control {
        display: inline;
        width: auto;
    }
}

/*********************
 * Tooltips
 ********************/
.has-popover:hover {
    cursor: help;
}

/*********************
 * Messages
 ********************/
.messages {
    display: none;
}

/*********************
 * HACKS
 ********************/

/* fix: model dialog nich im vordergrund */
.modal-dialog {
    z-index: 1050;
}

/* fix: body kann position relative sein für footer positionierung */
.page-header {
    margin-top: 0;
    padding-top: 15px;
}

/* fix: querscrollbar bei kleiner 480px */
@media (width <= 480px) {
    .content {
        padding: 0 15px;
    }
}

/*********************
 * DEV
 ********************/
.platzhalter {
    font-style: italic;
    color: #bbbbbb;
}
