/* Start of CMSMS style sheet 'main' */
* { margin: 0; padding: 0; }
*:focus { outline: none; }

.hidden { display: none; }
.show { display: block!important; }
.no-margin { margin: 0!important; }
.no-padding { padding: 0!important; }
.no-bg { background: none!important; }
.no-border, img { border: none!important; }
.clear { clear: both; }
.container { overflow: hidden; }
.img-repl { text-indent: -9999px; overflow: hidden; display: block; }
.a-left { text-align: left; }
.a-center { text-align: center; }
.a-right { text-align: right; }
.f-left, .left-illustration{ float: left; }
.f-right, .right-illustration{ float: right; }
img.f-left { margin-right: 1em; }
img.f-right { margin-left: 1em; }
.left-illustration, .right-illustration { padding: 5px; }
.niceblock { background: #f2f2f2; padding: 10px 15px;}
.pricefile { background: url(../i/icons/pdf.gif) left center no-repeat; padding: 10px 0px 10px 33px; }
.nobr { white-space: nowrap; }

@keyframes flush-text {
	from { color:: black; }
	33% { color: white;}
	66% { color: red;}
	to { color: black; }
}
.flushed a { animation: flush-text 1s infinite ease-in-out; }

/* Main custom rules
------------------------------ */
body { padding: 0px; }
body.desktop { background: white url(../i/fon.jpg) left top repeat-x; font: .75em/1.5 Tahoma, Verdana, Arial, Helvetica, sans-serif; }
body.mobile { font: 18pt/36px Tahoma, Verdana, Arial, Helvetica, sans-serif; }

table { width: 100%; border-collapse: collapse; }
table th, table td { vertical-align: top; }

a { color: #4f9453; }
a:visited {  }
a:hover { color: #4f9453; text-decoration: none; }
a:active { color: #000; }

/* Common layout
------------------------------ */
.site { margin: 0 auto; padding: 0px 10px 30px 10px; height: 100%; background: white; }
.desktop .site { width: 990px; }
.mobile .site { width: 100%; }
.site_columns { list-style: none; }
.site_columns > li { float: left; padding: 0; margin: auto; }
.desktop .site_columns > li { width: 1%; }
.desktop .site_columns > li:first-child { width: 31%; }
.desktop .site_columns > li:last-child { width: 68%; }
/*.mobile .site_columns > li:not(:last-child) { display: none; }*/
.left-block { margin: 0; padding: 0px 15px 10px 15px; }
.left-block input.search-button { margin-left: 3px; }
.left-block label  { font-weight: bold; display: block; }
.left-block input.search-input { width: 180px; padding: 4px; border: 2px solid #e3e3e3; }
.left-block input.search-input:focus { width: 180px; padding: 4px; border: 2px solid #4f9453; }
.infopage { width: 100%; padding-bottom: 20px; }

/* Common header/footer
------------------------------ */
.header { text-align: right; white-space: nowrap; border-top: 5px solid #ADE1b0; }
.logo { width: 5%; text-align: left; vertical-align: middle; }
.underconstr { display: none; background-color: yellow; background-size: 4em 2em;
	background-image: linear-gradient(45deg, transparent 33%, red 33%, red 66%,
		transparent 66%);
	padding: 2px 10px; border-radius: 10px; }
@keyframes toptitlebg {
	from { background: url(/uploads/images/about/bridge1_shadow.png) 0 0 no-repeat; }
	20% { background: url(/uploads/images/about/workers1_shadow.png) 0 0 no-repeat;}
	40% { background: url(/uploads/images/about/bridge2_shadow.png) 0 0 no-repeat;}
	60% { background: url(/uploads/images/about/workers2_shadow.png) 0 0 no-repeat;}
	80% { background: url(/uploads/images/about/bridge3_shadow.png) 0 0 no-repeat;}
	to { background: url(/uploads/images/about/bridge1_shadow.png) 0 0 no-repeat; }
}
/* .desktop .toptitle { background: url(/uploads/images/about/bridge1_shadow.png) 0 0 no-repeat; }
    .desktop .toptitle { padding: 1em 30px 10px 0; animation: toptitlebg 20s infinite ease-in-out; } */
.desktop .toptitle { padding: 1em 30px 10px 0; }
.toptitle .main { font: bold italic 18px Arial; color: #ff0000; }
.toptitle .small { font: bold 12px Arial; color: #000000; }
.desktop .mobile_menu { display: none; }
.mobile .mobile_menu {  }
.hcontacts { width: 5%; padding-top: 1em; }
.telephon td { text-align: right; vertical-align: bottom; white-space: nowrap; }
.desktop .telephon td:last-child { font: bold 14px Verdana; }
.mobile .telephon td:last-child { font: bold 24px Verdana; }
.telephon td:first-child { font-weight: normal; padding-right: 5px; }
.hmail { padding: 0.5em 0; }
.mailto { background-image: url(../i/mail.gif); color: #000000; text-decoration: none; }
.footer { clear: both; padding-top: 1em; border-top: 1px solid #e3e3e3; margin: 20px 0 0 0;
	display: block; }

/* Horizontal Menu
------------------------------ */
.menu-h { width: 100%; overflow: hidden; text-align: center; vertical-align: middle;
	background: url(../i/menu-bg.jpg) left top repeat-x; color: white; }
.menu-h li { height: 41px; float: left; list-style: none; padding: 10px 0 0 0 ; width: 24.5%; }
.menu-h li:not(:nth-child(2)) { background: url(../i/menu-line.jpg) left top no-repeat; }
.menu-h li:first-child { width: 1%; background: url(../i/menu-bg-left.jpg) left top no-repeat; }
.menu-h li:last-child { width: 1%; background: url(../i/menu-bg-right.jpg) right top no-repeat; }
.menu-h a { text-decoration: none; display: block; color:#192e00; font-weight: bold; }

/* Vertical Menu
------------------------------ */
.menu-v { width: 100%; border: 1px solid #cacaca; border-radius: 5px; padding: 0;
	overflow: hidden; margin-top: 0; font-weight: bold; list-style: none; }
.menu-v li { padding: 5px 0px 10px 15px; list-style: none; margin-top: 0;
	background-color: #e3e3e3; }
.mobile .site_columns > li:first-child { width: 100%; }
.mobile .menu-v > li { float: left; padding: 1em 0; margin: auto; width: 33.33%;
	text-align: center; vertical-align: middle; border-radius: 20px; }
.mobile .menu-v > li > ul { display: none; }
.menu-v li:not(:last-child) { border-bottom: 1px solid #cacaca; }
.menu-v li ul { padding: 2px 0 7px 20px; margin: 5px -10px -15px -15px; background-color: white; }
.menu-v li li { padding: 0 20px 5px 0; background: url(../i/li.jpg) 0 5px no-repeat;
	padding-left: 10px; margin: 5px 0; background-color: white; }
.menu-v li li li { font-size: 95%; padding-right: 0; }
.menu-v li li li:first-child { border-top: 1px solid #cacaca; }
.menu-v li li li:last-child { border-bottom: 1px solid #cacaca; }
.menu-v a { text-decoration: none; display: block; color:#000000; }
.menu-v a:hover, .menu-h a:hover { text-decoration: underline; }
span.active { color:#4f9453; }
li.autoshow ul { display: none; }
li.noautoshow ul { display: block; }
li.noautoshow li.autoshow ul { display: none; }
li.autoshow:hover>ul { display: block; }
.rasprodazha>a { animation: flush-text 1s infinite ease-in-out; }

/* Content elements
------------------------------ */
small.breadcrumbs { color: #666666; margin: 0 0 15px 0px; }
.content h1, .content h2, .content h3, .content h4 { font: 2em Verdana, Arial, Helvetica, sans-serif;
	margin-bottom: .5em; }
.content .spec { font: 2em Verdana, Arial, Helvetica, sans-serif; margin-bottom: .5em; }
.content .as_h1 { margin: 10px 0; }
.content .as_h2 { font-size: 1.5em; }
.content h1 { margin: 10px 0;}
.content h2 { font-size: 1.5em; }
.content h3 { font-size: 1.3em; }
.content h4 { font-size: 1.1em; font-weight: bold; }

.content ul, .content ol { margin-left: 3em; line-height: 1.3em; }
.content ul li, .content ol li { margin-bottom: .6em; }

.content p, .content ul, .content ol, .content table, blockquote, pre, .columns,
	.content img { margin-bottom: 1em; }

.content input.search-button { padding: 3px; }
.content label  { display: none; }
.content input.search-input { width: 300px; padding: 5px; }

/* Catalog list
------------------------------ */
.listtovars { border-collapse: collapse; width: 100%; }
.listtovars td { width: 25%; text-align: center; }
.listtovars .catopen td { padding-top: 10px; vertical-align: bottom; }
.listtovars .catclose td { padding-bottom: 10px; border-bottom: 1px solid #e3e3e3;
	vertical-align: top; }
.listtovars .catclose a { background: url(../i/li.jpg) 0 3px no-repeat; padding: 0 0 0 12px;
	color: #000000; text-decoration: none; font-weight: bold; }
.listtovars .catclose td a:hover { text-decoration: underline; color:#4f9453; }
			
/* Tovar
------------------------------ */
.item_images { text-align:center; }
.item_thumbnails { text-align:center; }
.item_thumbnails a { display:block; margin:0 10px 0 0; border: 1px solid #e3e3e3; padding: 5px;
	text-align: center; float: left; }
.item_thumbnails a:hover {border: 1px solid #4f9453; }
.portrait_illustrations { width: 50%; float: right; padding-left: 1em; }
#img_zoom_container { max-width: 100%; }
#item_image { max-width: 100%; }
	
.tovar_details table { border-collapse: collapse; width: 100%; }
.tovar_details table th, .content table:first-of-type td { vertical-align: top; padding: 5px 5px; }
.tovar_details table th { background-color: #e3e3e3; font-weight: bold;  }
.tovar_details table tr td { border-bottom: 1px solid #e3e3e3; text-align: center; }
.tovar_details table tr:hover { background-color: #f2f2f2; }

.extbtn { background-color: #00f212; padding: 1px 5px; text-align: center; border-radius: 10px; }
.extbtn { background: linear-gradient(to top, #008212, #00f212); }
.extbtn.disabled { background-color: #f2f2f2; }
.extbtn.disabled { background: linear-gradient(to top, #828282, #f2f2f2); }
.extbtn.invert { background-color: #f24242; }
.extbtn.invert { background: linear-gradient(to top, #c20012, #f2a2a2); }
.extbtn img{ margin: 0; }
.mobile .extbtn img{ width: 28px; height: 23px; margin: 5px; }
.extbtncell { display: none; }
.extbtnuse .extbtncell { display: table-cell; }

.ajaxcontainer,.ajax { width: 1px; height: 1px; border: 0; frameborder: 0; }

/* About & Services
------------------------------ */
.about p, .about li { font: 1.3em tahoma, arial, helvetica, sans-serif; }
.about p { line-height: 1.5; }
.service h3 { color: #333300; }
.service h3 img { padding-right: 0.5em; }
.service div { color: #333300; padding: 0 0 1em 0; }

/* Contacts
------------------------------ */
.contacts ul.layout { margin: 0; }
.contacts li.layout { list-style: none; }
.desktop .contacts li.layout { width: 48%; float: left; display: inline; }
.contacts .mainphone { color: #ff0000; }
.contacts .mainphone a { color: #ff0000; font-size: 1.5em; font-weight: bold; }
.contact_face tr:first-child { font-weight: bold; padding-top: 1em; }
.contacts .requisits tr:first-child { font-size: 1.3em; font-weight: bold; }
.contacts .requisits tr { border-bottom: 1px solid #e3e3e3; }
.contacts .requisits td:first-child { width: 10%; font-weight: bold; padding-right: 2em; }
.contacts li.scheme { font-size: 1.3em; font-weight: bold; }

/* Map page
------------------------------ */
ul.clearfix { margin: 10px 0 0px 10px; }
ul.clearfix li { margin: 0px 0 30px 0px; }
ul.clearfix li ul { margin: 10px 0 15px 20px; }
ul.clearfix li li ul { margin-bottom: 25px; }
ul.clearfix li { list-style: none; }
ul.clearfix li a { font-size: 1.2em; font-weight: bold; }
ul.clearfix li li a { font-size: 1.1em; font-weight: normal; }
ul.clearfix li li li a { font-size:1em; font-weight: normal; }

.icons a, .icon { padding-left: 25px; background-repeat: no-repeat; background-position: left center; }

/* SEach
------------------------------ */
.callbackCont { padding-top: 15px; z-index: 9999; }

.callbackCont a { color: white; font-size: 1.3em; font-weight: bold; text-decoration: none;
	padding: 4px 20px; border-radius: 20px; border: 1px solid #892323;
	background-color: #cc4747; text-shadow: 1px 1px 2px black;
	background: linear-gradient(to top, #892323, #cc4747); }
.callbackCont a:hover { background-color:#892323;
	background: linear-gradient(to top, #cc4747, #892323);}
.mobile .callbackCont { float: left; padding: 2em; font-size: 80%; }

.callback { display: none; padding: 10px; margin-top: 10px; border: 2px solid #da4e33;
	background-color: white; }
.callback input, .callback textarea { border: 2px solid #e3e3e3; padding: 4px; }
.callback textarea { height: 50px; }
.callback input:focus, .callback textarea:focus { border: 2px solid #4f9453; }
.callback .cms_submit { cursor: pointer; }

.horz { white-space: nowrap; }
.horz div { display: inline-block; }

.cartcont { position: relative; text-align: right; }
.cartcont a { padding: 0.5em 20px; }
.cartcont .callback { position: absolute; text-align: center; left: 0px; top: 2.5em; width: 282px; }
.mobile .cartcont .callback { position: absolute; left: 0px; top: 2.5em; width: 350px; }
.cartcont .callback input, .callbackCont1 .callback textarea { width: 270px; }
.mobile .cartcont .callback input, .callbackCont1 .callback textarea { width: 326px; }
.cartcont .callback select { width: 56px; }
.mobile .cartcont .callback select { width: 85px; }
.cartcont .callback .short input { width: 206px; }
.mobile .cartcont .callback .short input { width: 230px; }
.cartcont .callback .cms_submit { width: 282px; cursor: pointer; }
.mobile .cartcont .callback .cms_submit { width: 340px; cursor: pointer; }

.cartimg {margin: 0 !important;}

.callbackCont1 { position: relative; text-align: left; }
.callbackCont1 a { padding: 0.5em 20px; }
.callbackCont1 .callback { position: absolute; right: 0px; top: 2.5em; width: 222px; }
.callbackCont1 .callback input, .callbackCont1 .callback textarea { width: 210px; }
.callbackCont1 .callback .cms_submit { width: 222px; cursor: pointer; }

.callbackCont2 { position: relative; margin-bottom: 20px; text-align: left; }
.callbackCont2 a { padding: 1em 72px; }
.callbackCont2 .callback { position: absolute; left: 0px; top: 3em; width: 258px; }
.callbackCont2 .callback input, .callbackCont2 .callback textarea { width: 246px; }
.callbackCont2 .callback .cms_submit { width: 258px; }

.helpmeCont { width: 100%; color: white; background-color: #da4e33; display: block;
	font-size: 2em; font-weight: bold; text-align: center; padding: 10px 0px;
	box-shadow: 0 0 10px rgba(0,0,0,0.5); border-radius: 20px; }
.helpmeCont .helpme div { width: 150px; float: left; padding: 5px 10px; }
.helpmeCont .helpme div input { width: 130px; padding: 5px; border: 2px solid #4f9453; }
.helpmeCont .helpme div input.cms_submit {
	background-color: #4f9453; color: white; cursor: pointer; }
.rabota-s-regionami .helpmeCont { display: none; }

.hardorderCont { width: 100%; color: white; background-color: #da4e33; display: block;
	font-size: 1.5em; font-weight: bold; text-align: center; padding: 10px 0px; margin-bottom: 20px;
	box-shadow: 0 0 10px rgba(0,0,0,0.5); border-radius: 20px; }
.hardorderCont .hardorder div { min-height: 45px; width: 200px; float: left; padding: 5px 10px; }
.hardorderCont .hardorder div:first-child { display: none; }
.hardorderCont .hardorder div input { width: 180px; padding: 5px; border: 2px solid #4f9453; }
.hardorderCont select { width: 180px; padding: 5px; border: 2px solid #4f9453; height: 30px; }
.hardorderCont textarea { width: 250px; padding: 5px; border: 2px solid #4f9453; height: 100px;
	margin-left: 10px; z-index: 10; }
.hardorderCont .hardorder div input.cms_submit { background-color: #4f9453; color: white;
	cursor: pointer; margin-left: 155px; margin-top: 34px; }

/* Progwork page
------------------------------ */
.progwork li { float: left; list-style: none; }
.progwork li.used{ width:10%; white-space: nowrap; }
.progwork li span{ background-color: #eee; }
.progwork li li span,.progwork li td{ background-color: #ddd; }
.progwork li td{ border: 1px solid black; padding: 3px; white-space: normal; }

/* Common layout important
------------------------------ */
.mobile .nomobile { display: none; }
.mobile input { font-size: 120%; }
.mobile select { font-size: 110%; }
.mobile option { font-size: 50%; }

/* End of 'main' */

