html, body {
  font-family: proxima-nova, sans-serif;
  overflow-x: hidden;
}

#top {
  color: #ffffff;
  text-align: center;
  background: #4d2794 url('../images/top-bg.png') center -200px no-repeat scroll;
  padding-bottom: 100px;
}

#top h1 {
  padding-top: 198px;
}

#top h1 img {
  width: 634px;
  max-width: 100%;
}

p.header-description {
  font-size: 29px;
  font-weight: 800;
  letter-spacing: .02em;
  margin-top: 40px;
  margin-bottom: 375px;
}

.top-images img {
  margin: 8px;
}

.top-images .top-image-1 {
  width: 67%;
  margin-top: 70px;
}

.top-image-2 {
  width: 100%;
}

.top-image-3 {
  width: 90%;
}

.top-image-4 {
  width: 100%;
}

.top-text h2 {
  color: #00ff19;
  text-transform: uppercase;
  font-size: 32px;
  font-weight: 800;
  padding: 40px 0 20px;
}

.top-text p {
  font-size: 20px;
  letter-spacing: .02em;
  margin-bottom: 40px;
  line-height: 34px;
}

.top-text a, .top-text a:active, .top-text a:focus, .top-text a:hover {
  color: #00ff19;
  font-weight: 900;
  font-size: 24px;
  letter-spacing: .02em;
}

#info {
  background: #e9e9e9 linear-gradient(to bottom, #ffffff, #e9e9e9);
}

#info .container {
  position: relative;
  overflow: visible;
}

#info .container::before {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  width: 50%;
  height: 110%;
  background: transparent url('../images/photo-inov.png') right bottom no-repeat scroll;
  background-size: contain;
  display: none;
}

#info .container::after {
  content: '';
  height: 440px;
  width: 100%;
  display: block;
  background: transparent url(../images/photo-inov.png) right bottom no-repeat scroll;
  background-size: contain;
}

#info p {
  position: relative;
  font-size: 20px;
  letter-spacing: .02em;
  line-height: 46px;
  padding: 80px 0 20px;
  margin: 0;
}

h2 {
  font-size: 30px;
  font-weight: 800;
}

h2 .highlight {
  color: #4d2794;
}

.c-item {
  border-bottom: #4f4f4f 1px solid;
  padding: 30px 0;
  text-align: center;
}

.c-item:last-child {
  border: none;
}

.c-item-number {
  color: #00ff19;
  font-size: 140px;
  font-weight: 900;
  line-height: 140px;
}

.c-item-desc {
  display: block;
  width: 100%;
  margin: 0;
  font-size: 20px;
  color: #5b5b5f;
  line-height: 42px;
}

.c-item-desc .desc-strong {
  color: #5b5b5f;
  font-size: 22px;
  font-weight: 900;
}

#solutions-search {
  color: #ffffff;
  font-size: 28px;
  font-weight: 900;
  text-align: center;
  background: #4d2794 url('../images/bg-solution-search.jpg') center top no-repeat scroll;
  background-size: cover;
  padding: 70px 0;
  letter-spacing: .02em;
  line-height: 46px;
}

#solutions-search span {
  color: #00ff19;
}

#betai {
  position: relative;
  padding: 80px 0;
}

#betai::before {
  content: '';
  position: absolute;
  top: 130px;
  bottom: 130px;
  left: 0;
  width: 48%;
  background: transparent url('../images/photo-betai.jpg') center center no-repeat scroll;
  background-size: cover;
  display: none;
}

#betai h2 {
  padding-bottom: 40px;
}

#betai p {
  color: #5b5b5f;
  font-size: 20px;
  letter-spacing: .02em;
  line-height: 40px;
  margin-bottom: 40px;
}

#betai p.betai-highlight {
  color: #4d2794;
  font-weight: 900;
  margin-bottom: 0;
}

#contact {
  background: #4d2794 url('../images/bg-bottom.png') center bottom no-repeat scroll;
  color: #ffffff;
}

#contact h2 {
  text-align: center;
  letter-spacing: .02em;
  font-size: 28px;
  font-weight: 800;
  line-height: 48px;
  margin-bottom: 40px;
}

#contact h2 span {
  color: #00ff19;
}

#contact label {
  font-size: 24px;
  color: #00ff19;
  font-weight: 800;
}

#contact input, #contact textarea {
  background: #6c37be;
  font-size: 24px;
  color: #ffffff;
  font-weight: 800;
  border: none;
  border-radius: 0;
  margin-bottom: 0px;
  resize: none;
}

#contact button {
  color: #4d2794;
  background: #00ff19;
  text-transform: uppercase;
  font-size: 24px;
  font-weight: 800;
  border: none;
  border-radius: 0;
  padding: 4px 70px;
  width: 100%;
  margin-top: 10px;
}

