@font-face {
	font-family: 'Play';
	src: url('../fonts/Play-Regular.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'Play';
	src: url('../fonts/Play-Bold.ttf') format('truetype');
	font-weight: bold;
	font-style: normal;
}
@font-face {
	font-family: 'Astron';
	src: url('../fonts/AstronBoyVideo.ttf') format('truetype');
	font-weight: bold;
	font-style: normal;
}
*,
*:before,
*:after {
  margin:0;
  padding:0;
  box-sizing: border-box;
}

body, html {
    margin: 0;
    padding: 0;
    font-size: 4vh;
    font-family: -apple-system, BlinkMacSystemFont, 'Play',
      sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    height: 100%;
    width: 100%;
  }
  .unselectable {
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    user-select: none;
  }
#page-wrapper {
    text-align: center;
    display: flex;
    height: 100vh;
    box-sizing: border-box;
    user-select: none;
}
.page {
    display: none;
    margin: auto;
    flex-direction: column;
    align-items: center;
}
.active {
    display: flex;
}
/* Кнопки управления */
.btn {
  display: inline-block;
  text-decoration: none;
  border: 1px solid rgb(88, 51, 0);
  position: relative;
  overflow: hidden;
  margin:auto;
  margin-bottom: 0;
  font-size: 2.5vh;
  line-height: 1.42857;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  touch-action: manipulation;
  user-select: none;
  background-color: rgb(255, 233, 218);
  background-image: none;
  padding: 1vh 2vh;
  border-image: initial;
  border-radius: 1vh;
}
.btn:not([disabled]):hover {
  box-shadow: 1px 1px 25px 10px rgba(214, 118, 0, 0.455);
}
.btn:before:not([disabled]) {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255, 163, 35, 0.4),
    transparent
  );
  transition: all 650ms;
}
.btn:hover:before:not([disabled]) {
  left: 100%;
}
.btn-default {
  color: rgb(0, 0, 0);
  background-color: rgb(255, 228, 205);
  border-color: rgb(226, 138, 75);
}
.btn-default:hover:not([disabled]) {
  color: rgb(0, 0, 0);
  background-color: rgb(225, 164, 121);
  border-color: rgb(54, 15, 0);
}
.btn-menu {
  display: block;
  width: 50vmin;
}

.login .logo {
    padding-top: 5vh;
    padding-bottom: 1vh;
}
.login .logo img {
    height: 30vh;
}
form {
    margin: 0 auto;
    padding: 3vh;
    width: 80vh;
    position: relative;
}
.form-group {
  clear: both;
  display: block;
  position: relative;
}
form input[type="text"], 
form input[type="email"],
form input[type="number"],
form input[type="password"],
form select {
    box-shadow: rgb(255, 255, 255) 0px 1px 0px, rgba(0, 0, 0, 0.08) 0px -2px 5px inset;
    color: rgb(41, 14, 6);
    width: 70%;
    border-radius: 0.5vh;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(200, 200, 200);
    border-image: initial;
    margin: 0px 0px 3vh;
    padding: 1vh;
    font-size: inherit;
    font-family: inherit;
    display:inline; 
    float: right;
}
form label {
    line-height: 6.5vmin;
    float:left;
    display:inline; 
    text-align: right;
    font-size: 3.5vh;
}
button, html input[type="button"], input[type="reset"], input[type="submit"] {
    appearance: button;
    cursor: pointer;
}
button, .buttons, .btn, .modal-footer .btn + .btn {
    margin-bottom: 1vh;
    margin-right: 1vh;
}

.login a, .login .btn-default:hover {
    text-decoration: none;
}
.btn:not([disabled]) {
  cursor: pointer;
}
button, html input[type="button"], input[type="reset"], input[type="submit"] {
    appearance: button;
    cursor: pointer;
}
:focus-visible {
    outline: #b19fff auto 0.2vh;
    background-color: rgb(255, 241, 223);
}
#console {
  left: 15px;
  top: 15px;
  display: none;
  position: absolute;
  height: 400px;
  width: 300px;
  border: black solid 1px;
  background: #b19fff99;
  padding: 5px;
  z-index: 1000;
}
.display_block {
  display: block !important;
}
#console h4 {
  font-size: 18px;
  text-align: center;
  padding: 3px;
}
#console #log {
  height: 320px;
  width: 95%;
  display: block;
  overflow-y: scroll;
  text-align: left;
}
#console div, #console p {
  font-size: 14px;
}
#console .con-btn {
  display: block;
  float: left;
  width: 40px;
  height: 40px;
  font-size: 20px;
  border: solid 1px black;
  border-radius: 3px;
  padding: 5px;
  background-color: #ffffff;
}
#console .con-btn:hover {
  background-color: #b19fff;
}

