html, body {
    overflow-x: hidden;
}

@media (max-width: 768px) {
    button:not(.close), .dropdown-item, input[type=text], input[type=password], input[type=date], .select2, select, .select2-choice, option {
        font-size: 0.5em !important;
    }
}

@media (max-width: 992px) {
    button:not(.close), .dropdown-item, input[type=text], input[type=password], input[type=date], .select2, select, .select2-choice, option {
        font-size: 0.6em !important;
    }
}

@media (max-width: 1200px) {
    button:not(.close), .dropdown-item, input[type=text], input[type=password], input[type=date], .select2, select, .select2-choice, option {
        font-size: 0.7em !important;
    }

    .select2-container--bootstrap .select2-selection--single, .select2-container--bootstrap .select2-selection--multiple {
        height: calc(1.5em + .5rem + 2px) !important;
        font-size: 1em !important;
    }
}

.current-ticket-total-p {
    font-size: 2em;
}

.current-ticket-total, .last-ticket-total, .total-sold, .last-ticket-cash-exchange, .price {
    color: red;
    font-weight: bold;
}

.current-ticket-info [handler_action=view_payment_screen_standard],
.current-ticket-info [handler_action=view_payment_screen_add_payments] {
    font-size: 2em;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.no {
    color: red;
}

.yes {
    color: green;;
}

/**
 * References table dimension 2
 */

.reference-table-dimension-2 th, .reference-table-dimension-2 td {
    min-width: 50px;
    padding-left: 0.5em;
    padding-right: 0.5em;
    padding-bottom: 0.5em;
    text-align: center;
}

.reference-table-dimension-2 input[type=text] {
    width: 60px;
    text-align: center;
}

/**
 * Forms
 */

.required {
    color: red;
    font-weight: bold;
}

/**
 * Line items
 */

.line-item {
    border: 1px solid #ededed;
}

.line-item-quantity {
    font-size: 1.2em;
}

@media (max-width: 1250px) {
    .current-ticket .line-items button {
        font-size: 0.7em !important;
    }
}

@media (max-width: 1450px) {
    .current-ticket .line-items button {
        font-size: 0.8em !important;
    }
}

@media (min-width: 1451px) {
    .current-ticket .line-items button {
        font-size: 1em !important;
        padding: .35rem .6rem;
    }
}

/**
 * Categories
 */

.modal[modal_name=view_category] .record {
    height: 75px;
    overflow: hidden;
}

.modal[modal_name=view_category] .record .price {
    position: absolute;
    top: 5px;
    right: 10px;
    background-color: white;
}

/**
 * Direct access
 */

.categories-direct-access .record {
    height: 75px;
    overflow: hidden;
}

.favourite-products-direct-access .record {
    height: 75px;
    overflow: hidden;
}

.favourite-products-direct-access .record .price {
    position: absolute;
    top: 5px;
    right: 10px;
    background-color: white;
}

/**
 * Favourite products
 */

.modal[modal_name=view_favourite_products] .record {
    height: 75px;
    overflow: hidden;
}

.modal[modal_name=view_favourite_products] .record .price {
    position: absolute;
    top: 5px;
    right: 10px;
    background-color: white;
}

/**
 * Printing
 */

.print-div {
    color: black;
    font-size: 10pt;
}

.barcode-initialization {
    opacity: 0.01;
}

@media print and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
    body {
        zoom: 150%;
    }

    .modal-backdrop {
        display: none;
    }
}

/**
 * Payment screen
 */

.modal[modal_name=payment] .card-body {
    padding: 0.5em;
}

.modal[modal_name=payment] .input-group-prepend .input-group-text {
    min-width: 2.1rem;
    text-align: center;
}

@media (min-width: 1250px) {
    .modal[modal_name=payment] .ticket-pay-now-data input[type=text], .modal[modal_name=payment] .ticket-additional-data input[type=text], .modal[modal_name=payment] .ticket-additional-data select {
        height: calc(2em + .5rem + 2px) !important;
    }

    .modal[modal_name=payment] .ticket-pay-now-data [handler_action], .modal[modal_name=payment] .ticket-additional-data [handler_action] {
        min-width: 2.5rem !important;
        font-size: 1rem !important;
    }
}

/**
 * Cash register
 */

.modal[modal_name=view_cash_register] .card-body {
    padding: 0.5em;
}

/**
 * Special prices
 */

.cross {
    position: relative;
    display: inline-block;
}

.cross::before, .cross::after {
    content: '';
    width: 100%;
    position: absolute;
    right: 0;
    top: 40%;
}

.cross::before {
    border-bottom: 1px solid black;
    -webkit-transform: skewY(-10deg);
    transform: skewY(-10deg);
}

.cross::after {
    border-bottom: 1px solid black;
    -webkit-transform: skewY(10deg);
    transform: skewY(10deg);
}