.bootstrap-touchspin .input-group-btn-vertical {
    position: relative;
    white-space: nowrap;
    width: 1%;
    vertical-align: middle;
    display: table-cell
}

.bootstrap-touchspin .input-group-btn-vertical > .btn {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 10px 10px 11px;
    margin-left: -1px;
    position: relative;
    height: 21px;
    background: var(--theme-color-white);
    border: 1px solid var(--theme-color-grey-lighter);
}

.bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-up {
    border-radius: 0 4px 0 0;
}

.bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-down {
    margin-top: -2px;
    border-radius: 0 0 4px 0;
}

.bootstrap-touchspin .input-group-btn-vertical i {
    position: absolute;
    top: 2px;
    left: 3px;
    font-size: 14px;
    font-weight: 400;
}

.d-flex {
    display: flex;
}


.spinner-border {
    display: inline-block;
    width: 1em;
    height: 1em;
    border: 2px solid var(--theme-color-white);
    border-top-color: transparent;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
    vertical-align: middle;
    margin-top: -1px;
    margin-right: .625rem;
}

.spinner-border-sm {
    width: 24px;
    height: 24px;
    border-width: 1px;
}

.cart-recommended .spinner-border-sm {
    width: 16px;
    height: 16px;
    margin-top: -4px;
}


@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}


.form-control {
    display: block;
    width: 100%;
    font-size: 1rem;
    line-height: 1.25;
    background-color: var(--theme-color-white);
    background-clip: padding-box;
    border-radius: 5px;
    padding: 20px 15px;
    color: var(--theme-text-color);
    border: 2px solid var(--theme-color-grey-lighter)
}

.form-control::-ms-expand {
    background-color: transparent;
    border: 0
}

.form-control:focus {
    border-color: var(--theme-color);
    outline: 0
}

.form-control::-webkit-input-placeholder {
    color: var(--theme-color-grey);
    opacity: 1
}

.form-control::-moz-placeholder {
    color: var(--theme-color-grey);
    opacity: 1
}

.form-control:-ms-input-placeholder {
    color: var(--theme-color-grey);
    opacity: 1
}

.form-control::-ms-input-placeholder {
    color: var(--theme-color-grey);
    opacity: 1
}

.form-control::placeholder {
    color: var(--theme-color-grey);
    opacity: 1
}

.form-control:disabled, .form-control[readonly] {
    background-color: var(--theme-color-grey-bg);
    opacity: 1
}

.form-control:disabled {
    cursor: not-allowed
}

select.form-control:focus::-ms-value {
    color: var(--theme-text-color);
    background-color: var(--theme-color-white)
}

.form-control-file, .form-control-range {
    display: block
}

.form-control-static {
    padding-top: .5rem;
    padding-bottom: .5rem;
    line-height: 1.25;
    border: solid transparent;
    border-width: 1px 0
}

.form-control-static.form-control-lg, .form-control-static.form-control-sm, .input-group-lg > .form-control-static.form-control, .input-group-lg > .form-control-static.input-group-addon, .input-group-lg > .input-group-btn > .form-control-static.btn, .input-group-sm > .form-control-static.form-control, .input-group-sm > .form-control-static.input-group-addon, .input-group-sm > .input-group-btn > .form-control-static.btn {
    padding-right: 0;
    padding-left: 0
}

.form-control-sm, .input-group-sm > .form-control, .input-group-sm > .input-group-btn > .btn {
    padding: .25rem .5rem;
    font-size: .875rem;
    border-radius: .2rem
}


.form-control-lg, .input-group-lg > .form-control, .input-group-lg > .input-group-btn > .btn {
    padding: .75rem 1.5rem;
    font-size: .9375rem;
    border-radius: .3rem
}

.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]), .input-group-lg > select.input-group-addon:not([size]):not([multiple]), select.form-control-lg:not([size]):not([multiple]) {
    height: 2.75rem
}

.form-group {
    position: relative;
    margin-bottom: 1rem
}

.form-text {
    display: block;
    margin-top: .25rem
}

.form-check {
    position: relative;
    display: block;
    margin-bottom: .75rem
}

.form-check + .form-check {
    margin-top: -.25rem
}

.form-check.disabled .form-check-label {
    color: var(--theme-text-color);
    cursor: not-allowed
}

.form-check-label {
    padding-left: 1.25rem;
    margin-bottom: 0;
    cursor: pointer
}

.form-check-input {
    position: absolute;
    margin-top: .25rem;
    margin-left: -1.25rem
}

.form-check-input:only-child {
    position: static
}

.form-check-inline {
    position: relative;
    display: inline-block;
    padding-left: 1.25rem;
    margin-bottom: 0;
    vertical-align: middle;
    cursor: pointer
}

