@font-face {
  font-family: 'Avenir Next Cyr Medium';
  src: url('../fonts/AvenirNextCyr-Medium.eot');
  src: url('../fonts/AvenirNextCyr-Mediumd41d.eot?#iefix') format('embedded-opentype'),
  url('../fonts/AvenirNextCyr-Medium.woff2') format('woff2'),
  url('../fonts/AvenirNextCyr-Medium.woff') format('woff'),
  url('../fonts/AvenirNextCyr-Medium.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Avenir Next Cyr Demi';
  src: url('../fonts/AvenirNextCyr-Demi.eot');
  src: url('../fonts/AvenirNextCyr-Demid41d.eot?#iefix') format('embedded-opentype'),
  url('../fonts/AvenirNextCyr-Demi.woff2') format('woff2'),
  url('../fonts/AvenirNextCyr-Demi.woff') format('woff'),
  url('../fonts/AvenirNextCyr-Demi.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

body {
  font-family: 'Avenir Next Cyr Medium', sans-serif;
  color: white;
}



.layer {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: center center / cover no-repeat;
}

@keyframes gradient {
  0% {
    background-position: 0 0;
  }
  25% {
    background-position: 0 100%;
  }
  50% {
    background-position: 100% 100%;
  }
  75% {
    background-position: 100% 0;
  }
  100% {
    background-position: 0 0;
  }
}

.background {
  background-image: url(../img/house-blur.jpg);
}

.background:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url(../img/gradient.jpg);
  background-size: 200% 200%;
  animation: gradient 10s linear infinite;
  opacity: .5;
}

.circle {
  pointer-events: none;
  background-image: url(../img/house.jpg);
  -webkit-clip-path: circle(87px at 80% 70%);
  clip-path: circle(87px at 80% 70%);
}

@media (max-width: 1000px) {
  .circle {
    -webkit-clip-path: circle(66.5px at 70% 80%);
    clip-path: circle(66.5px at 70% 80%);
  }

  .house-blur {
    background-image: url(../img/house-blur-m.jpg);
  }

  .circle {
    background-image: url(../img/house-m.jpg);
  }
}

 

.socials {
  position: fixed;
  top: 34px;
  right: 32px;
  display: flex;
}

.social {
  display: flex;
  padding: 16px;
  border-radius: 50%;
}

@media (max-width: 1000px) {
 

  .socials {
    top: 16px;
    right: 8px;
  }
}





.body {
  cursor: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding-bottom: 40px;
}

.h1 {
  display: flex;
    font-family: 'Avenir Next Cyr Demi', sans-serif;
  justify-content: center;
  margin-bottom: 64px;
 
  font-size: 75px;
  line-height: 55px;
}
 

.h2 {
  font-size: 35px;
  line-height: 25px;
  letter-spacing: 23.8636px;
  text-indent: 23.8636px;
  text-transform: uppercase;
  margin-bottom: 64px;
}

.h3 {

  font-size: 16px;
  line-height: 22px;
   
}

#apart br {
  display: none;
}

.button {
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1;
  height: 60px;
  padding: 0 32px;
  border: 1px solid white;
  font-size: 11px;
  line-height: 0.73;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-top: 80px;
}

@media (max-width: 1000px) {
  .body {
    padding-bottom: 4vw;
  }

  .h1 {
    margin-bottom: 6.4vw;
  }

   

  .h2 {
    font-size: 3.5vw;
    line-height: 2.5vw;
    letter-spacing: 2.38vw;
    text-indent: 2.38vw;
    margin-bottom: 6.4vw;
  }

  .h3 {
    font-size: .9vw;
    line-height: 2.2vw;
  
  }

  .button {
    height: 6vw;
    padding: 0 3.2vw;
    font-size: 1.1vw;
    letter-spacing: .15vw;
    margin-top: 8vw;
  }
}

@media (max-width: 479px) {
  .body {
    padding-bottom: 28px;
  }

  .h1 {
    margin-bottom: 40px;
	 font-size: 56px;
	 letter-spacing: 2px;
  }

  .lumin-logo {
    width: 232px;
    height: 68px;
  }

  .h2 {
    font-size: 16px;
    line-height: 25px;
    letter-spacing: 8.53333px;
    text-indent: 8.53333px;
    margin-bottom: 15px;
  }

  .h3 {
    font-size: 16px;
    line-height: 22px; 
    text-indent: 6px;
  }

  #apart br {
    display: initial;
  }

  .button {
    height: 50px;
    padding: 0 24px;
    font-size: 11px;
    letter-spacing: 1px;
    margin-top: 48px;
  }
}





.footer {
  position: fixed;
  bottom: 50px;
  left: 58.5px;
  right: 49px;
  display: flex;
  font-size: 12px;
  line-height: 22px;
}

.footer__column {
  width: calc(100% / 3)
}

.copyright {
  text-align: left;
}

.address {
  text-align: center;
}

.development {
  text-align: right;
}

@media (max-width: 1000px) {
  .footer {
    bottom: 32px;
    left: 0;
    right: 0;
  }

  .address {
    width: 100%;
  }

  .copyright, .development {
    display: none;
  }
}





.modal {
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(to right, rgba(241, 182, 194, .7) 0%, rgba(149, 141, 199, .7) 100%);
  visibility: hidden;
  opacity: 0;
  transition: opacity .5s
}

.showForm .form, .hideForm .form, .showSuccess .success, .hideSuccess .success {
  visibility: visible;
}

.showForm .form, .showSuccess .success {
  opacity: 1
}

.modal-body {
  position: relative;
  width: 776px;
  padding: 64px 80px;
  background: white;
  color: #1A1A1A
}

