.loader {
    border: 16px solid #f3f3f3;
    border-top: 16px solid #95c11f;
    border-radius: 50%;
    width: 120px;
    height: 120px;
    animation: spin 2s linear infinite;
    margin: 50px auto;
}

.loader-inline {
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.table-nenalezeno {
    text-align: center;
    color: gray;
    margin: 20px;
}

.text-center {
    text-align: center;
}

.hide {
    display: none !important;
}

.icon.text--green:before {
    color: #95C11F;
}

.icon.text--orange:before {
    color: orange;
}

.icon.text--black:before {
    color: black;
}

/*#vypis-uctenky {*/
/*    overflow-y: visible;*/
/*}*/

.productRow--bill, .productRow--orderDetail {
    position: relative;
}

.productRow--bill .remove, .productRow--orderDetail .remove {
    position: absolute;
    right: -3px;
    top: 0px;
    color: red;
    text-decoration: none;
    font-size: 20px;
}

/*
.productRow--bill .addGift {
  position: absolute;
  left: -5px;
  top: -5px;
  background: darkorange;
  color: white;
  text-decoration: none;
  font-size: 14px;
  padding-top: 4px;
  border-radius: 50%;
  width: 25px;
  height: 25px;
  text-align: center;
}
*/

.productRow--bill .productRow-sale {
    text-decoration: none;
}

.ui-dialog {
    border-radius: 10px;
    -webkit-box-shadow: 0px 0px 23px 8px rgba(0, 0, 0, 0.36);
    -moz-box-shadow: 0px 0px 23px 8px rgba(0, 0, 0, 0.36);
    box-shadow: 0px 0px 23px 8px rgba(0, 0, 0, 0.36);
    z-index: 102;
}

.ui-widget-overlay {
    opacity: 0.6 !important;
    z-index: 101;
}

.bill-payment-value {
    display: inline-block;
}

.debugButton {
    position: fixed;
    right: 5px;
    bottom: 5px;
    z-index: 501;
}

.debug {
    position: fixed;
    z-index: 500;
    top: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    padding: 30px;
    background: white;
    border: solid #e0e0e0 1px;
    -webkit-box-shadow: 0px 0px 23px 8px rgba(0, 0, 0, 0.36);
    overflow: auto;
    font-size: 11px;
}

.tag--inline {
    display: inline-block;
    font-size: 12px !important;
    font-weight: normal !important;
}

.tag--small {
    padding: 5px;
    line-height: unset;
    vertical-align: middle;
}

.tag .tag--hide {
    display: none;
}

.tag:hover .tag--hide {
    display: inline;
}

.tag:hover .tag--show {
    display: none;
}

.bill-payment-label .tag {
    font-weight: normal !important;
    cursor: help;
}

.bill-payment-label .tag .icon {
    color: white !important;
    font-size: 14px;
    padding: 0 !important;
}

.informacniHlasky {
    position: fixed;
    top: 0;
    left: 50%;
    width: 600px;
    margin-left: -300px;
    z-index: 1000;
    cursor: pointer;
}

.informacniHlasky-loading {
    width: 100%;
    height: 3px;
}

.informacniHlasky-loading {
    height: 3px;
    width: 0px;
}

.informacniHlasky-loading-good {
    background: #0077E7;
}

.informacniHlasky-loading-bad {
    background: #FF0000;
}

.informacniHlasky-loading-info {
    background: #ff7102;
}

.img-m {
    height: 52px;
}

.img-s {
    height: 26px;
}

.pageTabs-fix {
    margin: -30px -30px 30px -30px;
}

input[type="text"]::placeholder {
    color: #b0b0b0;
}

.inputGroup--small input[type="text"] {
    width: 100px;
}

.strankovani {
    list-style-type: none;
}

.strankovani li {
    margin-right: 3px;
}

.no-close .ui-dialog-titlebar-close {
    display: none;
}

.table--pad15 td {
    padding: 15px 10px;
}

.text-right {
    text-align: right;
}

.modal {
    display: none;
}

.formGroup.formGroup--required label:after {
    content: '';
    color: #FF0000;
}

.formGroup.formGroup--required label:nth-child(1):after {
    content: ' *';
    color: #FF0000;
}

.modalZapisKontrola label:nth-child(1) {
    width: 250px;
}

/*.calendar-body .calendar-column .column-content .vacation {*/
/*    padding: 5px 10px;*/
/*    font-size: 11px;*/
/*    cursor: help;*/
/*}*/

.vacation {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
}

.vacation-length {
    width: auto !important;
    min-width: 16px;
    padding: 0 2px;
    position: relative;
}

.pageNavigation-body a .badge {
    display: inline-block;
    position: absolute;
    top: 5px;
    right: 16px;
    font-size: 12px;
    height: 26px;
    width: 26px;
    text-align: center;
    line-height: 26px;
    padding: 0;
    margin: 0;
    background: red;
}

.pageNavigation-body a .badge {
    display: inline-block;
    position: absolute;
    top: 5px;
    right: 16px;
    font-size: 12px;
    height: 26px;
    width: 26px;
    text-align: center;
    line-height: 26px;
    padding: 0;
    margin: 0;
    background: red;
}

.bill-payment-content .loader {
    width: 30px;
    height: 30px;
}

.alert--green {
    color: #597218;
    background: #f5ffda;
}

.productRow-name-row1 span {
    font-size: 9px;
}

.productRow-name-row2 {
    margin-top: 5px;
}

.productRow-name-row2 .tag {
    margin-left: 0;
    padding: 1px 4px;
    line-height: 20px;
    height: 20px;
    white-space: nowrap;
}

.ul-simple {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.ul-simple li {
    padding: 5px;
}

.panel {
    margin-bottom: 30px !important
}

.panel-header {
    margin-bottom: 10px !important;
}

#vypis-kategorii .productRow--searchDetail:not(.pridatDoUctenky) * {
    color: #d2d1d1;
    cursor: not-allowed;
}

.progress {
    width: 100%;
    height: 30px;
    border: solid #e0e0e0 1px;
    background: #f3f2f2;
    border-radius: 5px;
    position: relative;
    z-index: 0;
}

.progress-bar {
    z-index: 1;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    background: #95c11fc9;
    border-radius: 5px;
}

.progress-text {
    z-index: 2;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    text-align: center;
    font-size: 11px;
    line-height: 30px;
}

.progress-bar:hover .progress-text {
    color: white !important;
}

.tags {
    flex-wrap: wrap;
}

.tags .tag {
    margin-bottom: 5px;
}

.formControl[disabled] {
    color: gray !important;
}

/*.bill-body {*/
/*    overflow: auto !important;*/
/*    height: calc(100% - 345px) !important;*/
/*}*/

.formGroup--vyhledavani {
    position: relative;
}

.formGroup--vyhledavani .loader {
    width: 20px;
    height: 20px;
    margin: 0;
    position: absolute;
    right: 15px;
    top: 15px;
}

.productRow--search .productRow-body {
    padding-left: 30px !important;
    padding-right: 10px !important;
}

.productRow--searchDetail {
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 5px;
    cursor: pointer;
}

.productRow--searchDetail:hover {
    background: rgba(0, 0, 0, 0.05);
}

.productRow-image {
    position: relative;
    cursor: zoom-in;
}

.productRow-image-big {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 250px;
    height: 250px;
    z-index: 10;
    border-radius: 5px;
    border: solid #e0e0e0 1px;
    -webkit-box-shadow: 5px 5px 15px 5px rgb(0 0 0 / 37%);
    box-shadow: 5px 5px 15px 5px rgb(0 0 0 / 37%);
}

.productRow-image-big img {
    width: 100%;
}

.tag--premium {
    background: #B79A3C;
}

.premium {
    color: #B79A3C;
}

.addGift, .addPremiumGift {
    vertical-align: top;
    font-size: 12px;
    font-weight: normal;
}

.addGift span, .addPremiumGift span {
    display: none;
}

.addGift:hover i, .addPremiumGift:hover i {
    display: none;
}

.addGift:hover span, .addPremiumGift:hover span {
    display: block;
    height: 26px;
}

#interactive.viewport canvas, video {
    position: absolute;
    top: 35px;
    width: 100%;
    height: 100%;
}