.modal, .modal_settings {
  z-index: 10;
  position: absolute;
  display: flex;
  justify-content: center;
  width: 80vmin;
  min-height: 25vmin;
  left: calc(50% - 40vmin);
  top: 15vmin;
  border-radius: 1vmin;
  background-color: #ffecc7;
  transition: transform 0.35s ease-out, box-shadow 0.35s ease-out;
  animation: ani 0.2s forwards;
  box-shadow: 1vmin 1vmin 2vmin rgba(0, 0, 0, 0.19), 1vmin 1vmin 0.5vmin rgba(0, 0, 0, 0.23);
}
.modal .body, .modal_settings .body{
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-top: 2vmin;
  padding-bottom: 5vmin;
}
.modal_settings .body{
  padding-top: 4vmin;
  padding-bottom: 4vmin;
}
.modal .footer, .modal_settings .footer {
  font-size: 4vmin;
  position: absolute;
  bottom: 0;
  background-color: rgb(17, 149, 0);
  width: 100%;
  border-radius: 0 0 1vmin 1vmin;
}
.modal_settings .header {
  font-size: 4vmin;
  position: absolute;
  top: 0;
  background-color: rgb(174, 116, 0);
  width: 100%;
  border-radius: 1vmin 1vmin 0 0;
}
@keyframes ani {
  0% {opacity: 0;}
  100% {opacity: 1;}
}
#screen {
  position: relative;
  width: 100%;
  height: 100%;
}
.test {
  left: 0;
  top: 0;
  position: absolute;
  height: 100vh;
  width: 100vw;
}
.page-label {
  position: absolute;
  top: 1vmin;
  left: 0px;
  width: 100vw;
  text-align: center;
}
#recall {
  top: 20vmin;
  height: 80vmin;
}
.about {
  font-size: 3vmin;
  padding: 3vmin;
  border-radius: 3vmin;
  background-image: url(../images/bgrl.svg), linear-gradient(90deg, rgb(255, 242, 208) 0%, rgb(255, 222, 202) 100%);
  border: solid 2px #000;
  text-indent: 3vw;
  text-align: justify;
  display: block;
  width: 100vmin;
}
.authors {
  position: absolute;
  right: 2vw;
  bottom: 2vmin;
  margin: 2vmin;
  font-size: 2.5vmin;
  padding: 2vmin;
  border-radius: 3vmin;
  background-image: url(../images/bgrl.svg), linear-gradient(90deg, rgb(225, 255, 208) 0%, rgb(255, 202, 202) 100%);
  border: solid 2px #000;
  text-align: center;
  display: block;
  width: 60vmin;
  height: 20vmin;
}
.authors p{
  text-align: left;
}
.upload-container {
  position: absolute;
  left: 2vw;
  bottom: 2vmin;
  margin: 2vmin;
  font-size: 2.5vmin;
  padding: 2vmin;
  border-radius: 3vmin;
  background-image: url(../images/bgrl.svg), linear-gradient(90deg, rgb(255, 129, 107) 0%, rgb(255, 196, 123) 100%);
  border: solid 2px #000;
	justify-content: center;
	align-items: center;
	flex-direction: column;
  display: flex;
  width: 40vmin;
  height: 20vmin;
  outline: 2px dashed #5d5d5d;
	outline-offset: -12px;
}

.upload-container img {
	height: 40%;
	margin-bottom: 20px;
	user-select: none;
}

.upload-container label {
	font-weight: bold;
}

.upload-container label:hover {
	cursor: pointer;
	text-decoration: underline;
}

.upload-container div {
	position: relative;
	z-index: 10;
}