.success .modal-body {
  padding-bottom: 120px;
}

.close {
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  width: 80px;
  height: 80px;
}

.close:before, .close:after {
  content: '';
  position: absolute;
  top: 39px;
  left: 27px;
  width: 26px;
  height: 2px;
  background: #1A1A1A;
  transition: transform .25s ease-in-out;
}

.close:before {
  transform: rotate(45deg);
}

.close:hover:before {
  transform: rotate(135deg);
}

.close:after {
  transform: rotate(-45deg);
}

.close:hover:after {
  transform: rotate(45deg);
}

.title {
  font-size: 26px;
  font-weight: 500;
  line-height: 1.62;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.p {
  font-size: 15px;
  line-height: 1.47;
  margin-top: 16px;
}

.inputs {
  display: flex;
  justify-content: space-between;
  margin-top: 32px;
}

.field {
  display: flex;
  position: relative;
  box-shadow: 0 0 0 1px #EBEBEB inset;
  font-size: 15px;
  line-height: 1.47;
}

.field.-required:after {
  content: "";
  position: absolute;
  top: 10px;
  right: 10px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #D1D1D1;
}

.field.-invalid, .field.-empty {
  color: #C73C3C;
}

.field.-invalid:after, .field.-empty:after {
  background: #C73C3C;
}

.field input, .field textarea {
  width: 100%;
  padding: 28px 24px 10px;
}

.field input {
  height: 60px;
}

.field textarea {
  height: 120px;
}

.field .placeholder {
  position: absolute;
  top: 18px;
  left: 24px;
  color: #A3A3A3;
  transition: top 0.15s ease-in-out, font-size 0.15s ease-in-out;
}

.field.-focus .placeholder {
  color: #767676;
}

.field.-valid .placeholder {
  color: #958DC7;
}

.field.-empty .placeholder {
  color: #C73C3C;
}

.field.-focus .placeholder, .field.-valid .placeholder, .field.-invalid .placeholder {
  top: 8px;
  font-size: 12px;
}

.input {
  width: calc(50% - 8px);
}

.textarea {
  margin-top: 16px;
}

.cta {
  width: 100%;
  height: 60px;
  background-color: #df1e42;
  font-size: 11px;
  line-height: 0.73;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-align: center;
  color: white;
  margin-top: 16px;
}

.success .cta {
  display: none;
  margin-top: 48px;
}

.small {
  font-size: 12px;
  line-height: 1.5;
  color: #BABABA;
  margin-top: 24px;
}

.small a:hover {
  color: #1A1A1A;
}

@media (min-width: 480px) and (max-width: 1000px) {
  .modal-body {
    width: 77.6vw;
    padding: 6.4vw 8vw;
  }

  .success .modal-body {
    padding-bottom: 12vw;
  }

  .close {
    width: 8vw;
    height: 8vw;
  }

  .close:before, .close:after {
    top: 3.9vw;
    left: 2.7vw;
    width: 2.6vw;
    height: .2vw;
  }

  .title {
    font-size: 2.6vw;
    letter-spacing: .1vw;
  }

  .p {
    font-size: 1.5vw;
    margin-top: 1.6vw;
  }

  .inputs {
    margin-top: 3.2vw;
  }

  .field {
    font-size: 1.5vw;
  }

  .field.-required:after {
    top: 1vw;
    right: 1vw;
    width: .4vw;
    height: .4vw;
  }

  .field input, .field textarea {
    padding: 2.8vw 2.4vw 1vw;
  }

  .field input {
    height: 6vw;
  }

  .field textarea {
    height: 12vw;
  }

  .field .placeholder {
    top: 1.8vw;
    left: 2.4vw;
  }

  .field.-focus .placeholder, .field.-valid .placeholder, .field.-invalid .placeholder {
    top: .8vw;
    font-size: 1.2vw;
  }

  .input {
    width: calc(50% - .8vw);
  }

  .textarea {
    margin-top: 1.6vw;
  }

  .cta {
    height: 6vw;
    font-size: 1.1vw;
    letter-spacing: .1vw;
    margin-top: 1.6vw;
  }

  .small {
    font-size: 1.2vw;
    margin-top: 2.4vw;
  }
}

@media (max-width: 479px) {
  .modal-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0 24px;
  }

  .success .modal-body {
    padding-bottom: 0;
  }

  .close {
    right: 10px;
    width: 51px;
    height: 51px;
  }

  .close:before, .close:after {
    top: 25.5px;
    left: 15px;
    width: 21px;
    height: 2px;
  }

  .title {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.54;
    letter-spacing: 0.31px;
  }

  .p {
    font-size: 14px;
    line-height: 1.43;
  }

  .inputs {
    flex-direction: column;
  }

  .field {
    font-size: 15px;
  }

  .field.-required:after {
    top: 10px;
    right: 10px;
    width: 4px;
    height: 4px;
  }

  .field input, .field textarea {
    padding: 28px 24px 10px;
  }

  .field input {
    height: 60px;
  }

  .field textarea {
    height: 120px;
  }

  .field .placeholder {
    top: 18px;
    left: 24px;
  }

  .field.-focus .placeholder, .field.-valid .placeholder, .field.-invalid .placeholder {
    top: 8px;
    font-size: 12px;
  }

  .input {
    width: 100%;
  }

  .input:first-child {
    margin-bottom: 16px;
  }

  .textarea {
    margin-top: 16px;
  }

  .cta {
    height: 60px;
    font-size: 11px;
    letter-spacing: 1px;
    margin-top: 16px;
  }

  .success .cta {
    display: block;
  }

  .small {
    font-size: 12px;
    margin-top: 16px;
  }
}