/*------------------------------ Разметка ------------------------------*/
body
{
	padding-top: 100px;
	font-family: 'Exo 2', sans-serif;
}

header
{
	position: fixed;
	z-index: 100;
	top: 0;
	height: 100px;
	background-color: white;
	opacity: .9;
}

footer
{
	height: 65px;
	background: #D8DF25;
	font-size: 16px;
	line-height: 65px;
	text-align: center;
}

footer:after
{
	position: absolute;
	display: block;
	width: 100%;
	height: 95px;
	background: #F0F0F0;
	content: '';
}

.clear::after
{
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	content: '';
}

.banner
{
	position: relative;
	width: 100%;
	min-width: 1200px;
	height: 350px;
	margin-bottom: 15px;
/*	background: #0080C9 url(/images/banner.jpg) center center no-repeat; Мы открылись*/
/*	background: #D7DF21 url(/images/spring.jpg) center center no-repeat; Весеннее предложение */
/*	background: #EEF5FB url(/images/BannerNY.jpg) center center no-repeat; Новогоднее предложение */
/*	background: #D6DF37 url(/images/banner8march.jpg) center center no-repeat; 8 марта */
	background: #D8EDFE url(/images/banner9may.jpg) center center no-repeat;/* 9 мая */
/*	background: #0248B2 url(/images/banner23february.jpg) center center no-repeat; 23 февраля */
/*	background: url(/images/cleanthursday.jpg) center center no-repeat, linear-gradient(to bottom, #0077BC 20%, #2599D4); Чистый четверг */
/*	background: #EDE2D7 url(/images/banner1.jpg) center center no-repeat; Ваш ковер будет чистым */
}

.banner div
{
	position: absolute;
	height: 48px;
	background-position: 340px center;
	background-repeat: no-repeat;
}

/*------------------------------ Сертификат ------------------------------*/
#certificates
{
	position: absolute;
	z-index: 5;
	left: 0;
	top: -350px;
	width: 100%;
	height: 350px;
	margin: 0;
	background: #F78836 url(/images/certificates.jpg) center center no-repeat;
	cursor: pointer;
	-webkit-transition: top .5s ease;
	   -moz-transition: top .5s ease;
		-ms-transition: top .5s ease;
		 -o-transition: top .5s ease;
			transition: top .5s ease;
}

#icon-certificates
{
	position: absolute;
	z-index: 10;
	top: 0;
	height: 53px;
	background: url(/images/certificates.png) 300px top no-repeat;
	cursor: pointer;
	-webkit-animation: pulse 10s infinite linear;
	   -moz-animation: pulse 10s infinite linear;
	     -o-animation: pulse 10s infinite linear;
			animation: pulse 10s infinite linear;
	-webkit-transition: top .5s ease;
	   -moz-transition: top .5s ease;
		-ms-transition: top .5s ease;
		 -o-transition: top .5s ease;
			transition: top .5s ease;
}

@-webkit-keyframes pulse {46% {opacity: 1;} 48% {opacity: .5;} 50% {opacity: 1;} 52% {opacity: .5;} 54% {opacity: 1;}}
   @-moz-keyframes pulse {46% {opacity: 1;} 48% {opacity: .5;} 50% {opacity: 1;} 52% {opacity: .5;} 54% {opacity: 1;}}
     @-o-keyframes pulse {46% {opacity: 1;} 48% {opacity: .5;} 50% {opacity: 1;} 52% {opacity: .5;} 54% {opacity: 1;}}
	 	@keyframes pulse {46% {opacity: 1;} 48% {opacity: .5;} 50% {opacity: 1;} 52% {opacity: .5;} 54% {opacity: 1;}}

.container
{
	overflow: hidden;
	width: 100%;
	min-width: 1200px;
	margin-bottom: 15px;
}

.container > div
{
	position: relative;
	width: 1200px;
	left: 50%;
	margin-left: -600px;
	text-align: center;
}

.container.gray
{
	background: white;
}

.container.blue
{
	background: #20A8E0;
}

.container.darkblue
{
	background: #0060A0;
}

