/* || GENERAL ELEMENT STYLES */
html, body {
    height: 100%;
    color: var(--color-default);
    background-color: var(--bg-default);
}

html, body, h1, h2, pre {
    margin: 0;
}

pre {
    white-space: pre;
    overflow: visible;
}

a {
    color: var(--color-default);
    text-decoration: none;
}

    a:hover, .tool-btn:hover {
        color: var( --color-hover );
    }

button, input, textarea, select, .input, a.hq-btn {
    border: 1px solid var( --border-dark);
    background-color: var( --bg-default );
    border-radius: 4px;
    color: var( --color-input );
    outline: none;
    padding: 4px;
    accent-color: var(--color-selected);
}

textarea {
    white-space: pre;
}

button, a.hq-btn {
    padding: 0.4rem 1.5rem;
    background-color: var( --bg-lighter-1 );
    display: inline-block;
}

input, select {
    width: 100%;
}

label {
    color: var(--color-label);
    letter-spacing: 0.5px;
}

input[type=radio] {
    width: 1rem;
    height: 1rem;
    margin-top: 0.25rem;
    border-radius: 50%;
    vertical-align: text-top;
}
input[type=checkbox] {
    width: 1rem;
}

.bg-default {
    background-color: var(--bgdefault);
}

.bg-lighter {
    background-color: var(--bg-lighter-3);
}

.table {
    margin-bottom: 0.5rem !important;
}

button:hover {
    background-color: var(--color-icon-hover);
}

input:focus, textarea:focus, select:focus, .input:focus-within, input[type=range]:focus {
    border: 1px solid var( --border-focus);
}

input[type=range]:focus {
    outline: solid;
    outline-width: 1px;
    outline-color: var(--border-focus);
}

.input-inline input, .input-inline label {
    border: none;
    border-radius: unset;
    background-color: var(--bg-dark);
    margin: 0;
    padding: 0;
}

.input-inline input {
    -webkit-appearance: none;
}

    .input-inline input::-webkit-inner-spin-button {
        -webkit-appearance: none;
    }

.cursor-pointer {
    cursor: pointer;
}

.zoom-btn svg {
    height: 32px;
    padding: 1px 2px;
}

#inp-zoom-pct {
    width: 2.4rem;
    text-align: right;
    padding-right: 2px;
}

    .zoom-btn.selected {
        color: var(--color-input);
    }


#inp-sign-amt {
    width: 2rem;
    border-radius: 4px;
    text-align: center;
    vertical-align: middle;
}

.v-align-parent {
    transform: translateY( 50% );
}
.v-align-child {
    transform: translateY( -50% );
}

/* || Holmquist STYLES */
.top-bar {
    border-bottom: 1px solid var( --border-dark );
}

.color-bright {
    color: var(--color-bright);
}

.hq-h1 {
    color: var(--color-header);
    font-size: 22px;
}

.hq-h2 {
    font-weight: bold;
    font-size: 16px;
}

.hq-txt-sm {
    font-size: 12px;
}

.hq-card-header {
    background-color: var( --bg-default );
    padding: 8px 16px;
    border: 1px solid var( --border-dark);
    border-radius: 10px 10px 0 0;
}

/*.hq-card-body {
    background-color: var( --bg-lighter-1 );
    padding: 8px 16px;
    border-left: 1px solid var( --border-dark);
    border-right: 1px solid var( --border-dark);
}
*/
.hq-card-footer {
    background-color: var( --bg-lighter-1 );
    padding: 8px 16px;
    border: 1px solid var( --border-dark);
    border-radius: 0 0 10px 10px;
}

/* || GENERAL SIZING STYLES */
.flex-1 {
    flex: 1;
}

/* BUTTON & ICON STYLES */
.nav-btn svg {
    height: 18px;
    stroke-width: 20;
}

.tool-btn {
    color: var(--color-default);
    cursor: pointer;
    width: 75px;
    padding: 16px;
    border-right: 1px solid var( --border-dark );
    border-bottom: 1px solid var( --border-dark );
}

    .tool-btn svg, .hq-inline-icon svg {
        stroke-linejoin: round;
        stroke-linecap: round;
    }

    .tool-btn.active, .tool-btn:hover {
        background-color: var( --bg-lighter-1 );
        border-bottom: 1px solid transparent;
    }

button.hq-btn-accent, a.hq-btn-accent {
    background-color: var( --color-icon-hover );
}

