/* - base elements definition -*/
html, body {
    height: 100%;
}
body {
    background: #fff;
    color: #333;
    font-size: 12px;
    line-height: 145%;
}
* {
    font-family: Verdana, Arial, Geneva, Helvetica, sans-serif;
    margin: 0;
    padding: 0;
    border: none;
}
a, a:visited {
    color: #c90;
    text-decoration: none;
}
a:hover {
    color: #000;
    text-decoration: none;
}
ul, ol {
    margin-left: 25px;
}
ul.link_list {
    list-style: none;
    margin-left: 0;
}
ul.link_list li {
    background: transparent url(/frontend/img/frontend/ico_arrow.gif) 0 6px no-repeat;
    padding: 1px;
    padding-left: 15px;
}
p {
    padding: 0 0 15px 0;
}
address {
    margin: 0 0 7px;
    font-style: normal;
    font-size: 11px;
    line-height: 135%;
}
address span {
    display: block;
}
address span.phone {
    padding-top: 7px;
}
.posleft {
    float: left;
}
.posright {
    float: right;
}
.clear {
    clear: both;
}

/* - form elements definition -*/
input, textarea, button {
    font-size: 11px;
    vertical-align: middle;
}
input:focus, textarea:focus {
    border: 1px solid #666!important;
}
select {
    height: 20px;
    padding: 2px 2px 3px 4px;
    border: 1px solid #ccc;
    border-top: 1px solid #999;
    border-left: 1px solid #999;
    font-size: 11px;
}
.ip_text, textarea {
    border: 1px solid #ccc;
    padding: 4px 5px 0;
    background: #fff url(/frontend/img/frontend/bgd_ip_text.jpg) repeat-x;
}
.ip_text {
    width: 330px;
    height: 19px;
}
.ip_text.year {
    width: 30px;
    height: 16px;
}
.ip_submit {
    height: 25px;
    padding-bottom: 4px;
    border: none;
    border: 2px solid #d9d9d9;
    background: #aaa url(/frontend/img/frontend/bgd_ip_submit.jpg) repeat-x;
    color: #fff;
    cursor: pointer;
    font-size: 11px;
}
.ip_submit.disabled {
    opacity: 0.5;
    -moz-opacity: 0.5;
    filter: alpha(opacity=50);
    cursor: default;
}
.ip_submit.orange {
    height: 22px!important;
    padding: 0 6px 4px;
    margin-top: -3px;
    border: 2px solid #f2a736;
    background: #fe9a03 url(/frontend/img/frontend/bgd_ip_submit_orange.jpg) repeat-x;
}
img.loading {
    margin-left: 5px;
    vertical-align: middle;
}
/* - layered form definition -*/
.layer {
    position: absolute;
    z-index: 10;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    text-align: center;
    background: transparent url(/frontend/img/frontend/bgd_layer.png);
}
.contact_form {
    position: absolute;
    left: 50%;
    z-index: 15;
    width: 417px;
    margin: 150px auto 0;
    margin-left: -208px;
    text-align: center;
}
.contact_form p.success {
    font-weight: bold;
    color: #6b8e23;
}
.contact_form.fallback {
    position: relative;
    left:0;
    width: 360px;
    margin: 0;
    margin-top: 40px;
    text-align: left;
}
.contact_form.fallback .formitem {
    position: relative;
}
.contact_form.fallback .formitem span {
    font-size: 11px;
    color: #c00;
}
.contact_form h2.flashtitle {
    margin-bottom: 25px!important;
    margin-right: 20px!important;
}
.contact_form .body {
    height: 320px;
    background: transparent url(/frontend/img/frontend/bgd_form_body.png) repeat-y;
}
.contact_form .body .bg {
    text-align: left;
    padding: 10px 0 0 25px;
    background: transparent url(/frontend/img/frontend/bgd_form.jpg) 6px 0 no-repeat;
}
.contact_form .top {
    height: 10px;
    background: transparent url(/frontend/img/frontend/bgd_form_top.png) no-repeat;
}
.contact_form .bottom {
    height: 27px;
    background: transparent url(/frontend/img/frontend/bgd_form_bottom.png) no-repeat;
}
.contact_form .formitem {
    margin: 0 0 12px 0;
    text-align: left;
    position: relative;
}
.contact_form .formitem .error.active, .contact_form .formitem .succeed.active {
    display: block!important;
}
.contact_form .formitem .error, .contact_form .formitem .succeed {
    display: none;
    position: absolute;
    top: 0;
    z-index: 999;
}
.contact_form .formitem .error {
    left: 350px;
    height: 35px;
    padding: 0 0 0 21px;
    background: url(/frontend/img/frontend/bgd_error_left.png) left no-repeat;
}
.contact_form .formitem .succeed {
    top: -43px;
    left: 110px;
    height: 51px;
    padding: 0 0 0 25px;
    background: url(/frontend/img/frontend/bgd_succeed_left.png) left no-repeat;
}
.contact_form .formitem .error span, .contact_form .formitem .succeed span {
    display: block;
    white-space: nowrap;
    min-width: 100px;
    color: #fff;
}
.contact_form .formitem .error span {
    height: 31px;
    padding: 4px 25px 0 0;
    background: url(/frontend/img/frontend/bgd_error_right.png) right no-repeat;
}
.contact_form .formitem .succeed span {
    height: 41px;
    padding: 10px 30px 0 0;
    background: url(/frontend/img/frontend/bgd_succeed_right.png) right no-repeat;
}

