/*
	Created by RedRoll Studio | E-mail: create@redroll.ru | URL: http://redroll.ru
	Specification: HTML5 & CSS3
	All Rights Reserved.
	Copyright: RedRoll.ru | 2012
*/

/* ==================== RESET */
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;
	outline: 0;
	list-style: none;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	background: transparent;	
}
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
strong, b { font-weight: bold; }
:focus { outline: none; }

/* ==================== GLOBAL */
html, body { 
	height: 100%;
}
body { 
	width: 990px;
	margin: 0 auto;
	line-height: 1;
	background: #f6f6f6;
	font-family: Tahoma, "Geneva CY", sans-serif;
	font-size: 13px;
	color: #434343;
	text-shadow: 1px 1px 0 rgb(255,255,255);
}
input, select, textarea, button { 
	font-family: Tahoma, "Geneva CY", sans-serif;
	font-size: 13px;
	resize: none;
	overflow: hidden !important;
}
input::-ms-clear { display: none; }
::selection { background: #b7b7b7; }
::-moz-selection { background: #b7b7b7; }

a, a:hover, a:visited { color: #434343; }
a:hover { text-decoration: none; }

.light { color: #888888; }
.red { color: #e80000; }
.white {
	color: #ffffff;
	text-shadow: 1px 1px 1px rgba(0,0,0,.5);
}
.clr { clear: both; }

/* ==================== ASIDE */
aside { 
	float: left;
	width: 210px;
	margin-top: 35px;
	position: fixed;
	font-family: Cuprum, sans-serif;
	background: #f6f6f6;
	background: url(../images/aside_bg.png) right top no-repeat; 	
}
	.logo, address, .copyright, figure { padding-right: 30px; }
	.logo {
		display: block;
		float: right;
		width: 137px;
		height: 124px;
		background: url(../images/logo.png) no-repeat; 	
	}
	nav {
		float: right;
		margin-top: 50px;
		font-size: 20px;
	}
		nav a {
			float: right;
			clear: both;
			display: block;
			height: 27px;
			padding: 9px 30px 0 35px;
			text-decoration: none;
		}
		nav a:hover, a.current {
			color: #ffffff;
			text-shadow: 1px 1px 1px rgba(0,0,0,.5);
			background: url(../images/nav_left.png) left top no-repeat, #e80000 url(../images/nav_right.png) right top no-repeat;
		}
	address {
		float: right;
		margin-top: 45px;
	}
		.phone, .mobile, .email {
			display: block;
			float: right;
			clear: both;
		}
		.phone {
			font-size: 23px;
			text-decoration: none;
		}
		.mobile {
			font-size: 18px;
			padding: 5px 0;
			text-decoration: none;
		}
		.email { font-size: 15px; }
	.copyright {
		margin-top: 35px;
		float: right;
		text-align: right;
		font-size: 13px;
	}
	figure {
		float: right;
		clear: both;
		margin: 30px 0;
	}
		figure a {
			display: block;
			float: right;
			width: 21px;
			height: 23px;		
			margin-left: 1px;			
		}
		.fg_skype {	background: url(../images/buttons.png) left top no-repeat; }
		.fg_skype:hover { background-position: left -23px; }
		
		.fg_twitter { background: url(../images/buttons.png) -21px top no-repeat; }
		.fg_twitter:hover { background-position: -21px -23px; }
		.fg_vk { background: url(../images/buttons.png) -42px top no-repeat; }
		.fg_vk:hover { background-position: -42px -23px; }
		.fg_ok { background: url(../images/buttons.png) -63px top no-repeat; }
		.fg_ok:hover { background-position: -63px -23px; }			
		.fg_gplus { background: url(../images/buttons.png) -84px top no-repeat; }
		.fg_gplus:hover { background-position: -84px -23px; }	
		
/* ==================== HEADER */
header { height: 35px; }
	.rss {
		float: right;
		width: 92px;
		height: 35px;
		background: url(../images/rss_bg.png) no-repeat; 	
	}
		.rss a {
			display: block;
			margin: 5px 17px 0 0;
			float: right;
			width: 15px;
			height: 14px;
			background: url(../images/rss_bt.png) top center no-repeat; 	
		}
		.rss a:hover { background-position: 0 -14px; }

/* ==================== CONTENT */		
section {
	float: right;
	width: 756px;
	min-height: 100%;
	position: relative;
}
	h1, h2, h3 { font-family: Cuprum, sans-serif; }
	h1 { margin-bottom: 30px; font-size: 33px; }
	h2 { font-size: 30px; }
	h3 { font-size: 25px; }
	
	#slides {
		float: left;
		margin-bottom: 30px;
		width: 100%;
		height: 258px;
		background: url(../images/slider_bg.png) left top no-repeat;
	}
		.slides_container {
			float: left;
			width: 605px;
			height: 195px;
			margin: 35px 0 0 75px;
		}
			.slides_container div {
				width: 605px;
				height: 195px;
			}
				.slider_img {
					float: left;
					width: 200px;
					height: 160px;
					margin-top: 30px;
				}
				.slides_container div h2, .slides_container div p {
					float: right;
					width: 400px;
					text-align: right;
					margin-top: 10px;
				}
				.slides_container div p {
					margin-top: 20px;
					font-size: 14px;
					line-height: 1.2;
				}
		.pagination {
			clear: both;
			margin: 0 auto;
			width: 63px;
		}
				.pagination li a {
					float: left;
					display: block;
					width: 15px;
					height: 0;
					padding-top: 15px;
					overflow: hidden;
					margin: 0 3px;
					background: url(../images/radiobutton.png) left top no-repeat;
				}
				li.current_pagination a { background-position: -15px 0; }
	.redroll_block, .news_block { width: 350px; }
	.redroll_block { float: left; }
	.news_block { float: right; }
		.shortnews { margin-bottom: 10px; }
		.shortnews:nth-last-of-type(1) { margin-bottom: 0; }
			.redroll_block p, .shortnews div {
				clear: both;
				width: 100%;
				text-align: justify;
				line-height: 16px;
			}
			p.date {
				text-align: right;
				margin-top: 2px;
				font-weight: bold;
			}
		.news_block > a {
			float: left;
			clear: both;
			display: block;
			font-size: 10px;
		}
		
/* ==================== LAST WORK MODULE */
.last_work {
	float: left;
	width: 100%; 
	margin-top: 20px;
}
	.last_work hr {
		height: 1px;
		margin: 10px 0 20px 0;
		background: #bbbbbb;
		border-style: none;
		box-shadow: 0 1px 0 #ffffff;
	}
	.lw_block {
		float: left;
		width: 228px; 
		height: 190px;
		margin: 0 12px;
		overflow: hidden;
		position: relative;
		background: url(../images/last_work_bg.png) left top no-repeat;
	}
		.lw_block .img_box, .lw_block .mask {
			width: 200px; 
			height: 150px;
			overflow: hidden;
			position: absolute;
			left: 12px;
			top: 19px;
		}	
		.lw_block .img_box img {
			z-index: -1;
			position: absolute;
		}	
			.lw_block .mask a {
				float: left;
				display: block;
				padding: 8px 16px;
				margin: 58px 0 0 45px;
				border: 1px solid #bbbbbb;
				font-size: 14px;
				font-style: italic;
				text-decoration: none;
				font-family: Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
			}				

/* ==================== FOOTER */
.footer_ghost {
	clear: both;
	height: 82px; /* footer height + 20 margin-top */
}	
footer {
	width: 234px;
	height: 62px;
	margin-top: -62px;
	background: url(../images/footer_bg.png) right top no-repeat;
	position: absolute;
	right: 0;
	bottom: 0;
}
	footer p {
		margin-top: 44px;
		padding-left: 5px;
		font-family: Cuprum, sans-serif;
		text-align: center;
	}
		footer p.white a {
			color: #ffffff; 
			text-decoration: none;
		}
		
/* ==================== SHORT PORTFOLIO */
.pf_block {
	float: left;
	width: 378px; 
	height: 253px;
	overflow: hidden;
	position: relative;
	background: url(../images/portfolio_bg.png) left top no-repeat;
}
	.pf_block .img_box, .pf_block .mask {
		width: 325px; 
		height: 198px;
		overflow: hidden;
		position: absolute;
		left: 26px;
		top: 26px;
		border: 1px solid #ff9292;
		box-shadow: inset 0 0 10px rgba(0,0,0,.5);
	}	
	.pf_block .img_box img { z-index: -1; }	
	.pf_block .mask { background: #e80000; }
		.pf_block .mask h3 {
			margin-top: 30px;
			text-align: center;
			color: #ffffff;
			text-shadow: 1px 1px 1px rgba(0,0,0,.5);
		}	
		.pf_block .mask hr {
			height: 1px;
			margin: 10px 30px 0 30px;
			background: #8b0000;
			border-style: none;
			box-shadow: 0 1px 0 #ff4747;
		}				
		.pf_block .mask p {
			color: #ffffff;
			line-height: 1.2;
			text-align: center;
			font-style: italic;
			font-family: Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
			text-shadow: 1px 1px 1px rgba(0,0,0,.5);
			margin: 15px 30px 0 30px;
		}
		.pf_block .mask a {
			float: left;
			display: block;
			padding: 8px 16px;
			margin: 20px 0 0 105px;
			border: 1px solid #ffffff;
			font-family: Arial, "Helvetica CY", "Nimbus Sans L", sans-serif;
			font-style: italic;
			color: #ffffff;
			font-size: 16px;
			text-decoration: none;
			text-shadow: 1px 1px 1px rgba(0,0,0,.5);
		}		
		
/* ==================== FULLSTORY */
.fullstory {
	float: left;
	width: 100%;
	font-size: 14px;
}
	.fullstory h1 { margin-bottom: 5px; }
	.speedbar {
		float: left;
		width: 100%;
		height: 36px;
		margin-bottom: 10px; 
		padding-left: 15px;
		box-sizing: border-box;
		-moz-box-sizing: border-box;
		background: url(../images/speedbar_bg.png) left 14px no-repeat;
	}
		.speedbar > span {
			float: left;
			display: block;
			margin-top: 10px;
		}
		.arrow_back, .arrow_next {
			float: right;
			display: block;
			width: 35px;
			height: 36px;
		}
		.arrow_back { background: url(../images/arrows.png) left top no-repeat; }
		.arrow_next { background: url(../images/arrows.png) right top no-repeat; }
		.arrow_back:hover { background-position: left -36px; }
		.arrow_next:hover { background-position: right -36px; }
	.site_img {
		display: block;
		clear: both;
		width: 754px;
		height: 400px;
		margin-bottom: 25px; 
		background: #ffffff url(../images/eye.png) center center no-repeat;
		border: 1px solid #ffffff;
		box-shadow: 0 1px 4px rgba(0,0,0,.7);
	}
		.site_img img {
			transition: all 0.3s linear;
			-o-transition: all 0.3s linear;
			-ms-transition: all 0.3s linear;
			-moz-transition: all 0.3s linear;
			-webkit-transition: all 0.3s linear;
		}
		.site_img:hover img { opacity: 0.3; }	
		
	.tabs {
		float: left;
		width: 580px;
		height: 280px; 
		position: relative;
	}
		.tab_sdw_left, .tab_sdw_right {
			float: left;
			width: 61px;
			height: 58px;
			margin-top: 2px;
			background: url(../images/tab_shadow.png) left top no-repeat;
		}
		.tab_sdw_right { background-position: right top; }
		
		.tabs input[type="radio"] {
			position: absolute;
			z-index: -1000;
			left: 0px;
			top: 0px;
			opacity: 0;
			margin: 0;
			padding: 0;
			border: none;
			background: transparent;	
			cursor: pointer;
		}
		.tabs label {
			float: left;
			width: 225px;
			height: 60px;
			display: block;
			cursor: pointer;
			padding: 10px 0 0 65px;
			box-sizing: border-box;
			-moz-box-sizing: border-box; 
			color: #959595;
			font-size: 27px;
			line-height: 18px;
			font-family: Cuprum, sans-serif;
			background: #e1e1e1;
			border: 1px solid #a0a0a0;
		}
		.tabs label:nth-of-type(1) { 
			border-radius: 9px 0 0 0;
			background: #e1e1e1 url(../images/icon_desc.png) 10px 10px no-repeat;
		}
		.tabs label:nth-of-type(2) {
			border-left: none;
			border-radius: 0 9px 0 0;
			background: #e1e1e1 url(../images/icon_info.png) 10px 10px no-repeat;
		}
		.tabs label:nth-of-type(1):hover, .tabs input.tab-selector-1:checked ~ label:nth-of-type(1) { 
			color: #ca3131;
			background: url(../images/icon_desc.png) 10px 10px no-repeat, radial-gradient(50% 100%, ellipse cover, #ffffff, #e1e1e1 70%);
			background: url(../images/icon_desc.png) 10px 10px no-repeat, -moz-radial-gradient(50% 100%, ellipse cover, #ffffff, #e1e1e1 70%);
			background: url(../images/icon_desc.png) 10px 10px no-repeat, -o-radial-gradient(50% 100%, ellipse cover, #ffffff, #e1e1e1 70%);
			background: url(../images/icon_desc.png) 10px 10px no-repeat, -webkit-radial-gradient(50% 100%, ellipse cover, #ffffff, #e1e1e1 70%);
			background: url(../images/icon_desc.png) 10px 10px no-repeat, -ms-radial-gradient(50% 100%, ellipse cover, #ffffff, #e1e1e1 70%);
		}
		.tabs label:nth-of-type(2):hover, .tabs input.tab-selector-2:checked ~ label:nth-of-type(2) { 
			color: #ca3131;
			background: url(../images/icon_info.png) 10px 10px no-repeat, radial-gradient(50% 100%, ellipse cover, #ffffff, #e1e1e1 70%);
			background: url(../images/icon_info.png) 10px 10px no-repeat, -moz-radial-gradient(50% 100%, ellipse cover, #ffffff, #e1e1e1 70%);
			background: url(../images/icon_desc.png) 10px 10px no-repeat, -o-radial-gradient(50% 100%, ellipse cover, #ffffff, #e1e1e1 70%);
			background: url(../images/icon_info.png) 10px 10px no-repeat, -webkit-radial-gradient(50% 100%, ellipse cover, #ffffff, #e1e1e1 70%);
			background: url(../images/icon_info.png) 10px 10px no-repeat, -ms-radial-gradient(50% 100%, ellipse cover, #ffffff, #e1e1e1 70%);
		}
			.tabs label span {
				padding-left: 2px;
				font-size: 14px;
			}
			.tabs label:hover span, .tabs input:checked ~ label span { color: #959595; }
			
		.tab-content { position: relative; }
		.tab-content div {
			top: 0;
			left: 0;
			width: 560px;
			overflow: hidden;
			position: absolute;
			line-height: 16px;
			padding: 10px;
			z-index: 1;
			opacity: 0;
			transition: opacity linear 0.3s;
			-o-transition: opacity linear 0.3s;
			-ms-transition: opacity linear 0.3s;
			-moz-transition: opacity linear 0.3s;
			-webkit-transition: opacity linear 0.3s;
		}
			.tab-content > div > p:first-child { padding-bottom: 15px; }
		.tabs input.tab-selector-1:checked ~ .tab-content .tab-content-1,
		.tabs input.tab-selector-2:checked ~ .tab-content .tab-content-2 {
			z-index: 100;
			opacity: 1;
			transition: opacity linear 0.3s 0.3s;
			-o-transition: opacity linear 0.3s 0.3s;
			-ms-transition: opacity linear 0.3s 0.3s;
			-moz-transition: opacity linear 0.3s 0.3s;
			-webkit-transition: opacity linear 0.3s 0.3s;
		}	
	.site_aside {
		float: right;
		width: 148px;
	}
		a.view, #ratig-layer > a {
			width: 100%;
			height: 52px;
			display: block;		
			color: #b0b0b0;
			font-size: 18px;
			text-align: center;
			line-height: 20px;
			text-decoration: none; 
			font-family: Cuprum, sans-serif;
			padding: 5px 0 0 46px;
			box-sizing: border-box;
			-moz-box-sizing: border-box; 
			border: 1px solid #c8c8c8;
		}
		a.view {
			background: url(../images/bt_view.png) 8px 8px no-repeat; /* IE9 */
			background: url(../images/bt_view.png) 8px 8px no-repeat, linear-gradient(top, #ffffff 0%, #ececec 100%);
			background: url(../images/bt_view.png) 8px 8px no-repeat, -o-linear-gradient(top, #ffffff 0%, #ececec 100%);
			background: url(../images/bt_view.png) 8px 8px no-repeat, -moz-linear-gradient(top, #ffffff 0%, #ececec 100%);
			background: url(../images/bt_view.png) 8px 8px no-repeat, -webkit-linear-gradient(top, #ffffff 0%, #ececec 100%);
			background: url(../images/bt_view.png) 8px 8px no-repeat, -ms-linear-gradient(top, #ffffff 0%, #ececec 100%);
		}
		#ratig-layer > a { 
			background: url(../images/bt_vote.png) 8px 7px no-repeat; /* IE9 */
			background: url(../images/bt_vote.png) 8px 7px no-repeat, linear-gradient(top, #ffffff 0%, #ececec 100%);
			background: url(../images/bt_vote.png) 8px 7px no-repeat, -o-linear-gradient(top, #ffffff 0%, #ececec 100%);
			background: url(../images/bt_vote.png) 8px 7px no-repeat, -moz-linear-gradient(top, #ffffff 0%, #ececec 100%);
			background: url(../images/bt_vote.png) 8px 7px no-repeat, -webkit-linear-gradient(top, #ffffff 0%, #ececec 100%);
			background: url(../images/bt_vote.png) 8px 7px no-repeat, -ms-linear-gradient(top, #ffffff 0%, #ececec 100%);
		}
		#ratig-layer > a:hover, a.voted { background-position: 8px -50px !important; }
		.bt_sdw {
			width: 100%;
			height: 2px;
			opacity: .8;
			margin-top: -1px;
			margin-bottom: 15px;
			background: url(../images/bt_sdw.png) left top no-repeat;
		}
		.site_aside p {
			font-size: 11px;
			text-align: center;
			font-weight: bold;
		}
		.pluso { margin: 6px 0 0 6px; }
			.pluso-more { display: none !important; }

/* ==================== NAVIGATION */
.navigation {
	clear: both;
	text-align: center;
	padding-top: 20px;
}
	.navigation span, .navigation a {
		font-weight: bold;
		font-size: 12px;
		padding: 2px 6px;
		border-radius: 4px;
	}
	.navigation span, .navigation a:hover {
		color: #ffffff;
		text-shadow: 1px 1px 1px rgba(0,0,0,.5);
		background: #e80000;
		border: 1px solid #910000;
	}
	.navigation a {
		color: #787878;
		text-decoration: none;
		border: 1px solid #adadad;
	}

/* ==================== SERVICE */
.service {
	float: left;
	width: 100%;
	margin-bottom: 40px;
	counter-increment: list; /* CSS счетчик */
}
.service:last-child { margin-bottom: 0; }
	.service_nmbr {
		float: left;
		width: 98px;
		height: 95px;
		font-family: Cuprum, sans-serif;
		font-size: 50px;
		padding: 25px 0 0 45px;
		box-sizing: border-box;
		-moz-box-sizing: border-box; 
		background: url(../images/service_nmbr_bg.png) left top no-repeat;
	}
	div.service_nmbr:before { content: counter(list) "."; } /* CSS счетчик */
	.service_about {
		float: right;
		width: 620px;
		line-height: 1.2;
		text-align: justify;
	}
		.service_about > div { margin-top: 10px; }

/* ==================== FAQ */
#questions { float: left; }
		#questions ul li {
			float: left;
			width: 682px;
			height: 63px;
			margin-bottom: 10px;
			background: url(../images/faq_bg.png) left top no-repeat;
		}
		#questions ul li:nth-child(2n) { float: right; }
			#questions ul li h3 { margin: 16px 0 0 50px; }
				#questions ul li h3 a {
					color: #ffffff;
					text-decoration: none;
					text-shadow: 1px 1px 1px rgba(0,0,0,.5);
				}
#answers { float: left; }
		#answers ul li {
			float: left;
			margin-top: 30px;
			position: relative;
		}
			#answers ul li p {
				margin-top: 10px;
				text-align: justify;
				line-height: 1.2;
			}
		.current-faq {
			padding: 20px 30px;
			background: #e80000;
			color: #ffffff;
			text-shadow: 1px 1px 1px rgba(0,0,0,.5);
		}
		.current-faq a { color: #ffffff !important; }
			a.close-button {
				display: block;
				width: 26px;
				height: 23px;
				top: 15px;
				right: 15px;
				position: absolute;
				background: url(../images/close_bt.png) left top no-repeat;
			}
			a.close-button:hover { background-position: 0 -23px; }
			
/* ==================== FEEDBACK */
.contacts {
	width: 756px;
	height: 434px;
	background: url(../images/contacts_bg.png) left top no-repeat;
	font-size: 14px;
	margin-bottom: 30px;
}
	.contact_left {
		float: left;
		margin: 20px 0 0 45px;
		width: 300px;
	}
		.contact_left label {
			display: block;
			margin: 10px 0 5px 5px;
		}
		.f_input, .f_textarea {
			width: 100%;
			height: 40px;
			padding: 5px;
			background: #f6f6f6;
			border: 1px solid #ececec;
			border-radius: 6px;
			box-shadow: inset 0 0 4px rgba(0,0,0,.5);
			box-sizing: border-box;
			-moz-box-sizing: border-box; 
		}
		.f_textarea { height: 130px; }	
		.f_input:hover, .f_textarea:hover {
			background: #ffffff;		
			border: 1px solid #ffffff;
		}
		.fbutton {
			display: block;
			padding-bottom: 5px;
			margin-top: 15px;
			border: none;
			width: 122px;
			height: 36px;
			cursor: pointer;
			font-size: 14px;
			font-weight: bold;
			color: #ffffff;
			text-shadow: 1px 1px 1px rgba(0,0,0,.5);
			background: url(../images/contacts_bt.png) left top no-repeat;
		}	
		.fbutton:hover { background-position: 0 -36px; }
		.fbutton:active { background-position: 0 -72px; }
		
	.contact_center {
		float: left;
		width: 36px;
		margin: 30px 0 0 10px;
	}
		.contact_center hr {
			height: 123px;
			width: 1px;
			background: #8b0000;
			border-style: none;
			box-shadow: 1px 0 0 #ff4747;
		}
		.arrow_right, .arrow_left {
			width: 36px;
			height: 36px;
			display: block;
			background: url(../images/contacts_arrows.png) left top no-repeat;
		}
		.arrow_left { background: url(../images/contacts_arrows.png) right top no-repeat; }
		.arrow_right:hover { background-position: 0 -36px; }
		.arrow_right:active { background-position: 0 -72px; }
		.arrow_left:hover  { background-position: right -36px; }
		.arrow_left:active { background-position: right -72px; }
	.contact_right {
		float: right;
		width: 308px;
		overflow: hidden;
		margin: 35px 45px 0 0;
		line-height: 17px;
		white-space: nowrap;
	}
		.contact_right a { color: #ffffff; }
		.contact_right a[itemprop$="telephone"] { text-decoration: none; }
#ymaps-map-id_1337160070585424615786 {
	width: 100%;
	height: 250px;
	margin-top: 10px;
	border: 1px solid #b1b1b1;
}