/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.3.6,
* Autoprefixer: v10.3.1
* Browsers: last 4 version
*/

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: #000;
  font-family: 'Helvetica Neue Cyr', sans-serif;
  font-size: 24px;
  font-weight: 400;
}

@media only screen and (max-width: 1440px) {
  * {
    font-size: 20px;
  }
}

@media only screen and (max-width: 768px) {
  * {
    font-size: 16px;
  }
}

input, select, button {
  outline: none;
}

li {
  list-style-type: none;
}

a {
  text-decoration: none;
}

li:before {
  content: '>';
  margin-right: 10px;
}

.container {
  max-width: 1800px;
  padding: 0 30px;
  margin: 0 auto;
}

@media only screen and (max-width: 576px) {
  .container {
    padding: 0 15px;
  }
}

img {
  width: 100%;
  height: auto;
}

.stoTitle {
  font-size: 30px;
  font-weight: 900;
  margin-bottom: 30px;
}

@media only screen and (max-width: 1200px) {
  .stoTitle {
    font-size: 26px;
  }
}

@media only screen and (max-width: 768px) {
  .stoTitle {
    font-size: 20px;
  }
}

.stoSubtitle {
  font-weight: 700;
}

.stoHeader {
  -webkit-box-shadow: 0px 5px 10px 5px rgba(0, 0, 0, 0.15);
  box-shadow: 0px 5px 10px 5px rgba(0, 0, 0, 0.15);
}

.stoHeader__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 10px 0;
}

.stoHeader__items-logo {
  width: 400px;
  height: auto;
}

@media only screen and (max-width: 1024px) {
  .stoHeader__items-logo {
    width: 200px;
  }
}

@media only screen and (max-width: 576px) {
  .stoHeader__items-logo {
    width: 40%;
  }
}

.stoHeader__items-phone a {
  font-size: 34px;
}

@media only screen and (max-width: 1024px) {
  .stoHeader__items-phone a {
    font-size: 24px;
  }
}

@media only screen and (max-width: 576px) {
  .stoHeader__items-phone a {
    font-size: 18px;
  }
}

.stoDescr {
  padding: 60px 0 30px;
}

@media only screen and (max-width: 768px) {
  .stoDescr {
    padding: 30px 0 15px;
  }
}

.stoDescr__promo {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  grid-gap: 60px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 60px;
}

@media only screen and (max-width: 1200px) {
  .stoDescr__promo {
    grid-gap: 20px;
  }
}

@media only screen and (max-width: 1024px) {
  .stoDescr__promo {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}

@media only screen and (max-width: 768px) {
  .stoDescr__promo {
    margin-bottom: 30px;
  }
}

.stoDescr__promo-text p {
  margin-bottom: 30px;
}

.stoDescr__promo-text p span {
  font-weight: 700;
}

.stoDescr__promo-text li:before {
  color: #e12224;
}

.stoDescr__promo-text a {
  color: #e12224;
  font-weight: 700;
}

.stoDescr__price {
  text-align: center;
}

@media only screen and (max-width: 768px) {
  .stoDescr__price {
    text-align: left;
  }
}

.stoDescr__price-block {
  margin-bottom: 60px;
}

@media only screen and (max-width: 768px) {
  .stoDescr__price-block {
    margin-bottom: 30px;
  }
}

.stoDescr__price-block table {
  width: 60%;
  margin: 0 auto;
  border-collapse: collapse;
}

@media only screen and (max-width: 768px) {
  .stoDescr__price-block table {
    width: 100%;
    margin: 0;
  }
}

.stoDescr__price-block table td {
  border: 1px solid;
}

.stoDescr__price-text {
  margin-bottom: 30px;
}

.stoDescr__price-left-text {
  text-align: left;
  width: 60%;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  .stoDescr__price-left-text {
    width: 100%;
  }
}

.stoAddress {
  padding: 30px 0;
}

@media only screen and (max-width: 1024px) {
  .stoAddress {
    padding: 15px 0;
  }
}

.stoAddress__items {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1.5fr 1fr;
  grid-template-columns: 1.5fr 1fr;
  grid-gap: 100px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media only screen and (max-width: 1440px) {
  .stoAddress__items {
    grid-gap: 50px;
  }
}

@media only screen and (max-width: 1024px) {
  .stoAddress__items {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    grid-gap: 30px;
  }
}

.stoAddress__items-map {
  position: relative;
  width: 1000px;
  height: 500px;
}

@media only screen and (max-width: 1440px) {
  .stoAddress__items-map {
    width: 600px;
  }
}

@media only screen and (max-width: 768px) {
  .stoAddress__items-map {
    width: 100%;
    height: 300px;
  }
}

.stoAddress__items-text p {
  margin-bottom: 30px;
}

.stoRequest {
  padding: 30px 0 100px;
}

@media only screen and (max-width: 768px) {
  .stoRequest {
    padding: 15px 0 50px;
  }
}

.stoRequest__text {
  margin-bottom: 60px;
}

@media only screen and (max-width: 768px) {
  .stoRequest__text {
    margin-bottom: 20px;
  }
}

.stoRequest__text span, .stoRequest__text a {
  font-weight: 700;
}

.stoRequest__text a {
  font-size: 26px;
}

@media only screen and (max-width: 1440px) {
  .stoRequest__text a {
    font-size: inherit;
  }
}

.stoRequest__form {
  width: 800px;
  margin: 0 auto;
}

@media only screen and (max-width: 1024px) {
  .stoRequest__form {
    width: 100%;
  }
}

.stoRequest__form-wrapper {
  margin-bottom: 60px;
}

.stoRequest__form-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 15px;
}

@media only screen and (max-width: 768px) {
  .stoRequest__form-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.stoRequest-input {
  border: none;
  -webkit-box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.15);
  box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.15);
  width: 450px;
  height: 40px;
  padding-left: 10px;
}

