* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

img,
fieldset,
a img {
  border: none;
}

img {
  max-width: 100%;
  width: auto;
  height: auto;
}

input[type='text'],
input[type='email'],
input[type='tel'],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input[type='submit'],
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}

input[type='submit']::-moz-focus-inner,
button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

textarea {
  overflow: auto;
}

input,
button {
  margin: 0;
  padding: 0;
  border: 0;
}

div,
input,
textarea,
select,
button,
h1,
h2,
h3,
h4,
h5,
h6,
a,
span,
a:focus {
  outline: none;
}

ul,
ol {
  list-style-type: none;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
  width: 100%;
}

.page {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  font-family: "proxima_novaregular", "Helvetica", "Tahoma", sans-serif;
  font-size: 62.5%;
  line-height: 1.5;
  min-width: 320px;
  position: relative;
  overflow-x: hidden;
  height: 100vh;
}

.page__header,
.page__footer {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.page__content {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.grid {
  max-width: 1310px;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.grid:before,
.grid:after {
  content: " ";
  display: table;
}

.grid:after {
  clear: both;
}

.row {
  margin-left: -15px;
  margin-right: -15px;
}

.header__top {
  background-color: #fff;
  font-size: 0;
  padding: 19px 0;
}

.header__logo,
.header__contacts,
.header__menu {
  display: inline-block;
  vertical-align: top;
  position: relative;
}

.header__logo {
  width: 16.5%;
  padding-top: 5px;
}

.header__contacts {
  font-size: 0;
  left: 48.5%;
  width: 35%;
}

.header__menu {
  right: 35%;
  width: 48.5%;
  padding-top: 28px;
}

.header__city {
  font-family: "proxima_novasemibold", "Helvetica", "Tahoma", sans-serif;
  font-size: 16px;
  color: #434343;
  padding: 8px 0 0 9px;
}

.header__contacts-left,
.header__contacts-right {
  display: inline-block;
  vertical-align: top;
}

.header__contacts-left {
  width: -webkit-calc(100% - 226px);
  width: calc(100% - 226px);
  padding-top: 10px;
}

.header__contacts-right {
  width: 226px;
}

.header__bottom {
  background: url("../img/header.jpg") center no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
  padding: 80px 0;
}

.header__info {
  border: 2px solid #fff;
  display: inline-block;
  padding: 58px 145px 105px 87px;
}

.header__info h1 {
  font-family: "proxima_novaextrabold", "Helvetica", "Tahoma", sans-serif;
  font-size: 40px;
  text-transform: uppercase;
  color: #fff;
}

.header__info h1 span {
  display: block;
  font-family: "proxima_novaregular", "Helvetica", "Tahoma", sans-serif;
  font-size: 36px;
  line-height: 36px;
  text-transform: none;
}

.header__price {
  display: block;
  font-family: "proxima_novabold", "Helvetica", "Tahoma", sans-serif;
  font-size: 36px;
  color: #fff;
  margin: 12px 0 25px;
}

.header__price span {
  font-family: "proxima_novaextrabold", "Helvetica", "Tahoma", sans-serif;
  font-size: 48px;
}

.header__buttons {
  font-size: 0;
}

.header__btn-more {
  margin-right: 31px;
}

.logo {
  display: inline-block;
  font-family: "proxima_novabold", "Helvetica", "Tahoma", sans-serif;
  font-size: 0;
  color: #1a1a1a;
  text-align: left;
  text-decoration: none;
  text-transform: uppercase;
}

.logo__one {
  font-size: 20px;
  line-height: 20px;
}

.logo__services {
  display: block;
  font-size: 20px;
  line-height: 20px;
  padding: 4px 0;
  color: #04c36b;
}

.logo__info {
  font-family: "proxima_novalight", "Helvetica", "Tahoma", sans-serif;
  font-size: 14px;
  line-height: 14px;
  color: #1a1a1a;
  text-transform: none;
}

.contacts {
  display: inline-block;
  font-family: "proxima_novasemibold", "Helvetica", "Tahoma", sans-serif;
  font-size: 16px;
  color: #434343;
}

.contacts__phone {
  display: inline-block;
  text-decoration: none;
  -webkit-transition: all ease 0.3s;
  -o-transition: all ease 0.3s;
  transition: all ease 0.3s;
  color: #434343;
  margin-bottom: 13px;
}

.contacts__phone span {
  color: #04c36b;
}

.contacts__phone:hover {
  color: #04c36b;
}

.contacts__phone:before {
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2221%22%20width%3D%2221%22%3E%3Cpath%0A%09d%3D%22M.93%2013.12A3.145%203.145%200%200%201%200%2010.894v-.93a3.11%203.11%200%200%201%20.93-2.226%203.153%203.153%200%200%201%201.943-.91%207.552%207.552%200%200%201%202.225-4.572%207.717%207.717%200%200%201%2010.905%200%207.55%207.55%200%200%201%202.225%204.612%203.274%203.274%200%200%201%201.841.9A3.11%203.11%200%200%201%2021%209.995v.93a3.11%203.11%200%200%201-.93%202.226%203.2%203.2%200%200%201-1.902.9%207.708%207.708%200%200%201-5.22%206.01%201.684%201.684%200%200%201-1.507.94H9.66a1.677%201.677%200%200%201-1.68-1.659%201.67%201.67%200%200%201%201.68-1.649h1.78a1.683%201.683%200%200%201%201.305.617%206.097%206.097%200%200%200%202.033-1.325%205.919%205.919%200%200%200%201.76-4.198V7.657a5.937%205.937%200%200%200-1.76-4.197%206.008%206.008%200%200%200-8.457%200%205.895%205.895%200%200%200-1.76%204.197v5.26a1.063%201.063%200%200%201-.334.79%201.113%201.113%200%200%201-.809.333%203.202%203.202%200%200%201-2.488-.92z%22%20fill%3D%22%23c0c0c0%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E") center no-repeat;
  -webkit-background-size: contain;
  background-size: contain;
}

.contacts__mode:before {
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2221%22%20width%3D%2221%22%3E%3Cpath%0A%09d%3D%22M10.5%200A10.5%2010.5%200%201%200%2021%2010.5%2010.512%2010.512%200%200%200%2010.5%200zm0%2018.79a8.29%208.29%200%201%201%208.29-8.29%208.3%208.3%200%200%201-8.29%208.29zm5.64-8.61h-4.1a1.811%201.811%200%200%200-.6-.6V4.65a.94.94%200%200%200-1.88%200v4.93a1.8%201.8%200%200%200%20.94%203.34%201.824%201.824%200%200%200%201.54-.86h4.1a.94.94%200%200%200%200-1.88z%22%20fill%3D%22%23c0c0c0%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E") center no-repeat;
  -webkit-background-size: contain;
  background-size: contain;
}

.contacts__phone,
.contacts__mode {
  position: relative;
  padding-left: 40px;
}

.contacts__phone:before,
.contacts__mode:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  height: 21px;
  width: 21px;
}

.button {
  background-color: #10d67b;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  display: inline-block;
  font-family: "proxima_novasemibold", "Helvetica", "Tahoma", sans-serif;
  font-size: 16px;
  color: #ffffff;
  text-decoration: none;
  -webkit-transition: all ease 0.3s;
  -o-transition: all ease 0.3s;
  transition: all ease 0.3s;
  padding: 8px 12px;
}

.button:hover {
  background-color: #14ac66;
}

.button_big {
  padding: 8px 20px;
}

.button_callback span {
  display: none;
}

.top-menu {
  position: relative;
}

.top-menu__list {
  font-size: 0;
}

.top-menu__item {
  display: inline-block;
  margin-right: 50px;
  position: relative;
}

.top-menu__item:last-of-type {
  margin-right: 0;
}

.top-menu__item:hover > .top-menu__submenu {
  -webkit-transform: rotateX(0deg) translateX(-50%);
  transform: rotateX(0deg) translateX(-50%);
  visibility: visible;
  opacity: 1;
}

.top-menu__item:hover .top-menu__link,
.top-menu__item_active .top-menu__link {
  color: #10d67b;
}

.top-menu__item_active .top-menu__link {
  color: #10d67b;
}

.top-menu__item_has-child .top-menu__link {
  padding-right: 20px;
}

.top-menu__item_has-child .top-menu__link:before {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: all ease 0.3s;
  -o-transition: all ease 0.3s;
  transition: all ease 0.3s;
  height: 9px;
  width: 14px;
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%229%22%20width%3D%2214%22%3E%3Cpath%20d%3D%22M7%205.127L12.081%200%2014%201.936%207%209%200%201.936%201.918%200z%22%20fill%3D%22%2310d67b%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E") center no-repeat;
  -webkit-background-size: contain;
  background-size: contain;
}

.top-menu__item_has-child:hover .top-menu__link:before {
  -webkit-transform: translateY(-50%) rotate(180deg);
  -ms-transform: translateY(-50%) rotate(180deg);
  transform: translateY(-50%) rotate(180deg);
}

.top-menu__item_open .top-menu__link {
  color: #10d67b !important;
}

.top-menu__item_open .top-menu__link:before {
  -webkit-transform: translateY(-50%) rotate(0deg) !important;
  -ms-transform: translateY(-50%) rotate(0deg) !important;
  transform: translateY(-50%) rotate(0deg) !important;
}

.top-menu__link,
.top-menu__submenu-link {
  display: inline-block;
  text-decoration: none;
  -webkit-transition: all ease 0.3s;
  -o-transition: all ease 0.3s;
  transition: all ease 0.3s;
  position: relative;
}

.top-menu__link {
  font-family: "proxima_novasemibold", "Helvetica", "Tahoma", sans-serif;
  font-size: 16px;
  color: #1a1a1a;
}

.top-menu__submenu-link {
  font-size: 14px;
  color: #ffffff;
  padding-left: 14px;
  margin-bottom: 9px;
}

.top-menu__submenu-link:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  height: 3px;
  width: 3px;
  background-color: #10d67b;
}

.top-menu__submenu-link:after {
  content: '';
  position: absolute;
  bottom: -1px;
  right: 0;
  height: 1px;
  width: -webkit-calc(100% - 14px);
  width: calc(100% - 14px);
  background-color: #888888;
  -webkit-transition: all ease 0.3s;
  -o-transition: all ease 0.3s;
  transition: all ease 0.3s;
}

.top-menu__submenu-link:hover {
  color: #10d67b;
  text-decoration: none;
}

.top-menu__submenu-link:hover:after {
  width: 0;
}

.top-menu__submenu-item:last-of-type .top-menu__submenu-link {
  margin-bottom: 0;
}

.top-menu__submenu-item_active .top-menu__submenu-link {
  color: #10d67b;
}

.top-menu__submenu-item_active .top-menu__submenu-link:after {
  width: 0;
}

.top-menu__submenu {
  background-color: rgba(67, 67, 67, 0.85);
  position: absolute;
  top: -webkit-calc(100% + 15px);
  top: calc(100% + 15px);
  left: 50%;
  visibility: hidden;
  opacity: 0;
  -webkit-transform-origin: 0% 0%;
  -ms-transform-origin: 0% 0%;
  transform-origin: 0% 0%;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform: rotateX(-90deg) translateX(-50%);
  transform: rotateX(-90deg) translateX(-50%);
  -webkit-transition: all ease 0.3s;
  -o-transition: all ease 0.3s;
  transition: all ease 0.3s;
  padding: 20px 30px;
  width: 213px;
}

.top-menu__submenu:before {
  content: '';
  position: absolute;
  top: -15px;
  left: 0;
  height: 15px;
  width: 100%;
  background-color: transparent;
  z-index: 5;
}

.hamburger {
  background-color: transparent;
  display: inline-block;
  width: 34px;
  height: 24px;
  text-decoration: none;
  position: relative;
  z-index: 11;
}

.hamburger_top-menu {
  display: none;
}

.hamburger__btn {
  background-color: #1a1a1a;
  display: inline-block;
  vertical-align: top;
  position: absolute;
  top: 50%;
  left: 50%;
  height: 2px;
  width: 34px;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: all ease 0.3s;
  -o-transition: all ease 0.3s;
  transition: all ease 0.3s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.hamburger__btn:before,
.hamburger__btn:after {
  content: '';
  background-color: #1a1a1a;
  position: absolute;
  left: 0;
  height: 2px;
  width: 34px;
  -webkit-transform-origin: top left;
  -ms-transform-origin: top left;
  transform-origin: top left;
  -webkit-transition: all ease 0.3s;
  -o-transition: all ease 0.3s;
  transition: all ease 0.3s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.hamburger__btn:before {
  bottom: 9px;
}

.hamburger__btn:after {
  top: 9px;
}

.hamburger__btn_on {
  background-color: transparent;
}

.hamburger__btn_on:before {
  left: 50%;
  bottom: 0;
  -webkit-transform: rotate(45deg) translateX(-50%);
  -ms-transform: rotate(45deg) translateX(-50%);
  transform: rotate(45deg) translateX(-50%);
}

.hamburger__btn_on:after {
  left: 50%;
  top: 0;
  -webkit-transform: rotate(-45deg) translate(-50%);
  -ms-transform: rotate(-45deg) translate(-50%);
  transform: rotate(-45deg) translate(-50%);
}

@media (min-width: 769px) {
  .top-menu__list {
    display: block !important;
  }
}

@media (max-width: 1310px) {
  .grid {
    max-width: 970px;
  }

  .header__top {
    padding: 15px 0;
  }

  .header__logo {
    width: 50%;
  }

  .header__contacts {
    left: 0;
    width: 50%;
  }

  .header__menu {
    right: 0;
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 992px) {
  .grid {
    max-width: 750px;
  }

  .header__logo {
    width: 35%;
  }

  .header__contacts {
    width: 65%;
  }

  .header__bottom {
    padding: 30px 0;
  }

  .header__info {
    display: block;
    padding: 30px 15px;
    text-align: center;
  }
}

@media (max-width: 768px) {
  .grid {
    width: 100%;
  }

  .header__logo {
    width: -webkit-calc(100% - 275px);
    width: calc(100% - 275px);
  }

  .header__contacts {
    width: 275px;
  }

  .header__menu {
    text-align: left;
    padding-top: 20px;
  }

  .header__city {
    font-size: 12px;
    padding: 5px 0 0 0;
  }

  .header__contacts-left {
    width: -webkit-calc(100% - 137px);
    width: calc(100% - 137px);
    padding-top: 13px;
  }

  .header__contacts-right {
    width: 137px;
  }

  .header__info h1 {
    font-size: 28px;
  }

  .header__info h1 span {
    font-size: 20px;
    line-height: 1.3;
  }

  .header__price {
    font-size: 30px;
    margin: 10px 0 15px;
  }

  .header__price span {
    font-size: 40px;
  }

  .logo__one {
    font-size: 14px;
    line-height: 14px;
  }

  .logo__services {
    font-size: 14px;
    line-height: 14px;
  }

  .logo__info {
    font-size: 9px;
    line-height: 9px;
  }

  .contacts {
    font-size: 12px;
  }

  .contacts__phone {
    margin-bottom: 5px;
  }

  .contacts__phone,
  .contacts__mode {
    padding-left: 0;
  }

  .contacts__phone:before,
  .contacts__mode:before {
    display: none;
  }

  .button_callback {
    font-size: 0;
    padding: 5px 10px;
  }

  .button_callback span {
    display: inline-block;
    font-size: 14px;
  }

  .top-menu__list {
    background-color: rgba(67, 67, 67, 0.85);
    -webkit-border-radius: 5px;
    border-radius: 5px;
    display: none;
    padding: 15px;
    position: absolute;
    top: -webkit-calc(100% + 5px);
    top: calc(100% + 5px);
    left: 0;
    width: 100%;
  }

  .top-menu__item {
    display: block;
    margin-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    padding: 10px 0;
  }

  .top-menu__item:last-of-type {
    border-bottom: 0;
    padding-bottom: 0;
  }

  .top-menu__item:first-of-type {
    padding-top: 0;
  }

  .top-menu__item:hover > .top-menu__submenu {
    -webkit-transform: rotateX(0deg) translateX(0);
    transform: rotateX(0deg) translateX(0);
  }

  .top-menu__item:hover .top-menu__link,
  .top-menu__item_active .top-menu__link {
    color: #fff;
  }

  .top-menu__item_active .top-menu__link {
    color: #fff;
  }

  .top-menu__item_has-child .top-menu__link:before {
    -webkit-transform: translateY(-50%) rotate(-90deg);
    -ms-transform: translateY(-50%) rotate(-90deg);
    transform: translateY(-50%) rotate(-90deg);
  }

  .top-menu__item_has-child:hover .top-menu__link:before {
    -webkit-transform: translateY(-50%) rotate(-90deg);
    -ms-transform: translateY(-50%) rotate(-90deg);
    transform: translateY(-50%) rotate(-90deg);
  }

  .top-menu__link,
  .top-menu__submenu-link {
    display: block;
  }

  .top-menu__link {
    color: #fff;
  }

  .top-menu__submenu-link:after {
    display: none;
  }

  .top-menu__submenu-link:hover {
    color: #fff;
  }

  .top-menu__submenu:before {
    display: none;
  }

  .top-menu__submenu {
    display: none;
    background-color: transparent;
    position: static;
    -webkit-transform-style: flat;
    transform-style: flat;
    -webkit-transform: rotateX(0deg) translateX(0);
    transform: rotateX(0deg) translateX(0);
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    visibility: visible;
    padding: 10px 10px 0 10px;
    top: 0;
    left: 0;
    opacity: 1;
    width: 100%;
  }

  .hamburger_top-menu {
    display: inline-block;
  }
}

@media (max-width: 600px) {
  .header__button {
    display: block;
  }

  .header__btn-more {
    display: block;
    margin-bottom: 15px;
    margin-right: 0;
  }
}

@media (max-width: 480px) {
  .header__top {
    padding: 10px 0;
  }

  .header__logo {
    padding-top: 0;
    width: -webkit-calc(100% - 137px);
    width: calc(100% - 137px);
  }

  .header__contacts {
    width: 137px;
  }

  .header__menu {
    padding-top: 0;
    position: static;
  }

  .header__contacts-left {
    padding-top: 0;
    padding-bottom: 15px;
    width: 100%;
  }

  .header__contacts-right {
    width: 100%;
  }

  .hamburger_top-menu {
    position: absolute;
    top: 90px;
    left: 15px;
  }
}