.container.gradient.gray > div
{
	background: #F0F0F0;
	background: -webkit-linear-gradient(left, white 0%, #F0F0F0 25%, #F0F0F0 75%, white 100%);
	background:    -moz-linear-gradient(left, white 0%, #F0F0F0 25%, #F0F0F0 75%, white 100%);
	background:     -ms-linear-gradient(left, white 0%, #F0F0F0 25%, #F0F0F0 75%, white 100%);
	background:      -o-linear-gradient(left, white 0%, #F0F0F0 25%, #F0F0F0 75%, white 100%);
	background:     linear-gradient(to right, white 0%, #F0F0F0 25%, #F0F0F0 75%, white 100%);
}

.container.gradient.blue > div
{
	background: #0070B8;
	background: -webkit-linear-gradient(left, #20A8E0 0%, #0070B8 25%, #0070B8 75%, #20A8E0 100%);
	background:    -moz-linear-gradient(left, #20A8E0 0%, #0070B8 25%, #0070B8 75%, #20A8E0 100%);
	background:     -ms-linear-gradient(left, #20A8E0 0%, #0070B8 25%, #0070B8 75%, #20A8E0 100%);
	background:      -o-linear-gradient(left, #20A8E0 0%, #0070B8 25%, #0070B8 75%, #20A8E0 100%);
	background:     linear-gradient(to right, #20A8E0 0%, #0070B8 25%, #0070B8 75%, #20A8E0 100%);
}

.container.gradient.darkblue > div
{
	background: #000015;
	background: -webkit-linear-gradient(left, #0060A0 0%, #000015 25%, #000015 75%, #0060A0 100%);
	background:    -moz-linear-gradient(left, #0060A0 0%, #000015 25%, #000015 75%, #0060A0 100%);
	background:     -ms-linear-gradient(left, #0060A0 0%, #000015 25%, #000015 75%, #0060A0 100%);
	background:      -o-linear-gradient(left, #0060A0 0%, #000015 25%, #000015 75%, #0060A0 100%);
	background:     linear-gradient(to right, #0060A0 0%, #000015 25%, #000015 75%, #0060A0 100%);
}

.block-screen
{
	position: fixed;
	z-index: 100;
	top: 100px;
	visibility: hidden;
	overflow: hidden;
	width: 100%;
	height: -webkit-calc(100% - 100px);
	height:    -moz-calc(100% - 100px);
	height:      -o-calc(100% - 100px);
	height:         calc(100% - 100px);
	-webkit-transition: visibility .25s linear;
	   -moz-transition: visibility .25s linear;
		-ms-transition: visibility .25s linear;
		 -o-transition: visibility .25s linear;
			transition: visibility .25s linear;
}

.block-screen::after
{
	position: fixed;
	left: 0;
	right: 0;
	top: 100px;
	bottom: 0px;
	z-index: 99;
	display: block;
	background-color: #00A0D0;
	opacity: 0;
	-webkit-transition: opacity .25s linear;
	   -moz-transition: opacity .25s linear;
		-ms-transition: opacity .25s linear;
		 -o-transition: opacity .25s linear;
		    transition: opacity .25s linear;
	content: '';
}

.block-screen.visible::after
{
	opacity: .6;
}

/*------------------------------ Сайт вцелом ------------------------------*/
*
{
	margin: 0;
	padding: 0;
}

p
{
	margin-bottom: 5px;
	font-size: 15px;
	line-height: 18px;
	-webkit-hyphens: auto;
	   -moz-hyphens: auto;
		-ms-hyphens: auto;
}

h1
{
	font-weight: bold;
	font-size: 20px;
	line-height: 50px;
}

h2
{
	font-size: 20px;
	line-height: 25px;
}

h3
{
	font-size: 23px;
	font-weight: bold;
	line-height: 30px;
	text-transform: uppercase;
}

.text-white
{
	color: white;
}

.text-gray
{
	color: #707070;
}

.text-lightgray
{
	color: #C0C0C0;
}

.text-blue
{
	color: #0070B8;
}

.text-green
{
	color: #D8DF25;
}

.button
{
	height: 35px;
	-webkit-border-radius: 3px;
	   -moz-border-radius: 3px;
			border-radius: 3px;
	color: white;
	background-color: #f5801f;
	background-image: -webkit-linear-gradient(top, #f5801f 0%, #b11f40 100%);
	background-image:    -moz-linear-gradient(top, #f5801f 0%, #b11f40 100%);
	background-image:     -ms-linear-gradient(top, #f5801f 0%, #b11f40 100%);
	background-image:      -o-linear-gradient(top, #f5801f 0%, #b11f40 100%);
	background-image:   linear-gradient(to bottom, #f5801f 0%, #b11f40 100%);
	font-size: 15px;
	line-height: 35px;
	font-weight: bolder;
	text-align: center;
	text-transform: uppercase;
	cursor: pointer;
}

.button.pressed
{
	background-color: #DCDCDC;
	background-image: -webkit-linear-gradient(top, #DCDCDC 0%, #F0F0F0 100%);
	background-image:    -moz-linear-gradient(top, #DCDCDC 0%, #F0F0F0 100%);
	background-image:     -ms-linear-gradient(top, #DCDCDC 0%, #F0F0F0 100%);
	background-image:      -o-linear-gradient(top, #DCDCDC 0%, #F0F0F0 100%);
	background-image:   linear-gradient(to bottom, #DCDCDC 0%, #F0F0F0 100%);
	color: #F05020;
}

.button:hover
{
	background-color: #B11F40;
	background-image: -webkit-linear-gradient(top, #b11f40 0%, #f5801f 100%);
	background-image:    -moz-linear-gradient(top, #b11f40 0%, #f5801f 100%);
	background-image:     -ms-linear-gradient(top, #b11f40 0%, #f5801f 100%);
	background-image:      -o-linear-gradient(top, #b11f40 0%, #f5801f 100%);
	background-image:   linear-gradient(to bottom, #b11f40 0%, #f5801f 100%);
	color: #C0C0C0;
}

/*------------------------------ Шапка ------------------------------*/
header > div
{
	height: 100px;
	background: url(/images/phone.png) 940px 65px no-repeat;
}

header > div > a
{
	position: absolute;
	left: 200px;
	display: block;
	width: 100px;
	height: 100px;
	background: url(/images/cleenwork.jpg) center 15px no-repeat;
}

header .button
{
	position: absolute;
	left: 900px;
	top: 20px;
	width: 220px;
}

/*------------------------------ Меню ------------------------------*/
nav
{
	position: absolute;
	left: 300px;
	width: 600px;
	font-size: 15px;
	line-height: 100px;
	text-align: center;
}

nav a
{
	margin: 13px;
	text-decoration: none;
}

nav a.selected
{
	text-decoration: underline;
}

/*------------------------------ Главная страница ------------------------------*/
.icons
{
	height: 130px;
	background: #F0F0F0;
}

.icons div
{
	padding-left: 70px;
}

.icons div div
{
	float: left;
	width: 150px;
	height: 40px;
	margin: 10px;
	padding:35px 0 35px 50px;
	font-size: 13px;
	line-height: 16px;
	text-align: left;
}

.home
{
	margin-left: 300px;
	margin-right: 300px;
	text-align: left;
}

#step-icons
{
	width: 600px;
	margin: 0 300px;
}

#step-icons div
{
	float: left;
	height: 95px;
	color: white;
	font-weight: bolder;
	font-size: 26px;
	line-height: 95px;
}

#step-icons div:first-child
{
	margin: 0 20px 0 40px;
}

#step-icons div:not(:first-child)
{
	height: 35px;
	width: 27px;
	margin: 30px 28px 30px 0;
	background-color: #0060A0;
	background-position: center center;
	background-repeat: no-repeat;
	cursor: pointer;
	-webkit-transition: background-color .25s linear;
	   -moz-transition: background-color .25s linear;
		-ms-transition: background-color .25s linear;
		 -o-transition: background-color .25s linear;
			transition: background-color .25s linear;
}

#step-icons div:not(:first-child, :last-child)::after
{
	position: relative;
	right: -30px;
	display: block;
	width: 20px;
	height: 35px;
	background: url('/images/arrow.png') center center no-repeat;
	content: '';
}

#step-icons div:not(:first-child):hover, #step-icons div.selected
{
	background-color: #25AAE0;
}

.slider.steps
{
	width: 600px;
	height: 200px;
}

.slider.steps > div
{
	width: 250px;
	height: 180px;
	padding-left: 350px;
	padding-top: 20px;
	text-align: left;
	cursor: default;
}

.slider.steps > div div
{
	position: absolute;
	top: 20px;
	left: 300px;
	font-size: 55px;
	line-height: 55px;
}

.slider.steps p
{
	-webkit-hyphens: none;
	   -moz-hyphens: none;
		-ms-hyphens: none;
}

.arrow.left.steps
{
	margin: 50px 25px 70px 250px;
}

.arrow.right.steps
{
	margin: 50px 250px 70px 25px;
}

/*------------------------------ Страница Технологии ------------------------------*/
.technology
{
	position: relative;
	width: 540px;
	margin-left: 300px;
	padding: 190px 30px 10px 30px;
	background-position: 30px 15px;
	background-repeat: no-repeat;
	text-align: left;
}

.technology > div:first-child
{
	position: absolute;
	right: 30px;
	top: 0;
	width: 23px;
	height: 30px;
}

.technology > div:last-of-type
{
	position: absolute;
	left: 350px;
	top: 25px;
	width: 220px;
	height: 150px;
}

.technology > div p
{
	font-size: 55px;
	line-height: 55px;
}

/*------------------------------ Страница Вопрос-Ответ ------------------------------*/
.FAQ p:nth-child(2n-1)
{
	width: 340px;
	margin: 0 325px;
	padding: 15px 200px 10px 10px;
	background-color: #F5F5F5;
	font-style: italic;
	font-weight: bold;
	text-align: left;
}

.FAQ p:nth-child(2n)
{
	width: 300px;
	margin: 0 325px;
	padding: 10px 10px 10px 240px;
	background-color: white;
	text-align: left;
}

.FAQ p:last-child
{
	float: left;
	margin-bottom: 10px;
}

/*------------------------------ Страница Контакты ------------------------------*/
.contacts
{
	margin-left: 330px;
	margin-right: 330px;
	text-align: left;
}

/*------------------------------ Страница Прайс ------------------------------*/
.price
{
	width: 560px;
	margin-left: 320px;
	padding: 20px 0;
	background-color: #F5F5F5;
	font-size: 15px;
	line-height: 18px;
	text-align: left;
	border-spacing: 0;
}

.price thead
{
	font-weight: bold;
}

.price tbody tr:nth-child(odd)
{
	background: white;
}

.price td
{
	padding: 5px 15px;
}

/*------------------------------ Страница Галерея ------------------------------*/
.gallery-title
{
	display: block;
	width: 100%;
	padding-top: 25px;
	padding-bottom: 10px;
	font-size: 26px;
	font-weight: bolder;
	text-align: center;
	text-decoration: none;
}

.preview
{
	position: relative;
	float: left;
	width: 260px;
	margin-bottom: 10px;
	padding-top: 200px;
	text-align: left;
}

.preview:nth-child(2n)
{
	margin-left: 20px;
	margin-right: 320px;
}

.preview:nth-child(2n-1)
{
	margin-left: 320px;
	margin-right: 20px;
}

.preview div,
.preview video
{
	position: absolute;
	top: 0;
	left: 0;
	width: 260px;
	height: 195px;
	background-color: #F0F0F0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	cursor: pointer;
}

#gallery
{
	position: relative;
	z-index: 200;
	overflow: hidden;
	margin-left: 0 !important;
	background-color: white;
	box-shadow: 0 0 10px 5px rgba(0, 0, 0, .5);
	-webkit-transition: top .25s ease, width .25s linear, left .25s linear;
	   -moz-transition: top .25s ease, width .25s linear, left .25s linear;
		-ms-transition: top .25s ease, width .25s linear, left .25s linear;
		 -o-transition: top .25s ease, width .25s linear, left .25s linear;
			transition: top .25s ease, width .25s linear, left .25s linear;
}

#gallery img, #gallery video
{
	position: absolute;
	display: block;
	height: -webkit-calc(100% - 80px);
	height:    -moz-calc(100% - 80px);
	height:      -o-calc(100% - 80px);
	height:         calc(100% - 80px);
	opacity: 0;
	-webkit-transition: opacity .25s linear, left .25s linear;
	   -moz-transition: opacity .25s linear, left .25s linear;
		-ms-transition: opacity .25s linear, left .25s linear;
		 -o-transition: opacity .25s linear, left .25s linear;
			transition: opacity .25s linear, left .25s linear;
}

#gallery img
{
	max-width: 980px;
	max-height: 735px;
}

#gallery video
{
	max-width: 640px;
	max-height: 480px;
}

.gallery-description
{
	position: absolute;
	left: 50px;
	bottom: 0;
	float: left;
	width: -webkit-calc(100% - 120px);
	width:    -moz-calc(100% - 120px);
	width:      -o-calc(100% - 120px);
	width:         calc(100% - 120px);
	height: 60px;
	margin: 10px 10px;
	line-height: 16px;
	text-align: left;
}

.gallery-description > div
{
	position: relative;
	right: 50%;	
	float: right;
	width: 100%;
	max-width: 540px;
}

.gallery-description > div div
{
	position: absolute;
	width: 100%;
	margin-left: 50%;
	color: #707070;
}

.arrow.gallery
{
	position: absolute;
	bottom: 0;
	width: 30px;
	margin: 10px;
}

.arrow.left.gallery
{
	left: 0;
}
.arrow.right.gallery
{
	right: 0;
}

.arrow
{
	float: left;
	width: 25px;
	height: 60px;
	opacity: .5;
	cursor: pointer;
	-webkit-transition: opacity .5s ease, visibility .5s ease;
	   -moz-transition: opacity .5s ease, visibility .5s ease;
		-ms-transition: opacity .5s ease, visibility .5s ease;
		 -o-transition: opacity .5s ease, visibility .5s ease;
			transition: opacity .5s ease, visibility .5s ease;
}

.arrow.left
{
	visibility: hidden;
	opacity: 0;
	background: url(/images/left_arrow.png) center center no-repeat;
}

.arrow.right
{
	background: url(/images/right_arrow.png) center center no-repeat;
}

.slider
{
	position: relative;
	float: left;
	overflow: hidden;
	width: 420px;
	height: 315px;
	margin-bottom: 15px;
}

.slider > div,
.slider > video
{
	position: absolute;
	left: 0;
	top: 0;
	width: 420px;
	height: 315px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	cursor: pointer;
	-webkit-transition: left .5s ease;
	   -moz-transition: left .5s ease;
		-ms-transition: left .5s ease;
		 -o-transition: left .5s ease;
			transition: left .5s ease;
}

.no-transition
{
	visibility: hidden;
	transition: none !important;
}

.arrow.left.photo
{
	margin: 128px 25px 0 340px;
}

.arrow.right.photo
{
	margin: 128px 340px 0 25px;
}

/*------------------------------ Окно Заявка ------------------------------*/
#request-window
{
	position: absolute;
	z-index: 200;
	left: 50%;
	top: -460px;
	width: 520px;
	height: 400px;
	margin-left: -300px;
	padding: 15px 40px 25px 40px;
	-webkit-border-radius: 0 0 8px 8px;
	   -moz-border-radius: 0 0 8px 8px;
			border-radius: 0 0 8px 8px;
	background-color: #E8E8E8;
	box-shadow: 0 0 10px 5px rgba(0, 0, 0, .5);
	color: #505050;
	-webkit-transition: top .5s ease;
	   -moz-transition: top .5s ease;
		-ms-transition: top .5s ease;
		 -o-transition: top .5s ease;
			transition: top .5s ease;
}

#request-window > div:first-child::before
{
	float: left;
	display: block;
	width: 37px;
	height: 48px;
	margin: -15px 30px 20px 0px;
	background: url(/images/label_d.png) center center no-repeat;
	content: '';
}

#request-window > div:first-child
{
	float: left;
	width: 235px;
}

#request-window > div:last-child
{
	float: right;
	width: 245px;
}

#request-window p
{
	margin-top: 15px;
	-webkit-hyphens: none;
	   -moz-hyphens: none;
		-ms-hyphens: none;
}

#request-window textarea,
#request-window input
{
	width: 235px;
	margin-top: 5px;
	border: 1px solid #E8E8E8;
	font-size: 12px;
}

#request-window textarea:focus,
#request-window input:focus
{
	outline: none;
}

#request-window textarea
{
	height: 75px;
	padding: 5px;
	resize: none;
}

#request-window input
{
	height: 25px;
	padding: 0 5px;
}

#request-window input:first-child
{
	margin-top: 15px;
}

#request-window .button
{
	position: absolute;
	right: 40px;
	bottom: 100px;
	width: 245px;
}

#request-window input.not-valid,
#request-window textarea.not-valid
{
	border-color: #F05020;
}