/* specialni upravy pro mobile device */
.mobileDevice.page-kasa .pageHeader-container {
    display: none;
}

.mobileDevice.page-kasa .pageHeader {
    height: 0px;
}

.mobileDevice.page-kasa .pageWrapper {
    padding-top: 30px;
}

.mobileDevice.page-kasa .container > .container-column--fixed {
    top: 30px;
    height: 100%;
}

.mobileDevice .bill-body {
    height: 100% !important;
}

.mobileDevice .bill-payment {
    margin-top: 10px !important;
}

.bill-total-remains {
    font-size: 1.5em;
    font-weight: bold;
}

.bill-total-remains span {
    color: #c40202;
}

.bill-body {
    padding: 5px 10px !important;
    padding-top: 10px !important;
    height: 100% !important;
}

/*.bill-withHeader .bill-body {*/
/*    height: calc(100% - 48px) !important;*/
/*}*/

.bill-body .bill-total {
    margin-top: 5px !important;
}

.bill-body .bill-payment {
    margin-top: 5px !important;
}

.bill-body .bill-payment-item {
    margin-bottom: 5px !important;
}

.panel--bill .panel-body {
    height: calc(100% - 34px - 9px) !important;
}

.bill-header {
    height: auto;
    padding: 15px 30px;
}