.form-check-inline + .form-check-inline {
    margin-left: .75rem
}

.form-check-inline.disabled {
    color: var(--theme-text-color);
    cursor: not-allowed
}

.form-control-feedback {
    margin-top: .25rem
}

.form-control-danger, .form-control-success, .form-control-warning {
    padding-right: 2.25rem;
    background-repeat: no-repeat;
    background-position: center right .625rem;
    background-size: 1.25rem 1.25rem
}

.has-success .form-control-feedback, .has-success .form-control-label {
    color: var(--theme-color-green)
}

.has-success .form-control {
    border-color: var(--theme-color-green)
}

.has-success .form-control:focus {
    -webkit-box-shadow: inset 0 1px 1px var(--theme--black-opacity-10), 0 0 6px var(--theme-color-green);
    box-shadow: inset 0 1px 1px var(--theme--black-opacity-10), 0 0 6px var(--theme-color-green)
}

.has-warning .form-control-feedback, .has-warning .form-control-label {
    color: var(--theme-color-orange)
}

.has-success .form-control-success {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3E%3Cpath fill=%27var(--theme-color-green)%27 d=%27M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z%27/%3E%3C/svg%3E")
}

.has-warning .form-control {
    border-color: var(--theme-color-orange)
}

.has-warning .form-control-warning {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3E%3Cpath fill=%27 var(--theme-color-orange)%27 d=%27M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z%27/%3E%3C/svg%3E")
}

.has-warning .form-control:focus {
    -webkit-box-shadow: inset 0 1px 1px var(--theme--black-opacity-10), 0 0 6px var(--theme-color-orange-lighter);
    box-shadow: inset 0 1px 1px var(--theme--black-opacity-10), 0 0 6px var(--theme-color-orange-lighter)
}

.has-danger .form-control-feedback, .has-danger .form-control-label {
    color: var(--theme-color)
}

.has-danger .form-control {
    border-color: var(--theme-color)
}

.has-danger .form-control:focus {
    -webkit-box-shadow: inset 0 1px 1px var(--theme--black-opacity-10), 0 0 6px var(--theme-color-orange);
    box-shadow: inset 0 1px 1px var(--theme--black-opacity-10), 0 0 6px var(--theme-color-orange)
}

.has-danger .form-control-danger {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27var(--theme-color)%27 viewBox=%27-2 -2 7 7%27%3E%3Cpath stroke=%27%23d9534f%27 d=%27M0 0l3 3m0-3L0 3%27/%3E%3Ccircle r=%27.5%27/%3E%3Ccircle cx=%273%27 r=%27.5%27/%3E%3Ccircle cy=%273%27 r=%27.5%27/%3E%3Ccircle cx=%273%27 cy=%273%27 r=%27.5%27/%3E%3C/svg%3E")
}


.input-group .form-control {
    position: relative;
    z-index: 2;

    width: 100%;
    margin-bottom: 0
}

.input-group .form-control:active, .input-group .form-control:focus, .input-group .form-control:hover {
    z-index: 3
}

.input-group .form-control, .input-group-addon, .input-group-btn {
    display: table-cell
}

.input-group .form-control:not(:first-child):not(:last-child), .input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child) {
    border-radius: 0
}

.input-group-addon {
    white-space: nowrap
}

.input-group-addon, .input-group-btn {
    width: 1%;
    vertical-align: middle
}

.input-group-addon {
    padding: .5rem .75rem;
    margin-bottom: 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.25;
    color: var(--theme-text-color);
    text-align: center;
    background-color: var(--theme-color-grey-bg);
    border: 1px solid var(--theme-color-grey-lighter);
    border-radius: 0
}

.input-group-addon.form-control-sm, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .input-group-addon.btn {
    padding: .25rem .5rem;
    font-size: .875rem;
    border-radius: .2rem
}

.input-group-addon.form-control-lg, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .input-group-addon.btn {
    padding: .75rem 1.5rem;
    font-size: .9375rem;
    border-radius: .3rem
}

.input-group-addon input[type=checkbox], .input-group-addon input[type=radio] {
    margin-top: 0
}

.input-group .form-control:not(:last-child), .input-group-addon:not(:last-child), .input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn, .input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle), .input-group-btn:not(:last-child) > .btn, .input-group-btn:not(:last-child) > .btn-group > .btn, .input-group-btn:not(:last-child) > .dropdown-toggle {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0
}

.input-group-addon:not(:last-child) {
    border-right: 0
}

