@font-face {
  font-family: 'OpenSans';
  src: url('../fonts/OpenSans-Bold-webfont.eot');
  src: url('../fonts/OpenSans-Bold-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/OpenSans-Bold-webfont.woff') format('woff'), url('../fonts/OpenSans-Bold-webfont.ttf') format('truetype'), url('../fonts/OpenSans-Bold-webfont.svg#open_sansbold') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'OpenSans';
  src: url('../fonts/OpenSans-ExtraBold-webfont.eot');
  src: url('../fonts/OpenSans-ExtraBold-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/OpenSans-ExtraBold-webfont.woff') format('woff'), url('../fonts/OpenSans-ExtraBold-webfont.ttf') format('truetype'), url('../fonts/OpenSans-ExtraBold-webfont.svg#open_sansbold') format('svg');
  font-weight: bold;
  font-style: normal;
}
* {
  font-family: 'OpenSans';
}
* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
html {
  background-color: transparent;
}
html,
body {
  -webkit-font-smoothing: antialiased;
  color: #FFF;
  padding: 0;
  margin: 0;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  outline: 0;
  overflow: hidden;
  overflow-x: hidden;
  overflow-y: hidden;
  -webkit-text-size-adjust: none;
  -webkit-overflow-scrolling: touch;
  width: 1920px;
  height: 1080px;
}
.nw {
  white-space: nowrap;
}
#game {
  background: #000 url("../images/layout.jpg") no-repeat center center;
  background-size: cover;
  width: 1920px;
  height: 1080px;
  position: relative;
}
#grid {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  position: absolute;
  width: 1382px;
  height: 965px;
  left: 20px;
  top: 80px;
  font-size: 0;
  line-height: 0;
}
#grid .item {
  display: inline-block;
  position: relative;
  cursor: pointer;
  -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -moz-transition: -moz-transform 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -o-transition: -o-transform 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#grid .item .image {
  display: inline-block;
  box-sizing: border-box;
  width: 215px;
  height: 122px;
  margin: 19px 7px;
  background-position: center center;
  background-color: #000;
  border: 5px #FFF solid;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  -webkit-box-shadow: 0px 3px 0px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0px 3px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 3px 0px rgba(0, 0, 0, 0.3);
}
#grid .item .label {
  display: inline-block;
  box-sizing: border-box;
  width: 190px;
  height: 40px;
  position: absolute;
  top: 125px;
  left: 20px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  -webkit-box-shadow: 0px 3px 0px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0px 3px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 3px 0px rgba(0, 0, 0, 0.3);
}
#grid .item .label :first-child {
  margin-top: 3px;
}
#grid .item .label span {
  display: block;
  text-align: center;
  font-size: 15px;
  line-height: 18px;
  white-space: nowrap;
}
#grid .item .label span.en {
  opacity: 0.8;
}
#grid .item:active {
  -webkit-transform: scale(0.95);
  -moz-transform: scale(0.95);
  -ms-transform: scale(0.95);
  -o-transform: scale(0.95);
  opacity: 0.9;
}
#grid .item.category-1 .image {
  border-color: #e6b521;
}
#grid .item.category-1 .label {
  background-color: #e6b521;
}
#grid .item.category-2 .image {
  border-color: #d83145;
}
#grid .item.category-2 .label {
  background-color: #d83145;
}
#grid .item.category-3 .image {
  border-color: #5fbb0d;
}
#grid .item.category-3 .label {
  background-color: #5fbb0d;
}
#grid .item.category-4 .image {
  border-color: #03a7ca;
}
#grid .item.category-4 .label {
  background-color: #03a7ca;
}
#grid .item.category-5 .image {
  border-color: #9f0fb4;
}
#grid .item.category-5 .label {
  background-color: #9f0fb4;
}
#invoice {
  display: inline-block;
  box-sizing: border-box;
  position: absolute;
  right: 20px;
  top: 20px;
  width: 477px;
  height: 700px;
  font-size: 0px;
}
#invoice .en {
  opacity: 0.8;
}
#invoice #invoice-header #invoice-header-date,
#invoice #invoice-header #invoice-header-hour {
  text-align: center;
  width: 305px;
}
#invoice #invoice-header #invoice-header-date {
  position: absolute;
  left: 143px;
  top: 92px;
  font-size: 13px;
  color: #515151;
  white-space: nowrap;
}
#invoice #invoice-header #invoice-header-date .en {
  margin-left: 10px;
}
#invoice #invoice-header #invoice-header-hour {
  position: absolute;
  left: 143px;
  top: 112px;
  font-size: 15px;
  color: #3333AA;
}
#invoice #invoice-header #invoice-header-columns {
  white-space: nowrap;
  position: absolute;
  width: 430px;
  margin: 0px 20px;
  border-top: 1px #AAAAAA solid;
  border-bottom: 1px #AAAAAA solid;
  top: 144px;
  padding: 3px 0px 0px;
}
#invoice #invoice-header #invoice-header-columns .col {
  color: #515151;
}
#invoice #invoice-header #invoice-header-columns .col .en {
  margin-left: 10px;
}
#invoice #invoice-items {
  position: absolute;
  width: 430px;
  height: 422px;
  margin: 0px 20px;
  top: 180px;
  overflow-y: auto;
}
#invoice #invoice-items .item {
  display: inline-block;
  width: 100%;
  color: #515151;
  padding: 5px 0px;
  border-bottom: 1px #DDD solid;
}
#invoice #invoice-items .item .col-name {
  line-height: 14px;
}
#invoice #invoice-items .item .col-name span {
  width: 100%;
  display: inline-block;
}
#invoice #invoice-items .item .col-price {
  padding-top: 2px;
}
#invoice #invoice-items .item .delete {
  display: inline-block;
  line-height: 22px;
  font-size: 13px;
  text-align: center;
  background-color: #dc383d;
  color: #FFF;
  font-weight: bold;
  -webkit-box-shadow: 0px 3px 0px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0px 3px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 3px 0px rgba(0, 0, 0, 0.3);
  cursor: pointer;
  -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -moz-transition: -moz-transform 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -o-transition: -o-transform 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  width: 20px;
  height: 20px;
}
#invoice #invoice-items .item .delete:active {
  -webkit-transform: scale(0.85);
  -moz-transform: scale(0.85);
  -ms-transform: scale(0.85);
  -o-transform: scale(0.85);
  opacity: 0.9;
}
#invoice #invoice-footer {
  position: absolute;
  width: 430px;
  height: 130px;
  margin: 0px 20px;
  top: 665px;
  color: #515151;
}
#invoice #invoice-footer .item {
  display: inline-block;
  font-size: 14px;
  width: 100%;
  color: #515151;
  padding: 2px 0px;
}
#invoice #invoice-footer .item#invoice-footer-subtotal,
#invoice #invoice-footer .item#invoice-footer-total {
  border-top: 1px #DDD solid;
}
#invoice #invoice-footer .item#invoice-footer-total {
  padding: 5px 0px;
}
#invoice #invoice-footer .item#invoice-footer-total .col {
  font-size: 18px;
}
#invoice #invoice-footer #invoice-reset-all {
  display: inline-block;
  line-height: 22px;
  font-size: 13px;
  text-align: center;
  background-color: #dc383d;
  color: #FFF;
  font-weight: bold;
  -webkit-box-shadow: 0px 3px 0px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0px 3px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 3px 0px rgba(0, 0, 0, 0.3);
  cursor: pointer;
  -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -moz-transition: -moz-transform 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -o-transition: -o-transform 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  font-size: 15px;
  line-height: 26px;
  width: 230px;
  height: 25px;
  position: absolute;
  top: -55px;
  left: 0px;
}
#invoice #invoice-footer #invoice-reset-all:active {
  -webkit-transform: scale(0.85);
  -moz-transform: scale(0.85);
  -ms-transform: scale(0.85);
  -o-transform: scale(0.85);
  opacity: 0.9;
}
#invoice #invoice-footer #invoice-reset-all span {
  font-weight: normal;
}
#invoice #invoice-footer .col.col-price {
  width: 50%;
}
#invoice .col {
  display: inline-block;
  float: left;
  font-size: 13px;
}
#invoice .col.col-delete {
  width: 10%;
}
#invoice .col.col-qte {
  width: 10%;
}
#invoice .col.col-name {
  width: 60%;
}
#invoice .col.col-label {
  width: 50%;
  text-align: right;
}
#invoice .col.col-price {
  width: 20%;
  text-align: right;
}
#preview {
  display: inline-block;
  box-sizing: border-box;
  position: absolute;
  right: 25px;
  bottom: 20px;
  width: 467px;
  height: 245px;
  background-color: #CCC;
  border: 5px #000 solid;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
#preview .image {
  display: inline-block;
  width: 100%;
  height: 100%;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
