.pr-screen {
  width: 100vw;
  height: 100vh;
  display: flex;
  background-color: black;
  justify-content: center;
  align-items: center;
  z-index: 999;
  position: fixed;
  /* border: 1px solid orange; */
}


#preloader {
  display: block;
  width: 660px;
  height: 490px;
  justify-content: center;
  align-items: center;
}

.pr-content {
  display: flex;
  position: relative;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  /* border: 1px solid aqua; */
}

.pr-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(../img/pr_bg.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0.4;
  /* border: 1px solid purple; */
}

.pr-inner {
  position: absolute;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-template-rows: 1fr auto 1fr;
  width: 240px;
  height: 360px;
  margin-bottom: 32px;
  /* border: 1px solid greenyellow; */
}


.pr-tl {
  position: absolute;
  grid-area: 1 / 1;
  align-self: start;
  justify-self: start;
  width: 15px;
  height: 15px;
  animation: prblink 0.15s infinite ease;
}

.pr-tr {
  position: absolute;
  grid-area: 1 / 3;
  align-self: start;
  justify-self: end;
  width: 15px;
  height: 15px;
  animation: prblink 0.15s infinite ease;
}

.pr-br {
  position: absolute;
  grid-area: 3 / 3;
  align-self: end;
  justify-self: end;
  width: 15px;
  height: 15px;
  animation: prblink 0.15s infinite ease;
}

.pr-bl {
  position: absolute;
  grid-area: 3 / 1;
  align-self: flex-end;
  justify-self: start;
  width: 15px;
  height: 15px;
  animation: prblink 0.15s infinite ease;
}

@keyframes prblink {
  50% {
      opacity: 0.5;
  }
}

.pr-left {
  width: 80px;
  height: 8px;
  display: flex;
  position: absolute;
  justify-content: center;
  align-items: center;
  grid-area: 2 / 1;
  align-self: start;
  justify-self: start;
  margin-top: 24px;
  /* border: 1px solid purple; */
}

.pr-right {
  width: 80px;
  height: 8px;
  display: flex;
  position: absolute;
  justify-content: center;
  align-items: center;
  grid-area: 2 / 3;
  align-self: start;
  justify-self: end;
  margin-top: 24px;
  /* border: 1px solid purple; */
}

.pr-items {
  position: absolute;
  display: flex;
  flex-direction: column;
  width: 120px;
  height: auto;
  margin-top: 80px;
  grid-area: 1 / 1;
  align-self: center;
  justify-self: center;
  justify-content: center;
  align-items: center;
  /* border: 1px solid orange; */
}

.pr-txt {
  opacity: 1;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 1px;
  color: #00aeef;
  filter: drop-shadow(0 0 5px #00aeef);
}

#typewriter {
  font-family: 'Century Gothic';
  font-size: 8px;
  font-weight: bold;
  letter-spacing: 1px;
  height: 50px;
  width: 120px;
  color: #00aaff;
  opacity: .6;
  /* border: 1px solid red; */
}

.line {
  white-space: pre;
}

.cursor {
  display: inline-block;
  background-color: #00aaff;
  animation: blink 0.5s infinite step-start;
}

.cursor.typing {
  animation: none;
  /* отключаем мигание во время печати */
}

@keyframes blink {
  50% {
      opacity: 0;
  }
}


.progress-txt {
  color: #00aeef;
  font-size: 15px;
  letter-spacing: 1px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 7px;
}

.progress-bar {
  width: 120px;
  height: 6px;
  background-color: #294663;
  overflow: hidden;
  position: relative;
  margin-bottom: 7px;
}

.progress-fill {
  width: 0%;
  height: 100%;
  background-color: #00aeef;
  transition: width 0.3s ease;
}
