* {
  margin: 0;
  padding: 0;
  font-family: -apple-system, "Helvetica Neue", Roboto, "Segoe UI", sans-serif;
}

body,
html {
  -webkit-tap-highlight-color: transparent;
  height: 100%;
  overflow: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%;
}

html {
  -moz-background-size: 100vw 100vh;
  -o-background-size: 100vw 100vh;
  background-size: 100vw 100vh;
}

@media screen and (max-width: 679px) {
  html #game-region {
    background-position: 0 0;
  }
}

#game-region {
  pointer-events: all;
  background-position: -200px 0;
  background-repeat: no-repeat;
  -moz-background-size: 100vw 100vh;
  -o-background-size: 100vw 100vh;
  background-size: 100vw 100vh;
  height: 100%;
  overflow: hidden;
  -webkit-perspective: 8000px;
  -moz-perspective: 8000px;
  perspective: 8000px;
  position: relative;
}

#main-view {
  margin-left: 200px;
}

#winAdContainer {
  position: absolute !important;
  top: 50%;
  left: 0;
  width: 160px;
  height: 600px;
  margin-top: -300px;
}

@-webkit-keyframes spadesBroken {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  to {
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
    opacity: 0.8;
  }
}

@-moz-keyframes spadesBroken {
  from {
    -moz-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  to {
    -moz-transform: scale(0.75);
    transform: scale(0.75);
    opacity: 0.8;
  }
}

@-o-keyframes spadesBroken {
  from {
    -o-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  to {
    -o-transform: scale(0.75);
    transform: scale(0.75);
    opacity: 0.8;
  }
}

@keyframes spadesBroken {
  from {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  to {
    -webkit-transform: scale(0.75);
    -moz-transform: scale(0.75);
    -o-transform: scale(0.75);
    transform: scale(0.75);
    opacity: 0.8;
  }
}

.poker-card {
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  cursor: default;
  height: 247px;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform: rotateY(0);
  -moz-transform: rotateY(0);
  transform: rotateY(0);
  -webkit-transition: -webkit-transform 0.3s, -webkit-box-shadow 0.2s;
  transition: -webkit-transform 0.3s, -webkit-box-shadow 0.2s;
  -o-transition: box-shadow 0.2s, -o-transform 0.3s;
  -moz-transition: transform 0.3s, box-shadow 0.2s, -moz-transform 0.3s,
    -moz-box-shadow 0.2s;
  transition: transform 0.3s, box-shadow 0.2s;
  transition: transform 0.3s, box-shadow 0.2s, -webkit-transform 0.3s,
    -moz-transform 0.3s, -o-transform 0.3s, -webkit-box-shadow 0.2s,
    -moz-box-shadow 0.2s;
  width: 182px;
  z-index: 1000;
}

.poker-card.ready {
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

.poker-card {
  -webkit-transition: -webkit-transform 0.5s, -webkit-box-shadow 0.2s;
  transition: -webkit-transform 0.5s, -webkit-box-shadow 0.2s;
  -o-transition: box-shadow 0.2s, -o-transform 0.5s;
  -moz-transition: transform 0.5s, box-shadow 0.2s, -moz-transform 0.5s,
    -moz-box-shadow 0.2s;
  transition: transform 0.5s, box-shadow 0.2s;
  transition: transform 0.5s, box-shadow 0.2s, -webkit-transform 0.5s,
    -moz-transform 0.5s, -o-transform 0.5s, -webkit-box-shadow 0.2s,
    -moz-box-shadow 0.2s;
}

.platform-edge .poker-card.in-waste,
.poker-card.in-waste {
  -webkit-transition: -webkit-transform 0.3s, -webkit-box-shadow 0.2s;
  transition: -webkit-transform 0.3s, -webkit-box-shadow 0.2s;
  -o-transition: box-shadow 0.2s, -o-transform 0.3s;
  -moz-transition: transform 0.3s, box-shadow 0.2s, -moz-transform 0.3s,
    -moz-box-shadow 0.2s;
  transition: transform 0.3s, box-shadow 0.2s;
  transition: transform 0.3s, box-shadow 0.2s, -webkit-transform 0.3s,
    -moz-transform 0.3s, -o-transform 0.3s, -webkit-box-shadow 0.2s,
    -moz-box-shadow 0.2s;
}

.poker-card > .back,
.poker-card > .front {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.poker-card > .back {
  -webkit-transform: rotateY(180deg);
  -moz-transform: rotateY(180deg);
  transform: rotateY(180deg);
}

.poker-card > .front {
  -webkit-transform: rotateY(0);
  -moz-transform: rotateY(0);
  transform: rotateY(0);
}

.poker-card.inrow .front:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid transparent;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

.poker-card.distributing .front:after,
.poker-card.inrow.movable .front:after {
  display: none;
}

.poker-card.movable:hover .front {
  -webkit-box-shadow: 0 0 20px 5px #add8e6;
  -moz-box-shadow: 0 0 20px 5px #add8e6;
  box-shadow: 0 0 20px 5px #add8e6;
}

.poker-card.spades-broken:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 10000;
  background: url(../assets/images/others/spades_broken.png) no-repeat center;
  -moz-background-size: 80%;
  -o-background-size: 80%;
  background-size: 80%;
  -webkit-animation: spadesBroken 1s infinite;
  -moz-animation: spadesBroken 1s infinite;
  -o-animation: spadesBroken 1s infinite;
  animation: spadesBroken 1s infinite;
}

.team-display {
  width: 210px;
  color: #fff;
  background: rgba(0, 0, 0, 0.75);
  position: absolute;
  right: 16px;
  top: 16px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  padding: 5px 10px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -moz-box-orient: horizontal;
  -moz-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-transition: all 0.3s ease-in;
  -o-transition: all 0.3s ease-in;
  -moz-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
  -webkit-transform: translate3d(120%, 0, 0);
  -moz-transform: translate3d(120%, 0, 0);
  transform: translate3d(120%, 0, 0);
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  z-index: 10000;
}

.team-display.show {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.team-display div {
  width: 50%;
  text-align: right;
}

.team-display .team-name {
  width: 100%;
  text-align: center;
  font-weight: 700;
}

.team-display .team-bags-label,
.team-display .team-points-label {
  text-align: left;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -moz-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

#team-display-1-3 {
  -webkit-transform: translate(120%, 100%);
  -moz-transform: translate(120%, 100%);
  -ms-transform: translate(120%, 100%);
  -o-transform: translate(120%, 100%);
  transform: translate(120%, 100%);
  margin-top: 16px;
}

#team-display-1-3.show {
  -webkit-transform: translate3d(0, 100%, 0);
  -moz-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
}

@media screen and (max-width: 800px) {
  .team-display {
    width: 110px;
    right: 5px;
  }

  #team-display-1-3 {
    -webkit-transform: translate(120%, 100%);
    -moz-transform: translate(120%, 100%);
    -ms-transform: translate(120%, 100%);
    -o-transform: translate(120%, 100%);
    transform: translate(120%, 100%);
    margin-top: 5px;
  }
}

.preloader {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  font-size: 30px;
  text-align: center;
  line-height: 1.6em;
  display: none;
  font-family: Helvetica, Arial, sans-serif;
  z-index: 10000;
  margin-left: 200px;
}

.preloader:before {
  content: "";
  display: block;
  height: 40%;
}

.preloader span {
  display: inline-block;
  -webkit-animation: movement 1.2s ease-out 0.1s infinite;
  -moz-animation: movement 1.2s ease-out 0.1s infinite;
  -o-animation: movement 1.2s ease-out 0.1s infinite;
  animation: movement 1.2s ease-out 0.1s infinite;
}

.preloader span:nth-child(2) {
  -webkit-animation-delay: 0.2s;
  -moz-animation-delay: 0.2s;
  -o-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

.preloader span:nth-child(3) {
  -webkit-animation-delay: 0.3s;
  -moz-animation-delay: 0.3s;
  -o-animation-delay: 0.3s;
  animation-delay: 0.3s;
}

.preloader span:nth-child(4) {
  -webkit-animation-delay: 0.4s;
  -moz-animation-delay: 0.4s;
  -o-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

.preloader span:nth-child(5) {
  -webkit-animation-delay: 0.5s;
  -moz-animation-delay: 0.5s;
  -o-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

@media screen and (max-width: 679px) {
  .preloader {
    margin-left: 0;
  }
}

@-webkit-keyframes movement {
  0% {
    opacity: 0.3;
  }

  15% {
    opacity: 0.9;
  }

  100% {
    opacity: 0.3;
  }
}

@-moz-keyframes movement {
  0% {
    opacity: 0.3;
  }

  15% {
    opacity: 0.9;
  }

  100% {
    opacity: 0.3;
  }
}

@-o-keyframes movement {
  0% {
    opacity: 0.3;
  }

  15% {
    opacity: 0.9;
  }

  100% {
    opacity: 0.3;
  }
}

@keyframes movement {
  0% {
    opacity: 0.3;
  }

  15% {
    opacity: 0.9;
  }

  100% {
    opacity: 0.3;
  }
}

@-webkit-keyframes pulsing {
  from {
    -webkit-box-shadow: 0 0 0 #000, inset 0 0 0 #add8e6, 0 0 0 0 #add8e6;
    box-shadow: 0 0 0 #000, inset 0 0 0 #add8e6, 0 0 0 0 #add8e6;
  }

  to {
    -webkit-box-shadow: 0 0 0 #000, inset 0 0 10px #add8e6,
      0 0 10px 10px #add8e6;
    box-shadow: 0 0 0 #000, inset 0 0 10px #add8e6, 0 0 10px 10px #add8e6;
  }
}

@-moz-keyframes pulsing {
  from {
    -moz-box-shadow: 0 0 0 #000, inset 0 0 0 #add8e6, 0 0 0 0 #add8e6;
    box-shadow: 0 0 0 #000, inset 0 0 0 #add8e6, 0 0 0 0 #add8e6;
  }

  to {
    -moz-box-shadow: 0 0 0 #000, inset 0 0 10px #add8e6, 0 0 10px 10px #add8e6;
    box-shadow: 0 0 0 #000, inset 0 0 10px #add8e6, 0 0 10px 10px #add8e6;
  }
}

@-o-keyframes pulsing {
  from {
    box-shadow: 0 0 0 #000, inset 0 0 0 #add8e6, 0 0 0 0 #add8e6;
  }

  to {
    box-shadow: 0 0 0 #000, inset 0 0 10px #add8e6, 0 0 10px 10px #add8e6;
  }
}

@keyframes pulsing {
  from {
    -webkit-box-shadow: 0 0 0 #000, inset 0 0 0 #add8e6, 0 0 0 0 #add8e6;
    -moz-box-shadow: 0 0 0 #000, inset 0 0 0 #add8e6, 0 0 0 0 #add8e6;
    box-shadow: 0 0 0 #000, inset 0 0 0 #add8e6, 0 0 0 0 #add8e6;
  }

  to {
    -webkit-box-shadow: 0 0 0 #000, inset 0 0 10px #add8e6,
      0 0 10px 10px #add8e6;
    -moz-box-shadow: 0 0 0 #000, inset 0 0 10px #add8e6, 0 0 10px 10px #add8e6;
    box-shadow: 0 0 0 #000, inset 0 0 10px #add8e6, 0 0 10px 10px #add8e6;
  }
}

@-webkit-keyframes new_pulsing {
  from {
    -webkit-filter: drop-shadow(0 0 10px #7fe4f7);
    filter: drop-shadow(0 0 10px #7fe4f7);
  }

  to {
    -webkit-filter: drop-shadow(0 0 1px #7fe4f7);
    filter: drop-shadow(0 0 1px #7fe4f7);
  }
}

@-moz-keyframes new_pulsing {
  from {
    filter: drop-shadow(0 0 10px #7fe4f7);
  }

  to {
    filter: drop-shadow(0 0 1px #7fe4f7);
  }
}

@-o-keyframes new_pulsing {
  from {
    filter: drop-shadow(0 0 10px #7fe4f7);
  }

  to {
    filter: drop-shadow(0 0 1px #7fe4f7);
  }
}

@keyframes new_pulsing {
  from {
    -webkit-filter: drop-shadow(0 0 10px #7fe4f7);
    filter: drop-shadow(0 0 10px #7fe4f7);
  }

  to {
    -webkit-filter: drop-shadow(0 0 1px #7fe4f7);
    filter: drop-shadow(0 0 1px #7fe4f7);
  }
}

.info-board {
  position: absolute;
  z-index: 200;
  display: inline-block;
  text-align: center;
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  transform: translateZ(0);
  width: auto;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  padding: 5px;
  padding-top: 20px;
  pointer-events: none;
}

.info-board.board-0 {
  bottom: 0;
  left: 10%;
}

.info-board.board-1 {
  left: 0;
  top: 10%;
}

.cards-in-fan .info-board.board-1 {
  left: 3%;
}

.info-board.board-2 {
  top: 0;
  right: 10%;
}

.info-board.board-3 {
  right: 0;
  bottom: 10%;
}

.cards-in-fan .info-board.board-3 {
  right: 3%;
}

.info-board.no-avatar .player-avatar {
  display: none;
}

.player-avatar.highlight {
  -webkit-animation: pulsing 1s alternate infinite;
  -moz-animation: pulsing 1s alternate infinite;
  -o-animation: pulsing 1s alternate infinite;
  animation: pulsing 1s alternate infinite;
}

.info-board.new-avatar .player-avatar.highlight {
  -webkit-animation: new_pulsing 1s alternate infinite;
  -moz-animation: new_pulsing 1s alternate infinite;
  -o-animation: new_pulsing 1s alternate infinite;
  animation: new_pulsing 1s alternate infinite;
}

.namearea {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.player-bid,
.player-name,
.separator {
  font-family: -apple-system, "Helvetica Neue", Roboto, "Segoe UI", sans-serif;
  font-weight: 700;
  font-size: 1.3em;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
  color: #fff;
  padding: 0;
  margin: 0;
}

.separator {
  margin: 0 6px;
  margin-top: 5px;
  display: inline-block;
  width: 5px;
  height: 5px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background: #fff;
  text-shadow: none;
  color: transparent;
  -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
  -moz-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
}

.player-bidding.highlight {
  -webkit-filter: drop-shadow(0 0 10px red);
  transition: -webkit-filter 1s;
}

.player-avatar {
  display: inline-block;
  width: 60px;
  height: 60px;
  -moz-background-size: contain;
  -o-background-size: contain;
  background-size: contain;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
  -moz-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
  pointer-events: all;
  -webkit-filter: drop-shadow(0 3px 3px rgba(0, 0, 0, 0.6));
  filter: drop-shadow(0 3px 3px rgba(0, 0, 0, 0.6));
  cursor: pointer;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}

.info-board.new-avatar .player-avatar {
  background-color: transparent;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  width: 75px;
  height: 75px;
}

.board-0 .message-bubble {
  margin-left: 15px;
}

.message-bubble {
  display: block;
  padding: 10px;
  min-width: 100px;
  position: absolute;
  background: rgba(0, 0, 0, 0.5);
  left: 60%;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  display: none;
  color: #fff;
  -webkit-filter: drop-shadow(-2px 0 5px rgba(0, 0, 0, 0.4));
  filter: drop-shadow(-2px 0 5px rgba(0, 0, 0, 0.4));
}

.board-3 .message-bubble {
  left: initial;
  right: 60%;
}

.message-bubble.show {
  display: block;
}

.message-bubble:before {
  content: "";
  border: 8px solid rgba(0, 0, 0, 0.5);
  border-bottom-color: transparent;
  border-left-color: transparent;
  border-top-color: transparent;
  position: absolute;
  top: 50%;
  left: -16px;
  margin-top: -8px;
  z-index: 1000;
}

.board-3 .message-bubble:before {
  left: initial;
  right: -16px;
  border: 8px solid rgba(0, 0, 0, 0.5);
  border-bottom-color: transparent;
  border-right-color: transparent;
  border-top-color: transparent;
}

.table.first {
  background: #b7a129;
}

.table.last {
  background: #525252;
}

#play-button,
#statistics-button,
button,
input[type="button"] {
  -webkit-appearance: none;
  background: #000;
  border: none;
  color: #fff;
  cursor: pointer;
  font-size: 1.8em;
  padding: 3px 10px;
  text-align: center;
  z-index: 5;
}

#play-button,
#statistics-button {
  bottom: 20px;
  font-size: 1.8em;
  height: 60px;
  line-height: 60px;
  opacity: 0;
  padding: 0;
  position: absolute;
  right: 20px;
  -webkit-transform: translate3d(0, 90px, 0);
  -moz-transform: translate3d(0, 90px, 0);
  transform: translate3d(0, 90px, 0);
  -webkit-transition-duration: 0.1s;
  -moz-transition-duration: 0.1s;
  -o-transition-duration: 0.1s;
  transition-duration: 0.1s;
  width: 200px;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}

button span {
  display: inline-block;
  -webkit-transform: translateY(-3px);
  -moz-transform: translateY(-3px);
  -ms-transform: translateY(-3px);
  -o-transform: translateY(-3px);
  transform: translateY(-3px);
}

#statistics-button {
  right: 240px;
}

#play-button.show,
#statistics-button.show {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

#play-button:hover,
#statistics-button:hover {
  background: #090909;
}

#play-button:active,
#statistics-button:active {
  background: #0f0f0f;
}

.bidding-board * {
  color: #fff;
}

.bidding-board {
  background: rgba(0, 0, 0, 0.5);
  display: none;
  left: 50%;
  margin-left: -200px;
  margin-top: -90px;
  max-width: 400px;
  padding: 20px;
  position: absolute;
  text-align: center;
  top: 50%;
  width: 100%;
  z-index: 1000;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-perspective: 8000px;
  -moz-perspective: 8000px;
  perspective: 8000px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

.bidding-board button,
.bidding-board input {
  font-size: 1.2em;
  margin: 2px;
  width: 12%;
}

.bidding-board .show-cards {
  width: auto;
  min-width: 100px;
  padding: 10px;
  -webkit-transition: -webkit-transform 0.3s ease-in;
  transition: -webkit-transform 0.3s ease-in;
  -o-transition: -o-transform 0.3s ease-in;
  -moz-transition: transform 0.3s ease-in, -moz-transform 0.3s ease-in;
  transition: transform 0.3s ease-in;
  transition: transform 0.3s ease-in, -webkit-transform 0.3s ease-in,
    -moz-transform 0.3s ease-in, -o-transform 0.3s ease-in;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

.bidding-board .show-cards.hidden {
  -webkit-transform: rotateX(-180deg);
  -moz-transform: rotateX(-180deg);
  transform: rotateX(-180deg);
}

.bidding-board input.disabled {
  visibility: hidden;
}

.menu-toggle-button {
  pointer-events: all;
}

#preloader {
  display: none;
  position: absolute;
  top: 0;
  left: 200px;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  pointer-events: all;
  z-index: 100;
}

#preloader:after {
  -moz-background-size: 100px;
  -o-background-size: 100px;
  background-size: 100px;
}

#preloader span {
  margin-left: -30px;
  width: 100px;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: 50px;
}

#current-game-score .total_bags .col,
#current-game-score .total_points .col {
  font-weight: 700;
}

ion-item.menu-icon {
  padding-left: 40px;
  background-position: 10px center;
  background-repeat: no-repeat;
}

.menu-icon.new-game {
  background-image: url(../assets/images/buttons/menu/new_game.png);
}

.menu-icon.statistics {
  background-image: url(../assets/images/buttons/menu/statistics.png);
}

.menu-icon.appearance {
  background-image: url(../assets/images/buttons/menu/appearance.png);
}

.menu-icon.options {
  background-image: url(../assets/images/buttons/menu/options.png);
}

.menu-icon.players {
  background-image: url(../assets/images/buttons/menu/players.png);
}

.menu-icon.help {
  background-image: url(../assets/images/buttons/menu/help.png);
}

.menu-icon.activate {
  background-image: url(../assets/images/buttons/menu/activate.png);
}

.menu-icon.buy {
  background-image: url(../assets/images/buttons/menu/buy.png);
}

.menu-icon.about {
  background-image: url(../assets/images/buttons/menu/about.png);
}

body .modal {
  width: 640px;
  height: 420px;
  left: 50%;
  margin-left: -320px;
}

@media screen and (max-width: 800px) {
  body .modal {
    width: 480px;
    margin-left: -240px;
  }
}

body .modal-backdrop {
  width: auto;
  right: 0;
}

.popup .popup-buttons button {
  margin: 0;
}

.popup .popup-buttons button:nth-child(2) {
  margin-right: 10px;
}

body .appearance-modal {
  width: 850px;
  margin-left: -425px;
}

.appearance-modal .col {
  padding: 0;
}

body .options-modal {
  width: 750px;
  margin-left: -375px;
}

@media screen and (min-width: 680px) {
  .backdrop,
  .modal-backdrop,
  .modal-backdrop-bg,
  .popup-container {
    left: 200px !important;
  }

  body .appearance-modal {
    height: 650px;
    margin-top: -325px;
    top: 50%;
  }
}

@media screen and (max-width: 679px) {
  body .modal {
    margin-left: 0;
    left: 0;
    width: 100%;
  }

  .modal-backdrop,
  .modal-backdrop-bg {
    left: 0 !important;
  }

  #main-view {
    margin-left: 0;
  }

  #end-message {
    margin-left: -200px;
  }

  #preloader {
    left: 0 !important;
  }

  .slide-in-up {
    margin-left: 0 !important;
  }
}

@media screen and (max-width: 459px) {
  #statistics-button {
    right: 20px;
    bottom: 20px;
  }

  #statistics-button.show {
    bottom: 100px;
  }
}

#end-message {
  position: absolute;
  font-size: 3em;
  font-weight: 700;
  height: 80px;
  line-height: 80px;
  text-align: center;
  top: 50%;
  left: 200px;
  right: 0;
  margin-top: -40px;
  font-family: -apple-system, "Helvetica Neue", Roboto, "Segoe UI", sans-serif;
  z-index: 10;
  color: #fff;
  -webkit-transform: scale3d(0, 0, 0);
  -moz-transform: scale3d(0, 0, 0);
  transform: scale3d(0, 0, 0);
}

#end-message > span {
  padding: 10px 30px;
  background: rgba(120, 30, 30, 0.9);
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

#end-message.winner > span {
  background: rgba(10, 60, 20, 0.9);
}

#end-message.show {
  -webkit-transform: scale3d(1, 1, 1);
  -moz-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
  -webkit-transition: -webkit-transform 3s
    cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: -webkit-transform 3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  -o-transition: -o-transform 3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  -moz-transition: transform 3s cubic-bezier(0.175, 0.885, 0.32, 1.275),
    -moz-transform 3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: transform 3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: transform 3s cubic-bezier(0.175, 0.885, 0.32, 1.275),
    -webkit-transform 3s cubic-bezier(0.175, 0.885, 0.32, 1.275),
    -moz-transform 3s cubic-bezier(0.175, 0.885, 0.32, 1.275),
    -o-transform 3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.platform-edge #end-message.show {
  -webkit-transform: scale3d(1, 1, 1) rotate(0.02deg);
  -moz-transform: scale3d(1, 1, 1) rotate(0.02deg);
  transform: scale3d(1, 1, 1) rotate(0.02deg);
}

@media screen and (max-width: 679px) {
  #end-message {
    margin-left: -200px;
  }
}

@media screen and (max-width: 761px) {
  #end-message {
    font-size: 50px;
  }
}

@media screen and (max-width: 500px) {
  #end-message {
    font-size: 40px;
  }
}

@media screen and (max-width: 400px) {
  #end-message {
    font-size: 35px;
  }
}

.loading #progress-bar {
  visibility: visible !important;
  position: absolute;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 240px;
  left: 50%;
  top: 50%;
  margin-left: -120px;
  margin-top: 185px;
  background: rgba(25, 25, 25, 0.5);
  z-index: 10000;
  overflow: hidden;
  padding: 4px;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}

.loading #progress {
  visibility: visible !important;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  width: 0%;
  background: rgba(255, 255, 255, 0.9);
  padding: 12px 0;
  -webkit-transition: width 0.3s ease-in;
  -o-transition: width 0.3s ease-in;
  -moz-transition: width 0.3s ease-in;
  transition: width 0.3s ease-in;
}

.edge ion-side-menu {
  -webkit-transform: translate3d(-105%, 0, 0);
  -moz-transform: translate3d(-105%, 0, 0);
  transform: translate3d(-105%, 0, 0);
  z-index: 10 !important;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  -o-transition: -o-transform 0.2s ease;
  -moz-transition: transform 0.2s ease, -moz-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease,
    -moz-transform 0.2s ease, -o-transform 0.2s ease;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
  -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
}

.edge .menu-open ion-side-menu {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.edge ion-side-menu-content {
  -webkit-transform: none !important;
  -moz-transform: none !important;
  -ms-transform: none !important;
  -o-transform: none !important;
  transform: none !important;
}
