/*##################################################################
#	Netbike Core v.2.0 - new css 2025
##################################################################*/
/*############################## RESET #############################*/

/* open-sans-regular - latin_cyrillic */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/open-sans-v15-latin_cyrillic-regular.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
       url('../fonts/open-sans-v15-latin_cyrillic-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v15-latin_cyrillic-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v15-latin_cyrillic-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v15-latin_cyrillic-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v15-latin_cyrillic-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}

html{font-family: 'Open Sans', sans-serif;}
*{text-decoration-skip-ink: none; margin:0; padding:0; box-sizing:border-box; background-repeat:no-repeat;}
pre, code, tt {font: 15px monospace; }
p{margin:0; line-height:1.5; padding: 0;}
a{text-decoration-skip-ink: none;}
a:link, a:visited{color:inherit;}
a:hover{color:#f00; cursor:pointer;}
ul, li{list-style:none;}
img{border:none;}

/*############################## HEADER, FOOTER ###########################*/
/***** HEADER *****/
/* netbike.css */
.wrapper-header{
	background:#fff;
}

#header{
	position:relative;
	padding:10px;
	background:inherit;
}
#header .block{
	line-height:20px;
	padding:10px;
	box-sizing:border-box;
	vertical-align:middle;
}
#header .block.logo{
	box-sizing:content-box;
	width:200px;
	height:100px;
	padding-top:0; 
	padding-bottom:0;	
}	
#header .block.logo a{
	display:block;
	height:inherit;
	background-repeat:no-repeat;
	background-image:url(/images/logo.svg);
	background-size: auto 60px;
	background-position: 0 50%;	
}	
#header .block.logo a:focus{outline:none;}
#header .block.phone{text-align:right;} 
#header .block a.phone{ 
	display:inline-block; padding: 5px 0;
	text-decoration:none; 
	font-size:24px;
	color:#d01102;
}
/***** FOOTER *****/
/* netbike.css */
.wrapper-footer{
	background-color:#787878;
}
#footer{
	position:relative;
	clear:both;
	padding:10px;
	background:inherit;
}

#footer .block {
    line-height: 20px;
    padding: 10px;
	box-sizing:border-box;	
}


#footer a:link, #footer a:visited{color:#000;}
#footer a:hover{color:#444;}


#footer .block.menu ul li.active a{color:#944;}

#footer .social{text-align:right;}
#footer .social a{
	padding-left:5px;
	display:inline-block;
}
#footer .social a:hover{transform:scale(1.05); }
#footer .copyright{text-align:right;}
#footer .footbar{font-size:12px; line-height:1.15;}

#footer .nb-service a{
	display:block;
	margin-top:20px; 
	float:right;
}
#footer .nb-service a img{display:block;}
#footer .nb-service a:hover img.first{display:none;}
#footer .nb-service a:hover img.second{display:block!important;}


/*############################## MENU ###########################*/
/***** TOP MENU *****/

/* netbike.css */
.wrapper-top-menu{
	--bg-menu-primary: #787878;
	--bg-menu-hover: #888888;
	--bg-menu-active: #989898;
	background-color:  var(--bg-menu-primary);
}

.wrapper-top-menu:before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 10px;
    background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.15) 3px, rgba(255,255,255,0) 8px);
    z-index: 9000;
}

#top_menu{
	clear:both; 
	overflow:hidden;
}
#top_menu > ul li{
	min-width:166px;
    text-align: left;
    vertical-align: middle;
    overflow: hidden;
	border-right:1px solid #7d6b60;
	border-bottom: solid 1px #7d6b60;
	background-color:#fff;
	height:50px!important;	
} 
#top_menu > ul li a{
	user-select:none;
	display: block;
    text-decoration: none;
	text-transform:uppercase; 
	font-size:16px; 
	text-align:center; 
	padding: 18px 20px; 
	margin: -18px 0;	
} 
#top_menu > ul li:last-child a{border-right:none;}
#top_menu > ul li:first-child{border-left:1px solid #7d6b60;}

#top_menu a:link, #top_menu a:visited{
	background-color: var(--bg-menu-primary);
	color:#fff;
}
#top_menu ul li a:hover {
	background-color: var(--bg-menu-hover);
}
#top_menu ul li.active a, #top_menu ul li.active a:hover{
	background-color: var(--bg-menu-active);
}

