@charset "UTF-8";
html,
body {
  height: 100%;
  background-color: #f5f5f5; }

.modal-content {
  -webkit-box-shadow: 0px 0px 18px 23px rgba(0, 0, 0, 0.38);
  -moz-box-shadow: 0px 0px 18px 23px rgba(0, 0, 0, 0.38);
  box-shadow: 0px 0px 18px 23px rgba(0, 0, 0, 0.38);
  border: 0px; }

.clear {
  clear: both;
  font-size: 1px;
  height: 1px; }

#loading {
  position: fixed;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  z-index: 5000; }
  #loading #loading_background {
    background-color: #FFFFFF;
    opacity: 0.7;
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 1001; }
  #loading #loading_container {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 1002; }
    #loading #loading_container #loading_wrapper {
      width: 100%;
      text-align: center;
      font-size: 12vw !important; }
      #loading #loading_container #loading_wrapper .loader {
        border: 16px solid #f3f3f3;
        /* Light grey */
        border-top: 16px solid #3498db;
        /* Blue */
        border-radius: 50%;
        width: 120px;
        height: 120px;
        animation: spin 2s linear infinite;
        margin: auto; }

@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
      #loading #loading_container #loading_wrapper #printing-txt {
        display: none; }
  #loading.printing #printing-txt {
    display: block !important; }
  #loading.printing #loading-txt {
    display: none; }

#language_box {
  position: absolute;
  right: 10px;
  top: 10px;
  overflow: hidden;
  border: 1px solid black;
  border-radius: 5px;
  z-index: 800;
  cursor: pointer;
  box-sizing: content-box;
  padding-right: 25px;
  visibility: hidden;
  background-color: #f5f5f5; }
  #language_box:after {
    position: absolute;
    right: 8px;
    top: 8px;
    width: 10px;
    height: 10px;
    border: solid black;
    border-width: 0 3px 3px 0;
    display: inline-block;
    content: " ";
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg); }
  #language_box.expanded .language_box_item {
    display: flex;
    border-radius: 5px; }
    #language_box.expanded .language_box_item:hover {
      background-color: #c7d0d6; }
  #language_box .language_box_item {
    display: none;
    height: 20px;
    padding: 4px;
    box-sizing: content-box;
    width: 100px; }
    #language_box .language_box_item .flag {
      height: 20px;
      margin-right: 4px; }
    #language_box .language_box_item .name {
      height: 20px;
      line-height: 20px; }
  #language_box .current_language {
    display: flex; }

.step {
  position: absolute;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  visibility: hidden; }
  .step.m-fadeOut {
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s linear 300ms, opacity 300ms; }
  .step.m-fadeIn {
    visibility: visible;
    opacity: 1;
    transition: visibility 0s linear 0s, opacity 300ms; }
  .step .container.special {
    height: 100%;
    overflow: auto; }
    .step .container.special .centered-step {
      width: 100%;
      max-width: 350px;
      padding: 15px;
      margin: auto;
      text-align: center; }
      .step .container.special .centered-step .no-scroll-container {
        position: relative; }
        .step .container.special .centered-step .no-scroll-container .foo-scroll {
          position: absolute;
          left: 0px;
          top: 0px;
          width: 100%;
          height: 100%;
          background-color: red;
          display: none;
          opacity: 0; }
  .step .balance_container {
    font-weight: normal;
    border-radius: 10px;
    padding: 10px;
    margin: auto;
    max-width: 540px;
    display: none; }
    .step .balance_container.loading {
      background-color: #ffcf08;
      opacity: 0.7; }
    .step .balance_container.positive {
      background-color: #5cb85c;
      color: #FFFFFF; }
    .step .balance_container.negative {
      background-color: #b21f2d;
      color: #FFFFFF; }
    .step .balance_container span {
      font-weight: bold;
      letter-spacing: -2px; }

#step-1 .container.special .form-signin .checkbox {
  font-weight: 400; }

#step-1 .container.special .form-signin .form-control {
  position: relative;
  box-sizing: border-box;
  height: auto;
  padding: 10px;
  font-size: 16px; }

#step-1 .container.special .form-signin .form-control:focus {
  z-index: 2; }

#step-1 .container.special .form-signin input[type="email"] {
  margin-bottom: -1px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0; }

#step-1 .container.special .form-signin input[type="password"] {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

#step-2 #welcome_container {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap; }

#step-2 .check_ticket {
  display: none; }