.contact_form label {
    float: left;
    width: 100px;
    text-align: left;
    font-size: 11px;
}
.contact_form .ip_text {
    width: 240px;
}
.contact_form select {
    width: 251px;
}
.contact_form textarea {
    width: 240px;
}
.contact_form .ip_submit {
    padding-right: 15px;
    padding-left: 15px;
    border: 2px solid #ffb133;
    background: #f90 url(/frontend/img/frontend/bgd_ip_submit_orange.jpg) repeat-x;
}
.contact_form .ip_submit:focus {
    border: 2px solid #ff8c00!important;
}
.contact_form h2.flashtitle {
    margin: 10px 0 10px -10px;
}
.formitem:after {
    content: ".";
    display: block;
    height: 0;
    line-height: 0%;
    clear: both;
    visibility: hidden;
}

/* - layout elements definition -*/
#wrapper {
    position: relative;
    z-index: 0;
    height: auto;
    min-height: 100%;
    background: url(/frontend/img/frontend/bgd.jpg) top repeat-x;
}
#headerarea, #navigation, #contentarea {
    width: 920px;
    margin: 0 auto;
}
#headerarea {
    height: 87px;
    background: #283a4e url(/frontend/img/frontend/bgd_header.jpg) no-repeat;
}
#logo {
    margin: 0 0 0 10px;
}
#navigation {
    position: relative;
    width: 910px;
    height: 33px;
    margin-left: 10px;
    background: url(/frontend/img/frontend/bgd_nav.jpg) no-repeat;
    list-style: none;
}
#contentarea {
    position: relative;
    background: #fff url(/frontend/img/frontend/bgd_contentarea.jpg) no-repeat;
    min-height: 550px;
    padding-bottom: 100px;
}
#shadow {
    position: relative;
    z-index: 20;
    width: 900px;
    height: 10px;
    margin-left: 10px;
    background: url(/frontend/img/frontend/bgd_shadow.png) no-repeat;
}
#subnav_wrapper {
    float: left;
    width: 201px;
    margin: 0 0 0 10px;
    margin-top: -10px;
    font-size: 11px;
}
#main {
    float: right;
    width: 674px;
    margin-top: -10px;
    margin-right: 20px;
}
#footerarea {
    width: 100%;
    background: #fff url(/frontend/img/frontend/bgd_footer.jpg) bottom repeat-x;
    height: 26px;
    padding: 38px 0 0;
    position: absolute;
    bottom: 0;
}
#contentarea:after {
    content: ".";
    display: block;
    height: 0;
    line-height: 0%;
    clear: both;
    visibility: hidden;
}
#navigation:after {
    content: ".";
    display: block;
    height: 0;
    line-height: 0%;
    clear: both;
    visibility: hidden;
}

/* - navigation elements definition -*/
#navigation li {
    float: left;
}
#navigation li a, #navigation li a:visited {
    display: block;
    height: 25px;
    padding: 8px 15px 0;
    color: #000;
}
#navigation li a:hover {
    color: #999;
}
#navigation li.selected {
    background: #ffa723 url(/frontend/img/frontend/bgd_nav_sel.jpg) bottom repeat-x;
    color: #fff;
}
#navigation li.selected a, #navigation li.selected a:visited {
    color: #fff;
}