/***** MOBILE MENU *****/
#mobile_menu{display:none;}
body.open_menu #mobile_menu{
	background:#ddd;
	position:fixed;
	z-index:9990;
	top:80px; bottom:0;
	left:0; 
	right:0;
	padding:22px;
	overflow-y:auto;
}
#mobile_menu ul{
	padding:0; 
	min-width:240px;
}
#mobile_menu ul li{ overflow:hidden;}
#mobile_menu ul li a{
	font-size:16px;
	background:#f0f0f0;
	margin-bottom:3px;
	padding:10px 13.5px;
	border-radius:3px; 
	display:block;
	text-decoration:none;
	position:relative;
}
#mobile_menu ul li.active a, #mobile_menu ul li.active a:hover{
	background:#bbb;	
}
#mobile_menu ul li a:hover{ 
	color:inherit; 
	background:#c8c8c8;
}


/*############################## PAGE STRUCTURE ###########################*/
body{
	background-attachment: fixed;
	margin:0;
	font-size:15px;
	background:#d1d1d1;
}

#header, #top_menu, #footer, #footbar, body > .container, div.wrapper > .container {
    width: 1200px;
	margin: 0 auto;
}

/***** general netbike.css *****/
div.wrapper{
	clear:both;
}

.container{
	clear:both;
	overflow:hidden;	
	width:auto;
	margin: 10px 0;
}


.container:first-child{margin-top:0px;}
.container:last-child{margin-bottom:0px;}

.page-wrapper{
	overflow:hidden;
	padding:10px;
}
.page-wrapper > ul{padding:10px;}
.page-wrapper > ul li{padding:5px 0;}

.page-wrapper > .container:first-child{margin-top:0px;}
.page-wrapper > .container:last-child{margin-bottom:0px;}
.container.top, .container.bottom{width:100%;}
.container.page{
	overflow:hidden;
	padding: 10px 0;
    background-color: #fff;
    min-height: 600px;	
}

.container .content{overflow:hidden; position:relative;}










/***** tablestyle *****/
.tablestyle, #top_menu ul{
	width:100%;
	height:100%;
	display:table;
	box-sizing:border-box;
	margin-bottom:0;
}
.tablestyle > div.block, ul.tablestyle > li, #top_menu > ul li {
	display:table-cell;
	height:100%;
	position:relative;
	box-sizing:border-box;
}
.tablestyle .block{vertical-align:top;}
.tablestyle .top{vertical-align:top;}
.tablestyle .bottom{vertical-align:bottom;}
.tablestyle .middle{vertical-align:middle;}
.tablestyle .pre{white-space:pre-wrap;}

