﻿/*

Theme Name: Утиль

*/

*,
:after,
:before {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html,
body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

fieldset,
img {
    border: 0;
}

ol,
ul {
    list-style: none;
}

@font-face {
    font-family: "Open Sans";
    src: url('fonts/opensans/opensans-light.woff2') format('woff2');
    font-style: normal;
    font-weight: 300;
	font-display: swap;
}

@font-face {
    font-family: "Open Sans";
    src: url('fonts/opensans/opensans-regular.woff2') format('woff2');
    font-style: normal;
    font-weight: 400;
	font-display: swap;
}

@font-face {
    font-family: "Open Sans";
    src: url('fonts/opensans/opensans-semibold.woff2') format('woff2');
    font-style: normal;
    font-weight: 600;
	font-display: swap;
}

@font-face {
    font-family: "Open Sans";
    src: url('fonts/opensans/opensans-bold.woff2') format('woff2');
    font-style: normal;
    font-weight: 700;
	font-display: swap;
}

@font-face {
    font-family: "Open Sans";
    src: url('fonts/opensans/opensans-extrabold.woff2') format('woff2');
    font-style: normal;
    font-weight: 800;
	font-display: swap;
}

body {
	background: #fff;
	min-width: 320px;
	font-family: "Open Sans";
	color: #000;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.5;
}

h1,h2,h3,h4,h5,h6 {
	font-family: "Open Sans";
	color: #000;
    line-height: 1.3;
	font-weight: 700;
	letter-spacing: -.03em;
}

p {
    margin: 15px 0;
}

a {
	color: #FF4013;
	text-decoration: none;
}

a:hover {
	color: #FF4013;
}

.row {
    font-size: 0;
}

.bold {
    font-weight: 600;
}

.main.padding {
	padding-bottom: 100px;
}

.button {
	position: relative;
	background-image: linear-gradient(135deg,#ff844a,#f94069 50%,#ff844a);
	height: 60px;
	display: table;
    color: #fff;
	font-size: 15px;
	text-align: center;
    cursor: pointer;
	font-weight: 600;
    white-space: nowrap;
	line-height: 60px;
	overflow: hidden;
	border: none;
    outline: none;
	border-radius: 10px;
	box-shadow: 0px 0px 35px 0px rgb(250 75 72 / 60%);
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    transition: all .5s;
}

.button:hover {
	background-size: 200%;
	color: #fff;
}

.button:before {
	z-index: 1;
	content: "";
	position: absolute;
	left: -40px;
	top: -150px;
	width: 30px;
	height: 300px;
	display: block;
	background-color: rgba(255, 255, 255, 0.6);
	transform: rotate(45deg);
	transition: .1s;
	animation: glare 3s 0.05s ease-in-out infinite;
	margin-left: 60px;
}

@keyframes glare {
	0% {
		left: -30px;
		margin-left: 0;
	}
	30% {
		left: 110%;
		margin-left: 80px;
	}
	to {
		left: 110%;
		margin-left: 80px;
	}
}


/* АДАПТИВ */

@media screen and (min-width: 980px) {
	
	body {
		height: 100%;
		display: -webkit-flex;
		display: flex;
		flex-direction: column;
	}
	
	h1 {
		font-size: 38px;
	}
	
	.button {
		padding: 0 30px;
	}
	
	.wrapper {
		height: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		flex-direction: column;
	}

	.main {
		flex: 1 0 auto;
		overflow: hidden;
	}
		
	.container {
		max-width: 1172px;
		min-width: 980px;
		margin: 0 auto;
		padding: 0 10px;
	}
	
	.section {
		padding: 60px 0 80px;
	}
	
	.section .left,
	.section .right {
		position: relative;
		width: 50%;
		display: inline-block;
		vertical-align: middle;
	}
	
	.section .left {
		padding-right: 50px;
	}
	
	.section .right {
		padding-left: 50px;
	}
	
	.section h2 {
		font-size: 38px;
	}
	
	.section .lead-text {
		font-size: 19px;
	}
	
	.header {
		padding: 20px 0;
	}
	
	.header .container {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.header .logotype {
		margin-right: auto;
	}
	
	.header .numbers {
		max-width: 210px;
		display: inline-block;
		vertical-align: middle;
		margin-left: auto;
	}
	
	.header .numbers li {
		display: block;
		font-size: 13px;
		line-height: 1.2;
		margin: 8px 0;
	}
	
	.header .numbers .phone {
		color: #000;
		font-size: 16px;
	}
	
	.header .menu { 
		position: relative;
		background-color: #fafafa;
		display: inline-block;
		vertical-align: middle;
		border: none;
		border-radius: 10px;
		box-shadow: 0 2px 8px 0 rgb(0 0 0 / 6%);
		margin-left: 40px;
	}
	
	.hero {
		padding-top: 40px;
		padding-bottom: 120px;
	}
	
	.landing .hero {
		padding-top: 20px;
	}
	
	.hero:after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		background-image: url(images/bg/wave.svg);
		background-repeat: no-repeat;
		background-position: center bottom;
		background-size: 100%;
		width: 100%;
		padding-bottom: 20%;
	}
	
	.hero .container {
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		flex-direction: row-reverse;
		align-items: center;  
	}
	
	.hero .left {
		z-index: 2;
		padding-right: 0;
		padding-left: 0;
	}
	
	.hero .right {
		z-index: 1;
		padding-right: 50px;
		padding-left: 0;
	}
	
	.hero h1 {
		max-width: 480px;
		font-size: 44px;
	}
	
	.hero ul {
		margin: 35px 0;
	}
	
	.hero ul li {
		display: block;
		font-size: 19px;
		margin: 8px 0;
	}
	
	.hero ul li:before {
		top: 8px;
	}
	
	.hero .note {
		font-size: 14px;
	}
	
	.hero .circle {
		bottom: 30px;
		right: 40px;
	}
	
	.services .row {
		margin: 0 -25px;
	}
	
	.services .item {
		width: 12.5%;
		padding: 25px;
	}
	
	.benefits .item {
		position: relative;
		width: 33.33%;
		display: inline-block;
		vertical-align: top;
		text-align: left;
		padding: 0 35px 0 70px;
	}
	
	.benefits .item:before {
		position: absolute;
		top: 20px;
		left: 0;
	}
	
	.pricelist table,
	.pricelist table tbody {
		display: block;
		text-align: left;
	}
	
	.pricelist table tr {
		display: block;
		margin: 0 20px;
	}
	 
	.pricelist table tr:nth-child(2n) {
		background-color: #f7f7f7;
	}
	
	.pricelist table tr td {
		display: inline-block;
		vertical-align: middle;
		padding: 25px 20px;
	}
	
	.pricelist table tr td:first-child {
		width: -moz-calc(100% - 190px);
		width: -webkit-calc(100% - 190px);
		width: calc(100% - 190px);
	}
	
	.pricelist table tr td:last-child {
		width: 190px;
		text-align: right;
	}
	
	.request .form .row {
		margin: 0 -25px;
	}
	
	.request .form .col {
		width: 33.33%;
		display: inline-block;
		vertical-align: bottom;
		padding: 0 25px;
	}
	
	.request .form .col.col-btn {
		margin-top: 30px;
	}
	
	.reviews .row {
		margin-left: -25px;
		margin-right: -25px;
	}
	
	.reviews .item {
		width: 33.33%;
		display: inline-block;
		vertical-align: top;
		padding: 25px;
	}
	
	.reviews .item .item-inner {
		text-align: left;
	}
	
	.contacts .row  {
		display: flex;
		flex-wrap: wrap;
		align-content: stretch;
	}
	
	.contacts .contact-block ul li {
		display: block;
		margin: 15px 0;
	}
	
	.contacts .contact-block li .explanation {
		display: block;
		color: #808080;
		font-size: 12px;
		margin-bottom: 6px;
	}
	
	.contacts .map,
	.contacts .map .ymap {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		overflow: hidden;
		border-radius: 10px;
	}
	
	.listing {
		margin-left: -25px;
		margin-right: -25px;
	}
	
	.listing .card {
		width: -moz-calc(33.33% - 50px);
		width: -webkit-calc(33.33% - 50px);
		width: calc(33.33% - 50px);
		display: inline-block;
		vertical-align: top;
		margin: 20px 25px;
	}
	
	.article,
	.sidebar {
		display: inline-block;
		vertical-align: top;
	}
	
	.article {
		width: -moz-calc(100% - 336px);
		width: -webkit-calc(100% - 336px);
		width: calc(100% - 336px);
		padding-right: 60px;
	}
	
	.sidebar {
		width: 336px;
	}
	
	.text {
		line-height: 1.7;
	}
	
	.text table {
		width: 100%;
		display: table;
	}
	
	.text th,
	.text td {
		padding: 20px 30px;
	}
	
	.footer {
		flex: 0 0 auto;
	}
	
}


@media screen and (max-width: 979px) {
	
	h1 {
		font-size: 28px;
		text-align: center;
	}
	
	.button {
		padding: 0 30px;
	}
	
	.wrapper {
		position: relative;
		width: 100%;
		max-width: 768px;
		overflow: hidden;
		margin: 0 auto;
	}
	
	.container {
		width: 100%;
		padding: 0 20px;
		margin: 0 auto;
	}
	
	.section {
		padding: 60px 0;
	}
	
	.section .left,
	.section .right {
		width: 100%;
		display: block;
	}
	
	.section h2 {
		font-size: 26px;
		letter-spacing: -1px;
	}
	
	.section .lead-text {
		font-size: 16px;
	}
	
	.header {
		position: relative;
		text-align: center;
		padding: 66px 0 20px;
	}
	
	.header .logotype {
		margin: 0 auto 15px;
	}
	
	.header .numbers .phone {
		color: #000;
		font-size: 15px;
	}
	
	.header .numbers { 
		z-index: 999;
		position: fixed;
		left: 0;
		top: 0;
		background-color: rgb(243 244 245 / 52%);
		width: -moz-calc(100% - 46px);
		width: -webkit-calc(100% - 46px);
		width: calc(100% - 46px);
		height: 46px;
		display: block;
		font-size: 0;
		-webkit-backdrop-filter: blur(40px) saturate(200%);
		backdrop-filter: blur(40px) saturate(200%);
		will-change: auto;
		padding: 0;
	}
	
	.header .numbers li {
		width: 100%;
		height: 46px;		
		display: inline-block;
		vertical-align: middle;
		font-size: 15px;
		text-align: center;
		line-height: 46px;
		padding: 0 10px;
		margin: 0;
	}
	
	.header .numbers.two li {
		width: 50%;
	}
	
	.header .numbers .phone {
		height: 46px;
		color: #000;
	}
	
	.header .menu { 
		position: fixed;
		right: 0;
		top: 0;
	    background-color: rgb(243 244 245 / 52%);
		-webkit-backdrop-filter: blur(40px) saturate(200%);
		backdrop-filter: blur(40px) saturate(200%);
		will-change: auto;
		border: none;
	}

	.hero {
		text-align: center;
		padding-top: 20px;
	}
	
	.hero h1 {
		font-size: 38px;
	}
	
	.hero ul {
		margin: 30px 0;
	}
	
	.hero ul li {
		display: inline-block;
		vertical-align: top;
		font-size: 18px;
		text-align: left;
		margin: 5px 10px;
	}
	
	.hero ul li:before {
		top: 8px;
	}
	
	.hero .note {
		font-size: 14px;
		margin-left: auto;
		margin-right: auto;
	}
	
	.hero .button {
		margin-left: auto;
		margin-right: auto;
	}
	
	.hero .left {
		position: relative;
		margin-bottom: 50px;
	}
	
	.hero .circle {
		bottom: -30px;
		left: 60%;
		-moz-transform: translate(-50%,0);
		-ms-transform: translate(-50%,0);
		-webkit-transform: translate(-50%,0);
		transform: translate(-50%,0);
	}
	
	.services .row {
		margin: 0 -25px;
	}
	
	.services .item {
		width: 25%;
		padding: 25px;
	}
	
	.benefits {
		text-align: center;
	}
	
	.benefits .item {
		width: 100%;
		max-width: 440px;
		display: block;
		margin: 50px auto;
	}
	
	.benefits .item:before {
		margin: 0 auto 15px;
	}
	
	.pricelist table,
	.pricelist table tbody {
		display: block;
		text-align: left;
	}
	
	.pricelist table tr {
		max-width: 480px;
		display: block;
		text-align: left;
		padding: 15px 25px;
		margin: 10px auto;
	}
	
	.pricelist table tr:nth-child(2n) {
		background-color: #f7f7f7;
	}
	
	.pricelist table td {
		display: block;
		padding: 5px 0;
	}
	
	.request .form .col {
		width: 100%;
		display: block;
		margin-bottom: 25px;
	}
	
	.reviews .row {
		margin: 0 -10px;
	}
	
	.reviews .item {
		width: 50%;
		display: inline-block;
		vertical-align: top;
		padding: 10px;
	}
	
	.reviews .item .item-inner .review-content .avatar-wrap {
		margin-left: auto;
		margin-right: auto;
	}

	.contacts {
		text-align: center;
	}
	
	.contacts .contact-block {
		margin-bottom: 50px;
	}
	
	.contacts .contact-block ul li {
		display: inline-block;
		vertical-align: top;
		margin: 10px 20px;
	}
	
	.contacts .map .ymap {
		height: 400px;
	}
	
	.breadcrumbs,
	.title {
		text-align: center;
	}
	
	.listing {
		margin-left: -10px;
		margin-right: -10px;
	}
	
	.listing .card {
		width: -moz-calc(50% - 20px);
		width: -webkit-calc(50% - 20px);
		width: calc(50% - 20px);
		display: inline-block;
		vertical-align: top;
		margin: 10px;
	}
	
	.article,
	.sidebar {
		width: 100%;
	}
	
	.sidebar {
		margin-top: 50px;
	}
	
	.text {
		line-height: 1.5;
	}
	
	.text table {
		display: inline-block;
		vertical-align: top;
		overflow-x: auto;
	}
	
	.text table th,
	.text table td {
		padding: 20px 10px;
	}

}


@media screen and (max-width: 640px) {
	
	.services .row {
		margin: 0 -20px;
	}
	
	.services .item {
		padding: 20px;
	}
	
	.reviews .row {
		margin: 0;
	}
	
	.reviews .item {
		width: auto;
		padding: 0;
		margin: 10px auto;
	}
	
	.listing {
		margin-left: 0;
		margin-right: 0;
	}
	
	.listing .card {
		width: 100%;
		display: block;
		margin: 10px auto;
	}

}


@media screen and (max-width: 540px) {
	
	.container {
		padding: 0 15px;
	}
	
	.services .item {
		width: 33.33%;
	}

}


@media screen and (max-width: 480px) {
	
	.button {
		padding: 0 15px;
	}
	
	.section h2 {
		font-size: 28px;
	}
	
	.header .phone {
		font-size: 18px;
	}
	
	.hero h1 {
		font-size: 36px;
	}
	
	.hero ul {
		text-align: left;
	}
	
	.hero ul li {
		font-size: 16px;
	}
	
	.hero ul li:before {
		top: 6px;
	}
	
	.request ul {
		text-align: left;
	}
	
	.services .item {
		width: 50%;
	}
	
}


@media screen and (max-width: 360px) {
	
	.container {
		padding: 0 10px;
	}
	
	.section {
		padding: 50px 0;
	}
	
	.section h2 {
		font-size: 26px;
	}
	
	.header .numbers li {
		padding: 0 8px;
	}
	
	.header .numbers .phone,
	.header .numbers .order {
		font-size: 13px;
	}
	
	.hero {
		padding-top: 30px;
	}
	
	.hero h1 {
		font-size: 34px;
	}
	
	.hero .note {
		font-size: 12px;
	}
	
	.request .form .col {
		margin-bottom: 15px;
	}
	
	.footer {
		padding: 25px 0 75px;
	}

}


@media screen and (max-width: 320px) {
	
	.container {
		padding: 0 6px;
	}

}


@media 	only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (min--moz-device-pixel-ratio: 1.5),
only screen and (-o-min-device-pixel-ratio: 3/2),
only screen and (min-resolution: 1.5dppx),
only screen and (min-resolution: 144dpi)  {

	.header .logotype:before {
		background-image: url(images/logo@2x.png) !important;
	}
	
	.hero .note:before {
		background-image: url(images/icons/flash@2x.png) !important;
	}
	
	.privacy-note:before {
		background-image: url(images/icons/check@2x.png) !important;
	}
	
	.reviews .item .item-inner .review-content .avatar-wrap.vk:before {
		background-image: url(images/icons/vk@2x.png) !important;
	}

	.reviews .item .item-inner .review-content .avatar-wrap.instagram:before {
		background-image: url(images/icons/instagram@2x.png) !important;
	}

	.reviews .item .item-inner .review-content .avatar-wrap .avatar.no {
		background-image: url(images/icons/male@2x.png) !important;
	}
	
	.reviews .item .item-inner .review-content .avatar-wrap .avatar.no.female {
		background-image: url(images/icons/female@2x.png) !important;
	}

}


/* СЕКЦИИ */

.section h2 {
	color: #000;
}

.section .lead-text {
	max-width: 540px;
	line-height: 1.5;
	text-align: center;
	margin: 45px auto;
}

.section .lead-text a {
	color: #000;
	white-space: nowrap;
	border-bottom: 1px solid rgb(0 0 0 / 11%);
}


/* НАВИГАЦИЯ */

.navigation {
	z-index: 1000;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	background-color: #fff;
	width: 85%;
	min-width: 250px;
	max-width: 350px;
	text-align: left;
	transition: all .5s;
	-webkit-transform: translate(100%,0);
	-ms-transform: translate(100%,0);
	transform: translate(100%,0);
	-webkit-transform: translate3d(100%,0,0);
	transform: translate3d(100%,0,0);
}

.navigation.show {
	-webkit-transform: translate(0,0);
	-ms-transform: translate(0,0);
	transform: translate(0,0);
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
	-webkit-box-shadow: -10px 5px 18px 0 rgba(0, 0, 0, .05);
	-moz-box-shadow: -10px 5px 18px 0 rgba(0, 0, 0, .05);
	box-shadow: -10px 5px 18px 0 rgba(0, 0, 0, .05);
}

.navigation .navigation-inner {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: block;
	overflow: scroll;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 60px 0 90px;
}

.navigation .navigation-inner::-webkit-scrollbar { 
	width: 0;
	height: 0; 
}

.navigation .navigation-inner ul {
	display: block;
	margin-bottom: 40px;
}

.navigation .navigation-inner ul li {
	position: relative;
	color: rgba(0,0,0,.6);
	font-size: 14px;
	font-weight: 400;
	text-align: left;
	padding: 10px 40px;
}

.navigation .navigation-inner ul li.title {
	max-width: 262px;
}

.navigation .navigation-inner ul.geo li {
	display: none;
}

.navigation .navigation-inner ul.geo.show li {
	display: block;
}

.navigation .navigation-inner ul.geo li.title {
	display: block;
	cursor: pointer;
}

.navigation .navigation-inner ul.geo li.title span {
	position: relative;
	white-space: nowrap;
	border-bottom: 1px dashed rgba(0,0,0,.3);
}

.navigation .navigation-inner ul.geo li.title span:after {
	content: "▼";
	display: inline-block;
	vertical-align: middle;
	color: rgba(0,0,0,.3);
	font-size: 6px;
	margin: 2px 0 0 5px;
}

.navigation .navigation-inner ul.geo li.title span.close:after {
	content: "▲";
}

.navigation .navigation-inner ul li a {
	display: block;
	color: #000;
	font-size: 17px;
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	transition: all .3s;
}

.navigation .navigation-inner ul li a:hover {
	color: #ff394f;
}

.navigation .navigation-inner ul li .sub-menu {
	padding: 10px 0;
	margin-bottom: 0;
}

.navigation .navigation-inner ul li .sub-menu li {
	padding: 10px 0 10px 20px;
}


/* ШАПКА */

.header {
	background-color: #fff;
	width: 100%;
}

.header .logotype {
	display: block;
}

.header .logotype:before {
	content: "";
	background-image: url(images/logo.png);
    background-repeat: no-repeat;
	background-position: center;
	background-size: 36px 36px;
	width: 36px;
	height: 36px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 7px;
}

.header .logotype span {
	display: inline-block;
	color: #313131;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -.5px;
	text-transform: uppercase;
}

.header .logotype span span {
	color: #ff394f;
}

.header .description,
.header .mode {
	color: #000;
	font-size: 14px;
	margin: 0 auto;
}

.header .mode:before {
    content: "";
    background-color: #3AC25B;
    width: 8px;
    height: 8px;
    display: inline-block;
    vertical-align: middle;
    border-radius: 50%;
    margin-right: 8px;
    margin-bottom: 2px;
}

.header .numbers .phone {
	white-space: nowrap;
	font-weight: 600;
}

.header .menu { 
	z-index: 1001;
	width: 46px;
	height: 46px;
	display: block;
	cursor: pointer;
	text-indent: -9999px;
	outline: none;
}

.header .menu span {
	position: absolute;
	top: 50%;
	left: 50%;
	background-color: #000;
	width: 20px;
	height: 2px;
	display: block;
	font-size: 0;
	cursor: pointer;
	transition: 0.35s;
	margin: -1px 0 0 -10px;
}

.header .menu span:before, 
.header .menu span:after {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	background-color: #000;
	width: 100%;
	height: 2px;
	border: none;
	display: block;
	transition: transform 0.35s;
	transform-origin: 100% 0%;
}

.header .menu span:before {
	transform: translate(-50%, -10px);
}

.header .menu span:after {
	transform: translate(-50%, 10px);
}

.header .menu.close span:before {
	transform: translate(-50%, 0) rotate(35deg) scaleX(0.6);
}

.header .menu.close span:after {
	transform: translate(-56%, 1px) rotate(-35deg) scaleX(0.6);
}


/* ГЛАВНЫЙ ЭКРАН */

.hero {
	z-index: 10;
	position: relative;
	background-color: #fff;
}

.hero .left,
.hero .right {
	z-index: 1;
	position: relative;
}

.hero h1 {
	line-height: 1.1;
}

.hero h1 span {
	display: block;
	font-size: 73%;
	line-height: 1.6;
	font-weight: 300;
}

.hero ul {
	display: block;
}

.hero ul li {
	position: relative;
    color: #000;
	padding-left: 20px;
}

.hero ul li:before {
	content: '';
    position: absolute;
    left: 0;
    width: 12px;
    height: 12px;
    border: 3px solid #ff394f;
    border-radius: 50%;
}

.hero .note {
	max-width: 470px;
	display: block;
	color: #909090;
	margin-bottom: 20px;
}

.hero .note:before {
    content: "";
    background-image: url(images/icons/flash.png);
    background-repeat: no-repeat;
    background-size: 12px;
    width: 12px;
    height: 12px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px;
}

.hero img {
	max-width: 100%;
	display: block;
	margin: 0 auto;
}

.hero .circle {
	z-index: 2;
	position: absolute;
	background-color: #f5d23c;
	width: 120px;
	height: 120px;
	display: block;
	text-align: center;
	-o-transform: rotate(10deg);
	-ms-transform: rotate(10deg);
	-moz-transform: rotate(10deg);
	-webkit-transform: rotate(10deg);
	transform: rotate(10deg);
	border-radius: 50%;
	-webkit-box-shadow: 0 14px 46px rgba(0,0,0,.7);
	box-shadow: 0 14px 46px rgba(0,0,0,.7);
}

.hero .circle:after {
	z-index: 0;
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background-color: rgba(245, 190, 21, 0.58);
	width: 180px;
	height: 180px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-o-border-radius: 50%;
	-ms-border-radius: 50%;
	border-radius: 50%;
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	-webkit-box-shadow: 0 14px 46px rgba(0,0,0,.28);
	box-shadow: 0 14px 46px rgba(0,0,0,.28);
}

.hero .circle:before {
	z-index: 1;
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background-color: rgba(245, 190, 21, 0.28);
	width: 150px;
	height: 150px;
	border-radius: 50%;
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	-webkit-box-shadow: 0 14px 46px rgba(0,0,0,.14);
	box-shadow: 0 14px 46px rgba(0,0,0,.14);
}

.hero .circle .circle-inner {
	z-index: 2;
	position: absolute;
	top: 50%;
	left: 50%;
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}

.hero .circle .circle-inner .price {
	color: #3d343e;
	font-size: 27px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -.8px;
	white-space: nowrap;
}

.hero .circle .circle-inner span {
	display: block;
	font-size: 12px;
	font-weight: 400;
	white-space: normal;
}


/* ПОЛИТИКА */

.privacy-note {
	display: block;
	color: #a2a2a2;
	font-size: 13px;
	font-weight: 300;
	margin-top: 10px;
}

.privacy-note a {
	color: #a2a2a2;
	border-bottom: 1px solid rgb(206 206 206 / 20%);
}

.privacy-note:before {
    content: "";
    background-image: url(images/icons/check.png);
    background-repeat: no-repeat;
    background-size: 12px;
    width: 12px;
    height: 12px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px;
}


/* УСЛУГИ */

.services {
	background-color: #fff;
	text-align: center;
}

.services .item {
	display: inline-block;
	vertical-align: bottom;
}

.services .item img {
	max-width: 100%;
	display: block;
	margin: 0 auto;
}

.services .item .name {
	height: 44px;
	display: block;
	color: #000;
    font-size: 15px;
	margin-top: 25px;
}


/* ВЫГОДЫ */

.benefits {
	background-color: #fff;
}

.benefits .item:before {
	content: "";
	width: 46px;
	height: 46px;
	display: block;
	border: 10px solid #fb5c5c;
	border-radius: 50%;
}

.benefits .item h3 {
	margin-bottom: 20px;
}

.benefits .item p {
	font-size: 18px;
}


/* ПРАЙСЛИСТ */

.pricelist {
	background-color: #fff;
	text-align: center;
}

.pricelist h2 {
	margin-bottom: 50px;
}

.pricelist table {
    width: 100%;
	border-collapse: separate;
    border-spacing: 0 8px;
    border: none;
}

.pricelist table tr {
	border-radius: 10px;
}

.pricelist table tr td {
    vertical-align: middle;
	color: rgba(0, 0, 0, 0.995);
	font-size: 18px;
	border: none;
}

.pricelist table tr td a {
	color: rgba(0, 0, 0, 0.995);
	border-bottom: 1px solid rgba(0, 0, 0, 0.65);
}

.pricelist .button {
	margin: 40px auto 0;
}


/* ФОРМА ЗАЯВКИ */

.request {
	background-color: #f3f4f5;
	text-align: center;
}

.request .lead-text {
	margin-top: 20px;
    margin-bottom: 20px;
}

.request ul {
	display: block;
	margin-bottom: 60px;
}

.request ul li {
	position: relative;
	display: inline-block;
	vertical-align: top;
    color: #000;
	text-align: left;
	padding-left: 30px;
	margin: 5px 10px;
}

.request ul li:before {
	content: '';
    position: absolute;
	top: 8px;
    left: 0;
    width: 12px;
    height: 12px;
    border: 3px solid #ff394f;
    border-radius: 50%;
}

.request .form .button {
    width: 100%;
	margin-bottom: 15px;
}


/* О КОМПАНИИ */

.about {
	background-color: #fff;
	text-align: center;
}

.about h2 {
	margin-bottom: 50px;
}


/* ОТЗЫВЫ */

.reviews {
	background-color: #f3f4f5;
    text-align: center;
}

.reviews h2 {
	margin-bottom: 50px;
}

.reviews .item .item-inner {
	background-color: #fff;
	width: 100%;
	max-width: 367px;
	border-radius: 10px;
}

.reviews .item .item-inner img {
	width: 100%;
	display: block;
}

.reviews .item .item-inner .review-content {
	padding: 20px 20px 30px;
}

.reviews .item .item-inner .review-content .avatar-wrap {
	position: relative;
    width: 100px;
	height: 100px;
	display: block;
	margin-bottom: 15px;
}

.reviews .item .item-inner .review-content .avatar-wrap.vk:after,
.reviews .item .item-inner .review-content .avatar-wrap.instagram:after {
	z-index: 2;
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
    width: 32px;
	height: 32px;
	border: 3px solid #fff;
	border-radius: 50%;
}

.reviews .item .item-inner .review-content .avatar-wrap.vk:after {
	background-color: #507299;
}

.reviews .item .item-inner .review-content .avatar-wrap.instagram:after {
	background: #d6249f;
	background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%);
}

.reviews .item .item-inner .review-content .avatar-wrap.vk:before,
.reviews .item .item-inner .review-content .avatar-wrap.instagram:before {
	z-index: 3;
	content: "";
	position: absolute;
	bottom: 8px;
	right: 8px;
    background-repeat: no-repeat;
    background-size: 16px;
    width: 16px;
	height: 16px;
}

.reviews .item .item-inner .review-content .avatar-wrap.vk:before {
	background-image: url(images/icons/vk.png);
}

.reviews .item .item-inner .review-content .avatar-wrap.instagram:before {
	background-image: url(images/icons/instagram.png);
}

.reviews .item .item-inner .review-content .avatar-wrap .avatar {
	z-index: 1;
	position: relative;
    width: 100px;
	height: 100px;
	border-radius: 40%;
}

.reviews .item .item-inner .review-content .avatar-wrap .avatar.no {
    background-color: #f0f0f0;
    background-image: url(images/icons/male.png);
    background-repeat: no-repeat;
	background-position: center;
    background-size: 100px;
}

.reviews .item .item-inner .review-content .avatar-wrap .avatar.no.female {
    background-image: url(images/icons/female.png);
}

.reviews .item .item-inner .review-content .review-author {
    color: rgba(0,0,0,.88);
    font-size: 18px;
    font-weight: 600;
	margin-bottom: 10px;
}

.reviews .item .item-inner .review-content .review-rating {
    margin-bottom: 10px;
}

.reviews .item .item-inner .review-content .review-rating span {
    display: inline-block;
	vertical-align: middle;
}

.reviews .item .item-inner .review-content .review-rating span:after {
    content: "\2605";
	color: #FF6B48;
	font-size: 22px;
}

.reviews .item .item-inner .review-content .readmore,
.reviews .item .item-inner .review-content .hidereview {
	cursor: pointer;
    color: rgba(0,0,0,.48);
    font-size: 14px;
    font-weight: 400;
	margin-top: 13px;
}

.reviews .item .item-inner .review-content .readmore:after {
	content: "Читать полностью →";
}

.reviews .item .item-inner .review-content .hidereview:after {
	content: "← скрыть";
}


/* ВОПРОСЫ НА ОТВЕТЫ */

.qa {
    text-align: center;
}

.qa h2 {
    margin-bottom: 50px;
}

.qa .item {
    background-color: #fff;
	max-width: 810px;
	text-align: left;
	border-bottom: 1px solid #f4f4f4;
	padding: 30px 0;
	margin: 0 auto;
}

.qa .item.disabled .answer {
	display: none;
}

.qa .item .question {
    position: relative;
	cursor: pointer;
    color: #000;
	font-size: 18px;
	font-weight: 600;
    line-height: 22px;
	padding-right: 30px;
}

.qa .item .question span {
    position: relative;
    display: block;
}

.qa .item .question:after {
    content: "+";
    position: absolute;
    right: 0;
    top: 0;
	color: #f73c4f;
    font-size: 22px;
    -webkit-transition: all 1s;
    -moz-transition: all 1s;
    transition: all 1s;
}

.qa .item.active .question:after {
	-o-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

.qa .item .answer {
    font-size: 18px;
    padding: 16px 0 0;
}


/* БЛОГ */

.blog {
    text-align: center;
}


/* КОНТАКТЫ НА ГЛАВНОЙ */

.contacts {
	background-color: #fff;
	padding-bottom: 0;
}

.contacts .contact-block ul {
	display: block;
	margin: 40px 0;
}

.contacts .contact-block li {
	font-size: 18px;
}

.contacts .contact-block a {
	color: #000;
}

.contacts .contact-block .links {
	margin: 0 -7px;
}

.contacts .contact-block .links a {
	display: inline-block;
	vertical-align: top;
	font-size: 17px;
	border-bottom: 3px solid #dfecf1;
	margin: 7px;
}

.contacts .contact-block .links a:hover {
	border-color: #081f4d;
}


/* СТРАНИЦА С КОНТАКТАМИ */

.contactpage ul {
	display: block;
	margin: 40px 0;
}

.contactpage li {
	display: block;
	font-size: 17px;
	margin: 15px 0;
}

.contactpage li .explanation {
	display: block;
	color: #808080;
	font-size: 12px;
	margin-bottom: 6px;
}

.contactpage a {
	color: #000;
}

.contactpage .links {
	margin: 0 -7px 50px;
}

.contactpage .links a {
	display: inline-block;
	vertical-align: top;
	font-size: 17px;
	border-bottom: 3px solid #dfecf1;
	margin: 7px;
}

.contactpage .links a:hover {
	border-color: #081f4d;
}

.contactpage .map {
	position: relative;
	height: 400px;
	margin-top: 50px;
}

.contactpage .map .ymap {
	z-index: 0;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}


/* КАРТА  */

.map {
	background-color: #f3f4f5;
	overflow: hidden;
}

.map .loader {
	position: absolute;
	top: -100%;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity .7s ease;
}

.map .loader.active {
	top: 0;
	opacity: 1;
}

.map .loader:after {
	content: '';
	position: absolute;
	top: calc(50% - 24px);
	left: calc(50% - 24px);
	width: 48px;
	height: 48px;
	border: 8px solid #FF4013;
	border-left-color: transparent;
	border-radius: 50%;
	-webkit-animation: rotation 1s linear infinite;
	animation: rotation 1s linear infinite;
}

@-webkit-keyframes rotation {
	from {
		-webkit-transform:rotate(0);
		        transform:rotate(0);
	}
	to {
		-webkit-transform:rotate(359deg);
		        transform:rotate(359deg);
	}
}

@keyframes rotation {
	from {
		-webkit-transform:rotate(0);
		        transform:rotate(0);
	}
	to {
		-webkit-transform:rotate(359deg);
		        transform:rotate(359deg);
	}
}


/* ХЛЕБНЫЕ КРОШКИ */

.breadcrumbs {
	color: rgba(79,90,102,.5);
	font-size: 13px;
	margin-top: 20px;
	margin-bottom: 10px;
}

.breadcrumbs a {
	color: rgba(79,90,102,.5);
}

.breadcrumbs a:hover {
	color: #008df5;
}


/* ЗАГОЛОВОК */

.title {
	color: #323232;
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 20px;
}


/* МЕТА */

.meta {
	display: block;
	margin: 12px 0 25px;
}

.meta li {
	position: relative;
    display: inline-block;
	vertical-align: middle;
	color: #8c8c8c;
	font-size: 14px;
	line-height: 18px;
	margin: 5px 0 5px 28px;
}

.meta li:first-child {
    margin: 5px 0;
}

.meta li:after {
    content: '';
    position: absolute;
    top: 8px;
    left: -16px;
    background-color: rgba(0, 0, 0,.24);
    width: 3px;
    height: 3px;
    display: block;
    border-radius: 50%;
}

.meta li:first-child:after {
	content: none;
}

.meta li.comm:before {
    content: 'Комментариев ';
}

.meta li.views:before {
    content: 'Просмотров ';
}


/* ЛИСТИНГ */

.listing {
	margin-top: 30px;
}

.listing .card {
	max-width: 350px;
	text-align: left;
}

.listing .card .thumb {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 10px;
	margin-bottom: 10px;
}

.listing .card .thumb img {
	width: 100%;
	max-width: 100%;
	max-height: 233px;
}

.listing .card .thumb .nophoto {
	position: relative;
	background-color: #f7f7f7;
	width: 100%;
	padding-top: 66.68%;
}

.listing .card .thumb .nophoto:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	background-image: url(images/icons/nophoto.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 24px;
	width: 24px;
	height: 24px;
	-moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.listing .card .name {
    display: block;
    color: #000;
    font-size: 16px;
    line-height: 1.4;
	font-weight: 600;
    margin-top: 15px;
}

.listing .card .meta {
	text-align: left;
	margin-top: 12px;
	margin-bottom: 0;
}

.listing .card .meta li:first-child {
    margin: 5px 0;
}


/* ПОСТ */

.post {
	width: 100%;
	max-width: 810px;
	text-align: center;
	margin: 0 auto;
}


/* ТЕКСТ */

.text {
	font-size: 16px;
	text-align: left;
}

.text.brand-text {
	margin-bottom: 60px;
}

.text h2,
.text h3,
.text h4,
.text h5,
.text h6 {
	text-align: left;
	line-height: 1.2;
	font-weight: 600;
	margin: 40px 0 25px;
}

.text h2 {
	font-size: 24px;
}

.text h3 {
	font-size: 20px;
}

.text h4 {
	font-size: 18px;
}

.text h5 {
	font-size: 16px;
}

.text ul,
.text ol {
    margin: 25px 0;
}

.text ol {
    counter-reset: list;
    margin: 25px 0;
}

.text ul li,
.text ol li {
    position: relative;
    margin: 10px 0;
	padding-left: 18px;
}

.text ul li:after {
	content: ''; 
	position: absolute;
	left: 0;
    top: 11px;
    background-color: #333;
    width: 4px;
	height: 4px;
	border-radius: 2px;
}

.text ol li:before {
    content: counter(list) ". ";
	counter-increment: list;
}

.text table {
    max-width: 100%;
	text-align: left;
	border-collapse: collapse;
	border-spacing: 2px;
    margin: 25px 0;
}

.text th {
    color: #000;
	font-weight: 600;
	text-align: left;
    vertical-align: bottom;
}

.text tr {
	background-color: #fff;
}

.text tr:nth-child(2n) {
    background-color: #f7f7f7;
}

.text th,
.text td {
    vertical-align: top;
}


/* ИЗОБРАЖЕНИЕ */

.image {
	display: block;
}

.image img {
    max-width: 100%;
    height: auto;
    display: block;
	border-radius: 15px;
	margin: 0 auto;
}

.image .caption {
	color: #555;
	font-size: 15px;
}


/* КНОПКИ СОЦИАЛЬНЫХ СЕТЕЙ */

.social {
	text-align: center;
	margin: 30px 0;
}

.social button {
	height: 44px;
	color: #fff;
	cursor: pointer;
	font-size: 15px;
	line-height: 44px;
	border-radius: 5px;
	border: none;
	outline: none;
	padding: 0 12px;
	margin: 3px;
}

.social .vk {
	background-color: #4680c2;
}

.social .fb {
	background-color: #3b5998;
}

.social .tw {
	background-color: #1da1f2;
}

.social .ok {
	background-color: #f7931f;
}


/* КОНТАКТНАЯ ФОРМА */

.form .field {
	position: relative;
    text-align: left;
	border: 0;
	padding-bottom: 20px;
}

.form .field .label,
.form .field label {
	display: block;
    color: rgba(0,0,0,.88);
    font-size: 16px;
	font-weight: 600;
}

.form .field label sup {
    color: #e85d48;
}

.form .field label.error {
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	color: #e85d48;
    font-size: 10px;
	margin-top: 5px;
}

.form .field .input,
.form .field .select,
.form .field .file-wrap,
.form .field .textarea {
    background-color: #fff;
    width: 100%;
	display: block;
    color: #444;
    font-size: 16px;
	font-weight: 400;
	line-height: 1.3;
    border: 1px solid #ecf3f7;
	outline: none;
	border-radius: 10px;
	-webkit-transition: background-color .1s ease-out;
	transition: background-color .1s ease-out;
    padding: 18px 15px;
	margin-top: 10px;
}

.form .field .textarea {
	height: auto;
	line-height: 1.4;
}

.form .field .file-wrap { 
	position: relative;
	vertical-align: middle;
	overflow: hidden;
	text-align: left;
	padding: 8px 8px 8px 15px;
}

.form .field .file-wrap .picsname { 
	background-color: transparent;
	width: -moz-calc(100% - 75px);
	width: -webkit-calc(100% - 75px);
	width: calc(100% - 75px);
	height: 41px;
	display: inline-block;
	vertical-align: top;
	font-size: 16px;
	border: none;
	outline: none;
}
 
.form .field .file-wrap .selectbutton { 
	background-color: #f8f8f8;
	width: 70px;
	height: 41px;
	display: inline-block;
	vertical-align: top;
    color: #333;
	font-size: 13px;
	text-align: center;
	line-height: 41px;
    cursor: pointer;
    overflow: hidden;
	border-radius: 10px;
}

.form .field .file-wrap .selectbutton:hover {
	background-color: #f5f5f5;
	cursor: pointer;
}
 
.form .field .file-wrap .pics {
	display: none;
}

.form .field .input:focus,
.form .field .select:focus,
.form .field .textarea:focus {
	background-color: #fff;
	-webkit-box-shadow: 0 0 0 4px rgb(58 151 212 / 30%);
	box-shadow: 0 0 0 4px rgb(58 151 212 / 30%);
}

.form .field .input.error,
.form .field .select.error,
.form .field .textarea.error {
    background-color: #ffebeb;
	-webkit-box-shadow: 0 0 0 4px #ffb5b5;
	box-shadow: 0 0 0 4px #ffb5b5;
}

.form .field .input::placeholder {
	color: #444;
}

.form .field .input::-webkit-input-placeholder {
	color: #444;
}

.form .field .input::-ms-input-placeholder {
	color: #444;
}

.form .field .input:-moz-placeholder {
	color: #444;
	opacity: 1;
}

.form .field .input::-moz-placeholder {
	color: #444;
	opacity: 1;
}

.form .field .input:-ms-input-placeholder {
	color: #444;
}


/* УВЕДОМЛЕНИЯ */

.notice {
	background-color: #249d14;
	color: #fff;
	font-size: 18px;
	text-align: center;
	border-radius: 8px;
	padding: 40px 30px 30px;
	margin: 10px auto;
}

.notice.error {
	background-color: #fb3838;
}

.notice .notice-circle {
	position: relative;
	width: 100px;
	height: 100px;
	display: block;
	border: 2px solid rgba(255, 255, 255, 0.2);
	border-left-color: #fff;
	border-radius: 50%;
	animation: loader-spin 1.2s infinite linear;
	margin: 0 auto 25px;
}

.notice .notice-circle.animated {
	border-color: rgba(255, 255, 255, 0.95);
	transition: border 500ms ease-out;
	-webkit-animation: none;
	animation: none;
}

.notice .notice-circle .checkmark {
    display: none;
}

.notice .notice-circle.animated .checkmark {
    display: block;
}

.notice .notice-circle.animated .checkmark:after {
    animation-duration: 800ms;
    animation-timing-function: ease;
    animation-name: checkmark;
    transform: scaleX(-1) rotate(135deg);
}

.notice .notice-circle .checkmark:after {
	content: "";
    position: absolute;
    top: 52px;
    left: 34px;
    width: 15px;
    height: 30px;
    opacity: 1;
    border-right: 3px solid #fff;
    border-top: 3px solid #fff;
    transform-origin: left top;
}

@keyframes loader-spin {
	0% {
		transform: rotate(0deg);
	} 100% {
		transform: rotate(360deg);
	}
}

@keyframes checkmark {
	0% {
		width: 0;
		height: 0;
		opacity: 1;
	} 20% {
		width: 15px;
		height: 0;
		opacity: 1;
	} 40% {
		width: 15px;
		height: 30px;
		opacity: 1;
	} 100% {
		width: 15px;
		height: 30px;
		opacity: 1;
	}
}


/* КОММЕНТАРИИ */

.comments {
	text-align: left;
	margin: 80px 0 0;
}

.comments .comment {
	display: block;
	text-align: left;
    margin-top: 50px;
}

.comments .comment .children {
    margin-left: 35px;
}

.comments .comment .author {
    display: block;
	color: rgba(0,0,0,.88);
    font-size: 17px;
	font-weight: 600;
}

.comments .comment .text {
    font-size: 17px;
}

.comments .comment .text p {
    margin: 15px 0;
}

.comments .comment .meta li .reply {
	cursor: pointer;
}

.comments .comment .meta li .reply:after {
	content: "Ответить";
}

.comments .comment .meta li .reply:hover {
    text-decoration: underline;
}

.comments .button {
	display: inline-block;
	vertical-align: top;
}

.comments .button.cancelreply {
    background-color: #fbfbfb;
	color: #808080;
	margin-left: 10px;
}


/* ПОДВАЛ */

.footer {
	background-color: #fff;
	text-align: center;
	padding: 35px 0;
}

.footer li {
	display: inline-block;
	vertical-align: top;
	color: #333;
	font-size: 13px;
	margin: 3px 6px;
}

.footer li a {
	color: #333;
}

.footer li a:hover {
	color: #000;
}


/* СКРЫТЫЙ ТЕКСТ */

.readmore-section, 
.collapsed {
	position: relative;
    overflow: hidden;
}

.readmore-section.collapsed:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    background: linear-gradient(to top, #fff 40%,rgba(255, 255, 255, 0.67) 60%);
    width: 100%;
    height: 100px;
    -webkit-transition: opacity 1s;
    -moz-transition: opacity 1s;
    transition: opacity 1s;
    opacity: 1;
}

.readmore-toggle {
	background-color: #efefef;
	cursor: pointer;
	color: #000;
	font-size: 15px;
	border: none;
	outline: none;
	border-radius: 20px;
	padding: 10px 24px 12px;
	margin-top: 20px;
}

.readmore-toggle:hover {
	color: #333;
}