#step-3 .container.special {
  text-align: center; }
  #step-3 .container.special img {
    max-width: 350px; }
  #step-3 .container.special #room_list {
    margin-top: 5px; }
    #step-3 .container.special #room_list #foo_room {
      display: none; }
    #step-3 .container.special #room_list .room {
      text-align: left;
      cursor: pointer; }
      #step-3 .container.special #room_list .room h5 {
        margin-bottom: 0px; }
      #step-3 .container.special #room_list .room .card-title {
        font-weight: bold; }
      #step-3 .container.special #room_list .room .card-text .next-game-value {
        font-weight: bold; }
      #step-3 .container.special #room_list .room .card-text .price-value {
        font-weight: bold; }
      #step-3 .container.special #room_list .room .preselling-buy {
        display: none; }
      #step-3 .container.special #room_list .room.with-preselling .card-title {
        position: absolute;
        top: 50%;
        transform: translateY(-50%); }
      #step-3 .container.special #room_list .room.with-preselling .card-text {
        display: none; }
      #step-3 .container.special #room_list .room.with-preselling .game-style {
        display: none; }
      #step-3 .container.special #room_list .room.with-preselling .preselling-buy {
        display: block !important; }
    #step-3 .container.special #room_list .with-opacity {
      opacity: 0.5 !important;
      cursor: not-allowed; }

#step-3 #preselling_game_list {
  max-height: 440px;
  overflow: auto; }
  #step-3 #preselling_game_list #foo_game {
    display: none; }
  #step-3 #preselling_game_list .preselling_game {
    cursor: pointer; }
    #step-3 #preselling_game_list .preselling_game.with-opacity {
      opacity: 0.5 !important;
      cursor: not-allowed !important; }

#printing-screen {
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  width: 100%;
  background-color: #FFFFFF;
  z-index: 6000;
  text-align: center;
  min-height: 100%;
  color: black;
  display: none;
  font-size: 1.3rem !important; }
  #printing-screen.with-barcode #barcode {
    display: inline-block !important; }
  #printing-screen .buy_info {
    width: 100%;
    margin: auto auto 0 auto;
    text-align: left !important;
    font-size: 80%; }
    #printing-screen .buy_info #buy_qr {
      max-height: 120px; }
  #printing-screen #foo_card {
    display: none; }
  #printing-screen .card_id {
    width: 100%;
    padding: 0;
    text-align: center !important;
    font-weight: bold;
    font-size: 80%;
    line-height: 20px; }
    #printing-screen .card_id .card_id_value {
      font-weight: normal; }
  #printing-screen .card {
    width: 100%;
    padding: 0;
    margin: 0;
    border-radius: 0px;
    box-sizing: border-box;
    border: 1px solid black; }
    #printing-screen .card .number {
      width: 11.11%;
      background-color: white;
      height: 1.8rem;
      line-height: 1.8rem;
      box-sizing: border-box;
      border: 1px solid black; }
    #printing-screen .card .empty {
      width: 11.11%;
      height: 1.8rem;
      line-height: 1.8rem;
      background-color: white;
      box-sizing: border-box;
      border: 1px solid black; }
    #printing-screen .card.card-25 {
      width: 12.5rem;
      box-sizing: content-box;
      margin: auto; }
      #printing-screen .card.card-25 .number, #printing-screen .card.card-25 .empty {
        height: 2.5rem;
        width: 2.5rem;
        line-height: 2.5rem; }
  #printing-screen #footer_text {
    font-size: 75%; }
  #printing-screen #middle_text {
    margin-top: 1cm;
    margin-bottom: 0.5cm;
    font-size: 100%; }

#hidden-qr-reader {
  display: none;
  visibility: hidden; }

#foobar_image {
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 10000;
  display: none;
  visibility: hidden; }

#logo_canvas {
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: 10000;
  display: none; }

.card_canvas {
  position: absolute;
  left: 100px;
  top: 100px;
  z-index: 10000;
  display: none; }

#buy_qr {
  position: relative;
  margin: auto; }
  #buy_qr img {
    margin: auto;
    position: relative;
    z-index: 10000; }

.buy_qr_style {
  margin: 5% auto 8% auto;
  z-index: 10000;
  width: 80%;
  box-sizing: content-box;
  position: relative; }

#step-5 .container.special {
  text-align: center; }
  #step-5 .container.special img {
    max-width: 350px; }
  #step-5 .container.special #print_history_list {
    text-align: left;
    margin-top: 5px;
    /*
      .room
      {
        text-align: left;
        cursor: pointer;

        .card-title
        {
          font-weight: bold;
        }

        .card-text
        {
          .next-game-value{font-weight: bold;}
          .price-value{font-weight: bold;}
        }

      }
      */ }
    #step-5 .container.special #print_history_list #print_history_foo {
      display: none; }

