/* display this row with flex and use wrap (= respect columns' widths) */
.row-flex {
  display: -webkit-box !important;
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
  flex-wrap: wrap !important;
}
/* vertical spacing between columns */
.row-flex [class*="col-"] {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
}

.vertical-align {
  display: flex;
  flex-direction: row;
}

.vertical-align > [class^="col-"],
.vertical-align > [class*=" col-"] {
  display: flex;
  align-items: center;     /* Align the flex-items vertically */
  justify-content: center; /* Optional, to align inner flex-items
                              horizontally within the column  */
}

#floating-top-right,
#floating-top-right .alert-wrap{ z-index: 999999999999 !important; }

.toolbarTable{
  float: left;
}

.selected-row{
  background: #42a5f5 !important;
  color: #FFFFFF !important;
}

input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none !important; 
  margin: 0 !important; 
}

.c-keyboard{
  position: fixed; 
  width: 100%;  
  height: auto; 
  bottom: 0; 
  left: 0; 
  z-index: 9999;
  display: none;
}

.c-piso{
  background: url(../img/piso.png); 
}

.m-mesa{
  background: url(../img/mesa.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-origin: content-box;  
}

.m-libre{
  background: url(../img/libre.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-origin: content-box;  
}

.m-ocupada{
  background: url(../img/ocupada.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-origin: content-box;  
}

.m-reservada{
  background: url(../img/reservada.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-origin: content-box;  
}

.m-bloqueada{
  background: url(../img/bloqueada.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-origin: content-box;  
}

.relative{ position: relative !important; }
.absolute{ position: absolute !important; }

.W100{ width: 100%; }

.H100{ height: 100%; }

.WPX100{ width: 100px !important; }
.WPX75{ width: 75px !important; }
.WPX50{ width: 50px !important; }
.WPX40{ width: 40px !important; }

.HPX75{ height: 75px; }

.T0{ top: 0; }
.B0{ bottom: 0; }
.L0{ left: 0; }
.R0{ right: 0; }

.mt-5{ margin-top: 5px; }

.ml-5{ margin-left: 5px; }
.ml-10{ margin-left: 10px; }

.ptb-15{
  padding-top: 15px;
  padding-bottom: 15px;
}

.c-pointer{ cursor: pointer; }

.c-horizontal-r{left: 50% !important;transform: translate(-50%, 0) !important;-webkit-transform: translate(-50%, 0) !important;}
.c-vertical-r{top: 50% !important;transform: translate(0, -50%) !important;-webkit-transform: translate(0, -50%) !important;}

/* picture */
.picture-100{
    position: relative; 
    display: block; 
    width: 100%; 
    padding-top: 56.25%; 
    overflow: hidden;
    margin: 0;
    border-radius: .25rem;
    -webkit-box-shadow: 0 5px 11px 0 rgba(0,0,0,0.18), 0 4px 15px 0 rgba(0,0,0,0.15);
    box-shadow: 0 5px 11px 0 rgba(0,0,0,0.18), 0 4px 15px 0 rgba(0,0,0,0.15);
    background: #F5F5F5;
}

.picture-100 img{
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
    margin: 0;
    border-top-left-radius: calc(0.25rem - 1px);
    border-top-right-radius: calc(0.25rem - 1px);
}

.cssload-spin-box {
  position: relative;
  margin: auto;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
    -o-box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
    -ms-box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
    -webkit-box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
    -moz-box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
  animation: cssload-spin ease infinite 4.6s;
    -o-animation: cssload-spin ease infinite 4.6s;
    -ms-animation: cssload-spin ease infinite 4.6s;
    -webkit-animation: cssload-spin ease infinite 4.6s;
    -moz-animation: cssload-spin ease infinite 4.6s;

  margin-top: 20px; 
  margin-bottom: 20px;
}



@keyframes cssload-spin {
  0%,
  100% {
    box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
  }
  25% {
    box-shadow: -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73);
  }
  50% {
    box-shadow: -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223);
  }
  75% {
    box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
  }
}

@-o-keyframes cssload-spin {
  0%,
  100% {
    box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
  }
  25% {
    box-shadow: -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73);
  }
  50% {
    box-shadow: -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223);
  }
  75% {
    box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
  }
}

@-ms-keyframes cssload-spin {
  0%,
  100% {
    box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
  }
  25% {
    box-shadow: -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73);
  }
  50% {
    box-shadow: -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223);
  }
  75% {
    box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
  }
}

@-webkit-keyframes cssload-spin {
  0%,
  100% {
    box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
  }
  25% {
    box-shadow: -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73);
  }
  50% {
    box-shadow: -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223);
  }
  75% {
    box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
  }
}

@-moz-keyframes cssload-spin {
  0%,
  100% {
    box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
  }
  25% {
    box-shadow: -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73);
  }
  50% {
    box-shadow: -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223);
  }
  75% {
    box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
  }
}

.loader-100 {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: inline-block;
  border-top: 3px solid #0fa600;
  border-right: 3px solid transparent;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
} 

/* The switch - the box around the slider */
.switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px;
}

/* Hide default HTML checkbox */
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* The slider */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked + .slider {
  background-color: #2196F3;
}

input:focus + .slider {
  box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
  -webkit-transform: translateX(26px);
  -ms-transform: translateX(26px);
  transform: translateX(26px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
}

#m-scan{
  position: fixed;
  width: 100%;
  height: auto;
  bottom: 0;
  background: white;
  z-index: 10;
  display: none;
}

#m-scan video{
  position: relative;
  height: 300px;
}