/***** pagination netbike.css *****/
.pagination{
	font-size:15px;
	line-height:1.15;
	padding: 0;
	color:#888;	
	font-weight:bold;
	padding-bottom:10px;
	text-align:center;
}
.pagination a, .pagination span{
	box-sizing:border-box;
	display:inline-block;
	min-width:35px;
	border-radius:4px;
	text-align:center;
	background:#eee;
	padding:9px; margin-bottom:10px;
}
.pagination .active{
	background:#bbb;
	color:#000;
}
.pagination i.fa{
	font-weight:bold;
}
.pagination a{
	text-decoration:none;
	color:#333;
}
.pagination a:hover{
	text-decoration:none;
	color:#000;
	background:#ddd;
}
.pagination a:hover.active{background:#bbb;}
/***** breadcrumbs netbike.css *****/
.breadcrumbs{
	font-size:15px;
	line-height:1.15;
	padding: 10px 20px 10px;
	color:#555;
}
.breadcrumbs a:link, .breadcrumbs a:visited{text-decoration:none; color:inherit;}
.breadcrumbs a:hover{text-decoration:underline; color:red;}

/*############################## MODULES GENERAL ###########################*/
.block-wrapper{
	width:100%;
	padding:10px;
	float:left;
}
/**** blocks 2-6 *****/
.block2 .block-wrapper{width:50%;}
.block3 .block-wrapper{width:33.33334%;}
.block4 .block-wrapper{width:25%;}
.block5 .block-wrapper{width:20%;}
.block6 .block-wrapper{width:16.66666%;}

/***** image block *****/
div.image{
	width:100%;
	overflow:hidden;
}
div.image > a{
	display:block;
	width:inherit;
	height:inherit;
}
div.image img{
	display:block; 
	max-width:100%;
	max-height:100%;
	margin: 0 auto;
	user-select: none;
}
div.image.prop{
	position:relative;
	height:auto!important;
}
div.image.prop img{
	position:absolute;
	top:0;
	bottom:0; 
	left:0;
	right:0;
	margin: auto;
}
div.image.prop:before{
	content: "";
	padding-top:100%;
	float:left;
}
/***** prop *****/
.prop .content{height:auto!important;}
.prop .content:before{
	content: "";
	padding-top:75%;
	float:left;
}	
/* container - prop */
div.prop-1x1 .content:before, div.image.prop-1x1:before{padding-top:100%;}
div.prop-4x3 .content:before, div.image.prop-4x3:before{padding-top:75%;}
div.prop-3x2 .content:before, div.image.prop-3x2:before{padding-top:66.66667%;}
div.prop-16x9 .content:before, div.image.prop-16x9:before{padding-top:56.25%;}
div.prop-2x1 .content:before, div.image.prop-2x1:before{padding-top:50%;}
div.prop-3x1 .content:before, div.image.prop-3x1:before{padding-top:33.33333%;}
div.prop-3x4 .content:before, div.image.prop-3x4:before{padding-top:133.333334%;}
div.prop-9x16 .content:before, div.image.prop-9x16:before{padding-top:177.77777%;}



/* container - nopadding */
.nopadding{
	margin-left:-20px;
	margin-right:-20px;
}
.nopadding.block3, .nopadding.block6{margin-right:-21px;}

/*############################## MODULES PATTERNS ###########################*/
/***** button-container ОПРЕДЕЛИТЬ ИСПОЛЬЗУЕТСЯ ЛИ? *****/
.container .button-container{
	text-align:center; 
	padding:10px; 
	clear:both;
}
.container .button-container .button{float:none;}




/*############################## CONTENT STRUCTURE  ###########################*/
/* headings center.css */
h1,h2,h3,h4,h5,h6{
	font-weight:normal;
	line-height:1.35;
	padding-bottom:0;
	margin:0;
	color:#404040;
}
h1{font-size:30px;}
h2{font-size:24px; }
h3{font-size:18px; font-weight:bold;}
h4, h5, h6{font-size:18px; font-weight:400;}
.page-wrapper > h1, .page-wrapper > h2, .page-wrapper > h3{padding-left:10px; padding-right:10px;}
.container > h1, .container > h2, .container > h3{padding-left:10px; padding-right:10px; padding-top:0px; padding-bottom:10px;}

/* links */
a:link, a:visited{color:#969696;}
a:hover{color:#776a9b;}




/***** article netbike.css *****/
.content{
	padding:10px;
	overflow:hidden;
}
.content.text{
	line-height:1.5;
	padding:10px 10px;
	font-size:18px;	
}
.content.text p{
	line-height:1.5;
	padding:0.5em 0px;
}
.content.text > div{
	padding:0;
}

.content ul, .content ol{
	padding: 0.5em 10px 0.5em 30px;
} 
.content li{
	list-style:initial;
}
.content ol li{list-style:decimal;}

.content.text > ymaps{
	max-width:100%;
	padding:10px;
}

.content.text table td, .content.text table th{padding:6px;}


/***** category netbike.css *****/
.page-wrapper > .content.categories ul{
	line-height:2; 
	font-size:16px;
}
/* ul for categories center.css */
ul.category{
	padding: 0 10px 10px;
	font-size:16px;
	line-height:1.3;
}

/***** TABLES *****/
/***** tables netbike.css *****/
table{
	border-collapse:collapse;
}
table td, table th{
	border:solid 1px #999;
	padding:10px;
	vertical-align: middle;
}

table th{
	background-color:#e0e0e0;
}

.content table{
	line-height:1.15; 
	width:100%!important;
	border:none!important;
	font-size:16px;
}
/***** table-striped table center.css *****/
.table-striped table, table.table-striped{
	color: #404040;

}
.table-striped th{
	background-color: #4c506b;
	color: #ffffff;
	border-right: solid 5px #fff;
	text-align: left;
	font-weight:inherit;
}
.table-striped th:last-child {
	border-right: solid 0px #fff;
}
.table-striped tr{
	background-color: #e9eaeb;
}
.table-striped tbody tr:nth-child(odd){
	background-color: #f2f2f2;
}
.table-striped td{
	border: none;
	border-right: solid 5px #fff;
	padding: 20px;
}
.table-striped tr td:last-child{
	border-right: solid 0px #fff;
}
/***** table-no-col table center.css *****/
.table-no-col table, table.table-no-col{
	color: #404040;
	font-size: 16px;
	font-weight:inherit;
}
.table-no-col th {
	padding: 20px;
	text-align: left;
}
.table-no-col th {
	background-color: #fff;
	border: none;
}
.table-no-col td {
	padding: 20px;
	border-left: none;
	border-right: none;
	border-bottom: solid 1px #cdcdcd;
}
.table-no-col tr:first-child td {
	border-top: solid 1px #cdcdcd;
}

p.title > a{display:block;}


/*############################## CONTENT ELEMENTS  ###########################*/
/* details версия с втп*/
details{
	border-left:none;
	border-right:none; 
	border-top: solid 1px #6A6A6A; 
	border-bottom:none;
	margin:0;
	padding: 13px 0;
}
details summary{
	background-color:#fff;
	font-size:20px; 
	color:#333;
	display:block;
	background-image:url(/images/icons/summary-arrow-down.svg); 
	background-position: calc(100% - 20px) 50%;
	padding: 15px 0;
}
details summary:hover {
    cursor: pointer;
}
details:last-child{border-bottom: solid 1px #6A6A6A;}
details summary:focus{background-color:#fff;}
details[open] > summary{
	background-image:url(/images/icons/summary-arrow-up.svg);
}

details .content{padding-left:20px; padding-right:20px;}

/*  blockquote старая версия из center.css  */
blockquote{
	color:#828282;
	border-left:solid 3px #d6d6d6;
	padding: 0 10px 0 20px;
	margin-top:10px;
	margin-bottom:10px;
	font-size:16px;
	font-weight:300;
	margin: 10px auto; 
	max-width:920px; 
	position:relative; 
	min-height:2.8em;
	line-height:1.4;	
}
blockquote:before{
	content:'';
	display:block;
	width:20px;
	height:20px;
	position:absolute;
	left:-40px;
	background-image:url(/images/icons/quote.svg);
	background-repeat:no-repeat;
	background-position: 50% 0;
	line-height:1.34;
	
}
blockquote h3{
	font-size:20px; 
	font-weight:400;
	padding-bottom:12px;
	color:#090603;
}

blockquote > p{padding:0;}
blockquote > p{ line-height:1.4;}
blockquote > p.author{font-size:14px; padding-top:1em;}

/***** GALLERY *****/
/***** module - gallery center.css *****/
.block-gallery .gallery{margin-top:0; margin-bottom:0;}
.block-gallery .content.text{padding:0 10px;}
.block-gallery h2{padding:0;}
.block-gallery .content.text p:first-child{padding-top:0;}
.block-gallery .content.text p:last-child{padding-bottom:0;}

/***** netbike.css *****/
.gallery{
	clear:both;
	overflow:hidden; 
}
.gallery a{
	display:block;
	position: absolute;
    top: 0;
    bottom: 0;
	border:solid 1px #fff;
}
.gallery a:hover{
	border:solid 1px #888888;
}
.gallery a:focus{
	outline:none;
}
.gallery a img{
	max-width:100%;
	height:auto;
	display:block;
}
.gallery div.image:before {padding-top:75%;}


/*    gallery center.css   */
div.gallery.slick-initialized{
	width:600px;
	margin: 0 auto;
	overflow:visible;
}
.gallery .content p{
	height:3em; 
	font-size:14px; 
	color:#404040;
	line-height:1.5;
	overflow:hidden;
	margin-top:17px;
	margin-bottom:10px;
	text-align:center;
	font-weight:300;
}
.gallery div.image:before{padding-top:75%;}
.gallery-counter{
	width:600px;
	margin: 0 auto; 
	margin-bottom: 10px;
	display:none;
	text-align:center;
	user-select:none;
	font-size:18px;
	color:#8f8f8f;
}
.gallery.slick-slider + .gallery-counter{display:block;}

.gallery .slick-prev, .gallery .slick-next{
	opacity:1; height:54px; width:54px;
}
.gallery .slick-prev{background-image:url(/images/icons/gallery-arrow-left.svg); left:-59px;}
.gallery .slick-next{background-image:url(/images/icons/gallery-arrow-right.svg); right:-59px;}




/***** BUTTONS *****/
/***** buttons netbike.css *****/
input[type='button'], input[type='submit'], a.button:link, a.button:visited{
	display:inline-block;
	border:none;
	text-decoration:none;
	height:40px;
	line-height:40px;
	padding:0 40px;
	user-select:none;
	font-size:16px;
	color:#fff;
	background-color:#4F737D;
	cursor:pointer;
}
input[type='button']:focus, input[type='submit']:focus, a.button:focus{
	outline:none;
	border:none;
}
input[type='button']:hover, input[type='submit']:hover, a.button:hover{
	background-color:#6c8b94;
	color:auto;
}
input[type='button']:active, input[type='submit']:active, a.button:active{
	position:relative; 
	top:1px; 
	left:1px; 
	border:none;
}
input[type='button']:disabled, input[type='submit']:disabled{
	background-color:#d8d8d8!important;
}
/** button-light netbike.css **/
a.button.button-light:link, a.button.button-light:visited, a.button.button-light:focus{ 
	color:#4F737D;
	background-color:transparent;
	border:solid 1px #4F737D;
	line-height:38px;
}
a.button.button-light:hover{
	background-color:#4F737D;
	color:#fff;
}
/** button-inv **/
a.button.button-inv:link, a.button.button-inv:visited, a.button.button-inv:focus{ 
	color:#fff;
	background-color:transparent;
	border:solid 1px #fff;
}
a.button.button-inv:hover{
	background-color:#fff;
	color:#000;
	color:auto;
}




/***** FORMS *****/
input, textarea, select, button, textarea{font-family: inherit; font-size:13px;}
/***** forms netbike.css *****/
form label{
	display:block;
	margin-bottom:20px;
}
form label:last-child{margin-bottom:0;}
input, textarea{
	display:block;
	border:solid 1px #b7b7b7;
}
input:focus, textarea:focus{
	border:solid 1px #a86;
	outline:none;
}
textarea{
	width:100%;
	min-height:100px;
	resize:none;
	padding:10px;
}

input[type='text'], input[type='password'], input[type='email'], input[type='date'], input[type='number']{
	width:100%;
	padding:10px;
}
input[type='radio'], input[type='checkbox']{
	display:inline-block; padding-right:0.5em;
}
select{padding:10px; height:40px;}
.form-group{margin-bottom:20px;}
form .form-group label{
	margin-bottom:0;
	line-height:1.5;
}

/* AJAX nbform center.css */
div.content.ajaxform{
	max-width:930px; 
	margin: 40px auto 20px;
	box-shadow:0px 0px 8px 3px rgba(194,194,194,0.53);

}
form.nbform{
	max-width: 800px;
    margin: 0 auto;
}
form.nbform div.label, form.nbform label{
	display:block;
	margin-bottom:10px;
}
form.nbform div.label label{
	display:block; 
	margin-bottom:0!important;
	padding:4px 10px 4px 10px;
}
form.nbform div.label p, form.nbform label p{
	user-select:none; 
	font-size:16px;
	color:#484848;
}

form.nbform .error-message{display:none;}
form.nbform .success-message{display:none;}
form.nbform.success .success-hidden{display:none;}

form.nbform.success .success-message{
	display:block;  
	border:solid #090 1px;
	font-size:18px; 
	color:#090;
	white-space:pre-wrap; 
	padding:6px;
	margin-top:13px;
}
form.nbform.error .error-message{
	display:block;
	border:solid #e44 1px;
	font-size:13px;
	color:#e44;
	white-space:pre-wrap;
	padding:6px; 
	margin-top:13px;
}

form.nbform label.line{
	display:inline-block;
	margin-right:10px;
	user-select:none;
}
form.nbform input[type="radio"], form.nbform input[type="checkbox"]{
	display:inline-block;
	margin-right:5px;
}
form.nbform input[type="radio"]:focus, form.nbform input[type="checkbox"]:focus{-outline:#ccc 1px solid;}
form.nbform input[type="number"]{padding:10px;}
form.nbform select{padding:10px; }
form.nbform textarea{
	height:200px;
}

form.nbform .submit:focus{
	background-color:#ba0805!important;
}

form.nbform .submit:disabled{
	background-color:#bbb;
}
form.nbform label.ok{
	user-select:none; 
	font-size:14px;
	color:#858585;
}

form.nbform .required:before{
    content: "\f069";
	font: normal normal normal 14px/1 FontAwesome; 
	display:inline-block;
	cursor:help;
	color:#d44;
}
form.nbform .fa-asterisk{
	cursor:help;
	color:#d44;
}

form.nbform .phone_wrapper{
	position:relative;
	margin-bottom:21px;
}
form.nbform .phone_pre{
	float:left;
	width:22px;
	line-height:40px;
}
form.nbform .phone_mask{
	width: calc(100% - 22px);
	overflow:hidden;
}
form.nbform .phone_example{
	font-size:14px; 
	color:#ccc;
	position:absolute;
	bottom:-19px;
	padding-left:22px;
}