footer {
  background: #321675 url('../images/bg-bottom-dark.png') center bottom no-repeat scroll;
  color: #ffffff;
  position: relative;
  padding: 70px 0;
}

.footer-logo {
  width: 250px;
}

footer .social-link {
  margin-right: 14px;
}

footer .social-link img {
  width: 44px;
}

#form-loading, #form-success, #form-error {
  display: none;
}

.form-title {
  color: #ffffff;
}

.showErrors .form-control:invalid {
  /* border: red 1px solid !important;
  color: red !important; */
  background: #ff7777 !important;
}

.showErrors .form-control:invalid:focus {
  /* box-shadow: 0 0 0 0.2rem rgba(255, 0, 0,.25) !important; */
}

#main-menu {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  color: rgba(255, 255, 255, .9);
  background: rgb(77, 39, 148, .8);
  transition: all 300ms ease-in-out;
  overflow: hidden;
  z-index: 99;
}

#main-menu.open {
  width: 100%;
  height: 100%;
}

#main-menu .menu-toggle {
  display: block;
  position: relative;
  padding: 0;
  width: 60px;
  height: 60px;
  background: transparent;
  border: none;
  transition: all 200ms ease-in-out;
  margin-left: auto;
}

#main-menu .menu-toggle:hover {
  background: rgba(255, 255, 255, .1);
}

#main-menu .menu-toggle:focus {
  outline: none;
}

#main-menu .menu-toggle i {
  display: block;
  position: absolute;
  background: rgba(255, 255, 255, .8);
  width: 50%;
  height: 2px;
  left: 25%;
}

#main-menu .menu-toggle i:nth-child(1) {
  top: 30%;
  transform: rotateZ(0deg);
  transition: top 300ms ease-in-out 300ms, transform 300ms ease-in-out;
}

#main-menu .menu-toggle i:nth-child(2) {
  top: 48%;
  opacity: 1;
  transition: opacity 0ms ease-in-out 300ms;
}

#main-menu .menu-toggle i:nth-child(3) {
  top: 66%;
  transform: rotateZ(0);
  transition: top 300ms ease-in-out 300ms, transform 300ms ease-in-out;
}

#main-menu.open .menu-toggle i:nth-child(1) {
  top: 48%;
  transform: rotateZ(45deg);
  transition: top 300ms ease-in-out, transform 300ms ease-in-out 300ms;
}

#main-menu.open .menu-toggle i:nth-child(2) {
  opacity: 0;
}

#main-menu.open .menu-toggle i:nth-child(3) {
  top: 48%;
  transform: rotateZ(-45deg);
  transition: top 300ms ease-in-out, transform 300ms ease-in-out 300ms;
}

#main-menu ul {
  list-style: none;
}

#main-menu ul a, #main-menu ul a:active, #main-menu ul a:visited {
  font-size: 24px;
  font-weight: 800;
  transition: all 300ms ease-in-out;
  color: #ffffff;
  text-transform: uppercase;
  display: inline-block;
  padding: 2px;
  margin: 8px 60px 8px 8px;
  letter-spacing: .02em;
  position: relative;
  opacity: 0;
  transform: translateX(60px);
}

#main-menu.open ul a, #main-menu.open ul a:active, #main-menu.open ul a:visited, #main-menu.open ul a:hover {
  opacity: 1;
  transform: translateX(0);
  transition: all 300ms ease-in-out 300ms;
}

#main-menu ul a:hover {
  text-decoration: none;
}

#main-menu ul a::before {
  content: '';
  opacity: 0;
  transition: all 300ms ease-in-out;
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  top: 0;
  border-bottom: #00ff19 4px solid;
  transform: translateX(100%);
}

#main-menu ul a:hover::before {
  opacity: 1;
  transform: translateX(0);
}

@media (min-width: 576px) {
  #contact button {
    width: auto;
  }
}

@media (min-width: 768px) {
  #main-menu.open {
    width: 400px;
  }
  
  footer {
    padding: 110px 0;
  }

  footer .social-link {
    margin-left: 14px;
  }
}

@media (min-width: 992px) {
  #top {
    background-position: center top;
  }

  p.header-description {
    margin-bottom: 700px;
  }

  .top-text h2 {
    font-size: 50px;
  }

  .top-text p {
    font-size: 24px;
  }

  #info p {
    font-size: 24px;
    line-height: 56px;
    padding: 140px 0;
  }

  #info .container::before {
    display: block;
  }

  #info .container::after {
    display: none;
  }

  h2 {
    font-size: 46px;
  }

  .c-item {
    text-align: left;
  }

  .c-item-number {
    font-size: 228px;
    line-height: 180px;
  }

  .c-item-desc {
    font-size: 24px;
    line-height: 48px;
  }

  .c-item-desc .desc-strong {
    font-size: 30px;
  }

  #solutions-search {
    font-size: 43px;
    padding: 180px 0 160px;
    line-height: 60px;
  }

  #betai {
    padding: 130px 0;
  }

  #betai::before {
    display: block;
  }

  #betai p {
    font-size: 24px;
  }

  #contact h2 {
    font-size: 39px;
    line-height: 48px;
    margin-bottom: 80px;
  }

  #contact label {
    font-size: 36px;
  }

  #contact input, #contact textarea {
    font-size: 36px;
    margin-bottom: 20px;
  }

  #contact button {
    margin-top: 0;
    font-size: 29px;
  }
}

