   :root {
    --primary-bg-color: white;
    --primary-color: black;

    --secondary-bg-color: #cececf;
    --secondary-color: black;
    --secondary-border: 1px solid silver;

    --tertiary-bg-color: #ebedef;
    --tertiary-color: white;
    --tertiary-border: 1px solid silver;

    --highlight-bg-color: #8e0000;
    --highlight-color: white;
    --highlight-border: solid 1px #5A4181;

    --highlight-hover-bg-color: #46546c;
    --highlight-hover-color: #fff;
    --highlight-hover-border: 1px solid #285e8e;

    --sidebar-bg: #8e0000;
    --sidebar-hover-bg: #930d0d;
    --sidebar-active-bg: #930d0d;

    --sidebar-text: #d18f6f;
    --sidebar-hover-text: #ffffff;
    --sidebar-active-text: #ffffff;

    --sidebar-icon: #d18f6f;
}

/* =========================================================================
   SIDEBAR
   ========================================================================= */

.sidebar {
    background-color: var(--sidebar-bg) !important;
}

/* Default link text */
.sidebar-nav .nav-link {
    color: var(--sidebar-text) !important;
    transition: background-color 0.15s ease;
}

/* Default icon color */
.sidebar-nav .nav-link .nav-icon {
    /* filter = exact color transformation to #d18f6f */
    filter: brightness(0) saturate(100%) invert(83%) sepia(20%)
            saturate(600%) hue-rotate(336deg) brightness(90%)
            contrast(90%);
}

/* Hover */
.sidebar-nav .nav-link:hover {
    background-color: var(--sidebar-hover-bg) !important;
    color: var(--sidebar-hover-text) !important;
}
.sidebar-nav .nav-link:hover .nav-icon {
    filter: brightness(0) invert(1);
}

/* Active */
.sidebar-nav .nav-link.active {
    background-color: var(--sidebar-active-bg) !important;
    color: var(--sidebar-active-text) !important;
}
.sidebar-nav .nav-link.active .nav-icon {
    filter: brightness(0) invert(1);
}

/* Sidebar group title ("API", "Shopify", …) */
.sidebar-nav .nav-title {
    color: var(--sidebar-text) !important;
    opacity: 0.9;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
}

/* Open group */
.sidebar-nav .nav-group.show {
    background: transparent !important;
}

/* Hide sidebar toggler */
.sidebar-toggler {
    display: none !important;
}

.sidebar:not(.sidebar-narrow) ~ .wrapper {
    margin-left: 256px;
    transition: margin-left 0.15s ease-in-out;
}

.sidebar.sidebar-narrow ~ .wrapper {
    margin-left: 56px;
}

.sidebar-brand {
    height: 56px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
    color: var(--sidebar-text);
    background-color: #630000;
}

.header-toggler {
    display: none;
}

.app_version {
    padding: 20px;
    background-color: #630000;
}

/* =========================================================================
   GLOBAL TYPOGRAPHY
   ========================================================================= */
* {
    font-family: "Open Sans", sans-serif;
}

/* =========================================================================
   NAV TABS
   ========================================================================= */
.nav-group-toggle {
    text-transform: uppercase;
    font-size: 80%;
    font-weight: 700;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    --cui-nav-tabs-link-active-bg: var(--highlight-bg-color);
    --cui-nav-tabs-link-active-color: var(--highlight-color);
}

.nav-tabs .nav-link {
    --cui-nav-link-color: gray;
    font-weight: bold;
}

.nav-tabs .nav-link.disabled,
.nav-tabs .nav-link:disabled {
    color: var(--cui-nav-link-disabled-color) !important;
    background-color: transparent !important;
    border-color: transparent !important;
}

/* =========================================================================
   TABLES & BOOTSTRAP-TABLE
   ========================================================================= */

.table {
    --cui-table-striped-bg: var(--tertiary-bg-color);
    --cui-table-hover-bg: #aadbde;
}

table {
    background-color: var(--primary-bg-color);
}

table th {
    background-color: var(--highlight-bg-color) !important;
    color: var(--highlight-color) !important;
}

table td,
table th {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
    vertical-align: top !important;
}

table td {
    border-bottom: var(--secondary-border) !important;
}

table .button {
    display: inline-block;
    background-color: var(--highlight-bg-color);
    color: var(--highlight-color);
    padding: 7px;
    text-align: center;
    font-size: 1em;
    border: var(--highlight-border);
    border-radius: 5px;
    cursor: pointer;
}

