/* Core
------------------------------ */

* { margin: 0; padding: 0; }

a:focus { outline: none; }
.hidden { display: none; }
.show { display: block!important; }
.no-margin { margin: 0!important; }
.page .nbm { margin-bottom: 0!important; }
.no-padding { padding: 0!important; }
.no-bg { background: none!important; }
.no-border, a img { border: none!important; }
.no-bullets li { list-style: none; }
.no-flow { overflow: hidden; }
.container:after, .columns:after, .text-with-image:after, .text:after, .menu-h:after, .layout:after, .box-contact:after, .content .f-row:after, .box-clients:after { content: ""; display: block; height: 0; clear: both; visibility: hidden; }
.img-repl { text-indent: -9999px; overflow: hidden; display: block; }
.cc { clear: both; }

/* Main styles
------------------------------ */

html { background: #fff; font: 12px/16px Arial, Helvetica, sans-serif; min-width: 800px }
body { padding: 10px; min-width: 780px; }

a { }
a:visited {  }
a:hover {  }
a:active {  }

/* Colors
---------------------------------------- */

.c-blue, a { color: #3080a8 !important; }
.c-gray, html, .main-nav a { color: #666; }
.main-nav a { color: #666 !important; }
.c-green, .icon-icq, .box-cat-filter li span { color: #090; }

/* Layout
------------------------------ */

.layout { margin-left: -1%; }
.layout-box { float: left; clear: right; margin: 0 0 20px 1%; }

.lb-12	{ width: 99%; }
.lb-11	{ width: 90.663%; }
.lb-10	{ width: 82.33%; }
.lb-9	{ width: 73.997%; }
.lb-8	{ width: 65.664%; }
.lb-7	{ width: 57.331%; }
.lb-6	{ width: 48.998%; }
.lb-5	{ width: 40.665%; }
.lb-4	{ width: 32.332%; }
.lb-3	{ width: 23.999%; }
.lb-2	{ width: 15.666%; }
.lb-1	{ width: 7.333%; }

/* Template Blocks
------------------------------ */

.page { min-width: 800px; max-width: 1000px; margin: 0 auto; }

.lb-header { height: 179px; }
.lb-header-content { position: relative; }
.lb-header .logo { position: absolute; left: 0; top: 20px; }
.lb-header .main-nav { position: absolute; font-size: 12px; right: 0; top: 124px; width: 100%; }
.lb-header .main-nav li { padding: 0 0 0 2%; float: right; }
.lb-header .main-nav li a {  }
.lb-header .icon-print { position: absolute; top: 45px; right: 0; }
.lb-header .languages { position: absolute; top: 39px; font-size: 10px; right: 48px; }
.lb-header .languages span, .lb-header .languages a { padding-right: 12px; }

.page .sub-nav { font-size: 10px; line-height: 24px; }
.page .sub-nav li { padding: 0 29px 0 0; }
.page .sub-nav li a { color: #666 !important; }
.page .sub-nav li.active { color: #3080a8; font-size: 24px; position: relative; top: -4px; }

.box-new-project { width: 555px; margin-bottom: 40px; }

.lb-footer { margin-top: 30px; font-size: 11px; }


/* Box contact
---------------------------------------- */

.box-contact {  }
.box-contact .f-row { float: left; padding-right: 20px; }
.box-contact .f-row label { margin: 0 0 2px 0; float: none; padding: 0 !important; width: auto !important; display: block; text-align: left; font-size: 10px; }
.box-contact .f-row .button { position: relative; top: 12px; padding: 0 !important; left: -6px; height: 35px; }

/* Box clients
---------------------------------------- */

.box-clients {  }
.box-clients-item { float: left; width: 33%; height: 150px; clear: right; }

/* Horizontal Menu
------------------------------ */

.menu-h { margin-left: 0 !important; }
.menu-h li { float: left; list-style: none; padding: 0 .8em; }
.menu-h a { display: block; }
.menu-h a:hover { }

/* Box cat
---------------------------------------- */

.box-cat { overflow: hidden; margin-bottom: 30px !important; }
.columns .box-cat { margin-bottom: 0 !important; }
.box-cat li { padding: 0 16px 0 0; position: relative; }
.box-cat label { width: auto !important; text-align: left !important; padding: 0 !important; cursor: pointer; float: none !important; padding-left: 20px !important; display: block; line-height: 16px; }
.box-cat-radio input { cursor: pointer; margin-right: 4px; position: absolute; top: 2px; }
.box-cat-radio li { width: 19.5%; padding-right: 0.5%; margin: 0 !important; padding-bottom: 8px; clear: right; }

.box-cat-filter { position: relative; top: 4px; }
.box-cat-filter li { padding-right: 25px; }

/*Pages
----------------------------------------*/
.pages { overflow: hidden; margin-bottom: 30px !important; display: inline; margin-left: 0px;}
.pages li { padding: 0 5px 0 0; list-style: none; display: inline;}
/* Box works
---------------------------------------- */

.box-works { width: 400px; }
.box-works-item { margin-bottom: 40px; }
.box-works-item .link-block { margin-top: -15px; text-align: right; }
.box-works-item .link { background: url(../img/icon-popup.gif) no-repeat top right; padding: 10px 13px 0 0; font-size: 10px; margin-right: -13px; }
.box-works-item h3 { margin-bottom: 20px !important; }

/* Service list
---------------------------------------- */

.b-service-list { font-size: 20px; margin: 0 !important; background: url(../img/b-service-list.png) no-repeat; width: 714px; height: 308px; position: relative; }
.b-service-list li { list-style: none; position: absolute; line-height: 24px; }
.b-service-list li a { color: #fff !important; }
.b-service-list-1 { left: 50px; top: 65px; }
.b-service-list-2 { left: 188px; top: 65px; }
.b-service-list-3 { left: 358px; top: 76px; }
.b-service-list-4 { left: 495px; top: 76px; }
.b-service-list-5 { left: 261px; top: 197px; }
.b-service-list-6 { left: 559px; top: 195px; }

/* Horizontal Drop Down Menu
------------------------------ */

.menu-h-d { min-height: 24px; border-left: 1px solid #ccc; }
.menu-h-d li { float: left; display: block; position: relative; border: 1px solid #ccc; border-width: 1px 1px 1px 0px; list-style: none; }
.menu-h-d a { text-decoration: none; padding: 2px 10px; display: block; }

.menu-h-d ul { display: none; position: absolute; top: 22px; left: -1px; width: 160px; background: #fff; border: 0; border-bottom: 1px solid #ccc; }
.menu-h-d ul ul { left: 100%; top: -1px; }

.menu-h-d li li { float: none; border-width: 1px 1px 0px 1px; }

.menu-h-d li:hover { background: #ccc; }
.menu-h-d a:hover { color: #fff; }

.menu-h-d li:hover ul ul,
.menu-h-d li:hover ul li:hover ul ul { display: none; }

.menu-h-d li:hover ul,
.menu-h-d li:hover ul li:hover ul,
.menu-h-d li:hover ul li:hover ul li:hover ul { display: block; }

/* Horizontal Drop Up Menu
------------------------------ */

.menu-h-d.d-up ul { bottom: 22px; }
.menu-h-d.d-up ul ul { bottom: -1px; }

/* Vertical Menu
------------------------------ */

.menu-v { border-top: 1px solid #ccc; }
.menu-v li { padding: 2px 0; list-style: none; border-bottom: 1px solid #ccc; }
.menu-v li ul { padding-left: 1em; margin-top: 2px; }
.menu-v li li { border: none; border-top: 1px solid #ccc; }
.menu-v a { text-decoration: none; display: block; }
.menu-v a:hover { text-decoration: underline; }

/* Vertical Drop Down Menu
------------------------------ */

.menu-v-d { border-top: 1px solid #ccc; }
.menu-v-d li { padding: 2px 0; display: block; position: relative; border: 1px solid #ccc; border-width: 0px 1px 1px 1px; list-style: none; }
.menu-v-d li a { display: block; position: relative; text-decoration: none; padding-left: 10px; }

.menu-v-d li:hover { background: #ccc; }
.menu-v-d a:hover { color: #fff; }

.menu-v-d li ul { display: none; position: absolute; top: -1px; border-top: 1px solid #ccc; left: 100%; width: 100%; background: #fff; }
.menu-v-d li ul li { background: #fff; }

.menu-v-d li:hover ul ul,
.menu-v-d li:hover ul li:hover ul ul { display: none; }

.menu-v-d li:hover ul,
.menu-v-d li:hover ul li:hover ul,
.menu-v-d li:hover ul li:hover ul li:hover ul { display: block; }

.menu-v-d ul ul { left: 100%; }

/* Content elements
------------------------------ */

.content h1, .content .h1, .content h2, .content .h2, .content h3, .content .h3, .content h4, .content .h4, .content h5, .content .h5, table caption { color: #666; font: 24px/20px Arial, Helvetica, sans-serif; margin-bottom: 10px; }
.content h1, .content .h1 { margin-bottom: 14px; }
.content h1.alt { float: left; padding-right: 40px; }
.content h2, .content .h2 { font-size: 16px; color: #666; margin-top: 30px; }
.content h3, .content .h3, table caption { font-size: 12px; font-weight: bold; color: #666; margin-top: 30px; }
.content h4, .content .h4 { font-size: 1.1em; margin-bottom: 7px; }
.content h5, .content .h5 { font-size: 1em; font-weight: bold; }

blockquote { margin-left: 3em; font-style: italic; }
code, pre { font-family: "Monaco", "Courier New", Courier, monospace; }
pre { border: 1px dashed #aaa; line-height: 1.7em; padding: 5px; font-size: .9em; background-color: #eee; margin: 0; }
strong, .strong { font-weight: bold; }
em, .em { font-style: italic; }
dfn { font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }
sup, sub { vertical-align: baseline; position: relative; }
sup { top: -0.4em; }
sub { bottom: -0.3em; }
small, .small { font-size: 0.8em; color: #666 !important; }
big, .big { font-size: 1.35em; }

hr { color: #ccc; background-color: #ccc; height: 1px; border-width: 0px; }

.content ul, .content ol { margin-left: 3em; line-height: 20px; }
.content ul li, .content ol li {  }

.content dl {  }
.content dl dt { margin-bottom: .2em; font-weight: bold; }
.content dl dd { padding-left: 5em; margin-bottom: .4em; }

.icons a, .icon { padding: 1px 0 1px 20px; background-repeat: no-repeat; background-position: left center; }

.content p, .content ul, .content ol, .content dl, .content table, blockquote, address, pre, .columns, .content img, hr, .box-contact { margin-bottom: 20px; }
#ymap table { margin-bottom: 0px; }

.box { padding: 11px; }
.box-header {  }
.box-content {  }
.box-footer {  }

/* Text align, float
------------------------------ */

.a-left { text-align: left; }
.a-center { text-align: center; }
.a-right { text-align: right; }

.f-left { float: left; }
.f-right { float: right; }

/*	Tables
------------------------------ */

table { border-collapse: collapse; width: 100%; }
table caption { text-align: center; }
table th, table td { border: 1px solid #ccc; padding: 2px 5px; vertical-align: top; }
#ymap table th, table td { border: none; }
/*table th:first-child, table td:first-child { padding-left: 0; }*/
table th { background: #f4f4f4; font-weight: normal; text-align: left; }
table td {  }

/*	Columns
------------------------------ */

.columns { width: 99.5%; }
.w-5, .w-10, .w-15, .w-20, .w-25, .w-30, .w-35, .w-40, .w-45, .w-50, .w-55, .w-60, .w-65, .w-70, .w-75, .w-80, .w-85, .w-90, .w-95, .w-100, .w-33, .w-66, .w-38, .w-62 { float: left; clear: right; }

.col-content { padding: 0 6px; white-space: normal; }
.col-first { padding-left: 0!important; }
.col-last { padding-right: 0!important; }

.w-5 { width: 5%; }
.w-10 { width: 10%; }
.w-15 { width: 15%; }
.w-20 { width: 20%; }
.w-25 { width: 25%; }
.w-30 { width: 30%; }
.w-35 { width: 35%; }
.w-40 { width: 40%; }
.w-45 { width: 45%; }
.w-50 { width: 50%; }
.w-55 { width: 55%; }
.w-60 { width: 60%; }
.w-65 { width: 65%; }
.w-70 { width: 70%; }
.w-75 { width: 75%; }
.w-80 { width: 80%; }
.w-85 { width: 85%; }
.w-90 { width: 90%; }
.w-95 { width: 95%; }
.w-100 { width: 100%; }

.w-33 { width: 33.33%; }
.w-66 { width: 66.66%; }

.w-38 { width: 38%; }
.w-62 { width: 62%; }

/* Images
------------------------------ */

img.f-left { margin-right: 1em; }
img.f-right { margin-left: 1em; }
img.inline { margin-bottom: 0 !important; }

/* Text with image
---------------------------------------- */

.text-with-image { margin-bottom: 20px; }
.text-with-image .image { float: left; margin-right: 30px; }
.text-with-image .image img { display: block; margin: 0 !important; }
.text-with-image .text { overflow: hidden; }
.text-with-image .text p { margin-bottom: 0 !important; }
.text-with-image .text h3 { margin-top: 0 !important; }

/* Content Form
------------------------------ */

.content form { }
.content fieldset { margin-bottom: 1em; border: none; }
.content legend { margin-top: -1px; padding-bottom: 1em; font-size: 1.1em; font-weight: bold; }

.content .f-row { margin-bottom: .5em; }
.content label { float: left; text-align: right; width: 25.99%; padding: 0 2%; }
.content .f-inputs { padding-left: 30%; display: block; }

.f-actions { padding-top: 1em; border-top: 1px solid #ccc; }

/* Message box
---------------------------------------- */

.message { border: 1px solid #ccc; padding: 1em; }

/* Pager
---------------------------------------- */

.pager { font-size: .9em; }

/* Inputs
------------------------------ */

input { vertical-align: middle }
.i-checkbox { margin-top: 3px; }
.i-radio { }
.i-select, select { width: 307px; padding: 1px; }
.i-text, select { width: 128px; padding: 2px; font: 1em Arial, Verdana; border: 1px solid #ccc; color: #666; }
.i-text-styled { background: url(../img/i-text-styled.gif) no-repeat; border: none; height: 21px; padding: 0 4px; display: block; }
.i-text-styled input { background: none; border: none; width: 124px; }
.i-button { padding: 0 .25em; width: auto; overflow: visible; cursor: pointer; }

.contacts_message { margin-bottom: 5px; }