html {
  font-size: 10px;
}

body {
  font-family: 'Archivo', sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
}

@keyframes scroll-down {
  0%   { top: calc(100% - 10rem); }
  50%  { top: calc(100% - 12rem); }
  100% { top: calc(100% - 10rem); }
}

.no-select {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.list-ul {
    list-style: none;
    padding-left: 0;
}
.list-ul > li {
    padding-left: 4rem;
    position: relative;
    font-size: 2.6rem;
    line-height: 4.5rem;
}
.list-ul > li:before {
  content: '';
  background: url(/Images/PuzzleSmall1Black.svg) no-repeat center / contain;
  width: 2rem;
  height: 2rem;
  position: absolute;
  top: 1.2rem;
  left: 1rem;
}
.list-ul > li:nth-child(2n):before {
  background-image: url(/Images/PuzzleSmall2Black.svg);
}

.window-block {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(12, 50, 132, .35);
  overflow: auto;
  transition: .4s all ease-in-out;
  opacity: 0;
  display: none;
}
.window-block.open {
  opacity: 1;
}
.window {
  border: 1px solid #707070;
  background: #FFF;
  border-radius: 1.5rem;
  margin: 20rem 24rem 10rem;
  padding: 6rem 7rem;
  position: relative;
}
.window-block.small .window {
  width: 50rem;
  margin: 20rem auto 10rem;
  padding: 6rem 4rem 3rem;
}
.window-close {
  box-sizing: border-box;
  width: 5rem;
  height: 5rem;
  border: 1px solid #000;
  background: #FFF;
  border-radius: 50%;
  position: absolute;
  cursor: pointer;
  transition: .2s background ease-in-out, .4s transform ease-in-out;
  transform: rotate(0deg);
top: 2rem;right: 2rem;}
.window-close:hover {
  background: #000;
  transform: rotate(180deg);
}
.window-block.small .window-close {
  top: 1rem;
  right: 1rem;
width: 4rem;height: 4rem;}
.window-close:before {
  content: '';
  width: 1.8rem;
  position: absolute;
  transform: translate(-50%, -50%) rotate(45deg);
  height: 1px;
  background: #000;
  top: 50%;
  left: 50%;
  transition: .2s all ease-in-out;
}
.window-close:after {
  content: '';
  width: 1.8rem;
  position: absolute;
  transform: translate(-50%, -50%) rotate(-45deg);
  height: 1px;
  background: #000;
  top: 50%;
  left: 50%;
  transition: .2s all ease-in-out;
}
.window-close:hover:before,
.window-close:hover:after {
  background: #FFF;
}
.window-content {
  position: relative;
}
.window-text {
  text-align: center;
  font-size: 2.4rem;
  color: #000000;
  font-weight: 700;
  padding-bottom: 2rem;
}

.module:nth-child(1)  { z-index: 20; }
.module:nth-child(2)  { z-index: 19; }
.module:nth-child(3)  { z-index: 18; }
.module:nth-child(4)  { z-index: 17; }
.module:nth-child(5)  { z-index: 16; }
.module:nth-child(6)  { z-index: 15; }
.module:nth-child(7)  { z-index: 14; }
.module:nth-child(8)  { z-index: 13; }
.module:nth-child(9)  { z-index: 12; }
.module:nth-child(10) { z-index: 11; }
.module:nth-child(11) { z-index: 10; }
.module:nth-child(12) { z-index: 9;  }
.module:nth-child(13) { z-index: 8;  }
.module:nth-child(14) { z-index: 7;  }
.module:nth-child(15) { z-index: 6;  }
.module:nth-child(16) { z-index: 5;  }
.module:nth-child(17) { z-index: 4;  }
.module:nth-child(18) { z-index: 3;  }
.module:nth-child(19) { z-index: 2;  }
.module:nth-child(20) { z-index: 1;  }

.scroll-down {
  position: absolute;
  bottom: 10.6rem;
  right: 6rem;
  cursor: pointer;
  opacity: 1;
  
  z-index: 100;
  animation-name: scroll-down;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}
.scroll-down:before {
  content: '';
  background: url(/Images/ScrollDownWhite.svg) no-repeat center / contain;
  width: 5.5rem;
  height: 7rem;
  display: block;
}

.header-block {}
.header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 0;
  z-index: 100;
}
.header-fix {
  padding-top: 8.8rem;
}
.header-fix .header {
  display: none;
}
.header-mlogo-block {
  position: absolute;
  top: 0;
  left: 0;
  width: 30rem;
  height: 30rem;
  overflow: hidden;
}
.header-mlogo-block:before {
  content: '';
  position: absolute;
  z-index: 2;
  width: 45rem;
  height: 45rem;
  background: #FFF;
  transform: rotate(45deg);
  top: -23.3rem;
  left: -23.5rem;
}
.header-mlogo-block:after {
  content: '';
  background: url(/Images/PuzzleEndingWhite.svg) no-repeat center top / contain;
  width: 9.1rem;
  height: 11.5rem;
  position: absolute;
  z-index: 1;
  transform: rotate(-45deg);
  top: 12.2rem;
  left: 15.4rem;
}
.header-mlogo {
  position: absolute;
  z-index: 5;
  width: 9rem;
  left: 5rem;
  top: 2.5rem;
}
.header-mhamburger-block {
  position: absolute;
  top: 4rem;
  right: 3.4rem;
}
.header-mhamburger {
  font-size: 2rem;
  font-weight: 700;
  user-select: none;
  cursor: pointer;
  border: 1px solid #FFF;
  color: #FFF;
  transition: .2s all ease-in-out;
  padding: 0 3rem;
  line-height: 4.7rem;
  border-radius: 2.6rem;
  background: transparent;
}
.header-mhamburger:hover {
  background: #FFF;
  color: #000;
}
.header-box {
  position: fixed;
  top: -10rem;
  left: 0;
  right: 0;
  z-index: 101;
  height: 8.8rem;
  background: #FFF;
  padding: 0 7.5rem;
  box-shadow: 0 .3rem .6rem rgba(0, 0, 0, .06);
  transition: .4s all ease-in-out;
}
.header-fix .header-box,
.header-box.open {
  top: 0;
}
.header-left {
  float: left;
}
.header-logo-block {
  line-height: 8.8rem;
}
.header-logo {
  height: 6.6rem;
  vertical-align: middle;
}
.header-right {
  float: right;
}
.header-link-block {
  line-height: 8.8rem;
  float: left;
}
.header-link {
  display: inline-block;
  vertical-align: middle;
  width: 5rem;
  height: 5rem;
  background: none no-repeat center;
  background-size: 2rem 2rem;
  font-size: 0;
  text-decoration: none;
}
.header-link-mail {
  background-image: url(/Images/IconMail.svg);
}
.header-link-facebook {
  background-image: url(/Images/IconFacebook.svg);
}
.header-hamburger-block {
  float: left;
  margin-top: 2rem;
  margin-left: 4rem;
}
.header-hamburger {
  font-size: 2rem;
  font-weight: 700;
  user-select: none;
  cursor: pointer;
  border: 1px solid #000;
  color: #000;
  transition: .2s all ease-in-out;
  padding: 0 3rem;
  line-height: 4.7rem;
  border-radius: 2.6rem;
  display: inline-block;
  background: #FFF;
}
.header-hamburger:hover {
  color: #FFF;
  background: #000;
}
.header-menu-block {
  position: fixed;
  z-index: 102;
  top: -10rem;
  left: 100%;
  width: 100%;
  height: 100%;
  background: #FFF url(/Images/LogoBG.png) no-repeat;
  background-size: 90%;
  background-position: calc(100% + 24rem) -27rem;
  opacity: 0;
  transition: .4s opacity ease-in-out, .4s top ease-in-out, 0s left linear .4s;
}
.header-menu-block.open {
  opacity: 1;
  top: 0;
  left: 0;
  transition: .4s opacity ease-in-out, .4s top ease-in-out;
}
.header-menu-box {}
.header-menu-top {
  padding: 2rem 7.5rem 6rem;
}
.header-menu-top:after {
  content: '';
  clear: both;
  display: block;
}
.header-menu-logo-block {
  float: left;
}
.header-menu-logo {
  width: 8.8rem;
}
.header-menu-close-block {
  padding-top: 1.5rem;
  float: right;
}
.header-menu-close {
  box-sizing: border-box;
  width: 5rem;
  height: 5rem;
  border: 1px solid #000;
  background: #FFF;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
  transition: .2s background ease-in-out, .4s transform ease-in-out;
  transform: rotate(0deg);
}
.header-menu-close:hover {
  background: #000;
  transform: rotate(180deg);
}
.header-menu-close:before {
  content: '';
  width: 1.8rem;
  position: absolute;
  transform: translate(-50%, -50%) rotate(45deg);
  height: 1px;
  background: #000;
  top: 50%;
  left: 50%;
  transition: .2s all ease-in-out;
}
.header-menu-close:after {
  content: '';
  width: 1.8rem;
  position: absolute;
  transform: translate(-50%, -50%) rotate(-45deg);
  height: 1px;
  background: #000;
  top: 50%;
  left: 50%;
  transition: .2s all ease-in-out;
}
.header-menu-close:hover:before,
.header-menu-close:hover:after {
  background: #FFF;
}
.header-menu-body {
  padding: 0 7.5rem;
  margin-bottom: 4rem;
}
.header-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}
.header-menu > li {
  margin-bottom: 2rem;
}
.header-menu > li:last-child {
  margin-bottom: 0;
}
.header-menu > li > a {
  font-size: 6rem;
  font-weight: 700;
  color: #000;
  text-decoration: none;
  transition: .2s all ease-in-out;
}
.header-menu > li > a:hover {
  color: #882890;
}
.header-menu-footer {
  padding: 4rem 7.5rem;
}
.header-menu-links {
  font-size: 0;
  white-space: nowrap;
}
.header-menu-link-box {
  padding-left: 5.6rem;
  margin-right: 4rem;
  position: relative;
  display: inline-block;
  vertical-align: top;
}
.header-menu-link-box:last-child {
  margin: 0;
}
.header-menu-link-box:before {
  content: '';
  width: 4.6rem;
  height: 4.6rem;
  position: absolute;
  left: 0;
  top: -1rem;
  background: url(/Images/PuzzleSmall1.svg) no-repeat center / contain;
  transition: .4s all ease-in-out;
  transform: rotate(0deg);
}
.header-menu-link-box:hover:before {
  transform: rotate(180deg);
}
.header-menu-link-box:nth-child(2n):before {
  background-image: url(/Images/PuzzleSmall2.svg);
}
.header-menu-link-label {
  font-size: 2rem;
  font-weight: 700;
  display: block;
  margin-bottom: 1.6rem;
}
.header-menu-link {
  font-size: 2rem;
  font-weight: 400;
  color: #000;
  text-decoration: none;
  transition: .2s all ease-in-out;
}
.header-menu-link:hover {
  color: #882890;
}