table .card-view {
    margin-bottom: 7px;
}

table .card-view-value {
    padding-left: 25px !important;
}

.bootstrap-table td:nth-of-type(1) {
    white-space: nowrap;
}

.bootstrap-table i.status {
    display: inline-block;
    width: 25px;
    padding: 4px;
    text-align: center;
    font-size: 1em;
    border: var(--highlight-border);
    border-radius: 5px;
}

.bootstrap-table i.cancel {
    background-color: red;
    color: white;
}

.bootstrap-table .hidden {
    display: none !important;
}

.bootstrap-table .actions {
    white-space: nowrap;
    text-align: left;
}

/* =========================================================================
   FILTER OPTIONS
   ========================================================================= */

.filter_options .option {
    display: inline-block;
    margin-right: 15px;
    vertical-align: middle;
}

.filter_options .option * {
    vertical-align: middle;
}

/* =========================================================================
   FORM ELEMENTS
   ========================================================================= */

.form-group {
    margin-bottom: 15px;
}

.form-group textarea {
    height: 100px;
}

.form-group input,
.form-group select,
.form-group textarea {
    max-width: 500px;
}

/* Invalid */
.invalid_value {
    border: 2px solid red !important;
}

/* Disabled / readonly */
:disabled,
.disabled,
*[readonly] {
    background-color: #8e0000 !important;
    color: white !important;
    border: 1px solid gray !important;
}

.disabled {
    pointer-events: none !important;
}

/* =========================================================================
   MISC
   ========================================================================= */

.loading span {
    margin-right: 5px;
}

.tab-content {
    padding-top: 15px;
}

.dashboard .body,
.dashboard .wrapper.bg-light {
    background-color: var(--tertiary-bg-color) !important;
}

.body .card {
    margin-top: 25px;
    max-width: 540px;
}

.modal .card {
    max-width: none !important;
}

.body .card-header {
    color: var(--highlight-color);
    background-color: var(--highlight-bg-color);
    border: var(--highlight-border);
}

.body .card-body {
    background-color: white;
}

.btn.btn-danger {
    color: white !important;
}

/* =========================================================================
   BUTTONS
   ========================================================================= */

.pagination {
    --cui-pagination-color: black;
}

.pagination > .active > a {
    color: var(--highlight-color);
    background-color: var(--highlight-bg-color) !important;
    border: var(--highlight-border) !important;
}

.btn-primary {
    color: var(--highlight-color);
    background-color: green;
    border: var(--highlight-border);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.dropdown-item.active,
.dropdown-item:active {
    color: var(--highlight-hover-color);
    background-color: var(--highlight-hover-bg-color);
    border: var(--highlight-hover-border);
}

/* =========================================================================
   ATTACHMENTS
   ========================================================================= */

.attachment:not(body) {
    display: inline-block;
    text-align: center;
    margin-right: 20px;
}

.attachment:not(body) i {
    font-size: 150px;
}

.attachment:not(body) a {
    text-decoration: none;
}

.attachment:not(body) img {
    transition: all .5s ease-in-out;
}

.attachment:not(body) img:hover {
    transform: scale(1.1);
}

/* =========================================================================
   MODALS
   ========================================================================= */

.modal-xxl .modal-dialog {
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
}

button.close {
    font-size: 40px;
    border: none;
    background-color: transparent;
}

.fa-exclamation-triangle {
    font-size: 20px;
    color: orange;
}

/* =========================================================================
   FILE DROP AREA
   ========================================================================= */

.file-drop-area {
    position: relative;
    display: flex;
    align-items: center;
    width: 450px;
    max-width: 100%;
    padding: 25px;
    border: 1px dashed gray;
    border-radius: 3px;
    transition: 0.2s;
}

.file-drop-area .choose-file-button {
    flex-shrink: 0;
    background-color: var(--highlight-bg-color);
    color: white;
    border: 1px solid gray;
    border-radius: 3px;
    padding: 8px 15px;
    margin-right: 10px;
    text-transform: uppercase;
}

.file-drop-area .file-message {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.file-drop-area .file-input {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    cursor: pointer;
    opacity: 0;
}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */

@media only screen and (max-width: 770px),
       (min-device-width: 768px) and (max-device-width: 1024px) {
    .body {
        padding: 0 !important;
    }

    .sidebar ~ .wrapper {
        margin-left: 0 !important;
    }

    .header-toggler {
        display: block;
    }

    .options {
        margin-top: 7px;
    }
}