/* - sub naviagation elements definition - */
#subnav_wrapper h1, #subnav_wrapper label {
    display: block;
    margin: 0 0 5px;
    font-size: 12px;
    font-weight: bold;
}
.subnav {
    list-style: none;
    padding: 13px 0 15px 0;
    margin-left: 0;
    background-color: #cfddeb;
    border-bottom: 1px solid #e3e3e3;
}
.subnav li.selected {
    font-weight: bold;
}
.subnav li a, .subnav li a:visited {
    display: block;
    height: 21px;
    padding: 2px 15px 0;
    color: #395066;
}
.subnav li a:hover {
    background-color: #a0b7cf;
    color: #fff;
}
/* - 3rd level navigation - */
.subnav li.selected ul {
    list-style: none;
    margin-left: 30px;
    margin-top: -4px;
    margin-bottom: 6px;
}
.subnav li.selected ul li {
    font-weight: normal;
    font-size: 10px;
}
.subnav li.selected ul li a, .subnav li.selected ul li a:visited {
    height: 16px;
    padding: 0;
    background-color: transparent!important;
}
.subnav li.selected ul li a:hover {
    color: #395066;
    text-decoration: underline;
}
.subnav li.selected ul li.selected a, .subnav li.selected ul li.selected a:visited {
    font-weight: bold;
}

.searchbox {
    padding: 15px 0;
    background-color: #ededed;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #e3e3e3;
}
.searchbox div {
    position: relative;
    padding: 0 15px;
}
.searchbox div img.loading {
    position: absolute;
    top: 0;
    left: 58px;
}
.searchbox div .warning.active {
    display: block!important;
}
.searchbox div .warning {
    display: none;
    position: absolute;
    top: -13px;
    left: 15px;
    height: 40px;
    padding: 0 0 0 14px;
    background: url(/frontend/img/frontend/bgd_warning_left.png) left no-repeat;
    z-index: 999;
}
.searchbox div .warning span {
    display: block;
    height: 35px;
    padding: 5px 25px 0 0;
    min-width: 100px;
    white-space: nowrap;
    color: #928d36;
    background: url(/frontend/img/frontend/bgd_warning_right.png) right no-repeat;
}
.searchbox .ip_text {
    width: 113px;
}
.searchbox .ip_submit {
    width: 40px;
}
.searchbox.disabled .ip_text:focus {
    border: 1px solid #ccc!important;
    opacity: 0.5;
    -moz-opacity: 0.5;
    filter: alpha(opacity=50);
    cursor: default;
}
.searchbox.disabled .ip_text, .searchbox.disabled .ip_submit {
    opacity: 0.5;
    -moz-opacity: 0.5;
    filter: alpha(opacity=50);
    cursor: default;
}
.searchbox .spliter {
    height: 0;
    font-size: 0;
    line-height: 0%;
    margin: 10px 4px;
    border-top: 1px solid #e3e3e3;
    border-bottom: 1px solid #fff;
}
.courtesy {
    padding: 10px 15px 0;
}
.linkbox {
    padding: 15px;
    background-color: #e1e1e1;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #e3e3e3;
}

/* - main elements definition -*/
.breadcrumb {
    font-size: 11px;
    color: #999;
}
.breadcrumb a, .breadcrumb a:visited {
    color: #999;
}
.breadcrumb a:hover {
    color: #000;
}
.content {
    padding: 10px 10px 0;
}
.content h1.title {
    margin: 20px 0 20px;
}
h1.flashtitle {
    margin: 20px 0 30px;
    font-size: 28px;
    font-weight: normal;
    color: #000;
}
h1.flashtitle.hidden {
    display: none;
}
.content h2 {
    margin: 10px 0 15px;
    font-size: 14px;
}
h2.flashtitle {
    margin: 0 0 15px!important;
    font-size: 20px;
    font-weight: normal;
    color: #000;
}
h2.flashtitle.hidden {
    display: none;
}
ul.searchresult {
    margin: 0;
    list-style: none;
}
ul.searchresult li {
    padding: 15px 0;
    border-bottom: 1px solid #ddd;
}
ul.searchresult.scroller li {
    padding: 15px 10px;
    list-style: none;
}
ul.searchresult li p {
    padding: 0 0 5px;
}
ul.searchresult li h1 {
    margin: 0 0 4px;
    font-size: 12px;
}
.page {
    margin-top: 30px;
    background: #c7d3e1;
    padding: 5px 10px 5px;
}
.page .ip_text {
    width: 30px!important;
    margin: 0 7px 0 10px;
    font-weight: bold;
}
.page a, .page a:visited {
    font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: bold;
}

/* - footer elements definition -*/
#footerarea div {
    position: relative;
    width: 910px;
    margin: 0 auto;
    color: #fff;
    font-size: 10px;
}
#footerarea div img.no_logo {
    position: absolute;
    top: 5px;
    right: 10px;
}