.bill-header-remove {
    height: auto;
    padding-top: 8px;
}

.page-kasa .pageWrapper {
    padding-top: 91px !important;
}

.page-kasa .container-column--fixed-right {
    top: 85px !important;
}

.bill {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.bill .bill-header {
  height: 48px;
  flex-shrink: 0;
}

.bill .bill-body {
  flex: 1;
  overflow: auto;
}

.bill-items {
    padding-right: 16px;
    margin-right: -10px;
}

.panel-white .panel-body .stitek {
    background: white !important;
}

.btn--noPadding {
    padding: 0 5px !important;
}

.productRow--lzeObjednat {}

.productRow--nelzeObjednat, .productRow--nelzeObjednat div {
    opacity: 0.8;
    cursor: not-allowed !important;
}

.dialogPaymentInProgress .ui-dialog-content .icon {
    font-size: 100px;
    color: red;
    text-align: center;
    padding: 20px 20px 10px 20px;
}

.dialogPaymentInProgress .ui-dialog-content .info {
    font-weight: bold;
    text-align: center;
    padding-bottom: 20px;
}

.dialogPaymentInProgress .ui-dialog-titlebar {
    display: none;
}


/*.dialogPaymentInProgress .ui-widget-header {*/
/*    background: red;*/
/*    color: black;*/
/*    border-color: red;*/
/*    text-align: center;*/
/*}*/

/*.dialogPaymentInProgress .ui-widget.ui-widget-content {*/
/*    border-color: red;*/
/*}*/

/*.dialogPaymentInProgress.ui-widget-content {*/
/*    background: #ffc7c7;*/
/*}*/

.vu-naseptavac {
    margin-top: 10px;
    text-align: center;
}

.vu-zaznam {
    padding: 10px;
    font-size: 18px;
    position: relative;
    text-align: left;
}

.vu-zaznam:hover {
    background: #e1efc6;
    cursor: pointer;
}

.vu-zaznam a {
    position: absolute;
    right: 5px;
}

#vernostniKarta.omezena .icon-card:before {
    color: orange !important;
}

.productRow--search .productRow-price {
    width: auto !important;
}