*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body{
  background-color: #efefef;
}

#status {
  text-align: center;
  font-size: 20px;
  margin-bottom: 20px;
}
.video_block{
  position: relative;
  width: 640px;
  height: 480px;
  margin: 0 auto;
}
canvas{
  position: absolute;
  left: 0;
  top: 0;
}

.lessons .card-body img{
  max-width: 100%;
}

.staff_info{
  position: sticky;
  top: 30px;
}

.staff_info img{
  height: 200px;
  display: block;
  margin: 0 auto;
  max-width: 100%;
}

.question_variants{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.question_variants label input{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.question_variants label span{
  display: inline-block;
  padding: 10px 25px;
  font-size: 16px;
  border-radius: 8px;
  background-color: #eee;
  border: 1px solid #ccc;
  cursor: pointer;
  transition: .3s all ease;
}

.question_variants label input:checked ~ span{
  background-color: #0d6efd;
  color: #fff;
  border-color: #0d6efd;
}

.question_variants.test_results label input.right:checked ~ span,
.question_variants.test_results label input.right ~ span{
  background-color: #198754;
  border-color: #198754;
  color: #fff;
}

.question_variants.test_results label input:checked ~ span{
  background-color: red;
  border-color: red;
}

.face_id_btn{
  display: flex;
  align-items: center;
  width: 70%;
  padding: 15px;
  border-radius: 8px;
  background-color: #fafafa;
  margin: 0 auto;
  border: 1px solid #ccc;
  margin-top: 30px;
  gap: 0 5px;
  text-decoration: none;
  color: #111;
  transition: .3s all ease;
}
.face_id_btn:hover{
  background-color: #fff;
}

.face_id_btn img{
  max-width: 75px;
}

.take_shoot{
  transition: .3s all ease;
}

.hidden{
  opacity: 0;
  visibility: hidden;
}