html, body { font-family: Arial; font-size: 16px; overflow-x: hidden; }
a { text-decoration: none; }
a:hover { text-decoration: underline; }

/* ########################################################################## */

/* ----- page layout */
#layout-container {
  width: 944px; min-height: 950px;
  margin: 0 auto; position: relative;
}
body { background-color: #231f20; }
#background-west, #background-east { position: absolute; width: 450px; height: 950px; }
#background-west { left: -450px; background-image: url('front/body_bg_left.jpg'); }
#background-east { right: -450px; background-image: url('front/body_bg_right.jpg'); }

/* ----- page header */
#layout-header { overflow: auto; background-color: #333; }
h1.logo {
  display: block; position: relative; width: 447px; height: 106px;
  float: left; background-image: url('front/top_logo.png');
}
h1.logo a {
  display: block; position: absolute; width: 100%; height: 100%;
  font-size: 0; line-height: 0; opacity: 0;
}

address { display: block; overflow: auto; float: right; margin: 18px 30px 0 0; }
address span { float: left; font-size: 12px; margin: 10px; color: #fff; }
address h3 { color: #ffd65d; text-transform: uppercase; }
address .location, address .contacts { line-height: 15px; max-width: 125px; }
address .decor { margin: 0 5px; font-size: 60px; color: #ffd65d; }

.lsearch { position: absolute; right: 60px; top: 70px; opacity: 0.8; }
.lsearch input { font-size: 10px; width: 70px; }
.lsearch button { font-size: 10px; padding: 0 2px; }

/* ----- page images */
#layout-image { position: relative; font-size: 0; }
h2.slogan {
  display: block; position: absolute; width: 478px; height: 152px; top: 110px; left: 0;
  background-image: url('front/top_slogan.png'); font-size: 0; line-height: 0;
}
#custom-header-image { width: 100%; max-height: 200px; overflow: hidden; }

#carousel { width: 944px; height: 344px; overflow: hidden; position: relative; }
#carousel li { position: absolute; display: none; }
#carousel li.active { display: block; }

/* ----- menu (header) */
#layout-header ul.menu {
  clear: both; overflow: auto; padding: 0 30px; font-size: 12px;
  color: #222; background-color: #fff; text-transform: uppercase;
}
#layout-header ul.menu li { float: left; }
#layout-header ul.menu a { display: inline-block; padding: 8px 10px; color: #222; }
#layout-header ul.menu a:hover { background-image: url('general/gradient-white.png'); background-repeat: repeat-x; }
.menu a:hover { text-decoration: none; background-color: #9a203a; color: #fff !important; }

/* ----- menu (dynamic) */
#layout-header li.active a {
  background-color: #9a203a; color: #fff;
  background-image: url('general/gradient-white.png'); background-repeat: repeat-x;
}
ul.sub {
  position: absolute; padding: 2px; display: none; margin-top: 30px;
  background-color: #fff; border: 1px solid #ccc;
  opacity: 0.7; filter: alpha(opacity=70);
  -moz-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3); -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
}
ul.sub li { font-size: 12px; min-width: 100px; }
ul.sub a { display: block; padding: 4px 8px; color: #000; }
ul.sub a:hover { background-color: #d44; color: #fff; text-decoration: none; }

/* ########################################################################## */

/* ----- content area */
#layout-middle { overflow: hidden; background: #191919 url('front/content_bg.png') no-repeat; }
#layout-central { margin-top: 20px; color: #fff; }
#layout-central > img { display: block; }

.main {
  width: 455px; font-size: 12px; padding: 8px 44px 8px 56px;
  background: url('front/content_line.png') repeat-y; min-height: 400px;
}
.main p { margin: 16px 0; color: #333; line-height: 16px; text-align: justify; }
.main p:first-child { margin-top: 0; }
.main ul { color: #000; margin: 1px 16px; }
.main ul li { list-style: outside disc; line-height: 200%; }

.mheader { height: 85px; background: url('front/content_header.png') no-repeat; }
.mheader h3 {
  height: 50px; position: relative; top: 36px; left: 54px; color: #FFD65D; max-width: 50%;
  font-family: Helvetica, sans-serif; font-weight: bold; font-size: 26px; line-height: 150%;
}
.sIFR-hasFlash .mheader h3 { visibility: hidden; }
.sIFR-flash { visibility: visible !important; }

/* ---- content boxes */
#layout-right { float: right; margin: 10px; }
.box { width: 324px; margin: 10px 18px 18px 10px; }
.box > div { background-image: url('front/right_box.png'); color: #fff; font-size: 12px; }
.box > .header { background-position: 0 top; padding: 18px 25px 12px; }
.box > .content { background-position: 0 -55px; padding: 0 25px 12px; }
.box > .footer { background-position: 0 bottom; padding: 5px 25px; text-align: right; }

.box h5 { font-weight: bold; }
.box h5 .decor { display: block; float: left; margin: -2px 5px 5px 0; font-size: 16px; color: #ffd65d; }
.box h5 + p { margin: 10px 15px; }
.box h5 a { color: #fff; }

.box .footer .bullet {
  display: inline-block; width: 23px; height: 30px; vertical-align: middle;
  background-image: url('front/right_bullet.png');
}
.box .footer a { font-weight: bold; text-transform: uppercase; color: #fff; }
.box + br { display: none; }

/* ----- list items */
.list-item { color: #333; margin-bottom: 10px; }
.list-item h4 { font-size: 16px; font-weight: bold; }
.list-item h4 a, .list-item li a { color: #333; }
.list-item .text { margin: 5px 0; }
.list-item .published { color: #666; }

.main .contacts { color: #369; margin: 2px; }
.main .contacts span { padding: 0 10px; }

.main strong { font-weight: bold; }

/* ########################################################################## */

/* ----- page footer */
#layout-footer {
  position: relative; overflow: auto; background-color: #333; color: #777; font-size: 12px;
  margin-top: -16px; -moz-border-radius: 16px; -webkit-border-radius: 16px;
}
#layout-footer > div { float: left; padding: 50px; }
#layout-footer > div > img { display: block; margin-bottom: 20px; }
#layout-footer a { color: #999; }

/* ----- page footer (content) */
.footer-links { max-width: 90px; }
.footer-legal { width: 210px; padding-right: 0 !important; }
.footer-legal a { text-transform: uppercase; font-weight: bold; }
.footer-partners { line-height: 250%; width: 100px; }
.footer-follow { width: 185px; min-height: 250px; background: url('front/right_footer.jpg') no-repeat; }
.footer-follow a img { display: block; margin: 10px 0; }

/* ----- menu (footer) */
#layout-footer ul.menu ul { }
#layout-footer ul.menu li { display: block; margin-left: -8px; }
#layout-footer ul.menu a { display: inline-block; width: 100%; padding: 4px 8px; color: #777; }