#step-6 .container.special {
  text-align: center; }
  #step-6 .container.special img {
    max-width: 350px; }
  #step-6 .container.special #configuration_data {
    text-align: left;
    margin-top: 5px; }

#step-6 .header {
  background-color: cadetblue;
  width: 100%;
  padding: 0.5rem;
  color: white;
  margin-bottom: 1rem;
  border-radius: 5px; }

#step-7-printing {
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  width: 100%;
  background-color: #FFFFFF;
  z-index: 5000;
  text-align: center;
  min-height: 100%;
  color: black;
  display: none; }
  #step-7-printing .step-7-info {
    width: 100%;
    margin: auto auto 0 auto;
    text-align: left !important;
    font-size: 80%;
    color: black; }
  #step-7-printing .header {
    width: 100%;
    padding: 0;
    text-align: center !important;
    font-weight: bold;
    font-size: 120%;
    color: black;
    line-height: 20px; }

#step-7 .container.special {
  text-align: center; }
  #step-7 .container.special img {
    max-width: 350px; }
  #step-7 .container.special #configuration_data {
    text-align: left;
    margin-top: 5px; }

#step-7 .header {
  background-color: cadetblue;
  width: 100%;
  padding: 0.5rem;
  color: white;
  margin-bottom: 1rem;
  border-radius: 5px; }

#step-7 .centered-step {
  width: 100%;
  max-width: 350px;
  padding: 15px;
  margin: auto;
  text-align: center; }

#step-7 #step-7-back-button {
  margin-bottom: 2.5%; }

#step-7 #step-7-check {
  margin: 5% auto; }

.step_7_results {
  display: none; }

#step-8 .text-info {
  font-size: 2.35rem; }

.step-8-results {
  display: none; }

#step-8-noresults {
  display: none; }

#step-10-printing {
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  width: 100%;
  background-color: #FFFFFF;
  z-index: 5000;
  text-align: left;
  min-height: 100%;
  color: black;
  display: none; }
  #step-10-printing .step-10-info {
    width: 100%;
    margin: auto auto 0 auto;
    text-align: left !important;
    font-size: 80%;
    color: black; }
  #step-10-printing .header {
    width: 100%;
    padding: 0;
    text-align: center !important;
    font-weight: bold;
    font-size: 120%;
    color: black;
    line-height: 20px; }

.noselect {
  -webkit-touch-callout: none;
  /* iOS Safari */
  -webkit-user-select: none;
  /* Safari */
  -khtml-user-select: none;
  /* Konqueror HTML */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* Internet Explorer/Edge */
  user-select: none;
  /* Non-prefixed version, currently
                                  supported by Chrome and Opera */ }

#to_buy_text {
  font-size: 92%;
  display: flex;
  align-items: center;
  justify-content: center; }

#update-downloading {
  display: none; }

#update-download-error {
  display: none; }

#update-installing {
  display: none; }

#update-install-failed {
  display: none; }

#update-button-retry-install {
  display: none; }

/* check ticket and mark ticket */
#check-ticket-info #check-ticket-cards {
  max-height: 400px;
  overflow: auto; }

#step-4-printing {
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  width: 100%;
  background-color: #FFFFFF;
  z-index: 5000;
  text-align: center;
  min-height: 100%;
  color: black;
  display: none; }
  #step-4-printing .step-4-info {
    width: 100%;
    margin: auto auto 0 auto;
    text-align: left !important;
    font-size: 80%;
    color: black; }
  #step-4-printing .header {
    width: 100%;
    padding: 0;
    text-align: center !important;
    font-weight: bold;
    font-size: 120%;
    color: black;
    line-height: 20px; }

#operation_value_container {
  width: 100%;
  text-align: center;
  background-color: #c9c9c9;
  border-radius: 10px;
  margin-bottom: 10px;
  font-weight: bold;
  padding: 2px; }
  #operation_value_container #to-charge-value {
    margin-left: 3px;
    font-weight: normal; }

#qr_container {
  -webkit-print-color-adjust: exact !important;
  /* Chrome, Safari 6 – 15.3, Edge */
  color-adjust: exact !important;
  /* Firefox 48 – 96 */
  print-color-adjust: exact !important;
  /* Firefox 97+, Safari 15.4+ */ }

/**
Printing exclusive
 */
