@font-face {
  font-family: "Calibri";
  src: url("../../assets/fonts/Calibri/Calibri-Light.woff2") format("woff2");
  font-style: normal;
  font-weight: 300;
}
@font-face {
  font-family: "Calibri";
  src: url("../../assets/fonts/Calibri/Calibri.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: "Calibri";
  src: url("../../assets/fonts/Calibri/Calibri-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
}
@font-face {
  font-family: "Magistral";
  src: url("../../assets/fonts/Magistral/Magistral-Book.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: "Magistral";
  src: url("../../assets/fonts/Magistral/Magistral-Medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
}
@font-face {
  font-family: "Magistral";
  src: url("../../assets/fonts/Magistral/Magistral-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
}
*:focus {
  box-shadow: 0 0 0px 0px rgba(59, 153, 252, 0.7);
  box-shadow: 0 0 0 0px activeborder;
  /* Blink, Chrome */
  box-shadow: 0 0 0 0px -moz-mac-focusring;
  /* Firefox */
  outline: auto 0 -webkit-focus-ring-color;
  /* Webkit, Safari */
}

.ff1 {
  font-family: "Calibri";
  font-weight: 300;
}

.ff2 {
  font-family: "Magistral";
  font-weight: 400;
}

.ff3 {
  font-family: "Magistral";
  font-weight: 700;
}

.ff4 {
  font-family: "Magistral";
  font-weight: 500;
  line-height: 1.118;
}

.ff5 {
  font-family: "Magistral";
  font-weight: 700;
}

.ff6 {
  font-family: "Calibri";
  font-weight: 300;
}

.ff7 {
  font-family: "Magistral";
  font-weight: 700;
}

.ff9 {
  font-family: "Calibri";
  font-weight: 700;
}

body {
  width: 1920px !important;
  height: 1000px !important;
  transform-origin: 0 0;
  background-color: #000;
}

@media (max-width: 1800px) {
  body {
    transform: scale(0.92);
  }
}
@media (max-width: 1700px) {
  body {
    transform: scale(0.8);
  }
}
@media (max-width: 1500px) {
  body {
    transform: scale(0.73);
  }
}
@media (max-width: 1400px) {
  body {
    transform: scale(0.7);
  }
}
@media (max-width: 1300px) {
  body {
    transform: scale(0.65);
  }
}
@media (max-width: 1200px) {
  body {
    transform: scale(0.6);
  }
}
@media (max-width: 1100px) {
  body {
    transform: scale(0.55);
  }
}
@media (max-width: 1000px) {
  body {
    transform: scale(0.52);
  }
}
@media (max-width: 800px) {
  body {
    transform: scale(0.4);
  }
}
@media (max-width: 600px) {
  body {
    transform: scale(0.3);
  }
}
@media (max-width: 500px) {
  body {
    transform: scale(0.25);
  }
}
@media (max-width: 400px) {
  body {
    transform: scale(0.2);
  }
}
@media (max-width: 300px) {
  body {
    transform: scale(0.14);
  }
}
.progress {
  display: none !important;
}

.reveal .controls {
  bottom: 60px;
  right: 50px;
}

.slide-content__header {
  display: flex;
  justify-content: space-between;
  position: absolute;
  left: 75px;
  top: 48px;
  height: 71.82048px;
}
.slide-content__header-nav {
  display: flex;
  align-items: center;
}
.slide-content__header a {
  margin-right: 50px;
  white-space: pre;
  font-size: 19px;
  color: #6a6a6a;
}
.slide-content__header a:hover {
  color: #6a6a6a;
}
.slide-content__header a.active {
  color: #000;
}
.slide-content__header img {
  width: 150px;
  object-fit: contain;
  margin: 0;
  position: absolute;
  left: 0;
}
.slide-content__header-logo {
  width: 150px;
  margin-left: 220px;
}
.slide-content__sidebar {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-right: 5%;
  position: absolute;
  top: 85px;
  left: -225px;
}
.slide-content__sidebar a {
  font-size: 18px;
  color: #6a6a6a;
  text-align: start;
  margin-bottom: 50px;
}
.slide-content__sidebar a:hover {
  color: #6a6a6a;
}
.slide-content__sidebar a.active {
  font-size: 22px;
  color: #000;
}
.slide-content__body {
  display: flex;
  position: absolute;
  top: 180px;
}

.structure-block {
  display: flex;
  text-align: start;
  margin-bottom: 35px;
}
.structure-block__img {
  flex: 0 0 290px;
  margin-right: 30px;
}
.structure-block__img img {
  margin: 0 !important;
}
.structure-block__text {
  color: #434f59;
  font-size: 26px;
  line-height: 30px;
  max-width: 840px;
}
.structure-block__text_bold {
  font-weight: 600;
}

.border-red::before {
  content: "";
  position: absolute;
  border: 6px solid #d52d27;
  width: 1485px;
  height: 835px;
  left: -95px;
  top: -85px;
}

.team.border-red::before {
  left: -195px;
}

.team.square::before {
  width: 1035px;
}

.section-2-1.active .section-2-1__img.active {
  opacity: 1;
  visibility: visible;
}
.section-2-1.active .section-2-1__img.active img {
  bottom: 110px;
}
.section-2-1.active .section-2-1__img.active::before {
  bottom: 120px;
}

.section-2-1.active .section-2-1__img__title {
  opacity: 0;
}

.section-2-1.active .section-2-1__img {
  opacity: 0;
  visibility: hidden;
}

.section-2-1__img {
  position: absolute;
  top: 230px;
  z-index: 0;
  background-color: transparent !important;
  cursor: pointer;
  width: 500px;
  height: 600px;
  transition: 0.3s;
}
.section-2-1__img:hover img:nth-child(3) {
  opacity: 0.25;
}
.section-2-1__img__title {
  color: #ff6901 !important;
  font-size: 36px !important;
  text-align: left;
  padding-left: 75px;
}
.section-2-1__img__btn-close {
  position: absolute;
  top: 105px;
  right: 55px;
  cursor: pointer;
  width: 25px;
  height: 25px;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
.section-2-1__img__btn-close::after, .section-2-1__img__btn-close::before {
  content: "";
  position: absolute;
  left: -2px;
  top: 12px;
  height: 2px;
  width: 30px;
  background: #ff6901;
}
.section-2-1__img__btn-close::after {
  transform: rotate(45deg);
}
.section-2-1__img__btn-close::before {
  transform: rotate(-45deg);
}
.section-2-1__img__btn-close.active {
  opacity: 1;
  visibility: visible;
}
.section-2-1__img::before {
  content: "";
  z-index: -1;
  position: absolute;
  width: 350px;
  height: 350px;
  border-radius: 100%;
  bottom: 30px;
  border: 3px solid #d75c04;
  filter: drop-shadow(0 0 7px #f77416);
  left: 76px;
  opacity: 0;
  transition: 0.3s;
}
.section-2-1__img.active::before {
  opacity: 1;
}
.section-2-1__img.active .section-2-1__img-content {
  opacity: 1;
  visibility: visible;
}
.section-2-1__img.active {
  z-index: 5;
  cursor: default;
}
.section-2-1__img.active img:nth-child(3) {
  opacity: 1;
}
.section-2-1__img-content {
  position: absolute;
  width: 500px;
  height: 535px;
  padding-top: 30px;
  bottom: 70px;
  color: #bfbfbf;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 3px solid #d75c04;
  background-color: #1c1f22;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  font-size: 20px;
}
.section-2-1__img-content-head {
  color: #ff6901 !important;
  font-size: 30px !important;
  margin-bottom: 4px !important;
  text-align: left;
  padding-left: 20px;
}
.section-2-1__img-content-body {
  padding: 20px 20px;
  text-align: left;
  font-size: 19px;
  margin: 0 !important;
}
.section-2-1__img-1 {
  left: 380px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  transition: 0.3s;
}
.section-2-1__img-1 img:nth-child(3) {
  left: -3px;
  bottom: 3px;
}
.section-2-1__img-1 .section-2-1__img-content {
  left: 694px;
}
.section-2-1__img-1-flex {
  display: flex;
  flex-wrap: wrap;
  color: #fff;
}
.section-2-1__img-1-flex div {
  flex: 1 0 50%;
  padding: 14px 0;
  border-top: 3px solid #d75c04;
  box-sizing: border-box;
  font-size: 24px;
}
.section-2-1__img-1-flex div:nth-child(2n-1) {
  border-right: 3px solid #d75c04;
}
.section-2-1__img-2 {
  left: 1010px;
}
.section-2-1__img-2 img:nth-child(3) {
  bottom: -3px;
}
.section-2-1__img-2::before {
  bottom: 15px;
  left: 83px;
}
.section-2-1__img-2 .section-2-1__img-content {
  left: -680px;
}
.section-2-1__img-2 .section-2-1__img-content-body {
  padding: 20px 30px;
}
.section-2-1__img-2 .section-2-1__img-content-desc {
  text-align: left;
  border-top: 3px solid #d75c04;
  padding: 20px 50px 20px 30px;
  font-size: 18px;
  margin: 0;
  color: #fff;
}
.section-2-1__img img {
  position: absolute;
  bottom: 0;
  left: 0;
  object-fit: contain;
  transition: 0.3s;
}
.section-2-1__img img:nth-child(3) {
  opacity: 0;
}
.section-2-1__img__title {
  opacity: 1;
  transition: 0.3s;
}

.foundry {
  position: absolute;
  width: 300px;
  left: 350px;
  top: 200px;
}
.foundry-circle {
  position: absolute;
  width: 350px;
  height: 350px;
  border-radius: 100%;
  top: 120px;
  border: 3px solid #d75c04;
  filter: drop-shadow(0 0 7px #f77416) blur(1px);
  left: 106px;
  transition: 0.3s;
}
.foundry-circle::before {
  content: "";
  position: absolute;
  width: 2px;
  height: 110px;
  background: #d75c04;
  top: -110px;
  filter: drop-shadow(0 0 7px #f77416);
}
.foundry-circle::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 320px;
  background: #d75c04;
  top: 352px;
  left: 50%;
  filter: drop-shadow(0 0 7px #f77416);
}
.foundry__text-slide {
  color: #fff;
  position: absolute;
  top: 150px;
  left: 385px;
  text-align: left;
  font-family: "Magistral";
  font-weight: 500;
  font-size: 28px;
  transition: 0.1s;
  z-index: 100;
}
.foundry__text-slide.none {
  opacity: 0;
  visibility: hidden;
}

.series-locomotives {
  position: absolute;
  top: 200px;
  left: 410px;
}
.series-locomotives__head {
  margin-bottom: 20px;
  color: #ff6901 !important;
  font-size: 40px !important;
  text-align: left;
}
.series-locomotives__table {
  margin: 0 !important;
  width: 1300px;
}
.series-locomotives tr {
  vertical-align: middle;
}
.series-locomotives td {
  font-size: 18px;
  border: none !important;
  padding: 0 !important;
  width: 120px;
}
.series-locomotives td span[data-img] {
  cursor: pointer;
  border-bottom: 1px solid #929291 !important;
  transition: 0.3s;
}
.series-locomotives td span[data-img].active {
  color: #ff6901;
  border-color: #ff6901 !important;
}
.series-locomotives__block-img {
  position: absolute;
  top: 50px;
  width: 600px;
  height: 600px;
  transition: opacity 0.3s, visibility 0.3s;
  opacity: 0;
  visibility: hidden;
}
.series-locomotives__block-img.active {
  opacity: 1;
  visibility: visible;
}
.series-locomotives__block-img img {
  margin: 0 !important;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain;
}
.series-locomotives__position0, .series-locomotives__position1, .series-locomotives__position2, .series-locomotives__position3 {
  left: 800px;
}
.series-locomotives__position4, .series-locomotives__position5, .series-locomotives__position6 {
  left: 200px;
}

.reveal .controls button {
  color: red !important;
}

.body-left {
  left: 410px;
}

.branch-hover {
  position: absolute;
  left: 400px;
  text-align: left;
}
.branch-hover__titel {
  cursor: pointer;
  font-size: 33px;
  color: #fe6900;
  line-height: 43px;
  transition: 0.3s;
}
.branch-hover__titel.blur {
  opacity: 0.5;
}
.branch-hover__titel ~ div {
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
.branch-hover__titel:hover ~ div {
  opacity: 1;
  visibility: visible;
}
.branch-hover__content {
  width: 450px;
  height: 205px;
  font-size: 20px;
  text-align: left;
  top: -25px;
  left: 630px;
  display: flex;
  align-items: center;
  position: absolute;
  background-color: #2b2d33;
  padding: 30px 20px 25px 35px;
  color: #fff;
  line-height: 25px;
  box-sizing: border-box;
  font-family: "Calibri";
  font-weight: 500;
  clip-path: polygon(5% 0, 100% 0, 100% 78%, 95% 100%, 0 100%, 0 22%);
}
.branch-hover__content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 2px;
  background-image: linear-gradient(140deg, #2a2c32 0%, #774327 33%, #c2570a 50%, #774327 67%, #2a2c32 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.branch-list {
  top: 390px;
  position: absolute;
  left: 441px;
  z-index: 100;
}
.branch-list ol {
  counter-reset: myCounter;
}
.branch-list li {
  list-style: none;
  color: #fff;
  font-size: 27px;
  display: flex;
  margin-bottom: 20px;
  align-items: start;
}
.branch-list li:before {
  counter-increment: myCounter;
  content: counter(myCounter);
  color: #fe6901;
  font-size: 30px;
  font-family: "Calibri";
  font-weight: 500;
  text-align: center;
  margin-right: 10px;
  line-height: 40px;
  width: 40px;
  height: 100%;
}

.swiper-button-prev,
.swiper-button-next {
  color: transparent;
  border: solid #ff6900;
  border-width: 0 4px 4px 0;
  display: inline-block;
  padding: 4px;
  width: 5px;
  height: 5px;
}
.swiper-button-prev:focus-visible, .swiper-button-prev:focus,
.swiper-button-next:focus-visible,
.swiper-button-next:focus {
  outline: none !important;
  outline-width: 0 !important;
  outline-offset: 0 !important;
}
.swiper-button-prev -webkit-direct-focus,
.swiper-button-next -webkit-direct-focus {
  outline-color: transparent !important;
  outline-style: auto !important;
  outline-width: 0 !important;
}

.swiper-button-next {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.swiper-button-prev {
  left: 5px;
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}

.swiper-slide {
  opacity: 0 !important;
  visibility: hidden;
}

.swiper-slide-active {
  opacity: 1 !important;
  visibility: visible;
}

.foundry-swiper-button-next {
  right: 750px;
}

.foundry-swiper {
  color: #fff;
}
.foundry-swiper .swiper-slide {
  display: flex;
  align-items: center;
  padding-left: 25px;
}
.foundry-swiper .swiper-slide img {
  width: 500px;
  object-fit: contain;
  margin-right: 200px;
  padding-bottom: 95px;
}
.foundry-swiper__content {
  width: 550px;
  height: fit-content;
  margin-top: 40px;
  border: 1px solid #ff6900;
  text-align: left;
}
.foundry-swiper__head {
  color: #ff6900;
  font-size: 35px;
  padding: 20px 20px 10px 50px;
}
.foundry-swiper__block {
  padding: 15px 20px 15px 50px;
  font-size: 24px;
  border-top: 1px solid #ff6900;
  color: #d5d5d5;
}
.foundry-swiper-button-next, .foundry-swiper-button-prev {
  top: 355px;
}

.map-swiper {
  position: absolute;
  top: 145px;
  left: 320px;
  width: 1310px;
  height: 830px;
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  color: #fff;
  font-size: 22px;
}
.map-swiper__text .underline {
  font-weight: 600;
}
.map-swiper-button-prev, .map-swiper-button-next {
  top: 40px;
}
.map-swiper-button-prev {
  left: 190px;
}
.map-swiper-button-next {
  right: 160px;
}

.map-city {
  position: absolute;
  padding: 2px 10px;
  font-size: 16px;
  color: #fff;
  background-color: rgba(201, 201, 201, 0.3);
  border-radius: 20px;
  font-family: "Calibri";
  font-weight: 500;
}
.map-city::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.09);
  border-radius: inherit;
}

.hover-img__block {
  position: absolute;
  top: 100px;
  right: 90px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 780px;
}
.hover-img__block img {
  width: 290px;
  height: 200px;
  object-fit: contain;
  opacity: 1;
  transition: 0.3s;
}
.hover-img__block img.blur {
  opacity: 0.4;
}
.hover-img__modal {
  position: absolute;
  width: 1034px;
  height: 694px;
  top: 135px;
  left: 410px;
  background-color: #fff;
  padding: 12px;
  box-sizing: border-box;
  clip-path: polygon(6% 0, 100% 0, 100% 88%, 94% 100%, 0 100%, 0 10%);
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
.hover-img__modal.active {
  opacity: 1;
  visibility: visible;
}
.hover-img__modal img {
  width: 100%;
  height: 100%;
  max-width: fit-content;
  max-height: fit-content;
  object-fit: cover;
  margin-top: 0 !important;
  clip-path: polygon(6% 0, 100% 0, 100% 88%, 94% 100%, 0 100%, 0 10%);
}

.youth-policy {
  text-align: left;
}
.youth-policy__btns-block {
  position: absolute;
  top: 450px;
  left: 390px;
}
.youth-policy__img-block {
  right: 200px;
}
.youth-policy__img-modal {
  left: 305px;
}
.youth-policy__btn-block.active .youth-policy__btn-content {
  opacity: 1;
  visibility: visible;
}
.youth-policy__btn-block.active .youth-policy__btn {
  color: #d52d27;
}
.youth-policy__btn {
  position: relative;
  color: #a5a4a4;
  font-size: 32px;
  transition: 0.3s;
  margin-bottom: 50px;
  text-align: left;
  cursor: pointer;
}
.youth-policy__btn-content {
  position: absolute;
  left: 275px;
  width: 650px;
  height: 350px;
  top: -20px;
  text-align: left;
  font-size: 18px;
  background-color: rgba(255, 255, 255, 0.3);
  clip-path: polygon(6% 0, 100% 0, 100% 88%, 94% 100%, 0 100%, 0 10%);
  padding: 30px 10px 0 35px;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
.youth-policy__btn-content-body {
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
}
.youth-policy__btn-content-item {
  flex: 0 0 50%;
  margin-bottom: 25px;
  box-sizing: border-box;
  padding-right: 10px;
}
.youth-policy__btn-content-title {
  font-family: "Calibri";
  font-weight: 600;
  margin-bottom: 35px;
  color: #000;
}
.youth-policy__btn-content-subtitle {
  font-size: 22px;
  margin-bottom: 3px;
  color: #d52d27;
}

.red-dot::before {
  content: "";
  position: absolute;
  left: -70px;
  top: 35px;
  width: 40px;
  height: 40px;
  background-color: #d52d27;
  border-radius: 100%;
}

.parts-production-swiper {
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
.parts-production-swiper.active {
  opacity: 1;
  visibility: visible;
}
.parts-production__foundry {
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
.parts-production__foundry.active {
  opacity: 1;
  visibility: visible;
}
.parts-production__button-prev {
  position: absolute;
  top: 333px;
  left: 5px;
  transform: rotate(135deg);
  color: transparent;
  border: solid #ff6900;
  border-width: 0 4px 4px 0;
  display: inline-block;
  padding: 4px;
  width: 5px;
  height: 5px;
  z-index: 100;
  cursor: pointer;
}
.parts-production__btn {
  position: absolute;
  top: 465px;
  left: 55px;
  padding: 15px 65px;
  color: #fe6901;
  font-family: "Calibri";
  font-size: 30px;
  cursor: pointer;
  border: 2px solid #fe6901;
}
.parts-production__btn-arrow {
  color: transparent;
  border: solid #ff6900;
  border-width: 0 4px 4px 0;
  display: inline-block;
  padding: 4px;
  width: 5px;
  height: 5px;
  margin-left: 10px;
  transform: rotate(-45deg);
}
.parts-production__slide-1 {
  opacity: 1;
  visibility: visible;
  transition: 0.3s;
}
.parts-production__slide-1.none {
  opacity: 0;
  visibility: hidden;
}
.parts-production-button-prev, .parts-production-button-next {
  top: 355px;
}
.parts-production-button-prev.none, .parts-production-button-next.none {
  display: none;
}

.loader {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.295) !important;
  transition: 0.3s;
  opacity: 0;
  visibility: hidden;
}
.loader.active {
  opacity: 1;
  visibility: visible;
}

.lds-roller {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
  top: 370px;
}

.lds-roller div {
  animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  transform-origin: 40px 40px;
}

.lds-roller div:after {
  content: " ";
  display: block;
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #fff;
  margin: -4px 0 0 -4px;
}

.lds-roller div:nth-child(1) {
  animation-delay: -0.036s;
}

.lds-roller div:nth-child(1):after {
  top: 63px;
  left: 63px;
}

.lds-roller div:nth-child(2) {
  animation-delay: -0.072s;
}

.lds-roller div:nth-child(2):after {
  top: 68px;
  left: 56px;
}

.lds-roller div:nth-child(3) {
  animation-delay: -0.108s;
}

.lds-roller div:nth-child(3):after {
  top: 71px;
  left: 48px;
}

.lds-roller div:nth-child(4) {
  animation-delay: -0.144s;
}

.lds-roller div:nth-child(4):after {
  top: 72px;
  left: 40px;
}

.lds-roller div:nth-child(5) {
  animation-delay: -0.18s;
}

.lds-roller div:nth-child(5):after {
  top: 71px;
  left: 32px;
}

.lds-roller div:nth-child(6) {
  animation-delay: -0.216s;
}

.lds-roller div:nth-child(6):after {
  top: 68px;
  left: 24px;
}

.lds-roller div:nth-child(7) {
  animation-delay: -0.252s;
}

.lds-roller div:nth-child(7):after {
  top: 63px;
  left: 17px;
}

.lds-roller div:nth-child(8) {
  animation-delay: -0.288s;
}

.lds-roller div:nth-child(8):after {
  top: 56px;
  left: 12px;
}

@keyframes lds-roller {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}