.upload-container input[type=file] {
	width: 0.1px;
	height: 0.1px;
	opacity: 0;
	position: absolute;
	z-index: -10;
}

.upload-container label.focus {
	outline: 1px solid #0078d7;
	outline: -webkit-focus-ring-color auto 5px;
}

.upload-container.dragover {
  background-image: url(../images/bgrl.svg), linear-gradient(90deg, rgb(95, 216, 79) 0%, rgb(216, 255, 215) 100%);
	outline-offset: -17px;
}
.upload-container.resultready {
  background-image: url(../images/bgrl.svg), linear-gradient(90deg, rgb(147, 161, 255) 0%, rgb(51, 255, 54) 100%);
	outline-offset: -17px;
}
.upload-container.resultready:hover {
  background-image: url(../images/bgrl.svg), linear-gradient(90deg, rgb(239, 158, 255) 0%, rgb(197, 231, 0) 100%);
	outline-offset: -17px;
}
.bgr-area {
  padding: 5vmin;
  border-radius: 3vmin;
  background-image: url(../images/bgrl.svg), linear-gradient(90deg, rgb(255, 242, 208) 0%, rgb(255, 222, 202) 100%);
  border: solid 2px #000;
}
.blk-scr {
  background-image: url(../images/bgrl.svg), linear-gradient(90deg, rgb(204, 160, 50) 0%, rgb(255, 222, 202) 100%);
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
  z-index: 50;
  font-size: 1.5vw;
  padding-top: 1vw;
}
.bgr-lin-def {
  background-image: url(../images/mbgr.svg);
  background-color: #906234;
}
.bgr-lin-red {
  background-image: url(../images/mbgr.svg), linear-gradient(90deg, rgb(166, 98, 43) 0%, rgb(138, 46, 0) 100%);
}
.bgr-lin-green {
  background-image: url(../images/mbgr.svg), linear-gradient(90deg, rgb(67, 192, 56) 0%, rgba(0, 194, 13, 0.608) 100%);
}
.bgr-lin-blue {
  background-image: url(../images/mbgr.svg), linear-gradient(90deg, rgb(61, 78, 172) 0%, rgb(36, 60, 184) 0%);
}
.bgr-result {
  background-image: url(../images/mbgr.svg), linear-gradient(90deg, rgb(254, 255, 225) 0%, rgb(255, 249, 237) 0%);
}
.program-name {
  font-family: Astron, sans-serif;
  font-size: 12vmin;
  color:rgb(51, 0, 93);
}
.key {
  height: 5vmin;
  width: 5vmin;
  border: rgb(59, 22, 0) solid 1px;
  border-radius: 0.5vmin;
  position: absolute;
  background-color: rgb(255, 220, 173);
}
.key.left {
  left: 10vmin;
  bottom: 6vmin;
}
.key.right {
  right: 10vmin;
  bottom: 6vmin;
}
.key.center {
  margin-top: 3vmin;
  display: inline-block;
  position: relative;
}
.key.long {
  width: 30vmin;
}
/* Customize the label (the container) */
.container {
  display: block;
  position: relative;
  padding-left: 0;
  margin-bottom: 1vmin;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  text-align: center;
  align-items: center;
}

/* Hide the browser's default checkbox */
.container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Create a custom checkbox */
.checkmark {
  position: absolute;
  top: 2vmin;
  left: -5vmin;
  height: 3vmin;
  width: 3vmin;
  border-radius: 0.5vmin;
  background-color: rgb(255, 234, 206);
  border: #000 solid 1px;
}

/* On mouse-over, add a grey background color */
.container:hover input ~ .checkmark {
  background-color: rgb(255, 216, 148);
}
.container {
  margin-left: 5vmin;
}
/* When the checkbox is checked, add a blue background */
.container input:checked ~ .checkmark {
  background-color: #ab3604;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.container input:checked ~ .checkmark:after {
  display: block;
}

/* Style the checkmark/indicator */
.container .checkmark:after {
  left: 1vmin;
  top: 1vmin;
  width: 1vmin;
  height: 1vmin;
  border: solid white;
  border-width: 0 0.3vmin 0.3vmin 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

#settings-btn {
  position: absolute;
  top: 2vmin;
  right: 2vmin;
}
.hidden {
  display: none;
}