@media print {
  body, html {
    min-width: 100vw !important;
    max-width: 100vw !important;
    width: 100vw !important;
    font-size: 0.70rem; }
    body .modal, html .modal {
      display: none !important; }
    body #printing-screen, html #printing-screen {
      font-size: 1.45rem !important; }
    body #step-10-printing, html #step-10-printing {
      font-size: 1.45rem !important; }
    body #step-7-printing, html #step-7-printing {
      font-size: 1.45rem !important; }
    body .buy_info, html .buy_info {
      font-size: 90%; }
    body #card_canvas, html #card_canvas {
      display: none; }
    body .step, html .step {
      display: none; }
    body .modal, html .modal {
      display: none; }
    body .pos-printable, html .pos-printable {
      padding: 0px !important;
      min-width: 100vw !important;
      max-width: 100vw !important;
      width: 100vw !important; }
      body .pos-printable .bw-logo, html .pos-printable .bw-logo {
        min-width: 50vw !important;
        max-width: 100vw !important; }
      body .pos-printable img, html .pos-printable img {
        visibility: visible !important;
        opacity: 1 !important; }
      body .pos-printable #barcode, html .pos-printable #barcode {
        max-width: 100vw !important; }
      body .pos-printable .card, html .pos-printable .card {
        font-size: 90%; }
      body .pos-printable.print-padding, html .pos-printable.print-padding {
        width: 70vw !important;
        min-width: 70vw !important;
        max-width: 70vw !important;
        padding-left: 15vw !important;
        padding-right: 15vw !important;
        box-sizing: content-box !important;
        overflow-x: hidden !important; }
        body .pos-printable.print-padding #barcode, html .pos-printable.print-padding #barcode {
          max-width: 70vw !important; }
  .card_container {
    page-break-inside: avoid;
    font-size: 90%; }
  .footer_text {
    page-break-inside: avoid; }
  #qr_container {
    -webkit-print-color-adjust: exact !important;
    /* Chrome, Safari 6 – 15.3, Edge */
    color-adjust: exact !important;
    /* Firefox 48 – 96 */
    print-color-adjust: exact !important;
    /* Firefox 97+, Safari 15.4+ */ } }

#buy-in-room form {
  margin-bottom: 0px; }

#buy-in-room.in_lottery_room.showing_lottery_pick .modal-content {
  position: relative; }

#buy-in-room #lottery_number_picker {
  position: absolute;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  background-color: #FFFFFF;
  z-index: 50;
  display: none; }
  #buy-in-room #lottery_number_picker #lottery_number_picker_container {
    position: absolute;
    width: 100%;
    height: 100%; }
    #buy-in-room #lottery_number_picker #lottery_number_picker_container #pick_number_container {
      display: grid;
      grid-auto-flow: column;
      grid-column-gap: 0.5em; }
      #buy-in-room #lottery_number_picker #lottery_number_picker_container #pick_number_container .pick_number {
        font-size: 22px;
        padding: 0px !important; }
    #buy-in-room #lottery_number_picker #lottery_number_picker_container #number_list {
      width: 100%;
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      grid-row-gap: 0.5em;
      grid-column-gap: 0.5em; }
      #buy-in-room #lottery_number_picker #lottery_number_picker_container #number_list .number {
        font-size: 20px;
        font-weight: bold;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 0px !important; }

#buy-in-room #amount_container {
  position: relative; }
  #buy-in-room #amount_container #amount_label {
    position: absolute;
    width: 100%;
    top: 0px;
    transform: translateY(-100%); }
    #buy-in-room #amount_container #amount_label #to_buy_text {
      font-weight: bold;
      font-size: 12px;
      text-transform: uppercase; }

#buy-in-room #lottery_tickets_row {
  max-height: 300px;
  overflow-y: auto;
  overflow-x: hidden; }

.btn {
  white-space: normal !important;
  word-wrap: break-word; }

.print_image_modal .modal-content {
  max-height: 94vh;
  min-height: 94vh; }
  .print_image_modal .modal-content .modal-body {
    overflow: auto; }
    .print_image_modal .modal-content .modal-body img {
      max-width: 70%; }

/***** hide input spinners *****/
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0; }

/* Firefox */
input[type=number] {
  -moz-appearance: textfield; }

/** Image printing **/
body.image_print {
  font-size: 2rem !important; }
  body.image_print .pos-printable {
    font-size: 2rem !important; }
    body.image_print .pos-printable.print-padding {
      padding-left: 2vw;
      padding-right: 2vw;
      overflow-x: hidden; }
      body.image_print .pos-printable.print-padding #barcode {
        max-width: 96vw; }

body.printing-step-4 .pos-printable {
  display: none !important; }

body.printing-step-4 #step-4-printing {
  display: block !important; }