.slider-block {
  height: 80vh;
position: relative;}
.slider {
  width: 100%;
  height: 100%;
  position: relative;
}
.slider-slides {
  height: 100%;
  margin-right: 17rem;
  position: relative;
  z-index: 1;
}
.slider-slide-add {
  font-size: 3rem;
  font-weight: 700;
  text-decoration: none;
  color: #000;
  display: inline-block;
  background: transparent;
  border-radius: 50%;
  transition: .2s all ease-in-out;
  cursor: pointer;
  border: 2px solid #000;
  position: absolute;
  bottom: 2rem;
  left: 2rem;
  z-index: 2;
  text-align: center;
  width: 5rem;
  height: 5rem;
  line-height: 4.6rem;
}
.slider-slide-add:hover {
  background: #000;
  color: #FFF;
}
.slider-slide {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  z-index: 1;
  opacity: 0;
  background: none no-repeat center / cover;
  background-position: calc(50% + 20rem);
  transition: .6s opacity ease-in-out;
}
.slider-slide.active {
  z-index: 2;
  opacity: 1;
  background-position: 50%;
  transition: .6s opacity ease-in-out, .6s background-position ease-in-out;
}
.slider-slide.after {
  background-position: calc(50% - 20rem);
  transition: .6s opacity ease-in-out, .6s background-position ease-in-out;
}
.slider-slide-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 80%;
}
.slider-slide-box2 {}
.slider-slide-title {
  margin: 0 0 4.5rem;
  text-align: center;
  color: #FFF;
  font-size: 7rem;
  line-height: 7.6rem;
  
}
.slider-slide-link-block {
  text-align: center;
}
.slider-slide-link {
  font-size: 2rem;
  font-weight: 700;
  text-decoration: none;
  color: #000;
  display: inline-block;
  background: #FFF;
  line-height: 2.2rem;
  padding: 1.9rem 6rem;
  border-radius: 3rem;
  transition: .2s all ease-in-out;
}
.slider-slide-link:hover {
  background: #000;
  color: #FFF;
}
.slider-navigation-block {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 17rem;
  z-index: 2;
}
.slider-navigation-bg {
  background: #0089CF;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  transition: .6s all ease-in-out;
}
.slider-navigation-puzzle {
  right: calc(100% - 1px);
  position: absolute;
  top: 0;
  height: 100%;
}
.slider-navigation-puzzle path {
  transition: .6s all ease-in-out;
}
.slider-navigation-box {
  position: absolute;
  z-index: 2;
  top: 0;
  width: 100%;
  height: 100%;
  left: 0;
  transition: .6s all ease-in-out;
}
.slider-navigation-points {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.slider-navigation {
  list-style: none;
  padding: 0;
  margin: 0;
}
.slider-navigation > li {
  width: 1.2rem;
  height: 1.2rem;
  box-sizing: border-box;
  border: 1px solid #FFF;
  border-radius: 50%;
  transition: .2s all ease-in-out;
  margin-bottom: 2rem;
  vertical-align: middle;
  background: transparent;
}
.slider-navigation > li:last-child {
  margin: 0;
}
.slider-navigation > li:hover,
.slider-navigation > li.active {
  background-color: #FFF;
}
.slider-navigation-arrow {
  white-space: nowrap;
  font-size: 0;
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  left: 50%;
  bottom: 18rem;
  transform: translate(-50%, 0);
}
.slider-navigation-left {
  width: 2.5rem;
  height: 2.9rem;
  background: url(/Images/ArrowLeft.svg) no-repeat center / contain;
  cursor: pointer;
  transition: .2s all ease-in-out;
  margin-right: 2rem;
  display: inline-block;
  vertical-align: middle;
}
.slider-navigation-left:hover {
  background-image: url(/Images/ArrowLeftWhite.svg);
}
.slider-navigation-right {
  width: 2.5rem;
  height: 2.9rem;
  background: url(/Images/ArrowRight.svg) no-repeat center / contain;
  cursor: pointer;
  transition: .2s all ease-in-out;
  display: inline-block;
  vertical-align: middle;
}
.slider-navigation-right:hover {
  background-image: url(/Images/ArrowRightWhite.svg);
}
.slider-counter {display: none;}
.slider-counter-number {}
.slider-counter-separator {}
.slider-counter-count {}

.box-block {
  padding: 27rem 22rem;
  background: none no-repeat center / cover;
}
.box {}
.box-info {
  font-size: 6rem;
  width: 60%;
}

.box2-block {
  background: #E9ECF5 url(/Images/LogoBGWhite.png) no-repeat;
  padding: 12rem 22rem;
  background-size: 85%;
  background-position: 1rem -20rem;
  position: relative;
}
.box2-block:after {
  content: '';
  background: url(/Images/PuzzleEndingGrey.svg) no-repeat top / contain;
  width: 8.1rem;
  height: 10.5rem;
  display: block;
  position: absolute;
  right: 14rem;
  top: calc(100% - 1px);
}
.box2 {
  position: relative;
}
.box2-info {}
.box2-title {
  margin: 0 0 5rem;
  font-size: 6rem;
  font-weight: 400;
}
.box2-text {
  font-size: 2.6rem;
  line-height: 4.5rem;
  width: 60%;
}
.box2-link-block {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
}
.box2-link {
  font-size: 2rem;
  font-weight: 700;
  text-decoration: none;
  color: #FFF;
  display: inline-block;
  background: #C6168D;
  line-height: 2.2rem;
  padding: 1.9rem 6rem;
  border-radius: 3rem;
  transition: .2s all ease-in-out;
}
.box2-link:hover {
  background: #000;
}

.blinks-block {
  background: #0089CF url(/Images/LogoBG.png) no-repeat;
  padding: 12rem 22rem;
  background-size: 80%;
  background-position: calc(100% + 50rem) calc(100% + 87rem);
  position: relative;
}
.blinks-block:after {
  content: '';
  background: url(/Images/PuzzleEndingBlue.svg) no-repeat top / contain;
  width: 8.1rem;
  height: 10.5rem;
  display: block;
  position: absolute;
  left: 14rem;
  top: calc(100% - 1px);
}
.blinks {
  position: relative;
}
.blinks-info {}
.blinks-title {
  font-size: 6rem;
  margin: 0 0 1.5rem;
  color: #FFF;
  font-weight: 400;
}
.blinks-subtitle {
  margin: 0 0 6rem;
  font-size: 2.6rem;
  line-height: 4.5rem;
  color: #FFF;
  font-weight: 400;
}
.blinks-links {
  margin-right: 50rem;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
}
.blinks-col {}
.blinks-row-add {
  font-size: 2rem;
  font-weight: 700;
  text-decoration: none;
  color: #FFF;
  display: inline-block;
  background: transparent;
  line-height: 2.2rem;
  padding: 1.5rem 9rem;
  border-radius: 3rem;
  transition: .2s all ease-in-out;
  cursor: pointer;
  border: 2px solid #FFF;
}
.blinks-row-add:hover {
  background: #FFF;
  color: #000;
}
.blinks-row {
  font-size: 2.6rem;
  line-height: 4.5rem;
  color: #FFF;
  margin: 0 0 2rem;
}
.blinks-row:last-child {
  margin: 0;
}
.blinks-link-block {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
}
.blinks-link {
  font-size: 2rem;
  font-weight: 700;
  text-decoration: none;
  color: #FFF;
  display: inline-block;
  background: #000;
  line-height: 2.2rem;
  padding: 1.9rem 6rem;
  border-radius: 3rem;
  transition: .2s all ease-in-out;
}
.blinks-link:hover {
  color: #000;
  background: #FFF;
}

.puzzles-block {
  background: #E9ECF5 url(/Images/LogoBG.png) no-repeat;
  padding: 12rem 0 6rem;
  background-size: 80%;
  background-position: calc(100% + 50rem) -62.6rem;
  position: relative;
}
.puzzles-block:after {
  content: '';
  background: url(/Images/PuzzleEndingGrey.svg) no-repeat top / contain;
  width: 8.1rem;
  height: 10.5rem;
  display: block;
  position: absolute;
  right: 14rem;
  top: calc(100% - 1px);
}
.puzzles {}
.puzzles-title-block {
  padding: 0 22rem;
  margin-bottom: 5rem;
}
.puzzles-title {
  font-size: 6rem;
  font-weight: 400;
  margin: 0 0 2.5rem;
}
.puzzles-subtitle {
  font-size: 2.6rem;
  line-height: 4.5rem;
  font-weight: 400;
  margin: 0;
}
.puzzles-box {
  padding-top: 35%;
  position: relative;
  overflow: hidden;
}
.puzzles-puzzle {
  position: absolute;
  transition: .6s all ease-in-out;
  user-select: none;
opacity: 1;transform: translate(0, 0);}
.puzzles-puzzle-1 {
  width: 20.24%;
  left: 4%;
  top: 7.1%;
  z-index: 4;
}
.puzzles-puzzle-2 {
  width: 17.28%;
  left: 22.1%;
  top: 36.66%;
  z-index: 5;
}
.puzzles-puzzle-3 {
  width: 24.616%;
  top: 7.2%;
  left: 38%;
  z-index: 2;
}
.puzzles-puzzle-4 {
  width: 21.656%;
  top: 35.7%;
  left: 60.1%;
  z-index: 3;
}
.puzzles-puzzle-5 {
  width: 16.496%;
  top: 6.2%;
  left: 79.35%;
  z-index: 4;
}
.puzzles-box.fixed .puzzles-puzzle-1,
.puzzles-box:hover .puzzles-puzzle-1 {
  left: 10%;
  top: 16.1%;
}
.puzzles-box.fixed .puzzles-puzzle-2,
.puzzles-box:hover .puzzles-puzzle-2 {
  left: 25.3%;
  top: 26.16%;
}
.puzzles-box.fixed .puzzles-puzzle-3,
.puzzles-box:hover .puzzles-puzzle-3 {
  top: 16%;
  left: 37.6%;
}
.puzzles-box.fixed .puzzles-puzzle-4,
.puzzles-box:hover .puzzles-puzzle-4 {
  top: 26.1%;
  left: 57.3%;
}
.puzzles-box.fixed .puzzles-puzzle-5,
.puzzles-box:hover .puzzles-puzzle-5 {
  top: 15.2%;
  left: 73.5%;
}
.puzzles-puzzle-out {opacity: 0;cursor: default;pointer-events: none;user-select: none;}
.puzzles-puzzle.puzzles-puzzle-1.puzzles-puzzle-out {top: 0;left: 0;}
.puzzles-puzzle.puzzles-puzzle-2.puzzles-puzzle-out {left: 19.1%;top: 40%;}
.puzzles-puzzle.puzzles-puzzle-3.puzzles-puzzle-out {top: 0;left: 40%;}
.puzzles-puzzle.puzzles-puzzle-4.puzzles-puzzle-out {top: 40%;left: 65%;}
.puzzles-puzzle.puzzles-puzzle-5.puzzles-puzzle-out {top: 0;left: 83%;}
.puzzles-puzzle-in {transform: translate(0, -50%);top: 50%;user-select: auto;}
.puzzles-puzzle.puzzles-puzzle-1.puzzles-puzzle-in {top: 50%;left: 10%;}
.puzzles-puzzle.puzzles-puzzle-2.puzzles-puzzle-in {left: 10%;top: 52%;}
.puzzles-puzzle.puzzles-puzzle-3.puzzles-puzzle-in {top: 50%;left: 6%;}
.puzzles-puzzle.puzzles-puzzle-4.puzzles-puzzle-in {top: 50%;left: 8%;}
.puzzles-puzzle.puzzles-puzzle-5.puzzles-puzzle-in {top: 50%;left: 11%;}
.puzzles-puzzle-area {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 3;
  cursor: pointer;
}
.puzzles-puzzle-area *:hover { fill: red; }
.puzzles-puzzle-in .puzzles-puzzle-area,
.puzzles-puzzle-out .puzzles-puzzle-area {display: none;}
.puzzles-puzzle-bg {
  background: none no-repeat center / contain;
  position: relative;
  z-index: 1;
}
.puzzles-puzzle-bg-number {
  position: absolute;
  width: 0;
  height: 0;
user-select: none;}
.puzzles-puzzle-bg-number > span {
  font-size: 5rem;
  font-weight: 700;
  font-style: italic;
  position: absolute;
  transform: translate(-50%, -50%);
}
.puzzles-puzzle-center {
  position: absolute;
  width: 0;
  height: 0;
  z-index: 2;
}
.puzzles-puzzle-title {
  font-size: 3.4rem;
  font-weight: 700;
  color: #FFF;
  margin: 0;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
  font-style: italic;
}
.puzzles-puzzle-box-overflow {
  position: absolute;
  overflow: hidden;
  transform: translate(0, -50%);
  top: 50%;
  left: 34%;
  width: 45%;
  z-index: 1;
  display: none;
}
.puzzles-puzzle-box {
  width: 100%;
  margin: 0;
  transition: .6s all ease-in-out;
  opacity: 0;
}
.puzzles-puzzle-box-close {
  box-sizing: border-box;
  width: 5rem;
  height: 5rem;
  border: 1px solid #fff;
  background: transparent;
  border-radius: 50%;
  position: absolute;
  cursor: pointer;
  transition: .2s background ease-in-out, .4s transform ease-in-out;
  transform: rotate(0deg);
  top: 2rem;
  right: 2rem;
}
.puzzles-puzzle-box-close:hover {
  background: #FFF;
  transform: rotate(180deg);
}
.puzzles-puzzle-box-close:before {
  content: '';
  width: 1.8rem;
  position: absolute;
  transform: translate(-50%, -50%) rotate(45deg);
  height: 1px;
  background: #FFF;
  top: 50%;
  left: 50%;
  transition: .2s all ease-in-out;
}
.puzzles-puzzle-box-close:after {
  content: '';
  width: 1.8rem;
  position: absolute;
  transform: translate(-50%, -50%) rotate(-45deg);
  height: 1px;
  background: #FFF;
  top: 50%;
  left: 50%;
  transition: .2s all ease-in-out;
}
.puzzles-puzzle-box-close:hover:before,
.puzzles-puzzle-box-close:hover:after {
  background: #000;
}
.puzzles-puzzle-box-center {
  left: 5rem;
  right: 5rem;
  position: absolute;
  text-align: center;
  top: 50%;
  transform: translate(0, -50%);
  user-select: text;
}
.puzzles-puzzle-box-title {
  margin-bottom: 2rem;
  font-size: 4rem;
  font-weight: 700;
  font-style: italic;
  color: #FFF;
}
.puzzles-puzzle-box-text {
  font-size: 2.4rem;
  line-height: 3rem;
  color: #000;
}
.puzzles-puzzle-box-text * {
  font-size: 2.4rem !important;
  line-height: 3rem !important;
}
.puzzles-puzzle-1 .puzzles-puzzle-area {}
.puzzles-puzzle-1 .puzzles-puzzle-bg {
  background-image: url(/Images/PuzzleBig1.svg);
  padding-top: 84.9%;
}
.puzzles-puzzle-1 .puzzles-puzzle-bg-number {
  color: #cc2d98;
  top: 18%;
  left: 39%;
}
.puzzles-puzzle-1 .puzzles-puzzle-center {
  top: 48.8%;
  left: 37%;
}
.puzzles-puzzle-1 .puzzles-puzzle-box {
  background: #cc2d98;
}
.puzzles-puzzle-2 .puzzles-puzzle-area {}
.puzzles-puzzle-2 .puzzles-puzzle-bg {
  background-image: url(/Images/PuzzleBig2.svg);
  padding-top: 121%;
}
.puzzles-puzzle-2 .puzzles-puzzle-bg-number {
  color: #008fd3;
  top: 15%;
  left: 50%;
}
.puzzles-puzzle-2 .puzzles-puzzle-center {
  top: 47%;
  left: 50%;
}
.puzzles-puzzle-2 .puzzles-puzzle-box {
  background: #008fd3;
}
.puzzles-puzzle-3 .puzzles-puzzle-area {}
.puzzles-puzzle-3 .puzzles-puzzle-bg {
  background-image: url(/Images/PuzzleBig3.svg);
  padding-top: 84.9%;
}
.puzzles-puzzle-3 .puzzles-puzzle-bg-number {
  color: #782896;
  left: 49.7%;
  top: 15.7%;
}
.puzzles-puzzle-3 .puzzles-puzzle-center {
  top: 47%;
  left: 50%;
}
.puzzles-puzzle-3 .puzzles-puzzle-box {
  background: #782896;
}
.puzzles-puzzle-4 .puzzles-puzzle-area {}
.puzzles-puzzle-4 .puzzles-puzzle-bg {
  background-image: url(/Images/PuzzleBig4.svg);
  padding-top: 96.44%;
}
.puzzles-puzzle-4 .puzzles-puzzle-bg-number {
  color: #0f2e93;
  top: 15.4%;
  left: 39.1%;
}
.puzzles-puzzle-4 .puzzles-puzzle-center {
  top: 47%;
  left: 39%;
}
.puzzles-puzzle-4 .puzzles-puzzle-box {
  background: #0f2e93;
}
.puzzles-puzzle-5 .puzzles-puzzle-area {}
.puzzles-puzzle-5 .puzzles-puzzle-bg {
  background-image: url(/Images/PuzzleBig5.svg);
  padding-top: 107.06%;
}
.puzzles-puzzle-5 .puzzles-puzzle-bg-number {
  color: #2b2e34;
  left: 53.6%;
  top: 18.9%;
}
.puzzles-puzzle-5 .puzzles-puzzle-center {
  top: 50%;
  left: 50%;
}
.puzzles-puzzle-5 .puzzles-puzzle-box {
  background: #2b2e34;
}
.puzzles-close {
  box-sizing: border-box;
  width: 5rem;
  height: 5rem;
  border: 1px solid #000;
  background: transparent;
  border-radius: 50%;
  cursor: pointer;
  transition: .2s background ease-in-out, .4s transform ease-in-out, .4s opacity ease-in-out;
  transform: rotate(0deg);
  position: absolute;
  top: 28%;
  right: 16%;
  opacity: 0;
  display: none;
  z-index: 20;
}
.puzzles-close:hover {
  background: #000;
  transform: rotate(180deg);
}
.puzzles-close:before {
  content: '';
  width: 1.8rem;
  position: absolute;
  transform: translate(-50%, -50%) rotate(45deg);
  height: 1px;
  background: #000;
  top: 50%;
  left: 50%;
  transition: .2s all ease-in-out;
}
.puzzles-close:after {
  content: '';
  width: 1.8rem;
  position: absolute;
  transform: translate(-50%, -50%) rotate(-45deg);
  height: 1px;
  background: #000;
  top: 50%;
  left: 50%;
  transition: .2s all ease-in-out;
}
.puzzles-close:hover:after,
.puzzles-close:hover:before {
  background: #FFF;
}
.puzzles-navigation-block {
  white-space: nowrap;
  font-size: 0;
  position: absolute;
  bottom: 26%;
  z-index: 20;
  right: 20%;
  display: none;
  transition: .4s all ease-in-out;
  opacity: 0;
}
.puzzles-navigation-points {
  margin-right: 6rem;
  display: inline-block;
  vertical-align: middle;
}
.puzzles-navigation {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0;
}
.puzzles-navigation > li {
  width: 1.2rem;
  height: 1.2rem;
  box-sizing: border-box;
  border: 1px solid #000;
  border-radius: 50%;
  transition: .2s all ease-in-out;
  margin-right: 2rem;
  display: inline-block;
  vertical-align: middle;
  background: transparent;
}
.puzzles-navigation > li:hover,
.puzzles-navigation > li.active {
  border-color: #CC2D98;
  background: #CC2D98;
}
.puzzles-navigation-arrow {
  white-space: nowrap;
  font-size: 0;
  display: inline-block;
  vertical-align: middle;
}
.puzzles-navigation-left {
  width: 2.5rem;
  height: 2.9rem;
  background: url(/Images/ArrowLeftBlack.svg) no-repeat center / contain;
  cursor: pointer;
  transition: .2s all ease-in-out;
  margin-right: 2rem;
  display: inline-block;
  vertical-align: middle;
}
.puzzles-navigation-right {
  width: 2.5rem;
  height: 2.9rem;
  background: url(/Images/ArrowRightBlack.svg) no-repeat center / contain;
  cursor: pointer;
  transition: .2s all ease-in-out;
  display: inline-block;
  vertical-align: middle;
}
.puzzles-navigation-left:hover {
  background-image: url(/Images/ArrowLeftBlackHover.svg);
}
.puzzles-navigation-right:hover {
  background-image: url(/Images/ArrowRightBlackHover.svg);
}

.clients-block {
  padding: 12rem 0 8rem;
  position: relative;
}
.clients-block:after {
  content: '';
  background: url(/Images/PuzzleEndingWhite.svg) no-repeat top / contain;
  width: 8.1rem;
  height: 10.5rem;
  display: block;
  position: absolute;
  left: 14rem;
  top: calc(100% - 1px);
}
.clients {}
.clients-title-block {
  padding: 0 22rem 6rem;
}
.clients-title {
  font-size: 6rem;
  font-weight: 400;
  margin: 0;
}
.clients-box {
  padding: 0 7rem;
  font-size: 0;
  text-align: justify;
}
.clients-box:after {
  content: '';
  width: 100%;
  display: inline-block;
}
.clients-box:empty {
  position: relative;
  text-align: center;
  padding: 10rem 25%;
}
.clients-box:empty:before {
  content: 'Galeria';
  font-size: 4rem;
  color: #000;
  font-weight: 700;
  font-style: italic;
}
.clients-image-block {
  text-align: center;
  display: inline-block;
  vertical-align: middle;
  padding: 3rem 6rem;
}
.clients-image {
  max-width: 20rem;
  max-height: 8rem;
  vertical-align: middle;
}

.realizations-block {
  background: #882890 url(/Images/LogoBG.png) no-repeat;
  padding: 12rem 7.5rem;
  background-size: 80%;
  background-position: -6rem calc(100% + 52rem);
  position: relative;
}
.realizations-block:after {
  content: '';
  background: url(/Images/PuzzleEndingPurple.svg) no-repeat top / contain;
  width: 8.1rem;
  height: 10.5rem;
  display: block;
  position: absolute;
  right: 14rem;
  top: calc(100% - 1px);
}
.realizations {}
.realizations-header {
  padding: 0 14.5rem 7rem;
}
.realizations-header:after {
  content: '';
  clear: both;
  display: block;
}
.realizations-title {
  margin: 0;
  color: #FFF;
  font-size: 6rem;
  font-weight: 400;
  float: left;
  line-height: 8rem;
}
.realizations-link-block {
  float: right;
  padding: 1rem 0;
}
.realizations-link {
  font-size: 2rem;
  font-weight: 700;
  text-decoration: none;
  color: #FFF;
  display: inline-block;
  background: #CC2D98;
  line-height: 2.2rem;
  padding: 1.9rem 6rem;
  border-radius: 3rem;
  transition: .2s all ease-in-out;
}
.realizations-link:hover {
  background: #000;
}
.realizations-box {}
.realizations-overflow {
  position: relative;
}
.realizations-slides {
  height: 67.6rem;
  position: relative;
  z-index: 1;
}
.realizations-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  transition: .6s opacity ease-in-out;
}
.realizations-slide.active {
  opacity: 1;
  z-index: 2;
}
.realizations-slide-info {
  background: #2B3990;
  width: 40%;
  position: relative;
  height: 100%;
  float: left;
  z-index: 2;
}
.realizations-slide-info:after {
  content: '';
  background: url(/Images/Puzzle.svg) no-repeat left center / contain;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 100%;
  top: 0;
}
.realizations-slide-info-middle {
  position: absolute;
  top: calc(50% - 5rem);
  left: 14.5rem;
  right: 10.5rem;
  transform: translate(0, -50%);
}
.realizations-slide-title {
  margin: 0 0 4rem;
  color: #FFF;
  font-size: 6rem;
  font-weight: 700;
}
.realizations-slide-text {
  margin: 0 0 4rem;
  font-size: 2.6rem;
  line-height: 4.5rem;
  color: #FFF;
}
.realizations-slide-link-block {}
.realizations-slide-link {
  font-size: 2rem;
  font-weight: 700;
  text-decoration: none;
  color: #FFF;
  display: inline-block;
  background: #882890;
  line-height: 2.2rem;
  padding: 1.9rem 6rem;
  border-radius: 3rem;
  transition: .2s all ease-in-out;
}
.realizations-slide-link:hover {
  background: #000;
}
.realizations-slide-image-block {
  width: 60%;
  float: left;
  height: 100%;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.realizations-slide-image {
  width: 100%;
  height: 100%;
  background: none no-repeat center / cover;
  position: absolute;
  top: 0;
  left: 100%;
}
.realizations-slide.after .realizations-slide-image {
  left: -100%;
  transition: .6s left ease-in-out;
}
.realizations-slide.active .realizations-slide-image {
  left: 0;
  transition: .6s left ease-in-out;
}
.realizations-navigation-block {
  white-space: nowrap;
  font-size: 0;
  position: absolute;
  left: 14.5rem;
  bottom: 8rem;
  z-index: 2;
}
.realizations-navigation-points {
  margin-right: 6rem;
  display: inline-block;
  vertical-align: middle;
}
.realizations-navigation {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0;
}
.realizations-navigation > li {
  width: 1.2rem;
  height: 1.2rem;
  box-sizing: border-box;
  border: 1px solid #FFF;
  border-radius: 50%;
  transition: .2s all ease-in-out;
  margin-right: 2rem;
  display: inline-block;
  vertical-align: middle;
  background: transparent;
}
.realizations-navigation > li:last-child {
  margin: 0;
}
.realizations-navigation > li:hover,
.realizations-navigation > li.active {
  background: #FFF;
}
.realizations-navigation-arrow {
  white-space: nowrap;
  font-size: 0;
  display: inline-block;
  vertical-align: middle;
}
.realizations-navigation-left {
  width: 2.5rem;
  height: 2.9rem;
  background: url(/Images/ArrowLeft.svg) no-repeat center / contain;
  cursor: pointer;
  transition: .2s all ease-in-out;
  margin-right: 2rem;
  display: inline-block;
  vertical-align: middle;
}
.realizations-navigation-left:hover {
  background-image: url(/Images/ArrowLeftWhite.svg);
}
.realizations-navigation-right {
  width: 2.5rem;
  height: 2.9rem;
  background: url(/Images/ArrowRight.svg) no-repeat center / contain;
  cursor: pointer;
  transition: .2s all ease-in-out;
  display: inline-block;
  vertical-align: middle;
}
.realizations-navigation-right:hover {
  background-image: url(/Images/ArrowRightWhite.svg);
}
.realizations-mlink-block {
  display: none;
}
.realizations-mlink {}
.realizations-counter {display: none;}
.realizations-counter-number {}
.realizations-counter-separator {}
.realizations-counter-count {}

.contact-block {
  background: #FFFFFF url(/Images/LogoBG.png) no-repeat;
  padding: 12rem 22rem;
  background-size: 80%;
  background-position: -6rem -97.6rem;
}
.contact {}
.contact-title-block {
  margin-bottom: 6rem;
}
.contact-title {
  font-size: 7rem;
  text-align: center;
  margin: 0;
  font-weight: 400;
}
.contact-box {}
.contact-box:after {
  content: '';
  clear: both;
  display: block;
}
.contact-form-block {
  width: 65%;
  float: left;
}
.contact-form {}
.contact-form-box {}
.contact-form-box:after {
  content: '';
  clear: both;
  display: block;
}
.contact-form-col {
  width: 50%;
  float: left;
  box-sizing: border-box;
}
.contact-form-row {
  margin-right: 6rem;
  display: block;
  position: relative;
  margin-bottom: calc(2rem + 1px);
}
.contact-form-row:last-child {
  margin-bottom: 0;
}
.contact-form-input {
  border: none;
  border-bottom: 1px solid #707070;
  background: none;
  padding: 1rem 0;
  width: 100%;
  line-height: 6rem;
  height: 4rem;
  font-size: 2rem;
  font-weight: 400;
}
.contact-form-label {
  font-size: 2rem;
  font-weight: 400;
  line-height: 3rem;
  padding: 1.5rem 0;
  position: absolute;
  left: 0;
  top: 0;
  transition: .2s all ease-in-out;
  cursor: text;
  user-select: none;
  transform: scale(1);
  transform-origin: left;
}
.contact-form-input.no-empty + .contact-form-label,
.contact-form-input:focus + .contact-form-label {
  top: -1.5rem;
  transform: scale(.7);
  padding: 0;
}
.contact-form-textarea-box {}
.contact-form-textarea-label {
  font-size: 2rem;
  font-weight: 400;
  line-height: 3rem;
  padding: 1.5rem 0;
}
.contact-form-textarea {
  border: 1px solid #707070;
  background: none;
  resize: none;
  padding: 1rem 2rem;
  box-sizing: border-box;
  width: 100%;
  height: 16.6rem;
  vertical-align: top;
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.6rem;
}
.contact-form-submit-block {
  padding-left: 50%;
  text-align: center;
  padding-top: 7rem;
}
.contact-form-submit {
  font-size: 2rem;
  font-weight: 700;
  text-decoration: none;
  color: #FFF;
  display: inline-block;
  background: #CC2D98;
  line-height: 2.2rem;
  padding: 1.9rem 6rem;
  border-radius: 3rem;
  transition: .2s all ease-in-out;
  border: none;
  cursor: pointer;
  opacity: 1;
}
.contact-form-submit:hover {
  background: #000;
}
.contact-form-submit:disabled {
  background: #CC2D98 !important;
  opacity: .6;
  cursor: default;
  pointer-events: none;
}
.contact-info {
  float: right;
  max-width: 30%;
}
.contact-single {}
.contact-single-title {
  font-size: 0;
}
.contact-single-icon {
  vertical-align: bottom;
}
.contact-single-name {
  font-size: 2.6rem;
  font-weight: 700;
  vertical-align: bottom;
  display: inline-block;
  line-height: 1.8rem;
  padding-left: 2.4rem;
}
.contact-single-links {
  padding-top: 6rem;
}
.contact-single-link-box {
  padding-left: 5.6rem;
  margin-bottom: 4rem;
  position: relative;
}
.contact-single-link-box:last-child {
  margin: 0;
}
.contact-single-link-box:before {
  content: '';
  width: 4.6rem;
  height: 4.6rem;
  position: absolute;
  left: 0;
  top: -1rem;
  background: url(/Images/PuzzleSmall1.svg) no-repeat center / contain;
  transition: .4s all ease-in-out;
  transform: rotate(0deg);
}
.contact-single-link-box:hover:before {
  transform: rotate(180deg);
}
.contact-single-link-box:nth-child(2n):before {
  background-image: url(/Images/PuzzleSmall2.svg);
}
.contact-single-link-add {
  font-size: 2rem;
  font-weight: 700;
  text-decoration: none;
  color: #000;
  display: inline-block;
  background: transparent;
  line-height: 2.2rem;
  padding: 0.5rem 9rem;
  border-radius: 3rem;
  transition: .2s all ease-in-out;
  cursor: pointer;
  border: 2px solid #000;
}
.contact-single-link-add:hover {
  background: #000;
  color: #FFF;
}
.contact-single-link-label {
  font-size: 2rem;
  font-weight: 700;
  display: block;
  margin-bottom: 1.6rem;
}
.contact-single-link {
  font-size: 2rem;
  font-weight: 400;
  text-decoration: none;
  color: #000;
  transition: .2s all ease-in-out;
}
.contact-single-link:hover {
  color: #882890;
}

.footer-block {
  background: #E9ECF5;
  padding: 0 22rem;
}
.footer {
  padding: 4.7rem 0;
}
.footer:after {
  content: '';
  clear: both;
  display: block;
}
.footer-copyright {
  font-size: 1.4rem;
  float: left;
  line-height: 2rem;
}
.footer-author {
  font-size: 1.4rem;
  float: right;
  line-height: 2rem;
}
.footer-author > a {
  color: #000;
  text-decoration: none;
  font-weight: 700;
}
.footer-author > a:hover {
  text-decoration: underline;
}
.footer-scrollup {
  position: fixed;
  bottom: 2.6rem;
  right: 6.2rem;
  cursor: pointer;
  opacity: 1;
  z-index: 100;
}
.footer-scrollup:before {
  content: '';
  background: url(/Images/ScrollUp.svg) no-repeat center / contain;
  width: 5.5rem;
  height: 7rem;
  display: block;
}

.tmodule-block {
  background: #E9ECF5 url(/Images/LogoBGWhite.png) no-repeat center;
  background-size: 80%;
  padding: 8rem 0;
}
.tmodule {
  width: 95rem;
  margin: 0 auto;
}
.tmodule-title-block {
  margin-bottom: 5rem;
}
.tmodule-title {
  font-size: 6rem;
  font-weight: 400;
  margin: 0;
}
.tmodule-text {
  font-size: 2.6rem;
  line-height: 4.5rem;
}

.gallery-block {
  padding: 12.9rem 0;
  background: #882890;
  position: relative;
}
.gallery-block:before {
  content: '';
  background: url(/Images/PuzzleEndingPurple.svg) no-repeat top / contain;
  width: 8.1rem;
  height: 10.5rem;
  display: block;
  position: absolute;
  right: 10%;
  bottom: calc(100% - 1px);
  transform: rotate(180deg);
}
.gallery-block:after {
  content: '';
  background: url(/Images/PuzzleEndingPurple.svg) no-repeat top / contain;
  width: 8.1rem;
  height: 10.5rem;
  display: block;
  position: absolute;
  left: 4%;
  top: calc(100% - 1px);
}
.gallery {}
.gallery-box {}
.gallery-slides {
  overflow: hidden;
  padding: 0 25%;
  white-space: nowrap;
  font-size: 0;
}
.gallery-slides:empty {
  text-align: center;
  padding: 10rem 25%;
}
.gallery-slides:empty:before {
  content: 'Galeria';
  font-size: 4rem;
  color: #FFF;
  font-weight: 700;
  font-style: italic;
}
.gallery-slide {
  padding: 0 2.5rem;
  display: inline-block;
  width: 100%;
  box-sizing: border-box;
}
.gallery-slide-image {
  width: 100%;
  padding-top: 65.4%;
  background: none no-repeat center / cover;
}
.gallery-navigation-block {
  font-size: 0;
  white-space: nowrap;
  bottom: 5rem;
  left: 50%;
  text-align: center;
  position: absolute;
  transform: translate(-50%, 0);
}
.gallery-navigation-points {
  display: inline-block;
  vertical-align: middle;
  margin-right: 6rem;
}
.gallery-navigation {
  list-style: none;
  margin: 0;
  padding: 0;
}
.gallery-navigation > li {
  width: 1.2rem;
  height: 1.2rem;
  box-sizing: border-box;
  border: 1px solid #FFF;
  border-radius: 50%;
  transition: .2s all ease-in-out;
  margin-right: 2rem;
  vertical-align: middle;
  display: inline-block;
  background: transparent;
}
.gallery-navigation > li:last-child {
  margin: 0;
}
.gallery-navigation > li:hover,
.gallery-navigation > li.active {
  background: #FFF;
}
.gallery-navigation-arrow {
  white-space: nowrap;
  font-size: 0;
  display: inline-block;
  vertical-align: middle;
}
.gallery-navigation-left {
  width: 2.5rem;
  height: 2.9rem;
  background: url(/Images/ArrowLeft.svg) no-repeat center / contain;
  cursor: pointer;
  transition: .2s all ease-in-out;
  margin-right: 2rem;
  display: inline-block;
  vertical-align: middle;
}
.gallery-navigation-left:hover {
  background-image: url(/Images/ArrowLeftWhite.svg);
}
.gallery-navigation-right {
  width: 2.5rem;
  height: 2.9rem;
  background: url(/Images/ArrowRight.svg) no-repeat center / contain;
  cursor: pointer;
  transition: .2s all ease-in-out;
  display: inline-block;
  vertical-align: middle;
}
.gallery-navigation-right:hover {
  background-image: url(/Images/ArrowRightWhite.svg);
}
.gallery-navigation-left {}
.gallery-counter {display: none;}
.gallery-counter-number {}
.gallery-counter-separator {}
.gallery-counter-count {}

.bmodule-block {
  height: calc(80vh - 8.8rem);
  background: #0F2E93 no-repeat center / cover;
}
.bmodule {
  width: 100%;
  height: 100%;
  position: relative;
}
.bmodule-title-block {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 22rem;
  right: 22rem;
}
.bmodule-title {
  margin: 0;
  font-size: 7rem;
  font-weight: 900;
  color: #FFF;
  text-align: center;
}

.hmodule-block {
  padding: 8rem 22rem 9rem;
}
.hmodule {}
.hmodule-title {
  margin: 0;
  font-size: 6rem;
  font-weight: 700;
  text-align: center;
}
.hmodule-subtitle {
  margin: 0;
  font-size: 2.6rem;
  font-weight: 400;
  text-align: center;
}

.page_navigation-block {
  padding: 10rem 22rem;
}
.page_navigation {}
.page_navigation:after {
  content: '';
  clear: both;
  display: block;
}
.page_navigation-prev-block {
  float: left;
}
.page_navigation-prev {
  display: inline-block;
  font-size: 2rem;
  line-height: 2.4rem;
  padding: 1.3rem 3.8rem;
  color: #000;
  text-decoration: none;
  font-weight: 700;
  background: url(/Images/ArrowLeftBlack.svg) no-repeat left;
  background-size: 2.5rem;
  transition: .2s all ease-in-out;
}
.page_navigation-prev:hover {
  background-image: url(/Images/ArrowLeftBlackHover.svg);
}
.page_navigation-next-block {
  float: right;
}
.page_navigation-next {
  display: inline-block;
  font-size: 2rem;
  line-height: 2.4rem;
  padding: 1.3rem 3.8rem;
  color: #000;
  text-decoration: none;
  font-weight: 700;
  background: url(/Images/ArrowRightBlack.svg) no-repeat right;
  background-size: 2.5rem;
  transition: .2s all ease-in-out;
}
.page_navigation-next:hover {
  background-image: url(/Images/ArrowRightBlackHover.svg);
}

.realizations_list-block {}
.realizations_list {}
.realizations_list-title-block {
  background: #882890;
  padding: 4rem 22rem;
}
.realizations_list-title {
  margin: 0;
  color: #FFF;
  text-align: center;
  font-size: 6rem;
  font-weight: 400;
  line-height: 8rem;
}
.realizations_list-box {}
.realizations_list-row {
  position: relative;
  z-index: 1;
}
.realizations_list-row:nth-child(4n) {
  background: #C6168D;
  z-index: 2;
}
.realizations_list-row:nth-child(4n):before {
  content: '';
  background: url(/Images/PuzzleEnding2.svg) no-repeat top / contain;
  width: 8.1rem;
  height: 10.5rem;
  display: block;
  position: absolute;
  left: 14rem;
  bottom: calc(100% - 1px);
  transform: rotate(180deg);
}
.realizations_list-row:nth-child(4n):after {
  content: '';
  background: url(/Images/PuzzleEnding2.svg) no-repeat top / contain;
  width: 8.1rem;
  height: 10.5rem;
  display: block;
  position: absolute;
  right: 22%;
  top: calc(100% - 1px);
}
.realizations_list-row:nth-child(4n + 1) {
  background: #882890;
}
.realizations_list-row:nth-child(4n + 2) {
  z-index: 2;
  background: #0089CF;
}
.realizations_list-row:nth-child(4n + 2):before {
  content: '';
  background: url(/Images/PuzzleEnding1.svg) no-repeat top / contain;
  width: 8.1rem;
  height: 10.5rem;
  display: block;
  position: absolute;
  left: 14rem;
  bottom: calc(100% - 1px);
  transform: rotate(180deg);
}
.realizations_list-row:nth-child(4n + 2):after {
  content: '';
  background: url(/Images/PuzzleEnding1.svg) no-repeat top / contain;
  width: 8.1rem;
  height: 10.5rem;
  display: block;
  position: absolute;
  right: 22%;
  top: calc(100% - 1px);
}
.realizations_list-row:nth-child(4n + 3) {
  background: #0F2E93;
}
.realizations_list-row-header {
  padding: 8.1rem 7.5rem;
}
.realizations_list-row-header:after {
  content: '';
  clear: both;
  display: block;
}
.realizations_list-row-title-block {
  float: left;
}
.realizations_list-row-title {
  margin: 0;
  font-size: 5rem;
  font-weight: 700;
  color: #FFF;
  line-height: 5.7rem;
}
.realizations_list-row-navigation-block {
  white-space: nowrap;
  font-size: 0;
  padding: 1.4rem 0;
  float: right;
}
.realizations_list-row-navigation-points {
  margin-right: 6rem;
  display: inline-block;
  vertical-align: middle;
}
.realizations_list-row-navigation {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0;
}
.realizations_list-row-navigation > li {
  width: 1.2rem;
  height: 1.2rem;
  box-sizing: border-box;
  border: 1px solid #FFF;
  border-radius: 50%;
  transition: .2s all ease-in-out;
  margin-right: 2rem;
  display: inline-block;
  vertical-align: middle;
  background: transparent;
}
.realizations_list-row-navigation > li:hover,
.realizations_list-row-navigation > li.active {
  background: #FFF;
}
.realizations_list-row-navigation > li:last-child {
  margin: 0;
}
.realizations_list-row-navigation-arrow {
  white-space: nowrap;
  font-size: 0;
  display: inline-block;
  vertical-align: middle;
}
.realizations_list-row-navigation-left {
  width: 2.5rem;
  height: 2.9rem;
  background: url(/Images/ArrowLeft.svg) no-repeat center / contain;
  cursor: pointer;
  transition: .2s all ease-in-out;
  margin-right: 2rem;
  display: inline-block;
  vertical-align: middle;
}
.realizations_list-row-navigation-left:hover {
  background-image: url(/Images/ArrowLeftWhite.svg);
}
.realizations_list-row-navigation-right {
  width: 2.5rem;
  height: 2.9rem;
  background: url(/Images/ArrowRight.svg) no-repeat center / contain;
  cursor: pointer;
  transition: .2s all ease-in-out;
  display: inline-block;
  vertical-align: middle;
}
.realizations_list-row-navigation-right:hover {
  background-image: url(/Images/ArrowRightWhite.svg);
}
.realizations_list-row-gallery {
  overflow: hidden;
  font-size: 0;
  white-space: nowrap;
  margin: 0 5.1rem;
  text-align: center;
}
.realizations_list-row-gallery-bimage {
  width: 33.3333%;
  padding: 0 2.4rem;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: top;
}
.realizations_list-row-gallery-image {
  padding-top: 66.5%;
  background: none no-repeat center / cover;
}
.realizations_list-row-more-block {
  padding: 5.5rem 0;
  text-align: center;
}
.realizations_list-row-more {
  font-size: 2rem;
  font-weight: 700;
  text-decoration: none;
  color: #000;
  display: inline-block;
  background: #FFF;
  line-height: 2.2rem;
  padding: 1.9rem 6rem;
  border-radius: 3rem;
  transition: .2s all ease-in-out;
}
.realizations_list-row-more:hover {
  background: #000;
  color: #FFF;
}
.realizations_list-row-mnavigation-arrow {
  display: none;
}
.realizations_list-row-mnavigation-left {}
.realizations_list-row-mnavigation-right {}
.realizations_list-more-block {
  background: #E9ECF5;
  padding: 9rem 0;
  text-align: center;
}
.realizations_list-more {
  font-size: 2rem;
  font-weight: 700;
  text-decoration: none;
  color: #FFF;
  display: inline-block;
  background: #000;
  line-height: 2.2rem;
  padding: 1.9rem 6rem;
  border-radius: 3rem;
  transition: .2s all ease-in-out;
  border: none;
  cursor: pointer;
  opacity: 1;
  user-select: none;
}
.realizations_list-more:hover {
  background: #FFF;
  color: #000;
}
.realizations_list-more:disabled {
  background: #000;
  color: #FFF;
  cursor: default;
  pointer-events: none;
  opacity: .6;
}

@media screen and (max-width: 1700px) {
  html {
    font-size: 9.5px;
  }
}

@media screen and (max-width: 1450px) {
  html {
    font-size: 8px;
  }
}

@media screen and (max-width: 1100px) {
  html {
    font-size: 7px;
  }
}

@media screen and (max-width: 991px) {
  html {
    font-size: 10px;
  }

  body {
    padding-top: 8.8rem;
  }

  .list-ul {}
  .list-ul > li {
    text-align: left !important;
    font-size: 2rem;
    line-height: 3.5rem;
  }
  .list-ul > li:before {
    top: .8rem;
  }

  .window-block {}
  .window {
    margin: 0;
    padding: 6rem 2rem;
  }
  .window-close {}
  .window-content {}

  .scroll-down {
    display: none;
  }

  .header-block {}
  .header {
    display: none;
  }
  .header-mlogo-block {}
  .header-mlogo {}
  .header-mhamburger-block {}
  .header-mhamburger {}
  .header-box {
    top: 0;
    padding: 0 2rem;
  }
  .header-left {}
  .header-logo-block {}
  .header-logo {}
  .header-right {}
  .header-link-block {}
  .header-link {}
  .header-hamburger-block {
    position: relative;
    z-index: 2;
    margin-left: 2rem;
  }
  .header-hamburger-block:before {
    content: '';
    position: absolute;
    z-index: 2;
    width: 4.4rem;
    height: .4rem;
    background: #000;
    left: 50%;
    transform: translate(-50%, 0);
    top: 1.2rem;
  }
  .header-hamburger-block:after {
    content: '';
    position: absolute;
    z-index: 2;
    width: 4.4rem;
    height: 0.4rem;
    background: #000;
    left: 50%;
    transform: translate(-50%, 0);
    top: 2.2rem;
  }
  .header-hamburger {
    width: 9.6rem;
    padding: 0;
    font-size: 0;
    background: #FFF !important;
  }
  .header-hamburger:before {
    content: '';
    position: absolute;
    z-index: 2;
    width: 4.4rem;
    height: .4rem;
    background: #000;
    left: 50%;
    transform: translate(-50%, 0);
    top: 3.2rem;
  }
  .header-menu-block {}
  .header-menu-box {}
  .header-menu-top {
    padding: 2rem 2rem 4rem;
  }
  .header-menu-logo-block {}
  .header-menu-logo {
    width: 5.9rem;
  }
  .header-menu-close-block {}
  .header-menu-close {}
  .header-menu-body {
    padding: 0 3rem;
  }
  .header-menu {}
  .header-menu > li {}
  .header-menu > li > a {
    color: #000 !important;
    font-size: 2rem;
  }
  .header-menu-footer {
    padding: 3rem;
    text-align: center;
  }
  .header-menu-links {
    white-space: normal;
  }
  .header-menu-link-box {
    display: block;
    margin: 0 0 3rem;
    padding: 0;
  }
  .header-menu-link-box:last-child {
    margin: 0;
  }
  .header-menu-link-box:before {
    position: static;
    display: inline-block;
  }
  .header-menu-link-label {}
  .header-menu-link {}

  .slider-block {
    height: auto;
  }
  .slider {
    height: auto;
  }
  .slider-slides {
    height: auto;
    margin: 0;
  }
  .slider-slide {
    height: auto;
    padding: 4rem 3rem 35%;
    box-sizing: border-box;
  }
  .slider-slide.active {
    position: relative;
  }
  .slider-slide-box {
    position: static;
    transform: none;
    max-width: none;
    min-height: 50vh;
  line-height: 50vh;}
  .slider-slide-box2 {display: inline-block;width: 100%;line-height: normal;vertical-align: bottom;}
  .slider-slide-title {
    font-size: 5rem;
    line-height: 5.6rem;
    margin-bottom: 4rem;
  }
  .slider-slide-link-block {}
  .slider-slide-link {
    padding: 1.9rem 3rem;
  }
  .slider-navigation-block {
    position: relative;
    bottom: auto;
    width: 100%;
  }
  .slider-navigation-bg {
    height: auto;
    position: absolute;
    bottom: calc(100% - 1px);
  }
  .slider-navigation-puzzle {
    height: 100vw;
    right: 0;
    transform: rotate(90deg);
    transform-origin: right top;
  }
  .slider-navigation-box {
    height: 6.6rem;
    position: relative;
    background: #0089CF;
  }
  .slider-navigation-points {
    display: none;
    position: static;
  }
  .slider-navigation {}
  .slider-navigation > li {}
  .slider-navigation > li.active {}
  .slider-navigation-arrow {
    bottom: auto;
    top: 50%;
    transform: translate(-50%, -50%);
  }
  .slider-navigation-left {
    margin-right: 0;
  }
  .slider-navigation-right {}
  .slider-counter {display: inline-block;
    vertical-align: middle;margin: 0 3rem;}
  .slider-counter-number {font-size: 2rem;color: #FFF;display: inline-block;
    vertical-align: middle;}
  .slider-counter-separator {font-size: 2rem;color: #FFF;display: inline-block;
    vertical-align: middle;margin: 0 1rem;}
  .slider-counter-count {font-size: 2rem;color: #FFF;display: inline-block;
    vertical-align: middle;}

  .box-block {
    padding: 6rem 3rem;
    background: none !important;
  }
  .box {}
  .box-info {
    width: auto;
    text-align: center;
    font-size: 5.1rem;
    line-height: 7rem;
  }

  .box2-block {
    padding: 6rem 3rem;
  }
  .box2-block:after {
    right: auto;
    left: 50%;
    transform: translate(-50%, 0);
}
  .box2 {}
  .box2-info {
    margin-bottom: 4rem;
  }
  .box2-title {
    font-size: 4rem;
    line-height: 4.8rem;
    margin-bottom: 3rem;
  }
  .box2-text {
    width: auto;
    font-size: 2rem;
    line-height: 3.5rem;
  }
  .box2-link-block {
    position: static;
    transform: none;
    text-align: center;
  }
  .box2-link {
    padding: 1.9rem 4rem;
  }

  .blinks-block {
    padding: 14rem 3rem 6rem 3rem;
  }
  .blinks-block:after {
  left: 50%;transform: translate(-50%, 0);}
  .blinks {}
  .blinks-info {
    padding-bottom: 2.5rem;
  }
  .blinks-title {
    font-size: 4rem;
    line-height: 4.8rem;
  }
  .blinks-subtitle {
    font-size: 2rem;
    line-height: 3.5rem;
  }
  .blinks-links {
    display: block;
    margin: 0;
  }
  .blinks-col {
    margin-bottom: 2rem;
  }
  .blinks-col:last-child {
    margin: 0;
  }
  .blinks-row {
    font-size: 2rem;
    line-height: 3rem;
  }
  .blinks-link-block {
    position: static;
    transform: none;
    text-align: center;
  }
  .blinks-link {
    padding: 1.9rem 4rem;
  }

  .puzzles-block {
    padding-bottom: 0;
  }
  .puzzles-block:after {
    background-image: url(/Images/PuzzleEndingBlack.svg);
  left: 50%;right: auto;transform: translate(-50%, 0);}
  .puzzles {}
  .puzzles-title-block {
    padding: 3rem;
    margin: 0;
  }
  .puzzles-title {
    font-size: 4rem;
    line-height: 4.8rem;
  }
  .puzzles-subtitle {
    font-size: 2rem;
    line-height: 3.5rem;
  }
  .puzzles-box {
    overflow: visible;
    padding-top: 0;
  }
  .puzzles-puzzle {
    position: static;
    width: auto !important;
  }
  .puzzles-puzzle:last-child {}
  .puzzles-puzzle-1 .puzzles-puzzle-center {
    background: #cc2d98;
  }
  .puzzles-puzzle-2 .puzzles-puzzle-center {
    background: #0089cf;
  }
  .puzzles-puzzle-3 .puzzles-puzzle-center {
    background: #782896;
  }
  .puzzles-puzzle-4 .puzzles-puzzle-center {
    background: #0f2e93;
  }
  .puzzles-puzzle-5 .puzzles-puzzle-center {
    background: #2b2e34;
    padding-bottom: 2rem;
  }
  .puzzles-puzzle-area {
    display: none;
  }
  .puzzles-puzzle-bg {
    background: none !important;
    padding: 0 !important;
    padding-top: 32% !important;
    background: #CC2D98 url(/Images/RealizationPuzzle2.svg) no-repeat bottom / contain !important;
  }
  .puzzles-puzzle-1 .puzzles-puzzle-bg {
    background-image: url(/Images/RealizationPuzzle7.svg) !important;
    background-color: #e9ecf5 !important;
  }
  .puzzles-puzzle-2 .puzzles-puzzle-bg {}
  .puzzles-puzzle-3 .puzzles-puzzle-bg {
    background-image: url(/Images/RealizationPuzzle5.svg) !important;
    background-color: #0089cf !important;
  }
  .puzzles-puzzle-4 .puzzles-puzzle-bg {
    background-image: url(/Images/RealizationPuzzle3.svg) !important;
    background-color: #782896 !important;
  }
  .puzzles-puzzle-5 .puzzles-puzzle-bg {
    background-image: url(/Images/RealizationPuzzle6.svg) !important;
    background-color: #0f2e93 !important;
  }
  .puzzles-puzzle-bg-number {
    color: #FFF !important;
    left: 51% !important;
    top: 40% !important;
  }
  .puzzles-puzzle-bg-number > span {
    font-size: 5rem;
  }
  .puzzles-puzzle-center {
    position: static;
    width: auto;
    height: auto;
  }
  .puzzles-puzzle-title {
    display: none;
  }
  .puzzles-puzzle-box-overflow {
    position: static;
    width: auto;
    height: auto;
    transform: none;
    padding: 4rem 3rem;
  display: block;}
  .puzzles-puzzle-1 + .puzzles-puzzle-box-overflow {background: #CC2D98;}
  .puzzles-puzzle-2 + .puzzles-puzzle-box-overflow {background: #0089cf;}
  .puzzles-puzzle-3 + .puzzles-puzzle-box-overflow {background: #782896;}
  .puzzles-puzzle-4 + .puzzles-puzzle-box-overflow {background: #0f2e93;}
  .puzzles-puzzle-5 + .puzzles-puzzle-box-overflow {background: #2b2e34;}
  .puzzles-puzzle-box {
    position: static;
    transform: none;
  opacity: 1;}
  .puzzles-puzzle-2 .puzzles-puzzle-box {
    background: #0089cf;
  }
  .puzzles-puzzle-box-close {
    display: none;
  }
  .puzzles-puzzle-box-center {
    transform: none;
    position: static;
  }
  .puzzles-puzzle-box-title {}
  .puzzles-puzzle-box-text {color: #FFF;}
  .puzzles-close {}
  .puzzles-navigation-block {}
  .puzzles-navigation-points {}
  .puzzles-navigation {}
  .puzzles-navigation > li {}
  .puzzles-navigation > li:hover,
  .puzzles-navigation > li.active {}
  .puzzles-navigation-arrow {}
  .puzzles-navigation-left {}
  .puzzles-navigation-right {}

  .clients-block {
    padding: 13rem 0 6rem;
  }
  .clients-block:after {
    left: 50%;
    transform: translate(-50%, 0);
  }
  .clients {}
  .clients-title-block {
    padding: 0 3rem 5rem;
  }
  .clients-title {
    font-size: 4rem;
    line-height: 4.8rem;
  }
  .clients-box {
    padding: 0;
  }
  .clients-image-block {
    padding: 1.5rem 2rem;
    max-width: 30%;
    box-sizing: border-box;
  }
  .clients-image {
    max-width: 100%;
  }

  .realizations-block {
    padding: 13rem 0 0;
  }
  .realizations-block:after {
    right: auto;
    left: 50%;
    transform: translate(-50%, 0);
}
  .realizations {}
  .realizations-header {
    padding: 0 3rem 4rem;
  }
  .realizations-title {
    float: none;
    font-size: 4rem;
    line-height: 4.8rem;
  }
  .realizations-link-block {
    display: none;
  }
  .realizations-link {}
  .realizations-box {}
  .realizations-overflow {}
  .realizations-slides {
    height: auto;
  }
  .realizations-navigation-block {
    left: 50%;
    transform: translate(-50%, 0);
    bottom: 17rem;
  }
  .realizations-slide {
    padding-bottom: 25rem;
    background: #2B3990;
    height: auto;
  }
  .realizations-slide.active {
    position: relative;
  }
  .realizations-slide-info {
    height: auto;
    width: auto;
    float: none;
    position: static;
  }
  .realizations-slide-info:after {
    display: none;
  }
  .realizations-slide-info-middle {
    position: static;
    transform: none;
    padding: 3.5rem 3rem;
  }
  .realizations-slide-title {
    font-size: 4rem;
    line-height: 4.8rem;
    margin-bottom: 2rem;
  }
  .realizations-slide-text {
    font-size: 2rem;
    line-height: 3.5rem;
    margin: 0;
  }
  .realizations-slide-link-block {
    position: absolute;
    left: 0;
    width: 100%;
    text-align: center;
    bottom: 6.2rem;
  }
  .realizations-slide-link {}
  .realizations-slide-image-block {
    width: 100%;
    float: none;
    height: auto;
  }
  .realizations-slide-image {
    position: static;
    padding-top: 56.25%;
    transition: none !important;
  }
  .realizations-navigation {}
  .realizations-navigation-points {
    display: none;
  }
  .realizations-navigation-points > li {}
  .realizations-navigation-points > li.active {}
  .realizations-navigation-arrow {}
  .realizations-navigation-left {
    margin-right: 0;
  }
  .realizations-navigation-right {}
  .realizations-counter {display: inline-block;vertical-align: middle;margin: 0 3rem;}
  .realizations-counter-number {font-size: 2rem;color: #FFF;display: inline-block;vertical-align: middle;}
  .realizations-counter-separator {font-size: 2rem;
    color: #FFF;
    display: inline-block;
    vertical-align: middle;margin: 0 1rem;}
  .realizations-counter-count {font-size: 2rem;
    color: #FFF;
    display: inline-block;
    vertical-align: middle;}

  .contact-block {
    padding: 13rem 3rem 6rem;
  }
  .contact {}
  .contact-title-block {
    margin-bottom: 3rem;
  }
  .contact-title {
    font-size: 4rem;
    line-height: 4.8rem;
  }
  .contact-box {}
  .contact-form-block {
    width: auto;
    float: none;
  }
  .contact-form {}
  .contact-form-box {}
  .contact-form-col {
    float: none;
    width: auto;
  }
  .contact-form-row {
    margin-right: 0;
  }
  .contact-form-input {}
  .contact-form-label {}
  .contact-form-textarea-box {
    padding-top: 2rem;
  }
  .contact-form-textarea-label {}
  .contact-form-textarea {}
  .contact-form-submit-block {
    padding: 4rem 0;
  }
  .contact-form-submit {}
  .contact-info {
    float: none;
    max-width: none;
  }
  .contact-single {}
  .contact-single-title {
    text-align: center;
  }
  .contact-single-icon {
    width: 8rem;
  }
  .contact-single-name {
    display: block;
    line-height: normal;
    padding: 4rem 0 0;
  }
  .contact-single-links {}
  .contact-single-link-box {
    padding: 0;
    margin: 0 0 3rem;
    text-align: center;
  }
  .contact-single-link-box:last-child {
    margin: 0;
  }
  .contact-single-link-box:before {
    position: static;
    display: inline-block;
  }
  .contact-single-link-label {}
  .contact-single-link {}

  .footer-block {
    padding: 0 3rem;
  }
  .footer {
    text-align: center;
  }
  .footer-copyright {
    float: none;
    text-align: center;
  }
  .footer-author {
    float: none;
    text-align: center;
    margin: 3rem 0;
  }
  .footer-scrollup {
    opacity: 1 !important;
    position: static;
    display: inline-block;
  }

  .bmodule-block {
    height: auto;
    /* padding-top: 56.25%; */
  height: 80vh;}
  .bmodule {}
  .bmodule-title-block {
    display: none;
  }
  .bmodule-title {}

  .hmodule-block {
    padding: 3rem;
  }
  .hmodule {}
  .hmodule-title {
    font-size: 4rem;
    line-height: 4.8rem;
    margin-bottom: 3rem;
  }
  .hmodule-subtitle {
    font-size: 2rem;
    line-height: 3.5rem;
  }

  .page_navigation-block {
    padding: 3rem;
  }
  .page_navigation {}
  .page_navigation-prev-block {
    float: none;
    text-align: center;
    margin-bottom: 3rem;
  }
  .page_navigation-prev {}
  .page_navigation-next-block {
    float: none;
    text-align: center;
  }
  .page_navigation-next {}

  .realizations_list-block {}
  .realizations_list {}
  .realizations_list-title-block {
    padding: 4rem 3rem;
  }
  .realizations_list-title {
    text-align: left;
    font-size: 4rem;
    line-height: 4.8rem;
  }
  .realizations_list-box {}
  .realizations_list-row {
    padding-bottom: 28%;
    z-index: 1 !important;
  }
  .realizations_list-row:last-child {
    padding: 0;
  }
  .realizations_list-row:nth-child(4n):after {
    display: none;
  }
  .realizations_list-row:nth-child(4n + 2):after {
    display: none;
  }
  .realizations_list-row:nth-child(4n):before {
    content: '';
    width: 100%;
    left: 0;
    transform: none;
    height: auto;
    padding-top: 32%;
    background: url(/Images/RealizationPuzzle4.svg) no-repeat bottom / contain;
    bottom: calc(100% - 1px);
    display: block;
    position: absolute;
  }
  .realizations_list-row:nth-child(4n + 1):before {
    content: '';
    width: 100%;
    left: 0;
    transform: none;
    height: auto;
    padding-top: 32%;
    background: url(/Images/RealizationPuzzle1.svg) no-repeat bottom / contain;
    bottom: calc(100% - 1px);
    display: block;
    position: absolute;
  }
  .realizations_list-row:nth-child(4n + 2):before {
    content: '';
    width: 100%;
    left: 0;
    transform: none;
    height: auto;
    padding-top: 32%;
    background: url(/Images/RealizationPuzzle2.svg) no-repeat bottom / contain;
    bottom: calc(100% - 1px);
    display: block;
    position: absolute;
  }
  .realizations_list-row:nth-child(4n + 3):before {
    content: '';
    width: 100%;
    left: 0;
    transform: none;
    height: auto;
    padding-top: 32%;
    background: url(/Images/RealizationPuzzle3.svg) no-repeat bottom / contain;
    bottom: calc(100% - 1px);
    display: block;
    position: absolute;
  }
  .realizations_list-row:first-child:before {
    display: none;
  }
  .realizations_list-row:last-child:after {
    padding: 0;
    width: 100%;
    left: 0;
    transform: rotate(180deg);
    height: auto;
    padding-top: 32%;
    background: none no-repeat bottom / contain;
    bottom: calc(100% - 1px);
    display: block;
    position: absolute;
  }
  .realizations_list-row:nth-child(4n):after {
    background-image: url(/Images/RealizationPuzzle4.svg);
  }
  .realizations_list-row:nth-child(4n + 1):after {
    background-image: url(/Images/RealizationPuzzle1.svg);
  }
  .realizations_list-row:nth-child(4n + 2):after {
    background-image: url(/Images/RealizationPuzzle2.svg);
  }
  .realizations_list-row:nth-child(4n + 3):after {
    background-image: url(/Images/RealizationPuzzle3.svg);
  }
  .realizations_list-row-header {
    padding: 3rem;
  }
  .realizations_list-row-title-block {}
  .realizations_list-row-title {
    font-size: 4rem;
    line-height: 4.8rem;
  }
  .realizations_list-row-navigation-block {
    display: none;
  }
  .realizations_list-row-navigation-points {}
  .realizations_list-row-navigation {}
  .realizations_list-row-navigation > li {}
  .realizations_list-row-navigation > li:hover,
  .realizations_list-row-navigation > li.active {}
  .realizations_list-row-navigation-arrow {}
  .realizations_list-row-navigation-left {}
  .realizations_list-row-navigation-right {}
  .realizations_list-row-gallery {
    margin: 0;
  }
  .realizations_list-row-gallery-bimage {
    padding: 0;
    width: 100%;
  }
  .realizations_list-row-gallery-image {}
  .realizations_list-row-more-block {
    padding: 3.5rem 0 4rem;
  }
  .realizations_list-row-more {}
  .realizations_list-row-mnavigation-arrow {
    display: block;
    text-align: center;
    font-size: 0;
    white-space: nowrap;
    padding-top: 4rem;
  }
  .realizations_list-row-mnavigation-left {
    width: 2.5rem;
    height: 2.9rem;
    background: url(/Images/ArrowLeft.svg) no-repeat center / contain;
    cursor: pointer;
    transition: .2s all ease-in-out;
    margin-right: 12rem;
    display: inline-block;
    vertical-align: middle;
  }
  .realizations_list-row-mnavigation-right {
    width: 2.5rem;
    height: 2.9rem;
    background: url(/Images/ArrowRight.svg) no-repeat center / contain;
    cursor: pointer;
    transition: .2s all ease-in-out;
    display: inline-block;
    vertical-align: middle;
  }
  .realizations_list-more-block {
    padding: 16rem 0 6rem;
  }
  .realizations_list-more {}
  .realizations-mlink-block {
    display: block;
    padding: 5rem 0;
    text-align: center;
  }
  .realizations-mlink {
    font-size: 2rem;
    font-weight: 700;
    text-decoration: none;
    color: #FFF;
    display: inline-block;
    background: #C6168D;
    line-height: 2.2rem;
    padding: 1.9rem 3rem;
    border-radius: 3rem;
    transition: .2s all ease-in-out;
  }

  .tmodule-block {
    padding: 3rem 3rem 14rem;
  }
  .tmodule {
    margin: 0;
    width: auto;
  }
  .tmodule-title-block {
    margin-bottom: 3rem;
  }
  .tmodule-title {
    font-size: 4rem;
    line-height: 4.8rem;
  }
  .tmodule-text {
    font-size: 2rem;
    line-height: 3.5rem;
  }

  .gallery-block {
    padding-top: 4rem;
  }
  .gallery-block:before {
    right: auto;
    left: 50%;
    transform: translate(-50%, 0) rotate(180deg);
  }
  .gallery-block:after {
    display: none;
  }
  .gallery {}
  .gallery-box {}
  .gallery-slides {
    padding: 0;
  }
  .gallery-slide {
    padding: 0;
  }
  .gallery-slide-image {}
  .gallery-navigation-block {}
  .gallery-navigation-points {
    display: none;
  }
  .gallery-navigation {}
  .gallery-navigation-arrow {}
  .gallery-navigation-left {
    margin-right: 0;
  }
  .gallery-navigation-right {}
  .gallery-counter {display: inline-block;vertical-align: middle;margin: 0 3rem;}
  .gallery-counter-number {font-size: 2rem;color: #FFF;display: inline-block;vertical-align: middle;}
  .gallery-counter-separator {font-size: 2rem;
    color: #FFF;
    display: inline-block;
    vertical-align: middle;margin: 0 1rem;}
  .gallery-counter-count {font-size: 2rem;
    color: #FFF;
    display: inline-block;
    vertical-align: middle;}
}