.input-group .form-control:not(:first-child), .input-group-addon:not(:first-child), .input-group-btn:not(:first-child) > .btn, .input-group-btn:not(:first-child) > .btn-group > .btn, .input-group-btn:not(:first-child) > .dropdown-toggle, .input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn, .input-group-btn:not(:last-child) > .btn:not(:first-child) {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0
}

.form-control + .input-group-addon:not(:first-child) {
    border-left: 0
}

.input-group-btn {
    font-size: 0;
    white-space: nowrap
}

.input-group-btn, .input-group-btn > .btn {
    position: relative
}

.input-group-btn > .btn + .btn {
    margin-left: -1px
}

.input-group-btn > .btn:active, .input-group-btn > .btn:focus, .input-group-btn > .btn:hover {
    z-index: 3
}

.input-group-btn:not(:last-child) > .btn, .input-group-btn:not(:last-child) > .btn-group {
    margin-right: -1px
}

.input-group-btn:not(:first-child) > .btn, .input-group-btn:not(:first-child) > .btn-group {
    z-index: 2;
    margin-left: -1px
}

.input-group-btn:not(:first-child) > .btn-group:active, .input-group-btn:not(:first-child) > .btn-group:focus, .input-group-btn:not(:first-child) > .btn-group:hover, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:hover {
    z-index: 3
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
    color: var(--theme-text-color)
}

input::-moz-placeholder, textarea::-moz-placeholder {
    color: var(--theme-text-color)
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
    color: var(--theme-text-color)
}

input:-moz-placeholder, textarea:-moz-placeholder {
    color: var(--theme-text-color)
}

input:active::-webkit-input-placeholder, textarea:active::-webkit-input-placeholder {
    color: var(--theme-text-color)
}

input:active::-moz-placeholder, textarea:active::-moz-placeholder {
    color: var(--theme-text-color)
}

input:active:-ms-input-placeholder, textarea:active:-ms-input-placeholder {
    color: var(--theme-text-color)
}

input:active:-moz-placeholder, textarea:active:-moz-placeholder {
    color: var(--theme-text-color)
}


.form-control-label {
    padding-top: .625rem
}


.form-control:focus {
    color: var(--theme-text-color);
    background-color: var(--theme-color-white);
    outline: .1875rem solid var(--theme-color)
}

.input-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.input-group.focus {
    outline: .1875rem solid var(--theme-color)
}

.input-group .form-control:focus {
    outline: 0
}

.input-group .input-group-btn {
    display: block;
    width: auto
}

.input-group .input-group-btn > .btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
    padding: .25rem 1rem;
    margin-left: 0;
    font-size: .6875rem;
    font-weight: 500;
    color: var(--theme-color-white);
    text-transform: uppercase;
    border: 0;
    -webkit-box-shadow: none;
    box-shadow: none
}

.input-group .input-group-btn > .btn[data-action=show-password] {
    padding: 2px 20px 0;
    background: var(--theme-text-color)
}


.form-control-select {
    height: 64px;
    padding: 0 15px;
    background: var(--theme-color-grey-bg) url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAQAAAD9CzEMAAAAPklEQVR4Ae3TwREAEBQD0V/6do4SXPZg7EsBhsQ8IEmSMOsiuEfg3gL3oXC7wK0bd1G4o8X9F4yIkyQfSrIByQBjp7QuND8AAAAASUVORK5CYII=) no-repeat right .5rem center/1.25rem 1.25rem;
    -webkit-appearance: none
}

.form-control-valign {
    padding-top: .5rem
}

.form-control-comment {
    padding-top: 10px;
    font-size: 14px;
    color: var(--theme-text-color);
}

.form-control-submit.disabled {
    color: var(--theme-color-white);
    background: var(--theme-color)
}

.form-group.has-error input, .form-group.has-error select {
    outline: .1875rem solid var(--theme-color)
}

.form-group.has-error .help-block {
    color: var(--theme-color)
}

.bootstrap-touchspin .group-span-filestyle .btn-touchspin, .group-span-filestyle .bootstrap-touchspin .btn-touchspin, .group-span-filestyle .btn-default {
    padding: .5rem 1rem;
    font-size: .875rem;
    color: var(--theme-color-white);
    text-transform: uppercase;
    background: var(--theme-color);
    border-radius: 0
}

.bootstrap-touchspin {
    display: flex;
    width: auto
}

.bootstrap-touchspin input:focus {
    outline: 0
}

.bootstrap-touchspin input.form-control, .bootstrap-touchspin input.input-group {
    width: 3rem;
    height: 44px;
    padding: .175rem .5rem;
    color: var(--theme-text-color);
    background-color: var(--theme-color-white);
    border: 1px solid var(--theme-color-grey-lighter)
}