/* - home elements definition -*/
.home #contentarea {
    background: #fff url(/frontend/img/frontend/bgd_contentarea_home.jpg) no-repeat;
}
.home #subnav_wrapper {
    width: 910px;
    float: none;
}
.home #subnav_wrapper:after {
    content: ".";
    display: block;
    height: 0;
    line-height: 0%;
    clear: both;
    visibility: hidden;
}
.home .searchbox {
    width: 201px;
    height: 216px;
    float: left;
    background: #fff url(/frontend/img/frontend/bgd_subnav_wrapper_home.jpg) no-repeat;
    border-bottom: none;
}
.home .flash {
    float: left;
    padding: 0;
    background-color: #ccc;
}
.home .content {
    width: 880px;
    padding: 20px;
}
.home .box_section {
    float: left;
    width: 286px;
    min-height: 315px;
    margin-right: 10px;
}
.home .box_section.last {
    margin-right: 0;
}
.box .body {
    padding: 10px 15px 0;
    font-size: 11px;
}
.box .body p {
    margin: 10px 0 0 0;
}
.box .body {
    min-height: 285px;
    background: #fff url(/frontend/img/frontend/bgd_box_top.jpg) top no-repeat;
}
.box .body ul.link_list li {
    padding-bottom: 5px;
}
.box.short {
    min-height: 140px;
}
.box.short .body {
    min-height: 130px;
}
.box .bottom {
    height: 15px;
    background: url(/frontend/img/frontend/bgd_box_bottom.png) bottom no-repeat;
    font-size: 0;
    line-height: 0%;
}
.box .body img {
    border: 3px solid #c6c6c6;
}
.box .body div.img_float {
    min-height: 95px;
}
.box .body div.img_float p {
    margin: 0 0 0 88px;
}
.box .body div.img_float:after {
    content: ".";
    display: block;
    height: 0;
    line-height: 0%;
    clear: both;
    visibility: hidden;
}
div.flash.subsite {
    width: 684px;
    height: 93px;
    background-color: #ccc;
}

/* - table definition - */
.table_header:after {
    content: ".";
    display: block;
    height: 0;
    line-height: 0%;
    clear: both;
    visibility: hidden;
}
.table_header {
    height: 30px;
    padding: 8px 0 0;
    background-color: #c7d3e1;
}
.table_header ul {
    position: absolute;
    z-index: 2;
    list-style: none;
}
.table_header ul li {
    float: left;
    height: 23px;
    padding: 6px 8px 0;
    margin-left: 8px;
    border: 1px solid #8598af;
    background-color: #fff;
    color: #c90;
}
.table_header ul li.selected {
    float: left;
    border-bottom: 1px solid #dfe9f3;
    background-color: #dfe9f3;
    font-weight: bold;
    color: #333;
}

/* -- class selector -- */
.class_selector {
    float: right;
    margin: 2px 10px 0 0;
}
.class_selector select.teacher {
    width: 200px;
}
.class_selector select.class {
    width: 70px;
}
.class_selector select.room {
    width: 70px;
}
.class_selector span {
    font-weight: bold;
}

/* -- table definition -- */
table {
    width: 100%;
    padding: 0;
    text-align: left;
    border-bottom: solid 2px #21384f;
}
th, td {
    padding: 5px 6px;
    vertical-align: top;
    line-height: 130%;
}
th {
    height: 35px;
    border: none!important;
    background-color: #dfe9f3;
    vertical-align: middle;
    border-top: 1px solid #8598af!important;
}

/* -- time table -- */
td.time {
    background-color: #f0f6fc;
    font-style: italic;
    font-size: 11px;
    line-height: 120%;
}
td.time span {
    display: block;
}
table thead th {
    border: 1px solid #d6e3ef;
}
table tbody td {
    border-bottom: 1px solid #d6e3ef;
}

/* -- time table -- */
table.time_table tbody td {
    border-right: 1px dashed #d6e3ef;
}
table.time_table {
    font-size: 10px;
    text-align: center;
}
table .time_table td {
    min-height: 50px;
}
table.time_table td span {
    line-height: 160%;
    white-space: nowrap;
}
table.time_table td.time {
    background-color: #f0f6fc;
    font-style: italic;
    line-height: 160%;
    font-size: 11px;
}

