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; }

body, html { height: 100%; }

img, fieldset, a img { border: none; }

input[type="submit"], button { cursor: pointer; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
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; }

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) { * { -webkit-text-size-adjust: none; } }
table { border-spacing: 0; border-collapse: collapse; width: 100%; }

* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill, textarea:-webkit-autofill, textarea:-webkit-autofill:hover, textarea:-webkit-autofill:focus, select:-webkit-autofill, select:-webkit-autofill:hover, select:-webkit-autofill:focus { -webkit-text-fill-color: inherit !important; -webkit-box-shadow: 0 0 0px 1000px #fff inset; }

a, a:before, a:after, a:hover, a:focus, .submit { text-decoration: none; color: inherit; -moz-transition: all 0.3s; -o-transition: all 0.3s; -webkit-transition: all 0.3s; transition: all 0.3s; }

body { font-family: "Montserrat", sans-serif; font-weight: 400; font-size: 12px; line-height: 1.2; color: #000; opacity: 0; -moz-transition: opacity 0.3s; -o-transition: opacity 0.3s; -webkit-transition: opacity 0.3s; transition: opacity 0.3s; }
body.load { opacity: 1; }

.out { width: 100%; min-width: 320px; margin: 0 auto; overflow: hidden; }

.container { max-width: 1230px; padding: 0 15px; margin: 0 auto; }

.btn { font-weight: 600; font-size: 18px; height: 60px; line-height: 60px; padding: 0 50px; display: inline-block; min-width: 340px; text-align: center; text-transform: uppercase; letter-spacing: 0.02em; overflow: hidden; }
.btn:disabled, .btn.disabled { opacity: 0.6; cursor: default; }

.btn-primary { background: #0D6467; color: #fff !important; }
.btn-primary:not(:disabled):not(.disabled):hover, .btn-primary:not(:disabled):not(.disabled):focus, .btn-primary:not(:disabled):not(.disabled):active { background: #005457; color: #fff; }

.btn-secondary { background: #fff; color: #0D6467; }
.btn-secondary:not(:disabled):hover, .btn-secondary:not(:disabled):focus, .btn-secondary:not(:disabled):active { background: #005457; color: #fff; }

.form-group { margin-bottom: 28px; }

.form-control { height: 60px; padding: 0 30px; letter-spacing: 0.02em; font-family: "Montserrat", sans-serif; font-weight: 400; font-size: 16px; width: 100%; border: 1px solid #9C9C9C; }
.form-control.error { border-color: #ff0000; }
.form-control.error:-moz-placeholder, .form-control.error::-moz-placeholder { color: #ff0000; opacity: 1; }
.form-control.error::-webkit-input-placeholder { color: #ff0000; }

textarea.form-control { resize: none; width: 100%; padding-top: 15px; padding-bottom: 15px; }

.checkbox { font-size: 14px; text-align: left; }
.checkbox + .checkbox { margin-top: 40px; }
.checkbox input[type="checkbox"] { display: none; }
.checkbox label { padding-left: 40px; position: relative; cursor: pointer; display: inline-block; color: #000; line-height: 1.2; font-family: "Montserrat", sans-serif; font-weight: 400; font-size: 15px; color: #000; }
.checkbox label a { color: #000; border-bottom: 1px solid #a0a0a0; text-decoration: none; }
.checkbox label a:hover { border-color: transparent; }
.checkbox input[type="checkbox"] + label:before { content: ""; position: absolute; background: #fff; border: 1px solid #ABABAB; width: 24px; height: 24px; left: 0; top: -5px; }
.checkbox input[type="checkbox"]:checked + label:after { content: ""; position: absolute; background: url(../img/icons/checkbox-check.svg) center center no-repeat; height: 22px; width: 22px; left: 2px; top: -2px; }
.checkbox a { text-decoration: underline; }
.checkbox a:hover { text-decoration: none; }

.radio { font-size: 14px; text-align: left; }
.radio + .radio { margin-top: 40px; }
.radio input[type="radio"] { display: none; }
.radio label { padding-left: 40px; position: relative; cursor: pointer; display: inline-block; color: #000; line-height: 1.2; font-family: "Montserrat", sans-serif; font-weight: 400; font-size: 15px; color: #000; }
.radio label a { color: #000; border-bottom: 1px solid #909090; text-decoration: none; }
.radio label a:hover { border-color: transparent; }
.radio input[type="radio"] + label:before { content: ""; position: absolute; background: #fff; border: 1px solid #ABABAB; width: 24px; height: 24px; border-radius: 50%; left: 0; top: -5px; }
.radio input[type="radio"]:checked + label:after { content: ""; position: absolute; background: #0D6467; border-radius: 50%; height: 14px; width: 14px; left: 6px; top: 1px; }

.openmenu { overflow: hidden; height: 100%; position: fixed; left: 0; right: 0; top: 0; bottom: 0; }

.mobmenu-toggle { display: none; position: relative; z-index: 11; width: 28px; height: 24px; }
.mobmenu-toggle span { position: absolute; top: 50%; margin-top: -1px; display: block; height: 3px; width: 100%; background: #0D6467; -moz-transition: background 0s 0.3s; -o-transition: background 0s 0.3s; -webkit-transition: background 0s; -webkit-transition-delay: 0.3s; transition: background 0s 0.3s; }
.mobmenu-toggle span:before, .mobmenu-toggle span:after { content: ""; position: absolute; left: 0; right: 0; height: 3px; background: #0D6467; -moz-transition-duration: 0.3s, 0.3s; -o-transition-duration: 0.3s, 0.3s; -webkit-transition-duration: 0.3s, 0.3s; transition-duration: 0.3s, 0.3s; -moz-transition-delay: 0.3s, 0s; -o-transition-delay: 0.3s, 0s; -webkit-transition-delay: 0.3s, 0s; transition-delay: 0.3s, 0s; }
.mobmenu-toggle span:before { top: -7px; -moz-transition-property: top, -moz-transform, background; -o-transition-property: top, -o-transform, background; -webkit-transition-property: top, -webkit-transform, background; transition-property: top, transform, background; }
.mobmenu-toggle span:after { bottom: -7px; -moz-transition-property: bottom, -moz-transform, background; -o-transition-property: bottom, -o-transform, background; -webkit-transition-property: bottom, -webkit-transform, background; transition-property: bottom, transform, background; }

.mobmenu-toggle.active span { background: none !important; }
.mobmenu-toggle.active span:before { top: 0; -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); }
.mobmenu-toggle.active span:after { bottom: 0; -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg); }
.mobmenu-toggle.active span:before, .mobmenu-toggle.active span:after { -moz-transition-delay: 0s, 0.3s; -o-transition-delay: 0s, 0.3s; -webkit-transition-delay: 0s, 0.3s; transition-delay: 0s, 0.3s; }

.mobmenu { background: #fff; display: none; position: fixed; left: 0; top: 0; height: 100%; width: 100%; overflow: hidden; text-align: center; z-index: 9; -webkit-transform: translateY(-120%); -o-transform: translateY(-120%); transform: translateY(-120%); -moz-transition: 0.6s; -o-transition: 0.6s; -webkit-transition: 0.6s; transition: 0.6s; }
.mobmenu .table { text-align: right; height: 100%; width: 100%; overflow: auto; position: relative; }
.mobmenu .container { padding: 70px 20px 0; }
.mobmenu .content { padding-bottom: 50px; }
.mobmenu .mobmenu__nav { text-align: center; font-weight: 500; font-size: 17px; }
.mobmenu .mobmenu__nav li + li { margin-top: 15px; }
.mobmenu .mobmenu__contacts { text-align: center; margin-top: 60px; }
.mobmenu .mobmenu__contacts a { display: inline-block; }
.mobmenu .mobmenu__contacts a:hover { color: #005457; }
.mobmenu .mobmenu__contacts .phone { font-weight: 600; font-size: 17px; }
.mobmenu .mobmenu__contacts .email { font-size: 14px; font-weight: 500; margin-top: 10px; }
.mobmenu .mobmenu__socials { padding: 15px; text-align: center; }
.mobmenu .mobmenu__socials ul { justify-content: center; }

.mobmenu.open { -webkit-transform: translateY(0); -o-transform: translateY(0); transform: translateY(0); }

.row { display: flex; margin: -15px; flex-wrap: wrap; }
.row .col { padding: 15px; }

.col-1 { width: 33.33333%; }

.col-2 { width: 66.66667%; }

.col-3 { width: 100%; }

.center { text-align: center; }

.white { color: #fff; }
.white label { color: #fff; }
.white label a { color: #fff; }

.title { margin-bottom: 40px; }
.title h2 { font-weight: 700; font-size: 45px; text-transform: uppercase; }
.title p { font-size: 25px; font-weight: 500; letter-spacing: 0.02em; margin-top: 15px; line-height: 1.45; }

.textblock { font-size: 17px; line-height: 1.45; letter-spacing: 0.02em; }
.textblock p + p { margin-top: 15px; }

.socials { font-size: 0; }
.socials ul { display: flex; align-items: center; margin: -12px; }
.socials li { margin: 12px; }
.socials img { max-width: 100%; position: relative; top: 0; -moz-transition: 0.3s; -o-transition: 0.3s; -webkit-transition: 0.3s; transition: 0.3s; }
.socials a { display: block; }
.socials a:hover img { top: -3px; }

.header { padding: 33px 0; }
.header .container { display: flex; align-items: center; justify-content: space-between; }
.header .header__logo { font-size: 0; max-width: 300px; }
.header .header__logo img { max-width: 100%; }
.header .header__nav { font-weight: 500; font-size: 14px; text-transform: uppercase; }
.header .header__nav ul { display: flex; }
.header .header__nav li { margin: 0 20px; }
.header .header__nav a:hover { color: #0D6467; }
.header .header__contacts { text-align: right; color: #0D6467; }
.header .header__contacts a { display: inline-block; }
.header .header__contacts a:hover { color: #005457; }
.header .header__contacts .phone { font-weight: 600; font-size: 17px; }
.header .header__contacts .email { font-size: 14px; font-weight: 500; margin-top: 3px; }

.mainbanner { padding: 40px 0 45px; display: table; width: 100%; height: calc(100vh - 105px); min-height: 800px; max-height: 950px; position: relative; }
.mainbanner .mainbanner__content { display: table-cell; vertical-align: middle; }
.mainbanner .mainbanner__content .container { padding-left: 70px; }
.mainbanner .mainbanner__offer h1 { font-weight: 700; text-transform: uppercase; font-size: 45px; line-height: 1.4; max-width: 700px; }
.mainbanner .mainbanner__offer p { font-size: 18px; line-height: 1.4; margin-top: 25px; letter-spacing: 0.02em; }
.mainbanner .mainbanner__offer .button { margin-top: 50px; display: flex; align-items: center; max-width: 640px; }
.mainbanner .mainbanner__offer .button p { margin: 0 0 0 20px; font-size: 13px; text-transform: uppercase; line-height: 1.6; color: #0D6467; }
.mainbanner .mainbanner__numbers { display: flex; max-width: 560px; margin: 50px -15px 0; }
.mainbanner .mainbanner__numbers .number { padding: 0 15px; width: 33.33333%; }
.mainbanner .mainbanner__numbers .number p { line-height: 1; font-weight: 600; font-size: 60px; color: #0D6467; letter-spacing: 0.02em; }
.mainbanner .mainbanner__numbers .number > span { letter-spacing: 0.02em; font-size: 16px; line-height: 1.4; margin-top: 5px; display: block; }
.mainbanner .mainbanner__numbers .number i { font-style: normal; display: none; }
.mainbanner .mainbanner__socials { margin: 75px 0 0; }
.mainbanner .mainbanner__bg { background: url(../img/mainbanner.png) top center; background-size: cover; position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: -1; font-size: 0; }
.mainbanner .mainbanner__bg img { display: none; width: 100%; }
.mainbanner .mainbanner__bg .container { position: relative; height: 100%; }
.mainbanner .mainbanner__bg .mainbanner__bg-manager { position: absolute; right: 15px; bottom: 36px; color: #fff; font-size: 13px; letter-spacing: 0.02em; text-shadow: 0px 4px 15px rgba(0, 0, 0, 0.25); text-align: right; }
.mainbanner .mainbanner__bg .mainbanner__bg-manager span { font-weight: 600; margin-bottom: 5px; display: block; }

.about { padding: 110px 0 30px; position: relative; }
.about:before { content: ""; position: absolute; right: 50%; left: 0; margin-right: 183px; top: 0; bottom: 0; background: url(../img/about.png) left center no-repeat; background-size: cover; }
.about .about__content { display: flex; }
.about .about__video { width: 417px; font-size: 0; position: relative; min-height: 380px; }
.about .about__video .video { width: 100%; }
.about .about__video .video:nth-child(2) { position: absolute; left: 27px; top: 49px; }
.about .about__video .video:nth-child(3) { position: absolute; left: 54px; top: 100px; }
.about .about__video img { width: 100%; }
.about .about__video .play { width: 68px; height: 68px; background: #fff; border-radius: 50%; position: absolute; left: 50%; top: 50%; margin: -34px 0 0 -34px; }
.about .about__video .play:after { content: ""; position: absolute; left: 50%; top: 50%; margin: -9px 0 0 -5px; border-left: 16px solid #0D6467; border-right: 10px; border-top: 10px solid transparent; border-bottom: 10px solid transparent; }
.about .about__video .play:hover:after { -ms-transform: scale(1.3); -webkit-transform: scale(1.3); transform: scale(1.3); }
.about .about__info { flex: 1 0; padding: 0 80px 0 130px; }
.about .about__info .btn { margin-top: 40px; }

.services { padding: 110px 0 30px; }
.services .container { padding: 0; }
.services .services__list { display: flex; justify-content: center; flex-wrap: wrap; margin: -15px 0; }

.service { width: calc(20% - 30px); margin: 15px; padding: 25px 10px; text-align: center; background: #FFF; box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.15); font-size: 0; -moz-transition: 0.3s; -o-transition: 0.3s; -webkit-transition: 0.3s; transition: 0.3s; }
.service:hover { box-shadow: 0px 8px 20px rgba(0, 0, 0, 0.25); }
.service p { font-size: 16px; font-weight: 600; line-height: 1.4; margin-top: 15px; min-height: 64px; display: flex; align-items: center; justify-content: center; }
.service a { font-size: 14px; font-weight: 600; color: #0D6467; display: inline-block; margin-top: 10px; }
.service a:after { content: ""; display: inline-block; vertical-align: middle; width: 20px; height: 10px; background: url(../img/icons/arrow-service.svg) center center no-repeat; background-size: contain; margin-left: 8px; position: relative; top: -1px; left: 0; -moz-transition: 0.3s; -o-transition: 0.3s; -webkit-transition: 0.3s; transition: 0.3s; }
.service a:hover:after { left: 3px; }
.service .service__info { display: none !important; }

.calculation { padding-top: 170px; }
.calculation .calculation__content { max-width: 1092px; margin: 0 auto; background: url(../img/calculation.png) center center; background-size: cover; box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.15); padding: 60px 50px; position: relative; z-index: 1; }
.calculation .calculation__controls { display: flex; align-items: center; justify-content: space-between; max-width: 820px; }
.calculation .calculation__controls-info { width: 438px; background: #F7FBFF; padding: 15px 30px; line-height: 1.5; box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.15); font-size: 15px; color: #232931; position: relative; }
.calculation .calculation__controls-info:after { content: ""; position: absolute; left: 100%; margin-left: -1px; bottom: 20px; width: 20px; height: 20px; background: url(../img/icons/corner.svg) left bottom no-repeat; background-size: contain; }
.calculation .calculation__controls-info p + p { margin-top: 15px; }
.calculation .calculation__controls-info b { font-weight: 700; display: block; }
.calculation .calculation__photo { position: absolute; right: 0; bottom: 0; z-index: -1; font-size: 0; }

.advantages { background: url(../img/advantages.png) center center; background-size: cover; padding: 150px 0 130px; margin-top: -45px; }
.advantages .advantages__list { display: flex; flex-wrap: wrap; max-width: 1092px; margin: 0 auto -30px; justify-content: space-between; }
.advantages .advantage { width: 33.33333%; max-width: 280px; color: #fff; font-size: 0; padding: 30px 0; }
.advantages .advantage img { margin-bottom: 15px; max-width: 100%; }
.advantages .advantage span { display: block; font-weight: 600; font-size: 20px; line-height: 1.45; margin-bottom: 10px; }
.advantages .advantage p { line-height: 1.5; font-size: 14px; }

.objects { padding-top: 128px; }
.objects .objects__list { margin: 0 -25px; padding-top: 30px; }
.objects .object { margin: 0 25px; font-size: 0; position: relative; }
.objects .object img { width: 100%; }
.objects .object .object__name { font-weight: 600; font-size: 25px; color: #fff; position: absolute; left: 0; right: 0; bottom: 0; padding: 0 22px 20px; text-align: center; line-height: 1.3; }
.objects .slick-dots { text-align: center; display: block; width: 100%; margin-top: 20px; }
.objects .slick-dots li { display: inline-block; vertical-align: middle; font-size: 0; padding: 0; margin: 0 6px; }
.objects .slick-dots li button { width: 15px; height: 15px; background: #dfdfdf; display: block; padding: 0; cursor: pointer; color: transparent; border: 0; outline: none; border-radius: 50%; }
.objects .slick-dots li.slick-active button { background: #0D6467; }
.objects .objects__map { margin-top: 130px; }
.objects .objects__map .title { margin-bottom: -40px; position: relative; z-index: 1; }
.objects .objects__map-image { width: 941px; font-size: 0; margin: 0 auto; position: relative; }
.objects .objects__map-image svg { width: 100%; }
.objects .objects__map-image svg .point { -moz-transition: 0.3s; -o-transition: 0.3s; -webkit-transition: 0.3s; transition: 0.3s; cursor: pointer; }
.objects .objects__map-image svg .point.hover { fill: #ff0000 !important; stroke: #ff0000 !important; stroke-width: 16px !important; }
.objects .objects__map-image svg .point.active { fill: #fff !important; stroke: #fff !important; }
.objects .label { font-size: 12px; line-height: 1.45; color: #000; position: absolute; background-size: contain !important; background-repeat: no-repeat !important; display: none; }
.objects .label p { position: absolute; }
.objects .label span { text-transform: uppercase; font-weight: 700; display: block; }
.objects .label.selected { color: #0D6467; }
.objects .left p { left: 10px; }
.objects .right p { right: 10px; }
.objects .top p { bottom: 100%; margin-bottom: -8px; }
.objects .bottom p { bottom: 0; margin-bottom: 8px; }
.objects .label-1 { width: 341px; height: 53px; right: 793px; bottom: 88px; background: url(../img/labels/1.svg); }
.objects .label-2 { width: 369px; height: 149px; right: 741px; bottom: 206px; background: url(../img/labels/2.svg); }
.objects .label-3 { width: 262px; height: 52px; right: 542px; bottom: 450px; background: url(../img/labels/3.svg); }
.objects .label-4 { width: 258px; height: 56px; right: 537px; bottom: 456px; background: url(../img/labels/4.svg); }
.objects .label-5 { width: 241px; height: 68px; right: 530px; bottom: 464px; background: url(../img/labels/5.svg); }
.objects .label-6 { width: 400px; height: 117px; right: 431px; bottom: 243px; background: url(../img/labels/6.svg); }
.objects .label-7 { width: 482px; height: 145px; right: 413px; bottom: 278px; background: url(../img/labels/7.svg); }
.objects .label-8 { width: 367px; height: 220px; right: 405px; bottom: 328px; background: url(../img/labels/8.svg); }
.objects .label-9 { width: 427px; height: 212px; right: 400px; bottom: 250px; background: url(../img/labels/9.svg); }
.objects .label-10 { width: 349px; height: 173px; right: 384px; bottom: -22px; background: url(../img/labels/10.svg); }
.objects .label-10 p { margin-bottom: 16px; }
.objects .label-11 { width: 252px; height: 246px; right: 366px; bottom: -47px; background: url(../img/labels/11.svg); }
.objects .label-12 { width: 337px; height: 205px; right: 354px; bottom: -49px; background: url(../img/labels/12.svg); }
.objects .label-12 p { margin-bottom: 14px; }
.objects .label-13 { width: 513px; height: 180px; right: 358px; bottom: 275px; background: url(../img/labels/13.svg); }
.objects .label-13 p { margin-bottom: -12px; }
.objects .label-14 { width: 389px; height: 261px; right: 343px; bottom: -31px; background: url(../img/labels/14.svg); }
.objects .label-15 { width: 383px; height: 178px; right: 341px; bottom: -13px; background: url(../img/labels/15.svg); }
.objects .label-16 { width: 444px; height: 200px; right: 334px; bottom: -49px; background: url(../img/labels/16.svg); }
.objects .label-17 { width: 338px; height: 251px; right: 319px; bottom: -54px; background: url(../img/labels/17.svg); }
.objects .label-17 p { margin-bottom: 14px; }
.objects .label-18 { width: 506px; height: 111px; left: 637px; top: 342px; background: url(../img/labels/18.svg); }
.objects .label-18 p { margin-bottom: -12px; }
.objects .label-19 { width: 450px; height: 112px; left: 635px; top: 331px; background: url(../img/labels/19.svg); }
.objects .label-19 p { margin-bottom: -11px; }
.objects .label-20 { width: 450px; height: 163px; left: 633px; bottom: 63px; background: url(../img/labels/20.svg); }
.objects .label-20 p { margin-bottom: 16px; }
.objects .label-21 { width: 491px; height: 162px; left: 638px; bottom: 50px; background: url(../img/labels/21.svg); }
.objects .label-21 p { margin-bottom: 16px; }
.objects .label-22 { width: 343px; height: 189px; left: 633px; bottom: -58px; background: url(../img/labels/22.svg); }
.objects .label-22 p { margin-bottom: 16px; }
.objects .label-23 { width: 436px; height: 131px; left: 651px; top: 267px; background: url(../img/labels/23.svg); }
.objects .label-24 { width: 476px; height: 45px; left: 649px; top: 397px; background: url(../img/labels/24.svg); }
.objects .label-24 p { margin-bottom: 8px; }
.objects .label-25 { width: 437px; height: 97px; left: 652px; top: 333px; background: url(../img/labels/25.svg); }
.objects .label-25 p { margin-bottom: 8px; }
.objects .label-26 { width: 447px; height: 81px; left: 662px; top: 244px; background: url(../img/labels/26.svg); }
.objects .label-27 { width: 465px; height: 133px; left: 661px; top: 316px; background: url(../img/labels/27.svg); }
.objects .label-27 p { margin-bottom: 8px; }
.objects .label-28 { width: 428px; height: 49px; left: 662px; top: 364px; background: url(../img/labels/28.svg); }
.objects .label-28 p { margin-bottom: 8px; }
.objects .label-29 { width: 413px; height: 94px; left: 683px; bottom: 0px; background: url(../img/labels/29.svg); }
.objects .label-29 p { margin-bottom: 16px; }
.objects .label-30 { width: 364px; height: 144px; left: 757px; top: 203px; background: url(../img/labels/30.svg); }
.objects .label-30 p { margin-bottom: 20px; }
.objects .label-31 { width: 395px; height: 142px; left: 764px; top: 188px; background: url(../img/labels/31.svg); }
.objects .label-31 p { margin-bottom: 20px; }

.callback { margin-top: 150px; background: url(../img/callback.png) center center; background-size: cover; padding: 50px 0; }
.callback .callback__content { display: flex; align-items: center; }
.callback .callback__title { width: 370px; padding-right: 20px; font-size: 18px; font-weight: 700; line-height: 1.45; text-transform: uppercase; }
.callback .callback__form { flex: 1 0; }
.callback .callback__form form { display: flex; margin: 0 -10px; }
.callback .callback__form .form-group { width: 33.33333%; padding: 0 10px; margin: 0; }
.callback .callback__form .form-group .submit { min-width: 0; width: 100%; }

.reviews { padding-top: 140px; }
.reviews .reviews__content { display: flex; align-items: center; }
.reviews .reviews__controls { width: 32%; padding-right: 30px; }
.reviews .reviews__list { width: calc(68% + 30px); margin: -15px; }
.reviews .slick-arrow { display: inline-block; width: 54px; height: 54px; font-size: 0; -moz-transition: 0.3s; -o-transition: 0.3s; -webkit-transition: 0.3s; transition: 0.3s; }
.reviews .slick-arrow:hover { background-color: #005457; }
.reviews .slick-prev { background: url(../img/icons/prev.svg) center center no-repeat #0D6467; margin-right: 50px; }
.reviews .slick-next { background: url(../img/icons/next.svg) center center no-repeat #0D6467; }
.reviews .slick-dots { margin-top: 40px; }
.reviews .slick-dots li { display: inline-block; vertical-align: middle; font-size: 0; padding: 0; margin: 0 28px 0 0; }
.reviews .slick-dots li button { width: 34px; height: 4px; background: #B4B4B4; display: block; padding: 0; cursor: pointer; color: transparent; border: 0; outline: none; -moz-transition: 0.3s; -o-transition: 0.3s; -webkit-transition: 0.3s; transition: 0.3s; }
.reviews .slick-dots li.slick-active button { background: #0D6467; }

.review { margin: 35px 15px; font-size: 0; position: relative; }
.review:after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 21px; background: url(../img/icons/shadow.png) center center no-repeat; background-size: contain; z-index: -1; opacity: 0; -moz-transition: 0.3s; -o-transition: 0.3s; -webkit-transition: 0.3s; transition: 0.3s; }
.review a { box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.15); display: block; position: relative; z-index: 1; top: 0; -moz-transition: 0.3s; -o-transition: 0.3s; -webkit-transition: 0.3s; transition: 0.3s; }
.review a:after { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(180deg, rgba(13, 100, 103, 0.4) 0%, #0d6467 100%, rgba(13, 100, 103, 0.85) 100%); opacity: 0; z-index: 1; box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.15); }
.review a:before { content: ""; position: absolute; z-index: 2; left: 50%; top: 50%; margin: -17px 0 0 -17px; width: 34px; height: 34px; background: url(../img/icons/zoom.svg) center center no-repeat; opacity: 0; }
.review img { width: 100%; }
.review:hover:after { opacity: 1; bottom: -20px; }
.review:hover a { top: -20px; }
.review:hover a:after, .review:hover a:before { opacity: 1; }

.footer { padding: 85px 0; background: url(../img/footer.png) bottom right no-repeat #0D6467; color: #fff; margin-top: 120px; }
.footer .form-control { background: rgba(255, 255, 255, 0.15); color: #fff; border-color: transparent; }
.footer .form-control:-moz-placeholder, .footer .form-control::-moz-placeholder { color: #fff; opacity: 1; }
.footer .form-control::-webkit-input-placeholder { color: #fff; }
.footer .form-control.error { border-color: #fff; }
.footer .btn { width: 100%; min-width: 0; }
.footer .consent { margin-top: 30px; }
.footer .footer__contacts { margin-top: 80px; }
.footer .footer__contacts .section { font-weight: 600; }
.footer .footer__contacts .section span { color: #62B8BB; font-size: 18px; }
.footer .footer__contacts .section p { line-height: 1.4; font-size: 20px; line-height: 1.45; margin-top: 10px; }
.footer .footer__contacts a:hover { opacity: 0.8; }
.footer .footer__design { display: flex; align-items: center; font-size: 0; color: #fff; margin-top: 30px; }
.footer .footer__design p { font-size: 14px; margin-right: 10px; }
.footer .footer__design a { border-bottom: 1px dashed #fff; }
.footer .footer__design a:hover { border-color: transparent; }
.footer .footer__design img { max-width: 100px; }

.modal { width: 100%; box-shadow: 0px 4px 33px rgba(0, 0, 0, 0.07); border-radius: 3px; position: relative; z-index: 1; border-radius: 2px; }
.modal .fancybox-close-small { opacity: 1; padding: 0; right: 30px; top: 30px; width: 17px; height: 17px; background: url(../img/icons/close.svg) center center no-repeat; background-size: contain; -moz-transition: 0.3s; -o-transition: 0.3s; -webkit-transition: 0.3s; transition: 0.3s; }
.modal .fancybox-close-small svg { display: none; }
.modal .fancybox-close-small:hover { opacity: 0.8; }
.modal .modal__title h3, .modal .service__info-title { font-size: 28px; font-weight: 700; color: #0D6467; text-transform: uppercase; margin-bottom: 15px; line-height: 1.4; }
.modal .modal__title { margin-bottom: 30px; }
.modal .modal__title h3 { margin-bottom: 5px; }
.modal .modal__title p { letter-spacing: 0.02em; font-size: 16px; line-height: 1.45; }
.modal .modal__text { font-size: 22px; line-height: 1.45; }

.modal-callback { max-width: 520px; padding: 60px; }
.modal-callback form { text-align: center; }

.modal-information { max-width: 540px; padding: 60px; text-align: center; }

.modal-service { max-width: 1200px; padding: 0; }
.modal-service .fancybox-close-small { background: url(../img/icons/close-white.svg) center center no-repeat; background-size: contain; }
.modal-service .form-control { background: rgba(255, 255, 255, 0.15); color: #fff; border-color: transparent; }
.modal-service .form-control:-moz-placeholder, .modal-service .form-control::-moz-placeholder { color: #fff; opacity: 1; }
.modal-service .form-control::-webkit-input-placeholder { color: #fff; }
.modal-service .form-control.error { border-color: #fff; }
.modal-service .consent label { color: #fff; }
.modal-service .consent label a { color: #fff; border-bottom: 1px solid #fff; }
.modal-service .consent label a:hover { border-color: transparent; }
.modal-service .textblock { font-size: 18px; line-height: 1.5; }
.modal-service .service__content { display: table; table-layout: fixed; width: 100%; }
.modal-service .service__content > div { display: table-cell; vertical-align: top; width: 50%; }
.modal-service .service__info { padding: 60px; }
.modal-service .service__info a { display: inline-block; margin-top: 32px; color: #0D6467; font-size: 18px; letter-spacing: 0.02em; font-weight: 600; }
.modal-service .service__info a:after { content: ""; display: inline-block; vertical-align: middle; width: 24px; height: 12px; background: url(../img/icons/arrow-service.svg) center center no-repeat; background-size: contain; margin-left: 8px; position: relative; top: -1px; left: 0; -moz-transition: 0.3s; -o-transition: 0.3s; -webkit-transition: 0.3s; transition: 0.3s; }
.modal-service .service__info a:hover:after { left: 3px; }
.modal-service .service__form { padding: 70px 90px; color: #fff; background-size: cover !important; text-align: center; }
.modal-service .service__form p { letter-spacing: 0.02em; font-size: 23px; line-height: 1.45; margin-bottom: 30px; }
.modal-service .service__form form { max-width: 418px; margin: 0 auto; }
.modal-service .service-1 { background: url(../img/services/service-1.png) center center; }
.modal-service .service-2 { background: url(../img/services/service-2.png) center center; }
.modal-service .service-3 { background: url(../img/services/service-3.png) center center; }
.modal-service .service-4 { background: url(../img/services/service-4.png) center center; }
.modal-service .service-5 { background: url(../img/services/service-5.png) center center; }
.modal-service .service-6 { background: url(../img/services/service-6.png) center center; }
.modal-service .service-7 { background: url(../img/services/service-7.png) center center; }
.modal-service .service-8 { background: url(../img/services/service-8.png) center center; }
.modal-service .service-9 { background: url(../img/services/service-9.png) center center; }
.modal-service .service-10 { background: url(../img/services/service-10.png) center center; }

.modal-quiz { max-width: 1200px; padding: 65px 75px; }
.modal-quiz .slick-dots { display: flex; width: 100%; }
.modal-quiz .slick-dots li:not(:last-child) { margin-right: 80px; }
.modal-quiz .slick-dots li { flex-grow: 1; }
.modal-quiz .slick-dots li button { width: 100%; height: 8px; background: #E0E0E0; display: block; padding: 0; cursor: default; color: transparent; border: 0; outline: none; }
.modal-quiz .slick-dots li.slick-active button, .modal-quiz .slick-dots li:not(.slick-active, .slick-active ~ li) button { background: #0D6467; }
.modal-quiz .step__content { min-height: 400px; margin-top: 70px; }
.modal-quiz .step__content-current { font-size: 18px; font-weight: 500; }
.modal-quiz .step__content-title { font-size: 35px; font-weight: 700; text-transform: uppercase; color: #0D6467; line-height: 1.3; margin: 15px 0 42px; }
.modal-quiz .step__nav { display: flex; align-items: center; }
.modal-quiz .step__nav br { display: none; }
.modal-quiz .step__nav .next, .modal-quiz .step__nav .submit { min-width: 240px; margin-right: 40px; }
.modal-quiz .step__nav .prev { font-size: 16px; font-weight: 500; letter-spacing: 0.02em; color: #A9A9A9; }
.modal-quiz .step__nav .prev:hover { color: #898989; }
.modal-quiz textarea { margin-top: 40px; height: 90px; -moz-transition: 0.3s; -o-transition: 0.3s; -webkit-transition: 0.3s; transition: 0.3s; padding: 15px 20px; }
.modal-quiz textarea:disabled { opacity: 0.4; }
.modal-quiz .info { font-size: 16px; font-weight: 500; margin-bottom: 30px; }

@media screen and (max-width: 1499px) { .btn { font-size: 16px; height: 56px; line-height: 56px; padding: 0 40px; min-width: 300px; }
  .form-control { height: 56px; padding: 0 25px; font-size: 15px; }
  .title { margin-bottom: 35px; }
  .title h2 { font-size: 40px; }
  .title p { font-size: 23px; }
  .header { padding: 25px 0; }
  .mainbanner { height: calc(100vh - 89px); min-height: 500px; max-height: 850px; }
  .mainbanner .mainbanner__offer h1 { font-size: 32px; max-width: 520px; }
  .mainbanner .mainbanner__offer p { margin-top: 15px; font-size: 16px; }
  .mainbanner .mainbanner__offer .button { margin-top: 35px; max-width: 600px; }
  .mainbanner .mainbanner__content .button p { font-size: 12px; }
  .mainbanner .mainbanner__numbers { max-width: 540px; }
  .mainbanner .mainbanner__numbers .number p { font-size: 45px; }
  .mainbanner .mainbanner__numbers .number > span { font-size: 15px; }
  .mainbanner .mainbanner__socials { margin: 35px 0 0; }
  .about { padding: 90px 0 30px; }
  .services { padding: 90px 0 30px; }
  .calculation { padding-top: 150px; }
  .calculation .calculation__controls { max-width: 780px; }
  .advantages { padding: 130px 0 110px; }
  .objects { padding-top: 90px; }
  .objects .objects__list { padding-top: 25px; }
  .objects .objects__map { margin-top: 90px; }
  .callback { margin-top: 120px; }
  .reviews { padding-top: 110px; }
  .modal .fancybox-close-small { opacity: 1; padding: 0; right: 25px; top: 25px; width: 15px; height: 15px; }
  .modal .modal__title h3, .modal .service__info-title { font-size: 26px; }
  .modal .modal__text { font-size: 20px; }
  .modal-callback { max-width: 500px; padding: 55px; }
  .modal-information { max-width: 520px; padding: 55px; }
  .modal-service { max-width: 1140px; }
  .modal-service .textblock { font-size: 17px; line-height: 1.45; }
  .modal-service .service__info { padding: 55px; }
  .modal-service .service__info a { margin-top: 30px; font-size: 16px; }
  .modal-service .service__info a:after { width: 22px; height: 11px; }
  .modal-service .service__form { padding: 60px 75px; }
  .modal-service .service__form p { font-size: 21px; }
  .modal-service .service__form form { max-width: 400px; }
  .modal-quiz { max-width: 1140px; padding: 60px 65px; }
  .modal-quiz .slick-dots li:not(:last-child) { margin-right: 70px; }
  .modal-quiz .slick-dots li button { height: 7px; }
  .modal-quiz .step__content { min-height: 375px; margin-top: 50px; }
  .modal-quiz .step__content-current { font-size: 17px; }
  .modal-quiz .step__content-title { font-size: 31px; margin: 12px 0 35px; }
  .modal-quiz .step__nav .next, .modal-quiz .step__nav .submit { min-width: 230px; }
  .modal-quiz .step__nav .prev { font-size: 15px; }
  .modal-quiz .info { margin-bottom: 25px; } }
@media screen and (max-width: 1366px) { .objects .objects__map-image { -ms-transform: scale(0.9); -webkit-transform: scale(0.9); transform: scale(0.9); } }
@media screen and (max-width: 1229px) { .btn { font-size: 15px; height: 52px; line-height: 52px; padding: 0 30px; min-width: 270px; }
  .form-group { margin-bottom: 25px; }
  .form-control { height: 52px; padding: 0 20px; }
  .checkbox + .checkbox { margin-top: 35px; }
  .checkbox label { padding-left: 32px; font-size: 14px; }
  .checkbox input[type="checkbox"] + label:before { width: 18px; height: 18px; top: -3px; }
  .checkbox input[type="checkbox"]:checked + label:after { height: 12px; width: 12px; left: 4px; top: 1px; }
  .radio + .radio { margin-top: 35px; }
  .radio label { padding-left: 32px; font-size: 14px; }
  .radio input[type="radio"] + label:before { width: 18px; height: 18px; top: -3px; }
  .radio input[type="radio"]:checked + label:after { height: 10px; width: 10px; left: 5px; top: 2px; }
  .title { margin-bottom: 30px; }
  .title h2 { font-size: 35px; }
  .title p { font-size: 21px; }
  .textblock { font-size: 16px; }
  .container { max-width: 992px; }
  .header { padding: 20px 0; }
  .header .header__logo { width: 24%; }
  .header .header__nav { font-size: 13px; }
  .header .header__nav li { margin: 0 15px; }
  .header .header__contacts .phone { font-size: 16px; }
  .header .header__contacts .email { font-size: 13px; }
  .mainbanner { height: auto; min-height: 0; max-height: none; padding: 50px 0 55px; display: block; }
  .mainbanner .mainbanner__content { display: block; }
  .mainbanner .mainbanner__content .container { padding-left: 45px; }
  .mainbanner .mainbanner__offer h1 { font-size: 28px; max-width: 450px; }
  .mainbanner .mainbanner__offer p { font-size: 14px; }
  .mainbanner .mainbanner__offer .button { margin-top: 30px; max-width: 550px; }
  .mainbanner .mainbanner__numbers { max-width: 480px; }
  .mainbanner .mainbanner__numbers .number p { font-size: 38px; }
  .mainbanner .mainbanner__numbers .number > span { font-size: 14px; }
  .mainbanner .mainbanner__socials { margin: 35px 0 0; }
  .about { padding: 70px 0 30px; }
  .about:before { margin-right: 122px; }
  .about .about__video { width: 360px; min-height: 350px; }
  .about .about__video .video:nth-child(2) { left: 25px; top: 40px; }
  .about .about__video .video:nth-child(3) { left: 50px; top: 80px; }
  .about .about__video .play { width: 60px; height: 60px; margin: -30px 0 0 -30px; }
  .about .about__info { padding: 0 0 0 100px; }
  .about .about__info .btn { margin-top: 35px; }
  .services { padding: 70px 0 30px; }
  .service { width: calc(25% - 30px); padding: 25px 15px; }
  .service p { font-size: 15px; }
  .calculation { padding-top: 130px; }
  .calculation .calculation__content { max-width: 900px; padding: 50px 45px; }
  .calculation .calculation__controls { max-width: 700px; }
  .calculation .calculation__controls-info { width: 395px; padding: 15px 20px; font-size: 14px; }
  .calculation .calculation__controls-info p + p { margin-top: 12px; }
  .calculation .calculation__photo img { max-width: 380px; }
  .advantages { padding: 110px 0 90px; }
  .advantages .advantages__list { max-width: 900px; margin: 0 auto -25px; }
  .advantages .advantage { max-width: 260px; padding: 25px 0; }
  .advantages .advantage span { font-size: 18px; }
  .objects { padding-top: 70px; }
  .objects .objects__list { margin: 0 -20px; padding-top: 20px; }
  .objects .object { margin: 0 20px; }
  .objects .object .object__name { font-size: 20px; }
  .objects .objects__map { margin-top: 70px; }
  .objects .objects__map .title { margin-bottom: -30px; }
  .objects .objects__map-image { -ms-transform: scale(0.72); -webkit-transform: scale(0.72); transform: scale(0.72); }
  .callback { margin-top: 90px; }
  .callback .callback__title { width: 320px; font-size: 15px; }
  .reviews { padding-top: 90px; }
  .reviews .slick-arrow { width: 48px; height: 48px; background-size: 25% !important; }
  .reviews .slick-prev { margin-right: 30px; }
  .reviews .slick-dots { margin-top: 30px; }
  .reviews .slick-dots li { margin: 0 22px 0 0; }
  .reviews .slick-dots li button { width: 28px; }
  .footer { margin-top: 90px; }
  .footer .footer__contacts { margin-top: 70px; }
  .footer .footer__contacts .section span { font-size: 16px; }
  .footer .footer__contacts .section p { font-size: 18px; }
  .modal .fancybox-close-small { right: 20px; top: 20px; }
  .modal .modal__title h3, .modal .service__info-title { font-size: 22px; }
  .modal .modal__text { font-size: 18px; }
  .modal-callback { max-width: 460px; padding: 50px; }
  .modal-information { max-width: 480px; padding: 50px; }
  .modal-service { max-width: 950px; }
  .modal-service .textblock { font-size: 16px; line-height: 1.4; }
  .modal-service .service__info { padding: 50px; }
  .modal-service .service__info a { margin-top: 25px; font-size: 15px; }
  .modal-service .service__form { padding: 50px 65px; }
  .modal-service .service__form p { font-size: 19px; }
  .modal-quiz { max-width: 950px; padding: 50px; }
  .modal-quiz .slick-dots li:not(:last-child) { margin-right: 60px; }
  .modal-quiz .slick-dots li button { height: 6px; }
  .modal-quiz .step__content { min-height: 310px; margin-top: 40px; }
  .modal-quiz .step__content-current { font-size: 16px; }
  .modal-quiz .step__content-title { font-size: 27px; margin: 10px 0 25px; }
  .modal-quiz .step__nav .next, .modal-quiz .step__nav .submit { min-width: 210px; margin-right: 30px; }
  .modal-quiz .step__nav .prev { font-size: 14px; }
  .modal-quiz .info { margin-bottom: 20px; }
  .modal-quiz textarea { margin-top: 35px; height: 72px; }
  .modal-quiz .row { margin: -10px; }
  .modal-quiz .row .col { padding: 10px; } }
@media screen and (max-width: 991px) { .btn { font-size: 14px; }
  .title h2 { font-size: 30px; }
  .title p { font-size: 19px; margin-top: 10px; }
  .textblock { font-size: 15px; }
  .socials img { max-width: 22px; max-height: 20px; }
  .container { max-width: 768px; }
  .header .header__logo { width: 24%; }
  .header .header__nav { font-size: 12px; }
  .header .header__nav li { margin: 0 5px; }
  .header .header__contacts .phone { font-size: 15px; }
  .header .header__contacts .email { font-size: 12px; }
  .mainbanner { padding: 40px 0 45px; }
  .mainbanner .mainbanner__content .container { padding-left: 45px; }
  .mainbanner .mainbanner__offer h1 { font-size: 24px; max-width: 390px; }
  .mainbanner .mainbanner__offer p { max-width: 370px; }
  .mainbanner .mainbanner__content .button { max-width: 495px; }
  .mainbanner .mainbanner__content .button p { font-size: 10px; }
  .mainbanner .mainbanner__numbers { flex-wrap: wrap; max-width: 400px; margin: 25px -10px -5px; }
  .mainbanner .mainbanner__numbers .number { padding: 5px 10px; width: 42%; }
  .mainbanner .mainbanner__numbers .number p { font-size: 32px; }
  .mainbanner .mainbanner__socials { margin: 30px 0 0; }
  .about { padding: 50px 0 30px; }
  .about:before { margin-right: 89px; }
  .about .about__video { width: 280px; min-height: 300px; }
  .about .about__video .video:nth-child(2) { left: 20px; top: 35px; }
  .about .about__video .video:nth-child(3) { left: 40px; top: 70px; }
  .about .about__video .play { width: 54px; height: 54px; margin: -27px 0 0 -27px; }
  .about .about__video .play:after { margin: -7px 0 0 -4px; border-left: 14px solid #0D6467; border-right: 8px; border-top: 8px solid transparent; border-bottom: 8px solid transparent; }
  .about .about__video .play:hover:after { -ms-transform: scale(1.25); -webkit-transform: scale(1.25); transform: scale(1.25); }
  .about .about__info { padding: 0 0 0 80px; }
  .about .about__info .btn { margin-top: 30px; }
  .services { padding: 50px 0 30px; }
  .service { width: calc(33.33333333% - 30px); }
  .service img { max-height: 60px; }
  .calculation { padding-top: 110px; }
  .calculation .title { max-width: 380px; }
  .calculation .calculation__content { max-width: 100%; padding: 35px 40px 40px; }
  .calculation .calculation__controls { display: block; max-width: 400px; }
  .calculation .calculation__controls-info { width: 390px; margin-top: 25px; }
  .calculation .calculation__controls-info p + p { margin-top: 10px; }
  .calculation .calculation__photo { overflow: hidden; }
  .calculation .calculation__photo img { max-width: 440px; position: relative; right: -40px; }
  .advantages { padding: 110px 0 60px; }
  .advantages .advantages__list { margin: 0 auto -20px; }
  .advantages .advantage { max-width: 220px; padding: 20px 0; }
  .advantages .advantage img { max-height: 45px; }
  .advantages .advantage span { font-size: 16px; }
  .objects { padding-top: 50px; }
  .objects .objects__list { margin: 0 -15px; padding-top: 0; }
  .objects .object { margin: 0 15px; }
  .objects .object .object__name { font-size: 18px; padding: 0 15px 15px; }
  .objects .objects__map { margin-top: 50px; }
  .objects .objects__map .title { margin-bottom: -20px; }
  .objects .objects__map-image { -ms-transform: scale(1); -webkit-transform: scale(1); transform: scale(1); width: 100%; }
  .objects .labels { display: flex; flex-wrap: wrap; margin: 30px -10px -15px; }
  .objects .label { width: 50%; padding: 10px 15px; position: static; display: block !important; height: auto !important; background: none !important; font-size: 14px; }
  .objects .label p { position: relative; padding: 0 0 0 20px; left: auto; top: auto; right: auto; bottom: auto; font-size: 13px; }
  .objects .label p:before { content: ""; position: absolute; left: 0; top: 5px; width: 9px; height: 9px; background: #0D6467; border-radius: 50%; }
  .callback { margin-top: 70px; }
  .callback .callback__content { flex-wrap: wrap; }
  .callback .callback__title { width: 100%; }
  .callback .callback__form { width: 100%; margin-top: 20px; }
  .reviews { padding-top: 70px; }
  .reviews .reviews__list { width: calc(68% + 20px); margin: -20px; }
  .reviews .slick-arrow { width: 40px; height: 40px; }
  .reviews .slick-prev { margin-right: 20px; }
  .reviews .slick-dots { margin-top: 20px; }
  .reviews .slick-dots li { margin: 0 8px 0 0; }
  .reviews .slick-dots li button { width: 18px; }
  .review { margin: 35px 10px; }
  .footer { margin-top: 70px; padding: 70px 0; }
  .footer .footer__contacts { margin-top: 60px; }
  .footer .footer__contacts .col { width: 50%; }
  .footer .footer__contacts .section span { font-size: 15px; }
  .footer .footer__contacts .section p { font-size: 16px; }
  .modal .fancybox-close-small { right: 15px; top: 15px; }
  .modal .modal__title h3, .modal .service__info-title { font-size: 20px; }
  .modal .modal__text { font-size: 16px; }
  .modal-callback { max-width: 440px; padding: 45px; }
  .modal-information { max-width: 450px; padding: 45px; }
  .modal-service { max-width: 700px; }
  .modal-service .textblock { font-size: 15px; line-height: 1.3; }
  .modal-service .service__info { padding: 40px; }
  .modal-service .service__info a { margin-top: 20px; font-size: 14px; }
  .modal-service .service__form { padding: 40px; }
  .modal-service .service__form p { font-size: 17px; }
  .modal-service .service__form .btn { min-width: 200px; }
  .modal-quiz { max-width: 700px; padding: 40px; }
  .modal-quiz .checkbox { min-height: 34px; }
  .modal-quiz .checkbox + .checkbox { margin-top: 18px; }
  .modal-quiz .radio { min-height: 40px; }
  .modal-quiz .radio + .radio { margin-top: 18px; }
  .modal-quiz .slick-dots li:not(:last-child) { margin-right: 50px; }
  .modal-quiz .slick-dots li button { height: 5px; }
  .modal-quiz .step__content { margin-top: 30px; }
  .modal-quiz .step__content-current { font-size: 15px; }
  .modal-quiz .step__content-title { font-size: 23px; margin: 10px 0 20px; }
  .modal-quiz .info { font-size: 15px; }
  .modal-quiz .step__nav .next, .modal-quiz .step__nav .submit { min-width: 190px; margin-right: 20px; }
  .modal-quiz textarea { margin-top: 35px; height: 72px; } }
@media screen and (max-width: 767px) { .mobmenu-toggle, .mobmenu { display: block; }
  .btn { font-size: 13px; height: 48px; line-height: 48px; min-width: 230px; }
  .form-gorup { margin-bottom: 20px; }
  .form-control { height: 48px; font-size: 14px; }
  .title h2 { font-size: 25px; }
  .title p { font-size: 17px; }
  .socials img { max-width: 22px; max-height: 20px; }
  .container { max-width: 576px; }
  .header .header__logo { width: 45%; }
  .header .header__nav { display: none; }
  .header .header__contacts .phone { font-size: 16px; }
  .header .header__contacts .email { font-size: 13px; }
  .mainbanner .mainbanner__content .container { padding-left: 15px; }
  .mainbanner .mainbanner__offer h1 { font-size: 20px; max-width: 320px; }
  .mainbanner .mainbanner__offer p { max-width: 340px; }
  .mainbanner .mainbanner__offer .button { display: block; max-width: 100%; }
  .mainbanner .mainbanner__offer .button p { margin: 20px 0 0; font-size: 12px; }
  .mainbanner .mainbanner__numbers { flex-wrap: wrap; max-width: 370px; margin: 25px -10px -5px; }
  .mainbanner .mainbanner__numbers .number { padding: 5px 10px; width: 42%; }
  .mainbanner .mainbanner__numbers .number p { font-size: 30px; }
  .mainbanner .mainbanner__socials { display: none; }
  .about { padding: 50px 0 0; }
  .about:before { display: none; }
  .about .about__content { flex-wrap: wrap; }
  .about .about__video { width: 350px; min-height: 0; order: 1; margin: 50px auto 70px; position: relative; left: -25px; }
  .about .about__info { padding: 0; width: 100%; }
  .services { padding: 50px 0 0; }
  .services .container { padding: 0 15px; }
  .service { width: calc(50% - 30px); }
  .calculation { padding: 50px 0 0; }
  .calculation .calculation__content { padding-bottom: 260px; overflow: hidden; }
  .calculation .calculation__controls-info { position: absolute; bottom: 40px; left: 40px; width: 280px; }
  .calculation .calculation__photo img { max-width: 320px; }
  .advantages .advantages__list { margin: 0 auto -20px; }
  .advantages .advantage { width: 50%; max-width: 250px; padding: 20px 0; }
  .advantages .advantage img { max-height: 40px; }
  .advantages .advantage span { font-size: 16px; }
  .objects .object .object__name { font-size: 16px; padding: 0 20px 15px; }
  .objects .labels { display: block; margin: 35px 0 0; }
  .objects .label { padding: 0; width: 100%; }
  .objects .label + .label { margin-top: 15px; }
  .objects .objects__map-image svg .point.hover { stroke-width: 20px !important; }
  .callback { margin-top: 50px; }
  .callback .callback__content { flex-wrap: wrap; }
  .callback .callback__title { width: 100%; }
  .callback .callback__form { width: 100%; margin-top: 20px; }
  .callback .callback__form form { flex-wrap: wrap; justify-content: center; margin: -10px; }
  .callback .callback__form .form-group { width: 50%; padding: 10px; margin: 0; }
  .reviews { padding-top: 50px; }
  .reviews .reviews__controls { width: 35%; padding-right: 20px; }
  .reviews .reviews__list { width: calc(65% + 20px); }
  .reviews .slick-arrow { width: 32px; height: 32px; }
  .modal .modal__title h3, .modal .service__info-title { font-size: 18px; }
  .modal .modal__title { margin-bottom: 20px; }
  .modal .modal__title p { font-size: 15px; line-height: 1.3; }
  .modal .modal__text { font-size: 15px; }
  .modal-callback { max-width: 420px; }
  .modal-information { max-width: 430px; }
  .modal-service { max-width: 500px; }
  .modal-service .fancybox-close-small { background: url(../img/icons/close.svg) center center no-repeat; }
  .modal-service .textblock { line-height: 1.4; }
  .modal-service .service__content { display: block; }
  .modal-service .service__content > div { display: block; width: 100%; }
  .modal-service .service__form p { font-size: 18px; }
  .modal-quiz { max-width: 500px; padding: 40px; }
  .modal-quiz .checkbox { min-height: 34px; }
  .modal-quiz .checkbox + .checkbox { margin-top: 18px; }
  .modal-quiz .radio { min-height: 40px; }
  .modal-quiz .radio + .radio { margin-top: 18px; }
  .modal-quiz .slick-dots li:not(:last-child) { margin-right: 30px; }
  .modal-quiz .slick-dots li button { height: 4px; }
  .modal-quiz .step__content { margin-top: 20px; min-height: 350px; }
  .modal-quiz .step__content-current { font-size: 14px; }
  .modal-quiz .step__content-title { font-size: 19px; }
  .modal-quiz .info { font-size: 14px; }
  .modal-quiz .step__nav { margin-top: 20px; }
  .modal-quiz .step__nav .next, .modal-quiz .step__nav .submit { min-width: 170px; margin-right: 20px; }
  .modal-quiz textarea { margin-top: 25px; height: 72px; }
  .modal-quiz .row .col { width: 50%; }
  .modal-quiz .form .row .col { width: 100%; } }
@media screen and (max-width: 575px) { .container { max-width: 425px; }
  .title { margin-bottom: 25px; }
  .title h2 { font-size: 20px; }
  .title p { font-size: 15px; }
  .btn { min-width: 0; }
  .socials img { max-width: 20px; max-height: 18px; }
  .header .header__logo { width: 55%; }
  .header .header__nav { display: none; }
  .header .header__contacts { display: none; }
  .mainbanner { padding: 30px 0 0; }
  .mainbanner .mainbanner__offer h1 { max-width: 320px; }
  .mainbanner .mainbanner__offer p { max-width: 340px; font-size: 15px; }
  .mainbanner .mainbanner__numbers { max-width: none; }
  .mainbanner .mainbanner__numbers .number { width: 33.33333%; }
  .mainbanner .mainbanner__numbers .number p { font-size: 26px; }
  .mainbanner .mainbanner__bg { position: relative; margin-top: 50px; background: none; }
  .mainbanner .mainbanner__bg img { display: block; }
  .mainbanner .mainbanner__bg .mainbanner__bg-manager { position: static; color: #000; }
  .mainbanner .mainbanner__bg .mainbanner__bg-manager p { max-width: 100px; display: inline-block; }
  .mainbanner .mainbanner__bg .container { height: auto; position: absolute; top: 0; right: 0; left: 0; z-index: 1; padding: 50px 15px 0; }
  .mainbanner .mainbanner__socials { display: none; }
  .about .about__video { width: 300px; margin: 40px auto 70px; }
  .services { padding: 50px 0 0; }
  .services .services__list { display: block; margin: 0; }
  .service { width: 100%; margin: 0; }
  .service + .service { margin-top: 20px; }
  .service p { min-height: 0; }
  .calculation .calculation__content { overflow: hidden; padding: 30px 30px 310px; }
  .calculation .calculation__controls-info { bottom: 35px; left: 30px; width: 200px; }
  .calculation .calculation__photo img { max-width: 320px; right: -90px; }
  .advantages { padding: 90px 0 50px; }
  .advantages .advantages__list { display: block; margin: 0; }
  .advantages .advantage { width: 100%; max-width: none; padding: 10px 0 0; }
  .advantages .advantage + .advantage { margin-top: 30px; }
  .advantages .advantage img { float: left; margin-right: 25px; margin-bottom: 30px; }
  .advantages .advantage span { overflow: hidden; font-size: 15px; }
  .advantages .advantage p { overflow: hidden; }
  .objects .objects__list { margin: 0 -10px; }
  .objects .object { margin: 0 10px; }
  .objects .object .object__name { font-size: 15px; padding: 0 15px 15px; }
  .reviews .reviews__controls { width: 44%; }
  .reviews .reviews__list { width: calc(56% + 10px); margin: -5px; }
  .reviews .slick-arrow { width: 32px; height: 32px; }
  .reviews .slick-dots li button { width: 15px; }
  .review { margin: 35px 5px; }
  .footer { margin-top: 50px; padding: 50px 0; }
  .footer .row { margin: -10px; }
  .footer .col { width: 100%; padding: 10px; }
  .footer .footer__contacts { margin-top: 40px; }
  .footer .footer__contacts .col { width: 100%; }
  .footer .footer__contacts .section span { font-size: 14px; }
  .footer .footer__contacts .section p { font-size: 15px; }
  .footer .footer__design p { font-size: 12px; }
  .modal-callback, .modal-information { padding: 40px; }
  .modal-service { max-width: 390px; }
  .modal-quiz { max-width: 390px; }
  .modal-quiz .checkbox { min-height: 0; }
  .modal-quiz .checkbox + .checkbox { margin-top: 15px; }
  .modal-quiz .checkbox-group .col + .col, .modal-quiz .radio-group .col + .col { margin-top: 15px; }
  .modal-quiz .radio { min-height: 0; }
  .modal-quiz .radio + .radio { margin-top: 18px; }
  .modal-quiz .slick-dots li:not(:last-child) { margin-right: 20px; }
  .modal-quiz .step__content-title { font-size: 17px; }
  .modal-quiz .step__nav { display: block; }
  .modal-quiz .step__nav br { display: block; }
  .modal-quiz .step__nav .prev { display: inline-block; margin-top: 10px; }
  .modal-quiz textarea { margin-top: 20px; height: 60px; }
  .modal-quiz .row { margin: 0; }
  .modal-quiz .row .col { width: 100%; padding: 0; }
  .modal-quiz .form .col + .col { margin-top: 15px; } }
@media screen and (max-width: 425px) { .container { max-width: 375px; padding-left: 20px !important; padding-right: 20px !important; }
  .title { margin-bottom: 20px; }
  .btn { padding: 0 25px; }
  .header .header__logo { width: 72%; }
  .mainbanner .mainbanner__numbers { margin: 40px 0 0; display: block; padding: 0 10px 0 40px; }
  .mainbanner .mainbanner__numbers .number { padding: 0; width: 100%; display: flex; min-height: 50px; }
  .mainbanner .mainbanner__numbers .number + .number { margin-top: 10px; }
  .mainbanner .mainbanner__numbers .number p { width: 90px; font-size: 30px; }
  .mainbanner .mainbanner__numbers .number > span { flex: 1 0; font-size: 15px; }
  .about .about__video { width: 100%; margin: 30px 0 0; left: 0; min-height: 0; }
  .about .about__video .video:nth-child(1), .about .about__video .video:nth-child(2) { display: none; }
  .about .about__video .video:nth-child(3) { position: static; }
  .about .about__info .btn { margin-top: 22px; }
  .calculation .calculation__content { padding: 20px 20px 0; }
  .calculation .calculation__controls-info { position: static; width: auto; padding-bottom: 310px; margin-bottom: -290px; }
  .calculation .calculation__photo { position: static; }
  .calculation .calculation__photo img { max-width: none; width: 100%; position: static; }
  .objects .object .object__name { padding: 0 20px 20px; }
  .objects .objects__map .title { max-width: 190px; }
  .callback .callback__form .form-group { width: 100%; }
  .reviews .reviews__content { display: block; }
  .reviews .reviews__controls { width: 100%; padding-right: 0; }
  .reviews .reviews__list { width: auto; margin: 0 -10px; }
  .review { margin: 35px 10px; }
  .modal .fancybox-close-small { right: 12px; top: 12px; }
  .modal-callback, .modal-information { max-width: 360px; padding: 30px 30px 34px; }
  .modal-service { max-width: 360px; }
  .modal-service .service__info { padding: 30px; }
  .modal-service .service__form { padding: 30px 30px 34px; }
  .modal-service .service__form p { font-size: 16px; }
  .modal-quiz { max-width: 360px; padding: 35px 30px 30px; }
  .modal-quiz .slick-dots li:not(:last-child) { margin-right: 10px; }
  .modal-quiz .row .col { width: 100%; } }
@media screen and (max-width: 359px) { .container { max-width: 320px; padding-left: 15px !important; padding-right: 15px !important; }
  .header .header__logo { width: 78%; }
  .mainbanner .mainbanner__offer h1 { font-size: 18px; }
  .mainbanner .mainbanner__offer p { font-size: 14px; }
  .mainbanner .mainbanner__numbers { margin-top: 30px; padding: 0 10px 0 25px; }
  .mainbanner .mainbanner__numbers .number p { width: 75px; font-size: 25px; }
  .mainbanner .mainbanner__numbers .number > span { font-size: 14px; }
  .calculation .calculation__controls-info { padding-bottom: 300px; margin-bottom: -280px; }
  .modal-callback, .modal-information { padding: 30px 20px; }
  .modal-service .service__info { padding: 30px 20px; }
  .modal-service .service__form { padding: 30px 20px 34px; }
  .modal-quiz { padding: 35px 20px 30px; } }
@media screen and (min-width: 768px) { .openmenu { overflow: auto !important; height: auto !important; position: static !important; } }
