table {
  border-spacing: 0;
  width: 100%;
}
table .unactive_line td,
table .unactive_line th {
  background-color: #dfdfdf;
  filter: invert(15%);
}
table .added_line td,
table .added_line th {
  background-color: #79c59c;
}
table th {
  border-bottom: 2px solid #2b292a;
}
table td,
table th {
  box-sizing: border-box;
  text-align: center;
  padding: 0.5vw;
  white-space: nowrap;
  overflow-x: hidden;
}
.price {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 180vw;
  max-height: 180vw;
  background-color: #f9c416;
}
.price .header {
  width: 100%;
}
.price_value {
  font-family: 'Bookman', sans-serif;
  text-align: right;
  text-transform: uppercase;
  font-size: 2.2vw;
  padding: 0 4vw;
  margin-top: 0.7vw;
  margin-bottom: 0.3vw;
}
.price_category {
  text-align: center;
  text-transform: uppercase;
  font-size: 2.2vw;
  margin-bottom: 1.5vw;
  margin-top: 2.7vw;
}
.price_category:first-of-type {
  margin-top: 0;
}
.price_footnote {
  padding: 0 4vw;
  margin-bottom: 7vw;
  font-family: 'Bookman', sans-serif;
  text-align: center;
  font-size: 2.8vw;
}
.products_list {
  list-style-type: none;
  padding: 0 4vw;
}
.products_list_item {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 0.1vw;
}
.products_list_item .logo {
  width: 3.5vw;
  margin-right: 1vw;
}
.products_list_item .info {
  display: flex;
  align-items: center;
  max-width: 80vw;
  overflow: hidden;
}
.products_list_item .name {
  text-transform: uppercase;
  font-size: 3vw;
  margin-right: 1.5vw;
  white-space: nowrap;
}
.products_list_item .description {
  font-size: 2.3vw;
  white-space: nowrap;
}
.products_list_item .cost {
  font-size: 3vw;
  margin-left: 1vw;
}
.products_list_item .marks_block {
  position: absolute;
  right: 7vw;
  top: 50%;
  height: 4vw;
  margin-top: -2vw;
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: center;
}
.products_list_item .marks_block.wide_cost {
  right: 17vw;
}
.products_list_item .marks_block .mark {
  width: 8vw;
  height: 4vw;
  margin-right: -1vw;
  color: white;
  font-size: 1.2vw;
  text-align: center;
  line-height: 4vw;
  text-transform: uppercase;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.products_list_item .marks_block .mark.hit {
  background-image: url(/images/hit.png);
}
.products_list_item .marks_block .mark.craft {
  background-image: url(/images/craft.png);
}
.products_list_item .marks_block .mark.new {
  background-image: url(/images/new.png);
}
.products_list_item .marks_block .mark.stock {
  background-image: url(/images/stock.png);
}
.sticker {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 6vw 5vw 3.5vw 5vw;
  height: 241vw;
  max-height: 241vw;
  background-color: white;
}
.sticker_logo {
  width: 90vw;
  height: 90vw;
}
.sticker_name {
  text-transform: uppercase;
  text-align: center;
  font-size: 13vw;
  margin: 8vw 0;
}
.sticker_desc {
  text-align: center;
  font-size: 9.5vw;
}
.sticker_cost {
  text-transform: uppercase;
  font-size: 6.5vw;
  margin-top: 20vw;
  padding: 0 2vw;
}
.sticker_value {
  display: block;
  text-align: right;
  text-transform: uppercase;
  font-size: 7vw;
  padding: 0 2vw;
}
.auth_layout {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  backdrop-filter: grayscale(20%) blur(5px);
  opacity: 1;
  transform: scale(1, 1);
  transition: opacity 0.5s;
}
.auth_layout.closed {
  opacity: 0;
  transform: scale(0, 0);
}
.auth_layout .auth_block {
  width: 400px;
  height: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: white;
  border: 2px solid #2b292a;
}
.auth_layout .auth_block_form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.auth_layout .auth_block_form input {
  border-bottom: 2px solid #2b292a;
  font-size: 20px;
}
.auth_layout .auth_block_form button {
  font-size: 20px;
  margin-top: 10px;
}
button {
  border: none;
  background-color: transparent;
  cursor: pointer;
  font-family: 'Bookmanb', sans-serif;
}
.icon_button {
  position: absolute;
  top: 6vh;
  width: 50px;
  height: 50px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.screenshot_close {
  width: 40px;
  height: 40px;
  right: 6vh;
  background-image: url(/images/close.png);
}
.make_screenshot {
  left: 6vh;
  background-image: url(/images/screenshot.png);
}
.open_settings {
  right: 6vh;
  background-image: url(/images/settings.png);
}
.screenshot_layout {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  padding: 5vh;
  width: 100%;
  height: 100vh;
  backdrop-filter: grayscale(20%) blur(5px);
  opacity: 1;
  transform: scale(1, 1);
  transition: opacity 0.5s;
  z-index: 1;
}
.screenshot_layout.closed {
  opacity: 0;
  transform: scale(0, 0);
}
.screenshot_layout .screenshot_block {
  height: 100%;
  background-color: white;
  border: 2px solid #2b292a;
}
.screenshot_layout .screenshot_block canvas {
  height: 100% !important;
  width: auto !important;
}
@media screen and (max-width: 786px) {
  .screenshot_layout {
    height: auto;
  }
  .screenshot_layout .screenshot_block {
    height: auto;
    width: 100%;
  }
  .screenshot_layout .screenshot_block canvas {
    height: auto !important;
    width: 100% !important;
  }
}
.admin {
  min-height: 100vh;
  background-color: #f9c416;
  padding: 4vw;
  font-size: 16px;
}
.admin_header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 25px;
  font-size: 25px;
}
.admin_header .splitter {
  margin: 0 25px;
}
.admin input {
  position: relative;
  text-align: center;
  width: 100%;
  font-size: 16px;
  line-height: 3.5vw;
  border-bottom: 2px solid #2b292a;
}
.admin input[type='checkbox'] {
  width: 0;
  height: 0;
}
.admin input[type='checkbox'] ~ .fas {
  color: #a8a8a8;
}
.admin input[type='checkbox']:checked ~ .prod_logo_img {
  border-radius: 50%;
}
.admin input[type='checkbox']:checked ~ .fas {
  color: #2b292a;
}
.admin input[type='checkbox']:checked ~ span {
  color: white;
  filter: grayscale(0);
}
.admin select {
  width: 100%;
  font-size: 16px;
  height: calc(3.5vw + 2px);
  border-bottom: 2px solid #2b292a;
}
.admin label,
.admin button {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.admin .block_title {
  font-size: 20px;
  margin-bottom: 25px;
  color: #a8a8a8;
}
.admin .add_product_block,
.admin .products_block,
.admin .sticker_block,
.admin .storage_block,
.admin .footnote_block {
  background-color: white;
  border: 2px solid #2b292a;
  padding: 2vw;
  margin-bottom: 25px;
}
.admin .add_product_block .splitter,
.admin .products_block .splitter,
.admin .sticker_block .splitter,
.admin .storage_block .splitter,
.admin .footnote_block .splitter {
  background-color: #a8a8a8;
  height: 52px;
  border-top: 25px solid white;
  border-bottom: 25px solid white;
  padding: 0;
}
.admin .prod_logo {
  width: 4vw;
  height: 4vw;
  transition: all 0.3s;
}
.admin .prod_logo_img {
  width: 4vw;
  height: 4vw;
  border: 1px solid #2b292a;
  background-color: #f9c416;
  transition: all 0.3s;
}
.admin .marks_block {
  display: flex;
  width: 9vw;
}
.admin .marks_block span {
  display: block;
  height: 100%;
  line-height: 4vw;
  color: #a8a8a8;
  filter: grayscale(100%);
  transition: all 0.5s;
}
.admin .marks_block .label_new {
  width: 2vw;
  background-color: #e31e25;
  border-radius: 7px 0 0 7px;
}
.admin .marks_block .label_craft {
  width: 2vw;
  background-color: #4c68c4;
  border-left: 1px solid white;
}
.admin .marks_block .label_stock {
  width: 2vw;
  background-color: #924dfa;
  border-left: 1px solid white;
  border-right: 1px solid white;
}
.admin .marks_block .label_hit {
  width: 2vw;
  background-color: #009746;
  border-radius: 0 7px 7px 0;
}
.admin .control {
  display: flex;
  align-items: center;
}
.admin .control .fas {
  font-size: 20px;
  color: #2b292a;
  transition: all 0.3s;
}
.admin .control .fas::before {
  display: block;
  width: 3vw;
  height: 4vw;
  line-height: 4vw;
}
.admin .control .prod_accept:disabled {
  cursor: default;
}
.admin .control .prod_accept:disabled .fas {
  color: #a8a8a8;
}
.admin .info_line {
  position: fixed;
  bottom: 4vw;
  left: 8vw;
  right: 8vw;
  height: 100px;
  background-color: white;
  border: 2px solid #2b292a;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateY(0);
  transition: all 0.5s;
}
.admin .info_line.closed {
  transform: translateY(300px);
}
.admin .info_line_content {
  font-size: 20px;
}
.admin .upload_file {
  display: flex;
  border: 2px dashed #2b292a;
}
.admin .upload_file #file_input {
  border: none;
  height: 100px;
  padding: 0 25px;
  line-height: 100px;
  cursor: pointer;
  transition: all 0.1s;
}
.admin .upload_file #file_input.hovered {
  background-color: #dfdfdf;
}
.admin .upload_file #file_input.error {
  background-color: #bd7b7d;
}
.admin .upload_file_submit {
  width: 6vw;
  border-left: 2px solid #dfdfdf;
}
.admin .upload_file_submit .fas {
  font-size: 20px;
  color: #2b292a;
  transition: all 0.3s;
}
.admin .upload_file_submit .fas::before {
  display: block;
  width: 6vw;
  height: 100px;
  line-height: 100px;
}
.admin .upload_file_submit:disabled {
  cursor: default;
}
.admin .upload_file_submit:disabled .fas {
  color: #a8a8a8;
}
.admin .logos_list {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 25px;
}
.admin .logos_list_item {
  width: 100px;
  height: 100px;
  cursor: pointer;
  transition: all 0.1s;
}
.admin .logos_list_item:active {
  transform: scale(0.9);
}
* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}
body {
  font-family: 'Bookmanb', sans-serif;
  color: #2b292a;
}
a {
  text-decoration: none;
  color: #2b292a;
}
input,
select {
  background-color: transparent;
  border: none;
  font-family: 'Bookmanb', sans-serif;
}
input:focus,
select:focus,
input:active,
select:active {
  outline: none;
}
input::placeholder,
select::placeholder {
  color: #a8a8a8;
}
.plug {
  flex-grow: 1;
}
.circle {
  border-radius: 50%;
}