/* -- grouped table -- */
table.grouped_table tr.group_title {
    background-color: #f0f6fc;
}
table.grouped_table tr.group_title {
    background-color: #f0f6fc;
}
table.grouped_table tr.group_title td {
    border-bottom: none;
    font-weight: bold
}
table.grouped_table tr td {
    border-bottom: 1px dashed #d6e3ef;
}
table.grouped_table tr.lastrow td {
    border-bottom: 1px solid #d6e3ef;
}

/* - error page -*/
#contentarea.error_page {
    background: none;
    padding-bottom: 100px;
}
#contentarea.error_page #main {
    width: 860px;
    padding: 20px;
}

/* - freetext(rte) - */
div.freetext {
    padding-bottom: 15px;
}
div.freetext img.right {
    text-align: right;
    margin-left: 10px;
}
div.freetext img.left {
    text-align: left;
    margin-right: 15px;
}
div.hr {
    height: 1px;
    font-size: 0;
    line-height: 0%;
    margin: 20px 0;
    border-bottom: 1px solid #e3e3e3;
}

/* - ie6 hack -*/
* html #navigation li a, * html  #navigation li a:visited {
    position: relative;
    white-space: nowrap;
    width: 20px;
}
* html #shadow {
    background-image: none;
    //filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( src='/frontend/img/frontend/bgd_shadow.png', sizingMethod='image');
}
* html .box .bottom {
    background-image: none;
    //filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( src='/frontend/img/frontend/bgd_box_bottom.png', sizingMethod='image');
}
* html .layer {
    background-image: none;
    //filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( src='/frontend/img/frontend/bgd_layer.png', sizingMethod='scale');
}
* html #subnav_wrapper {
    margin-left: 5px;
}
* html #main {
    margin-right: 5px;
}
* html #contentarea {
    height: 550px;
}
* html .home .searchbox {
    margin-left: 3px;
}
* html .home .box_section {
    height: 315px;
}
* html .box .body {
    height: 285px;
}
* html .box.short {
    height: 140px;
}
* html .box.short .body {
    height: 130px;
}
* html .content h2.flashtitle {
    margin-bottom: 5px!important;
}
* html .content h1.flashtitle {
    margin-bottom: 15px!important;
}
* html th {
    height: 25px;
}
* html .contact_form .formitem .error {
    left: 250px;
}
* html .contact_form .top, * html .contact_form .bottom {
    font-size: 0;
    line-height: 0%;
}
* html .contact_form .top {
    background-image: none;
    //filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( src='/frontend/img/frontend/bgd_form_top.png', sizingMethod='image');
}
* html .contact_form .bottom {
    background-image: none;
    //filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( src='/frontend/img/frontend/bgd_form_bottom.png', sizingMethod='image');
}
* html .contact_form .body {
    background-image: none;
    //filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( src='/frontend/img/frontend/bgd_form_body.png', sizingMethod='scale');
}
* html .contact_form .formitem .error {
    background-image: none;
    //filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( src='/frontend/img/frontend/bgd_error_left.png', sizingMethod='crop');
}
* html .contact_form .formitem .error span {
    background-image: none;
    //filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( src='/frontend/img/frontend/bgd_error_right.png', sizingMethod='scale');
}
* html .contact_form .formitem .succeed {
    left: 0;
    background-image: none;
    width: 100px;
    white-space: nowrap;
    //filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( src='/frontend/img/frontend/bgd_succeed_left.png', sizingMethod='crop');
}
* html .contact_form .formitem .succeed span {
    background-image: none;
    //filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( src='/frontend/img/frontend/bgd_succeed_right.png', sizingMethod='scale');
}
* html .searchbox div .warning {
    left: 0;
    width: 80px;
    white-space: nowrap;
    background-image: none;
    //filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( src='/frontend/img/frontend/bgd_warning_left.png', sizingMethod='crop');
}
* html .searchbox div .warning span {
    background-image: none;
    //filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( src='/frontend/img/frontend/bgd_warning_right.png', sizingMethod='scale');
}
* html .searchbox div img.loading {
    position: absolute;
    top: 0px;
    left: 43px;
}
* html .box .body div.img_float {
    height: 95px;
}
* html button.ip_submit { margin-left: 5px; }

/* - ie7 hack -*/
*+ html button.ip_submit { margin-left: 5px; }
*+ html .searchbox.disabled .ip_text { margin-right: 5px!important; width: 105px }
*+ html .content { height: 1%; }
*+ html .content h2.flashtitle { margin-bottom: 5px!important; }
*+ html .content h1.flashtitle { margin-bottom: 15px!important; }
*+ html th { height: 25px; }


