@media (min-width: 1200px) {
  #info .container::before {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 110%;
    background: transparent url('../images/photo-inov.png') right bottom no-repeat scroll;
    background-size: contain;
  }
}

@media (min-width: 1367px) {
  
}

.sk-folding-cube {
  margin: 20px auto;
  width: 50px;
  height: 50px;
  position: relative;
  -webkit-transform: rotateZ(45deg);
          transform: rotateZ(45deg);
}
.sk-folding-cube .sk-cube {
  float: left;
  width: 50%;
  height: 50%;
  position: relative;
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1); 
}
.sk-folding-cube .sk-cube:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  -webkit-animation: sk-foldCubeAngle 2.4s infinite linear both;
          animation: sk-foldCubeAngle 2.4s infinite linear both;
  -webkit-transform-origin: 100% 100%;
      -ms-transform-origin: 100% 100%;
          transform-origin: 100% 100%;
}
.sk-folding-cube .sk-cube2 {
  -webkit-transform: scale(1.1) rotateZ(90deg);
          transform: scale(1.1) rotateZ(90deg);
}
.sk-folding-cube .sk-cube3 {
  -webkit-transform: scale(1.1) rotateZ(180deg);
          transform: scale(1.1) rotateZ(180deg);
}
.sk-folding-cube .sk-cube4 {
  -webkit-transform: scale(1.1) rotateZ(270deg);
          transform: scale(1.1) rotateZ(270deg);
}
.sk-folding-cube .sk-cube2:before {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.sk-folding-cube .sk-cube3:before {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s; 
}
.sk-folding-cube .sk-cube4:before {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
@-webkit-keyframes sk-foldCubeAngle {
  0%, 10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
            transform: perspective(140px) rotateX(-180deg);
    opacity: 0; 
  } 25%, 75% {
    -webkit-transform: perspective(140px) rotateX(0deg);
            transform: perspective(140px) rotateX(0deg);
    opacity: 1; 
  } 90%, 100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
            transform: perspective(140px) rotateY(180deg);
    opacity: 0; 
  } 
}
@keyframes sk-foldCubeAngle {
  0%, 10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
            transform: perspective(140px) rotateX(-180deg);
    opacity: 0; 
  } 25%, 75% {
    -webkit-transform: perspective(140px) rotateX(0deg);
            transform: perspective(140px) rotateX(0deg);
    opacity: 1; 
  } 90%, 100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
            transform: perspective(140px) rotateY(180deg);
    opacity: 0; 
  }
}

#cookies {
  position: fixed;
  left: 30px;
  right: 30px;
  bottom: 70px;
  background: rgba(255, 255, 255, .66);
  border: #7a7a7a 1px solid;
  border-radius: 20px;
  font-family: 'proxima-nova', sans-serif;
  font-style: normal;
  font-weight: 600;
  padding: 20px;
  z-index: 99;
  transition: all 300ms ease-in-out;
  opacity: 0;
  transform: translateY(100%);
}

#cookies.show {
  opacity: 1;
  transform: translateY(0);
}

#cookies p {
  margin-top: 0;
  color: #890977;
  font-size: 14px;
  letter-spacing: 0.04em;
}

#cookies a {
  color: #890977;
}

#cookies button {
  border: none;
  outline: none;
  color: #ffffff;
  border-radius: 60px;
  font-size: 13px;
  background-color: #890977;
  background-image: linear-gradient(to right, #bf2b87, #612785);
  text-transform: uppercase;
  float: right;
  letter-spacing: 0.04em;
  padding: 8px 40px;
  transition: background 300ms ease-in-out;
}

@media (min-width: 576px) {
  #cookies {
    max-width: 570px;
  }

  #cookies p {
    font-size: 16px;
  }
}

@media (min-width: 768px) {

}

@media (min-width: 992px) {
  #cookies button {
    font-size: 16px;
    padding: 10px 40px;
  }
}

@media (min-width: 1200px) {
  
}

@media (min-width: 1400px) {
  #cookies {
    bottom: 80px;
  }
  
  #cookies p {
    font-size: 18px;
  }
}