@media only screen and (max-width: 768px) {
  .stoRequest-input {
    width: 280px;
    border: 1px solid rgba(0, 0, 0, .15);
  }
}

.stoRequest-label {
  font-weight: 700;
  font-size: 26px;
}

@media only screen and (max-width: 1024px) {
  .stoRequest-label {
    font-size: inherit;
  }
}

@media only screen and (max-width: 768px) {
  .stoRequest-label {
    margin-bottom: 10px;
  }
}

.stoRequest__btn {
  display: block;
  width: 450px;
  height: 40px;
  text-transform: uppercase;
  padding: 5px;
  font-size: 26px;
  font-weight: 700;
  background-color: #e12224;
  color: #fff;
  border: none;
  margin: 0 auto;
  cursor: pointer;
}

@media only screen and (max-width: 768px) {
  .stoRequest__btn {
    width: 280px;
    font-size: inherit;
  }
}

.stoRequest-error {
  -webkit-box-shadow: 0 0 3px 1px rgba(255, 0, 0, 1);
  box-shadow: 0 0 3px 1px rgba(255, 0, 0, 1);
}

.stoFooter {
  background-color: #2a2f32;
  padding: 60px 0 100px;
}

@media only screen and (max-width: 768px) {
  .stoFooter {
    padding: 30px 0 50px;
  }
}

.stoFooter__items {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  grid-gap: 200px;
  color: #fff;
}

@media only screen and (max-width: 1440px) {
  .stoFooter__items {
    grid-gap: 100px;
  }
}

@media only screen and (max-width: 1024px) {
  .stoFooter__items {
    grid-gap: 50px;
  }
}

@media only screen and (max-width: 768px) {
  .stoFooter__items {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}

.stoFooter__items-col p, .stoFooter__items-col a, .stoFooter__items-col span {
  color: #fff;
}

.stoFooter__items-col li:before {
  color: #fff;
}

.stoFooter__items-col span {
  font-weight: 700;
}

.stoFooter__title {
  color: #fff;
  text-align: center;
  font-weight: 700;
  font-size: 30px;
  margin-bottom: 30px;
}

@media only screen and (max-width: 1024px) {
  .stoFooter__title {
    font-size: 26px;
  }
}

@media only screen and (max-width: 768px) {
  .stoFooter__title {
    text-align: left;
    font-size: inherit;
  }
}

.stoPopup {
  position: fixed;
  display: none;
  left: 50%;
  top: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 300px;
  text-align: center;
  background-color: #fff;
  padding: 20px;
  overflow: hidden;
}