.close-btn {
    border: none;
    background-color: transparent;
    padding: 0.1em 0.3em;
}

    .close-btn svg {
        height: 0.80em;
        vertical-align: baseline;
    }

    .close-btn:hover {
        color: var(--color-hover);
        cursor: pointer;
    }

.hq-btn-icon {
    height: 16px;
    width: 16px;
}

    .hq-btn-icon svg {
        display: block;
    }

.hq-icon-btn {
    padding: 12px;
}

    .hq-icon-btn.selected {
        background-color: var(--color-selected);
    }

.hq-inline-icon {
    width: 22px;
}

.color-selector div {
    height: 44px;
    border-bottom: 8px solid var( --bg-lighter-2 );
}

.color-selector:hover div {
    border-bottom: 8px solid transparent;
}

.color-selector.selected div {
    border-bottom: 8px solid var( --color-selected );
}

svg.icon-transparent {
    stroke: var(--color-cross-out);
    width: 100%;
    height: 100%;
}

/* || FORM STYLES */
.ng-invalid, input:focus.ng-invalid {
    border: none;
/* box-shadow: horizontal vertical blur spread-radius  */
    box-shadow: 0px 0px 2px 2px inset var( --border-required );
}

/* || LOGOTYPE */
.logo-container {
    display: inline-block;
    color: var(--logo-color);
    background-color: var(--logo-background-color);
    padding: 2px 4px;
}
.logo-container a {
    font-family: "Helvetica Neue", Roboto, Helvetica, Arial, sans-serif;
}

.logo {
    position: relative;
    height: 44px;
}

.logo-name {
    color: var( --color-logo );
    font-size: 22px;
    letter-spacing: -1px;
}

.logo-byline {
    color: var( --color-logo-byline );
    font-size: 9px;
    position: absolute;
    left: 2px;
    bottom: 4px;
}

a:hover .logo, a:hover .logo-name, a:hover .logo-byline {
    color: var( --color-hover );
    background-color: var( --bg-dark );
}


/* || TOOLS - MENUS - SELECTORS */
.tool-menu {
    background-color: var( --bg-lighter-1 );
}

.menu-header {
    min-width: 320px;
    padding: 12px;
    box-shadow: rgba(0,0,0,0.6) 0px 10px 6px -5px;
}

.tool-menu-item {
    padding: 12px 24px;
    cursor: pointer;
    box-shadow: rgba(0,0,0,0.3) 0px 5px 10px -5px;
}

    .tool-menu-item.selected {
        background-color: var( --bg-lighter-2 );
        padding-left: 12px;
        border-left: 12px solid var( --color-selected );
    }

    .tool-menu-item:hover {
        background-color: var( --bg-lighter-2 );
    }

.tool-menu-single-item {
    box-shadow: inset rgba(0,0,0,0.6) 0px 10px 6px -5px;
    padding: 12px 24px;
    background-color: var( --bg-lighter-2 );
}

.tool-info {
    border-radius: 10px;
    background-color: var( --bg-default );
    padding: 12px 4px 0 4px;
}

.thumbnail {
    padding: 0 1rem 0 0;
}

    .thumbnail img {
        height: 50px;
        width: 50px;
    }

    .thumbnail svg {
        height: 50px;
        width: 64px;
    }

/* PREVIEW */
.menu-preview {
    height: 140px;
    position: relative;
}

/* GALLERY */
.menu-gallery {
    height: 280px;
    position: relative;
}

/* CART  */
.cart-preview {
    min-height: 20rem;
}

/* MODAL */
.modal {
    display: unset;
}
.modal-content {
    color: var(--bg-default);
    background-color: #FFFFFF;
}
.modal-backdrop {
    opacity: 0.5;
}
/* SMALL - RESPONSIVENESS */
@media (min-width: 576px) {
    .tool-menu {
        padding: 0 0 0 12px;
        box-shadow: rgba(0,0,0,0.6) 10px 0px 6px -4px;
    }

        .tool-menu .menu-header, .tool-menu .menu-items {
            /* display: inline; */
            border-left: 1px solid var( --bg-dark );
        }

    .tool-btn {
        width: 48px;
        padding: 12px;
    }

        .tool-btn.active {
            border-right: none;
        }

    .flex-sm-1-unset {
        flex: unset;
    }

    .w-sm-unset {
        width: unset !important;
    }
}
