.hidden { display: none !important; }
.cfx { *display: inline-block; _height: 1%; }
.cfx:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
.fir { position: relative; cursor: default; display: block; overflow: hidden; z-index: 0; }
.fir span { position: absolute; width: 100%; height: 100%; left: 0; top: 0; z-index: 0; background-position: left top; background-repeat: no-repeat; background-color: transparent; }
.mx_hover { text-decoration: underline; }
.mx_hover:hover { text-decoration: none; }
.mx_revoh { text-decoration: none; }
.mx_revoh:hover { text-decoration: underline; }
.mx_bs { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.mx_bs0 { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; }
.H3 h3 { margin-bottom: 20px; padding-top: 8px; font-size: 24px; letter-spacing: -1px; font-weight: normal; color: #c9d5df; text-shadow: 0px 0px 5px rgba(159, 193, 233, 0.6); }
.PageHeader .page_header { margin-bottom: 20px; *display: inline-block; _height: 1%; float: left; width: 620px; margin-left: 0px; margin-right: 10px; padding-left: 320px; }
.PageHeader .page_header h3 { margin-bottom: 20px; padding-top: 8px; font-size: 24px; letter-spacing: -1px; font-weight: normal; color: #c9d5df; text-shadow: 0px 0px 5px rgba(159, 193, 233, 0.6); }
.PageHeader .page_header:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
.PageHeader .page_header h2 { margin-bottom: 2px; font-size: 50px; letter-spacing: -3px; line-height: 50px; font-weight: normal; color: #e7ecef; *color: #eaeef0; text-shadow: 0px 0px 5px rgba(159, 193, 233, 0.6); }
.PageHeader .page_header a { margin-left: 3px; text-decoration: none; font-size: 11px; color: #b4b874; }
.PageHeader .page_header a:hover { text-decoration: underline; }
.YellowBox { color: #574534; background: #fef3db; }
.TextInput { padding: 3px 8px; font-weight: bold; border: 2px solid #574534; color: #574534; background: #f2f2f2; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }
body { font-family: Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.2em; color: #74716d; background: #191919 url(bg.body.png) repeat-x top; }
.container { min-width: 960px; *display: inline-block; _height: 1%; background: url(bg.container.jpg) no-repeat center top; }
.container:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
.container_12 { margin: 0 auto; *display: inline-block; _height: 1%; min-height: 884px; }
.container_12:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
a { color: #357a9a; }
header { margin: 0 10px; height: 160px; *display: inline-block; _height: 1%; display: block; }
header:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
header .logo { width: 310px; float: left; }
header h1 { position: relative; cursor: default; display: block; overflow: hidden; z-index: 0; width: 230px; height: 100px; text-indent: -1000px; }
header h1 span { position: absolute; width: 100%; height: 100%; left: 0; top: 0; z-index: 0; background-position: left top; background-repeat: no-repeat; background-color: transparent; }
header h1 span { background: url(logo.png); }
header nav { margin-top: 70px; float: left; font-weight: bold; text-transform: uppercase; }
header nav li { margin-right: 25px; float: left; }
header nav a { padding: 15px 0; text-decoration: none; color: #ffffff; }
footer { padding: 35px 0 30px; *padding-bottom: 5px; clear: left; display: block; color: #777777; background: url(bg.footer-border.png) repeat-x left 20px; }
footer .left { margin-left: 10px; float: left; *margin-top: -35px; }
footer .left h4 { margin-bottom: 2px; font-size: 13px; font-weight: normal; }
footer .left p { font-size: 11px; font-weight: bold; }
footer .right { margin-right: 10px; float: right; *margin-top: -35px; }
footer .right a { font-weight: bold; text-decoration: none; color: #667788; }
footer .right a:hover { color: #99AABB; }
.page-works .page_header { margin-bottom: 20px; *display: inline-block; _height: 1%; float: left; width: 620px; margin-left: 0px; margin-right: 10px; padding-left: 320px; }
.page-works .page_header h3 { margin-bottom: 20px; padding-top: 8px; font-size: 24px; letter-spacing: -1px; font-weight: normal; color: #c9d5df; text-shadow: 0px 0px 5px rgba(159, 193, 233, 0.6); }
.page-works .page_header:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
.page-works .page_header h2 { margin-bottom: 2px; font-size: 50px; letter-spacing: -3px; line-height: 50px; font-weight: normal; color: #e7ecef; *color: #eaeef0; text-shadow: 0px 0px 5px rgba(159, 193, 233, 0.6); }
.page-works .page_header a { margin-left: 3px; text-decoration: none; font-size: 11px; color: #b4b874; }
.page-works .page_header a:hover { text-decoration: underline; }
.page-works aside ul { margin-left: 20px; }
.page-works aside a { padding: 3px 10px 0; height: 17px; display: block; text-decoration: none; color: #4691b1; }
.page-works aside a:hover { color: #95bdce; }
.page-works aside .active a { font-weight: bold; color: #ffffff; xbackground: rgba(22, 25, 38, 0.5); background: url(bg.works.item.active.png); }
.page-works aside .active a:hover { color: #ffffff; }
.page-works .content .workitem img { margin-bottom: 20px; opacity: 0; display: block; -webkit-transition: opacity 0.2s linear; -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); }
.page-works .content .workitem img.loaded { opacity: 1; }
.page-works .content .workitem a { margin-left: 3px; text-decoration: none; font-size: 11px; color: #b4b874; }
.page-works .content .workitem a:hover { text-decoration: underline; }
.page-works .content .workinfo { margin-bottom: 15px; padding-bottom: 13px; opacity: 1; display: block; color: #283d1b; background: #262626 url(bg.work.box.png) repeat-x left top; -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; }
.page-works .content .workinfo .date { padding: 8px 10px 0 10px; height: 45px; *display: inline-block; _height: 1%; font-size: 26px; line-height: 26px; letter-spacing: -1px; color: #18191b; }
.page-works .content .workinfo .date:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
.page-works .content .workinfo .date img { margin-left: -2px; }
.page-works .content .workinfo .date .year { padding: 4px 0 0; float: left; }
.page-works .content .workinfo .date .tech { float: right; display: none; }
.page-works .content .workinfo .date .tech img { margin: 0px 0px 0px -2px; }
.page-works .content .workinfo p { margin: 0 10px 20px; font-size: 14px; color: #838382; }
.page-works .content .workinfo a { margin: 0 10px; text-decoration: none; font-weight: bold; font-size: 10px; }
.page-works .content .workinfo a:hover { text-decoration: underline; }
.page-works .content .desc p { line-height: 17px; color: #74716d; }
.page-contact .page_header { margin-bottom: 20px; *display: inline-block; _height: 1%; float: left; width: 620px; margin-left: 0px; margin-right: 10px; padding-left: 320px; }
.page-contact .page_header h3 { margin-bottom: 20px; padding-top: 8px; font-size: 24px; letter-spacing: -1px; font-weight: normal; color: #c9d5df; text-shadow: 0px 0px 5px rgba(159, 193, 233, 0.6); }
.page-contact .page_header:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
.page-contact .page_header h2 { margin-bottom: 2px; font-size: 50px; letter-spacing: -3px; line-height: 50px; font-weight: normal; color: #e7ecef; *color: #eaeef0; text-shadow: 0px 0px 5px rgba(159, 193, 233, 0.6); }
.page-contact .page_header a { margin-left: 3px; text-decoration: none; font-size: 11px; color: #b4b874; }
.page-contact .page_header a:hover { text-decoration: underline; }
.page-contact aside { padding-top: 20px; float: left; width: 300px; margin-left: 10px; margin-right: 0px; }
.page-contact aside h3 { margin-bottom: 20px; padding-top: 8px; font-size: 24px; letter-spacing: -1px; font-weight: normal; color: #c9d5df; text-shadow: 0px 0px 5px rgba(159, 193, 233, 0.6); }
.page-contact aside p { line-height: 16px; }
.page-contact .form { margin-bottom: 15px; padding: 25px 0 0; font-size: 12px; color: #968476; background: #eef3db url(bg.yellowbox-1.png) no-repeat left 80px; float: left; width: 620px; margin-left: 10px; margin-right: 0px; -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); }
.page-contact .form form { background: url(bg.yellowbox-2.png) no-repeat left bottom; }
.page-contact .form .h { margin: 0 20px 85px; }
.page-contact .form .h h3 { margin-bottom: 10px; font-size: 22px; font-weight: normal; letter-spacing: -1px; color: #574534; }
.page-contact .form .row { margin: 8px 0 5px; *display: inline-block; _height: 1%; }
.page-contact .form .row:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
.page-contact .form .row .req { left: -9px; margin-right: -3px; padding-top: 3px; width: 3px; float: left; position: relative; color: #ed1a1a; }
.page-contact .form .row label { padding: 6px 10px 0 0; font-size: 13px; float: left; width: 150px; margin-left: 0px; margin-right: 0px; padding-left: 60px; }
.page-contact .form .row textarea { padding: 3px 8px; font-weight: bold; border: 2px solid #574534; color: #574534; background: #f2f2f2; height: 100px; font-family: Helvetica, Arial, sans-serif; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; float: left; width: 300px; margin-left: 0px; margin-right: 0px; }
.page-contact .form .row input[type="text"] { padding: 3px 8px; font-weight: bold; border: 2px solid #574534; color: #574534; background: #f2f2f2; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; float: left; width: 300px; margin-left: 0px; margin-right: 0px; }
.page-contact .form .row input[type="checkbox"] { float: left; }
.page-contact .form .row select { float: left; width: 316px; margin-left: 0px; margin-right: 0px; }
.page-contact .form .error { margin-bottom: 5px; color: #ed1a1a; padding-left: 220px; }
.page-contact .form .hr { margin: 10px 0; height: 3px; border: none; color: transparent; background: transparent url(bg.yellowbox-hr.png); }
.page-contact .form .hr hr { display: none; }
.page-contact .form .newsletter { padding: 25px 0 50px; }
.page-contact .form .newsletter label { padding-top: 3px; }
.page-contact .form .final { padding-bottom: 20px; }
.page-contact .form .final .note { padding-left: 10px; font-size: 11px; float: left; width: 300px; margin-left: 10px; margin-right: 10px; }
.page-contact .form .final .actions { float: left; width: 140px; margin-left: 0px; margin-right: 0px; padding-left: 80px; }
.page-contact .success .form { padding-top: 30px; background: #eef3db url(bg.yellowbox-1.png) no-repeat left -40px; }
.page-contact .success .form .h { margin-bottom: 30px; }
.page-services .page_header { margin-bottom: 20px; *display: inline-block; _height: 1%; float: left; width: 620px; margin-left: 0px; margin-right: 10px; padding-left: 320px; }
.page-services .page_header h3 { margin-bottom: 20px; padding-top: 8px; font-size: 24px; letter-spacing: -1px; font-weight: normal; color: #c9d5df; text-shadow: 0px 0px 5px rgba(159, 193, 233, 0.6); }
.page-services .page_header:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
.page-services .page_header h2 { margin-bottom: 2px; font-size: 50px; letter-spacing: -3px; line-height: 50px; font-weight: normal; color: #e7ecef; *color: #eaeef0; text-shadow: 0px 0px 5px rgba(159, 193, 233, 0.6); }
.page-services .page_header a { margin-left: 3px; text-decoration: none; font-size: 11px; color: #b4b874; }
.page-services .page_header a:hover { text-decoration: underline; }
.page-services aside { padding-top: 20px; float: left; width: 300px; margin-left: 0px; margin-right: 0px; }
.page-services aside h3 { margin-bottom: 20px; padding-top: 8px; font-size: 24px; letter-spacing: -1px; font-weight: normal; color: #c9d5df; text-shadow: 0px 0px 5px rgba(159, 193, 233, 0.6); }
.page-services .services { margin-left: -10px !important; padding: 20px 0 20px 20px; xbackground: rgba(23, 25, 37, 0.5); background: url(bg.services.content.png); float: left; width: 610px; margin-left: 0px; margin-right: 0px; }
.page-services .services .intro { margin-bottom: 35px; }
.page-services .services .intro p { margin-bottom: 10px; font-size: 14px; line-height: 16px; color: #747474; }
.page-services .services .box { margin-bottom: 20px; float: left; width: 290px; margin-left: 0px; margin-right: 0px; }
.page-services .services .box h3 { margin-bottom: 8px; *padding-top: 2px; font-size: 20px; font-weight: normal; color: #ececec; }
.page-services .services .box li { margin: 0 0 2px 5px; color: #929395; }
.page-services .services .box .raq { color: #85a6c4; }
.page-services .services .third { clear: left; }
.page-services .services .fifth { clear: left; }