.bootstrap-touchspin .btn-touchspin {
    height: 1.3125rem;
    background-color: var(--theme-color-white);
    border: 1px solid var(--theme-color-grey-lighter)
}

#order-items table tr.total-value, .bootstrap-touchspin .btn-touchspin:hover {
    background-color: var(--theme-color-grey-bg)
}

.bootstrap-touchspin .input-group-btn-vertical {

    width: auto;
    color: var(--theme-text-color)
}

.bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-down, .bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-up {
    border-radius: 0
}

.bootstrap-touchspin .input-group-btn-vertical .touchspin-up::after {
    content: "\E5CE"
}

.bootstrap-touchspin .input-group-btn-vertical .touchspin-down::after {
    content: "\E5CF"
}

.bootstrap-touchspin .input-group-btn-vertical i {
    top: .0625rem;
    left: .1875rem;
    font-size: .9375rem
}

.radio-inline .custom-radio {
    margin-right: .5rem
}

.radio-inline:first-of-type {
    margin-right: 1rem
}

form section .form-informations {
    display: inline-block;
    margin-top: .25rem;
    margin-bottom: 1rem;
    color: var(--theme-text-color)
}

form section .form-informations-option, form section .form-informations-title {
    display: inline-block;
    margin-bottom: 1rem;
    font-size: 1.25rem
}

form .form-control-label {
    font-size: .875rem;
    font-weight: 700;
    color: var(--theme-text-color)
}

.custom-radio {
    position: relative;
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 3px;
    vertical-align: middle;
    cursor: pointer;
    background: var(--theme-color-white);
    border: 1px solid var(--theme-color-grey);
    border-radius: 50%
}

.custom-radio input[type=radio] {
    cursor: pointer;
    opacity: 0
}

.custom-radio input[type=radio]:checked + span {
    position: absolute;
    top: 2px;
    left: 2px;
    display: block;
    width: 12px;
    height: 12px;
    background-color: var(--theme-color);
    border-radius: 50%
}

.custom-checkbox input[type=checkbox]:focus + span, .custom-radio input[type=radio]:focus + span {
    border-color: var(--theme-text-color)
}

.custom-checkbox {
    position: relative;
    word-break: break-word
}

.custom-checkbox input[type=checkbox] {
    position: absolute;
    width: 18px;
    height: 18px;
    margin-top: 0;
    cursor: pointer;
    left: 0;
    top: 0;
    opacity: 0
}

.custom-checkbox input[type=checkbox] + span {
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 10px;
    vertical-align: sub;
    pointer-events: none;
    cursor: pointer;
    overflow: hidden;
    border: 1px var(--theme-color-grey) solid
}

.custom-checkbox input[type=checkbox] + span .checkbox-checked {
    display: none;
    margin: -2px;
    font-size: 1.25rem;
    color: var(--theme-text-color)
}

.radio-block {
    margin-right: 15px;
}

.custom-checkbox input[type=checkbox]:checked + span .checkbox-checked {
    display: block
}

.custom-checkbox label {
    position: relative;
}

@media (min-width: 576px) {

    .form-inline .form-group {
        display: inline-block;
        margin-bottom: 0;
        vertical-align: middle
    }

    .form-inline .form-control {
        display: inline-block;
        width: auto;
        vertical-align: middle
    }

    .form-inline .form-control-static {
        display: inline-block
    }

    .form-inline .input-group {
        display: inline-table;
        width: auto;
        vertical-align: middle
    }

    .form-inline .input-group .form-control, .form-inline .input-group .input-group-addon, .form-inline .input-group .input-group-btn {
        width: auto
    }

    .form-inline .input-group > .form-control {
        width: 100%
    }

    .form-inline .form-check, .form-inline .form-control-label {
        margin-bottom: 0;
        vertical-align: middle
    }

    .form-inline .form-check {
        display: inline-block;
        margin-top: 0
    }

    .form-inline .form-check-label {
        padding-left: 0
    }

    .form-inline .form-check-input {
        position: relative;
        margin-left: 0
    }

    .form-inline .has-feedback .form-control-feedback {
        top: 0
    }
}


.notifications-container .alert {
    position: relative;
}

.notifications-container .alert .ze-notification-close {
    position: absolute;
    top: 12px;
    right: 10px;
    border: 0;
    padding: 0;
    line-height: 1;
    background: transparent;
    color: inherit;
    font-size: 22px;
    cursor: pointer;
}

.notifications-container .alert .ze-notification-close:hover,
.notifications-container .alert .ze-notification-close:focus {
    opacity: 1;
}

.notifications-container .alert.ze-notification-hiding {
    opacity: 0;
    transition: opacity 0.2s ease;
}
