* { margin: 0px; padding: 0px; border: 0; }
*,*::before, *::after {box-sizing: border-box;}
table { border-collapse: collapse; border-spacing: 0;}
a > img {border: none;}
html,body { height: 100%; }
body { width: 100%; font-family: 'Source Sans Pro', sans-serif; /*background: url('../img/bg.png') repeat;*/ font-size: 18px;}
.wrap { min-height: 100%; }
#main { /*padding-bottom: 254px;*/ background-color: #FEFEFE; margin: 0 auto;
-webkit-box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.5);
-moz-box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.5);
box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.5);
}
/*footer { height: 254px; margin-top: -254px; position: relative; background-color: #f0e8ee;}*/
.centered { width: 1280px; margin: 0 auto; position: relative; }
.inline { width: 100%; position: relative; display: inline-block; }
#top {width: 100%; height: auto; position: relative; background-color: #FEFEFE;}
/*#top > div {height: 76px;}
#top > div > img {width: 462px; height: 40px; display: block; position: absolute; top: 50%; left: 0px; 
margin-top: -20px;}
#top > div > div:nth-child(2) {position: absolute; height: 27px; width: 300px; right: 0px; top: 8px;}
#top > div > div:nth-child(2) > p {color: #4a4a4a; font-size: 22px; line-height: 27px; float: left; width: 264px; 
margin-left: 10px;}
#top > div > div:nth-child(2) > p > span {font-size: 16px;}
#top > div > div:nth-child(2) > img {width: 22px; float: left; float: left; margin-top: 4px;}
#top > div > div:nth-child(3) {position: absolute; height: 27px; width: 300px; right: 0px; top: 36px;}
#top > div > div:nth-child(3) > p {color: #4a4a4a; font-size: 18px; line-height: 27px; float: left; width: 264px; 
margin-left: 10px;}
#top > div > div:nth-child(3) > img {width: 20px; float: left; float: left; margin-top: 5px; margin-left: 1px;}
#serv {width: 100%; padding: 40px 0px 40px; background-color: #f3f3f3;}
h2:before {content: ''; display: block; width: 386px; height: 3px; position: absolute; top: 50%; margin-top: -1px;
background: url('../img/line1.png') no-repeat; left: 0px;}
h2:after {content: ''; display: block; width: 386px; height: 3px; position: absolute; top: 50%; margin-top: -1px;
background: url('../img/line2.png') no-repeat; right: 0px;}*/
.srv {width: 366px; padding: 40px; float: left; height: 100px; border-bottom: 1px solid #e2e2e2;}
.srv > img {width: 90px; height: 90px; float: left; display: block;}
.srv > div {width: 256px; margin-left: 20px; float: left; margin-top: 5px;}
.srv > div > h3 {font-size: 17px; line-height: 1.3; color: #2b2b2b; font-weight: lighter; text-transform: uppercase;}
.srv > div > p {font-size: 14px; color: #454545; margin-top: 10px; line-height: 1.3;}
#serv > div > div {width: 893px; margin-left: 48px; margin-top: 30px;}
.srv:nth-child(2n+1) {border-right: 1px solid #e2e2e2;}
.srv:last-child {border-bottom: none;}
#cont {width: 100%; padding: 40px 0px 0px; background-color: #f9f9f9; position: relative;}
#c1 {float: left; width: 490px; margin-top: 25px;}
#c2 {float: right; width: 390px; margin-top: 20px;}
#c1 input {display: block; width: 446px; height: 48px; border: 2px solid #f0f1e6; padding: 0px 20px; 
margin-top: 15px; font-family: 'PT Sans', sans-serif; font-size: 18px; color: #454545;}
#c1 textarea {display: block; width: 446px; height: 80px; border: 2px solid #f0f1e6; padding: 15px 20px; 
margin-top: 15px; font-family: 'PT Sans', sans-serif; font-size: 18px; color: #454545;}
/*#send {width: 180px; height: 46px; background-color: #e74c3c; color: #ffffff; line-height: 46px; font-size: 16px; 
text-transform: uppercase; display: block; border-radius: 4px; margin: 0 auto; margin-top: 25px; text-align: center;
cursor: pointer;}*/
#c2 > div {display: inline-block; width: 100%; margin-top: 20px;}
#c2 > div > img {float: left; width: 28px; height: 32px; display: block;}
#c2 > div > p {float: left; font-size: 18px; color: #4a4a4a; margin-left: 15px; width: 260px; line-height: 30px;}
#map {width: 100%; height: 360px;}
#footer {width: 100%; height: 60px; background-color: #f3f3f3;}
#footer > p {text-align: center; font-size: 16px; color: #454545; line-height: 60px;}
/**/
.align_center {position: relative; width: 100%;}
.align_center:after {content: ''; display: block; clear: both;}
.align_center_to_left {position: relative; right: 50%; float: right;}
.align_center_to_right {position: relative; z-index: 1; right: -50%;}
.tbl {display: table; width: 100%;}
.tbl > div, .tbl > a {display: table-cell;}
.clearfix:after {content: ''; display: table; clear: both;}
.flex {display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;} 
.flex > div {display: -webkit-flex; display: -ms-flexbox; display: flex;}
.no_select {-moz-user-select: none; -khtml-user-select: none; user-select: none;}
.bg {position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; background-size: cover; background-position: 50% 50%;}
.bg > img, .bg > video {position: absolute; top: 0; width: 100%; height: 100%; max-width: none; max-height: none; -o-object-fit: cover; object-fit: cover; -o-object-position: center center; object-position: center center; font-family: 'object-fit: cover;';}
.ratio-inner {position: relative; height: 0; border: none;} 
.ratio-content {position: absolute; top: 0; right: 0; bottom: 0; left: 0;}
.ratio-1-1 {padding-top: 100%;}
.ratio-2-3 {padding-top: 64%;}
.ratio-3-2 {padding-top: 140%;}

#top_table {padding: 32px 0; position: relative; width: 100%;}
#top_table > div {vertical-align: middle; position: relative;}
#top_table > div:first-child {width: 400px; position: relative;}
#top_table > div:first-child p {color: #666666; text-transform: uppercase; font-size: 14px; letter-spacing: 1px; text-align: center;}
#top_table > div:first-child > img {width: 100%; height: auto;}
/*#top_table > div:last-child {padding-left: 32px; text-align: right;}
#top_table > div:last-child p {color: #4a4a4a; font-size: 20px; font-weight: 600;}
#top_table > div:last-child p a, #top_table > div:last-child p a:visited {color: #4a4a4a; text-decoration: none;}*/
#top_table__info {}
#top_table__info > div {vertical-align: middle;}
.top_table__el {display: inline-block; float: right; margin-left: 32px;}
.top_table__el > div {width: 40px; height: 40px; float: left; margin-right: 16px; border-radius: 50%; background-color: #f3f3f3; margin-top: 2px; position: relative;}
.top_table__el > div > img {width: 24px; height: 24px; display: block; position: absolute; left: 50%; margin-left: -12px; top: 50%; margin-top: -12px;}
.top_table__el > p {float: left;}
#top_table__el--address p {line-height: 40px; color: #4a4a4a;}
#top_table__el--phone p {line-height: 1.2;}
#top_table__el--phone p a, #top_table__el--phone p a:visited {color: #4a4a4a; text-decoration: none;}
#servises {padding: 64px 0;}
h1 {line-height: 1.2; font-size: 48px; color: #353535; width: 100%; position: relative; text-align: center; font-weight: normal;}
.txt p {font-size: 18px; line-height: 1.5; margin-top: 20px; color: #4a4a4a;}
.txt p:first-child {margin-top: 0px;}
#servises > .centered > .txt {width: 80%; margin: 0 auto; text-align: center;}
#servises .flex {margin-top: 40px;}
#servises .flex > div {width: calc((100% - 48px) / 3); margin-left: 24px; margin-top: 24px; position: relative; border: 1px solid #F5F5F5; padding: 24px;  background-color: #fff;
-webkit-box-shadow: 0px 2px 16px 0px rgba(50, 50, 50, 0.08);
-moz-box-shadow:    0px 2px 16px 0px rgba(50, 50, 50, 0.08);
box-shadow:         0px 2px 16px 0px rgba(50, 50, 50, 0.08);
}
#servises .flex > div:nth-child(3n+1) {margin-left: 0px;}
#servises .flex > div:nth-child(-n+3) {margin-top: 0px;}
.servises_el {width: 100%; height: 100%;}
.servises_el .txt {text-align: center; margin-top: 32px;}
.txt h3 {line-height: 1.3; font-size: 28px; color: #353535; width: 100%; position: relative; text-align: center; font-weight: normal;}
#services2 {position: relative; width: 100%;}
.services2_bg {position: absolute; width: 100%; height: 100%; z-index: 1; left: 0px; top: 0px;}
#services2:after {content: ''; display: block; width: 100%; height: 100%; position: absolute; z-index: 2; top: 0px; left: 0px; background-color: rgba(0,0,0,0.64);}
.services2_bg > div {width: 50%; position: relative;}
#services2 .centered {position: relative; z-index: 3; padding: 64px 0;}
#services2 .centered .tbl > div {width: 50%; position: relative; padding: 64px;}
h2 {line-height: 1.3; font-size: 38px; color: #353535; width: 100%; position: relative; font-weight: normal;}
#services2 .centered .tbl > div .txt h2, #services2 .centered .tbl > div .txt p {color: #fff; text-shadow: 0px 2px 8px rgba(0, 0, 0, 0.4);}
#services2 .centered .tbl > div .txt p:last-child {font-size: 22px; font-weight: 500;}
#contacts {padding: 64px 0; width: 100%; overflow: hidden; background: url('../img/bg.png') repeat;}
#contacts > .centered > .txt {width: 80%; margin: 0 auto; text-align: center;}
#contacts > .centered .clearfix {margin-top: 32px;}
.input {display: block; width: calc((100% - 24px) / 2); height: 56px; font-size: 18px; color: #454545; border: 1px solid #F5F5F5; padding: 0 24px; font-family: 'Source Sans Pro', sans-serif; float: left;
-webkit-box-shadow: 0px 2px 16px 0px rgba(50, 50, 50, 0.08);
-moz-box-shadow:    0px 2px 16px 0px rgba(50, 50, 50, 0.08);
box-shadow:         0px 2px 16px 0px rgba(50, 50, 50, 0.08);}
.input:nth-child(2) {margin-left: 24px;}
.textarea {display: block; width: 100%; height: 140px; font-size: 18px; color: #454545; border: 1px solid #F5F5F5; padding: 16px 24px; font-family: 'Source Sans Pro', sans-serif; float: left; margin-top: 24px;
-webkit-box-shadow: 0px 2px 16px 0px rgba(50, 50, 50, 0.08);
-moz-box-shadow:    0px 2px 16px 0px rgba(50, 50, 50, 0.08);
box-shadow:         0px 2px 16px 0px rgba(50, 50, 50, 0.08);}
input, button, textarea {outline: none;}
.btn {display: inline-block; height: 56px; background-color: #e74c3c; color: #ffffff; line-height: 56px; text-transform: uppercase; font-size: 16px; letter-spacing: 1px; text-align: center; cursor: pointer; padding: 0 24px; font-family: 'Source Sans Pro', sans-serif;
-webkit-box-shadow: 0px 2px 16px 0px rgba(50, 50, 50, 0.08);
-moz-box-shadow:    0px 2px 16px 0px rgba(50, 50, 50, 0.08);
box-shadow:         0px 2px 16px 0px rgba(50, 50, 50, 0.08);
}
.btn:hover {background-color: #E43825;}
#contacts .btn {margin-top: 40px;}
.conf {text-align: center; width: 60%; margin: 0 auto; margin-top: 24px; font-size: 16px; color: #454545;}
.conf b {font-weight: 500;}
.conf a, .conf a:visited, .txt p a, .txt p a:visited {color: #e74c3c; text-decoration: none; border-bottom: 1px solid #e74c3c; font-weight: 600;}
.conf a:hover, .txt p a:hover {color: #E43825; border-color: #E43825;}
.servises_el .txt p {margin-top: 16px;}
#services2 .centered .tbl > div .bg {display: none;}

@media screen and (max-width: 1300px) {
  
.centered { width: 960px; margin: 0 auto; position: relative;}
#top_table > div:first-child {width: 360px;}
h1 {font-size: 44px;}
.txt h3 {font-size: 26px;}
h2 {font-size: 34px;}
#services2 .centered .tbl > div {padding: 48px;}
#map {height: 340px;}

}

@media screen and (max-width: 980px) {
  
#top_table__el--address {display: none;}
.centered {max-width: 960px; width: 100%; padding: 0 32px; margin: 0 auto; position: relative;}
#servises > .centered > .txt, #contacts > .centered > .txt {width: 90%;}
.conf {text-align: center; width: 80%;}
#servises .flex > div {width: calc((100% - 24px) / 2); margin-left: 24px; margin-top: 24px;}
#servises .flex > div:nth-child(3n+1) {margin-left: 24px;}
#servises .flex > div:nth-child(-n+3) {margin-top: 24px;}
#servises .flex > div:nth-child(2n+1) {margin-left: 0px;}
#servises .flex > div:nth-child(-n+2) {margin-top: 0px;}
#services2 .centered .tbl > div {padding: 24px 32px;}

}

@media screen and (max-width: 790px) {
  
h1 {font-size: 42px;}
.txt h3 {font-size: 25px;}
h2 {font-size: 32px;}
.services2_bg {display: none;}
#services2 > .centred > .tbl {display: block;}
#services2 .centered .tbl > div {padding: 56px 32px; text-align: center; display: block; width: 100%; position: relative;}
#services2 .centered {padding: 0px 0;}
#servises {padding: 56px 0;}
#contacts {padding: 56px 0;}
#services2 .centered .tbl > div .bg {display: block; z-index: 1;}
#services2 .centered .tbl > div .bg img {position :relative;}
#services2 .centered .tbl > div .txt {position: relative; z-index: 3;}
#services2 .centered .tbl > div:after {content: ''; display: block; width: 100%; height: 100%; position: absolute; z-index: 2; top: 0px; left: 0px; background-color: rgba(0,0,0,0.64);}

}

@media screen and (max-width: 720px) {
  
#servises > .centered > .txt, #contacts > .centered > .txt {width: 100%;}
.conf {text-align: center; width: 90%;}
.input {width: 100%;}
.input:nth-child(2) {margin-left: 0px; margin-top: 16px;}
.textarea {margin-top: 16px;}
#servises .flex > div {width: calc((100% - 16px) / 2); margin-left: 16px; margin-top: 16px; padding: 16px;}
#servises .flex > div:nth-child(3n+1) {margin-left: 16px;}
#servises .flex > div:nth-child(-n+3) {margin-top: 16px;}
#servises .flex > div:nth-child(2n+1) {margin-left: 0px;}
#servises .flex > div:nth-child(-n+2) {margin-top: 0px;}
#servises .flex > div .txt {padding: 8px;}
.centered {padding: 0 24px;}
#services2 .centered .tbl > div {padding: 56px 24px;}


}

@media screen and (max-width: 640px) {
  
#top_table > div:first-child {width: 300px;}
#top_table > div:first-child p {font-size: 12px;}
h1 {font-size: 40px;}
.txt h3 {font-size: 24px;}
h2 {font-size: 30px;}
body, .txt p {font-size: 17px;}
.top_table__el {margin-left: 0px;}
#servises .flex > div .txt {padding: 8px 0;}
#map {height: 300px;}
.input {height: 48px; font-size: 17px; padding: 0 16px;}
.textarea {height: 120px; font-size: 17px; padding: 12px 16px;}
.btn {height: 48px; font-size: 15px; padding: 0 16px; line-height: 48px;}
.conf {font-size: 15px;}
#footer > p {font-size: 15px;}



}

@media screen and (max-width: 560px) {
  
.top_table__el > div {display: none;}
#top_table__el--address, .top_table__el {display: block; width: 100%; text-align: center;}
#top_table {display: block;}
#top_table > div {display: block; width: 100%;}
#top_table__el--phone {margin-top: 24px;}
#top_table__el--phone br {display: none;}
#top_table__el--phone a:last-child {margin-left: 24px;}
.top_table__el p {float: none; width: 100%;}
#top_table > div:first-child {width: 300px; margin: 0 auto;}
#servises, #contacts {padding: 48px 0;}
h1 {font-size: 36px;}
#services2 .centered .tbl > div {padding: 48px 24px;}
#servises .flex > div {width: 100%; margin-left: 0px; margin-top: 16px;}
#servises .flex > div:nth-child(3n+1) {margin-left: 0px;}
#servises .flex > div:nth-child(-n+3) {margin-top: 16px;}
#servises .flex > div:nth-child(2n+1) {margin-left: 0px;}
#servises .flex > div:nth-child(-n+2) {margin-top: 16px;}
#servises .flex > div:nth-child(-n+1) {margin-top: 0px;}
#top_table {padding: 32px 0 0px;}



}

@media screen and (max-width: 460px) {
  
body {min-width: 320px;}
h1 {font-size: 34px;}
.txt h3 {font-size: 22px;}
h2 {font-size: 28px;}
#services2 .centered .tbl > div .txt p:last-child {font-size: 20px;}

}

@media screen and (max-width: 380px) {
  
#top_table > div:first-child {width: 100%;}
h1 {font-size: 30px;}
.txt h3 {font-size: 22px;}
h2 {font-size: 26px;}

}