/* === emmanuel CSS stylesheet === */

/* -------------------------------------------- *
 * ---------------->>> Global <<<-------------- *
 * -------------------------------------------- */
 
body {
    font-family: Verdana, sans-serif;
    font-size: 12px;
    margin: auto;
    width: 800px;
    margin-top: 0;
    padding-top: 0;
    background-color: white;
    }

#container {
    float: left; display: inline;
    position: relative;
    width: 800px;
    margin-top: 20px;
    background: url(images/shadow-right.png) no-repeat;
    background-position: right 250px;
    }

/* -------------------------------------------- *
 * ------------>>> Page Structure <<<---------- *
 * -------------------------------------------- */

/* === Header === */

#header-pic {
    position: absolute;
    top: 4px;
    left: 1px;
    background: url(images/header-pic.png) no-repeat;
    width: 253px;
    height: 126px;
    }
    
#header-title {
    position: absolute;
    top: 0px;
    left: 280px;
    background: url(images/header-title.png) no-repeat;
    width: 408px;
    height: 39px;
    z-index: 1;
    }

#header-band {
    position: absolute;
    top: 46px;
    left: 253px;
    background: url(images/header-band.png) no-repeat;
    width: 345px;
    height: 10px;
    }

#crest-top {
    position: absolute;
    right: 0px;
    top: 4px;
    background: url(images/crest-top.png) no-repeat;
    width: 315px;
    height: 65px;
    z-index: 0;
    }

#crest-middle {
    position: absolute;
    right: 0px;
    top: 69px;
    background: url(images/crest-middle.png) no-repeat;
    width: 349px;
    height: 124px;
    }

#crest-bottom {
    position: absolute;
    right: 0px;
    top: 193px;
    background: url(images/crest-bottom.gif) no-repeat;
    width: 174px;
    height: 79px;
    }

#crest-cross {
    position: absolute;
    right: 34px;
    top: 24px;
    background: url(images/cross-anim.gif) no-repeat;
    width: 63px;
    height: 88px;
    }

/* === Sidebar === */

#sidebar {
    position: absolute;
    top: 128px;
    width: 120px;
    left: 25px;
    padding-top: 60px;
    background: url(images/shadow-left-middle.png) repeat-y;
    background-position: top right;
    }
    #sidebar .shadow {
        position: absolute;
        background: url(images/shadow-left-top.png) no-repeat;
        background-position: right top;
        width: 29px;
        height: 219px;
        top: 0px;
        right: 0;
        }
    #sidebar .menu-item {
        position: relative;
        display: block;
        width: 120px;
        height: 42px;
        line-height: 42px;
        color: black;
        font-weight: bold;
        font-size: 15px;
        text-align: right;
        text-decoration: none;
        filter: alpha(opacity=60);
        opacity: 0.6;
        }
    #sidebar .menu-item-large {
        height: 55px;
        line-height: 55px;
        }
    #sidebar .menu-item img {
        position: absolute;
        right: 13px;
        top: 12px;
        }
    #sidebar .menu-item-active {
        position: relative;
        filter: none;
        opacity: 1;
        }
        #sidebar .menu-item-active img {
            right: 0;
            top: 0;
            }
        #sidebar .menu-item .shadow {
            position: absolute;
            top: 42px;
            right: 0;
            background: white url(images/shadow-left-bottom.png) no-repeat;
            width: 29px;
            height: 340px;
            }
        #sidebar .menu-item-large .shadow {
            top: 55px;
            }
    #sidebar a:hover {
        filter: none;
        opacity: 1;
        -moz-opacity: 1;
        }



/* === Main content === */

#content {
    position: relative;
    margin-top: 193px;
    left: 169px;
    width: 581px;
    line-height: 15px;
    min-height: 470px;
    _height: 470px;
    }
    #content .min-height-hack {
        float: left; display: inline;
        height: 470px;
        width: 0px;
        display: none;
/*        _display: block; */
        }
    #content p {
        text-align: justify;
        }
    #content p.first {
        width: 450px;
        .width: 315px;
        }
    #principal #content p.first, #staff #content p.first {
        width: 315px;
        .width: 190px;
        }
    #content div.first {
        overflow: hidden;
        }
    #content div.first .min-height-hack {
        float: right; display: inline;
        width: 0px;
        height: 40px;
        }
    #content #classes-room div.first .min-height-hack {
        height: 80px;
        }
    #staff #content {
        width: 450px;
        left: 234px;
        }
    #calendar #content div.first .min-height-hack {
        height: 70px;
        }
    #newsletter #content div.first .min-height-hack {
        height: 60px;
        }
    #newsletter .newsletters {
        clear: right;
        }

#contact #content {
    width: 591px;
    left: 164px;
    }


/* === Footer === */

#footer {
    position: relative;
    left: 0;
    width: 800px;
    height: 64px;
    }
    #footer-left {
        position: absolute;
        background: url(images/footer-left.png) no-repeat;
        width: 137px;
        height: 64px;
        }
    #footer-band {
        font-size: 10px;
        position: absolute;
        left: 145px;
        bottom: 0;
        padding-left: 5px;
        padding-right: 5px;
        background: url(images/footer-band.png) no-repeat;
        width: 630px;
        height: 20px;
        line-height: 20px;
        }
        #footer-band a {
            padding: 0 15px;
            color: white;
            text-decoration: none;
            font-weight: bold;
            }
        #footer-band a:hover {
            text-decoration: underline;
            }
    #lighthouse {
        position: absolute;
        background: url(images/lighthouse.gif) no-repeat;
        background-position: -27px top;
        width: 137px;
        height: 144px;
        top: -102px;
        left: 0;
        }
    #slogan {
        font-size: 10px;
        font-weight: bold;
        font-family: Georgia;
        color: #444;
        font-style: italic;
        position: absolute;
        right: 2px;
        bottom: 5px;
        width: 70px;
        text-align: right;
        }

#brush-link {
    margin-top: 5px;
    position: relative;
    margin-left: auto;
    margin-right: 0;
    text-align: right;
    right: 16px;
    color: #444;
    font-size: 10px;
    }
    #brush-link a {
        font-weight: bold;
        color: #555;
        }

/* -------------------------------------------- *
 * --------------->>> Homepage <<<------------- *
 * -------------------------------------------- */

#main-photo {
    position: relative;
    left: 180px;
    }
#content #main-photo-caption {
    position: absolute;
    /* top: 65px; /* I don't think this alignment looks as good. */
    top: 0px;
    left: -115px;
    width: 110px;
    text-align: right;
    }

/* -------------------------------------------- *
 * ------------>>> Common Elements <<<--------- *
 * -------------------------------------------- */

/* === Headings === */

h1 {
    font-family: Georgia, serif;
    color: #333;
    font-weight: normal;
    font-size: 26px;
    }

img.title-image-1, img.title-image-2, img.title-image-3 {
    text-align: right;
/*    width: 200px; */
    color: #555;
    margin: 0 130px 0 auto;
    padding: 0;
    line-height: 21px;
    }

#staff img.title-image-1, #staff img.title-image-2, #staff img.title-image-3 {
    margin-right: 70px;
    }

#contact img.title-image-1, #contact img.title-image-2, #contact img.title-image-3 {
    margin-right: 135px;
    }
#classes img.title-image-1, #classes img.title-image-2, #classes img.title-image-3 {
    position: absolute;
    margin-right: 0;
    right: 150px;
    }
#classes img.title-image-1 {
    top: 0;
    }
#classes img.title-image-2 {
    top: 40px;
    }

img.title-image-1 {
    float: none;
    }

img.title-image-1, img.title-image-2, img.title-image-3 {
    float: right; display: inline;
    clear: right;
    margin-left: 15px;
    }
    
#home .title-image-3 {
    padding-bottom: 45px;
    }
    
h2 {
    color: black;
    font-size: 17px;
    font-weight: bold;
    }

h3 {
    color: #222;
    font-weight: bold;
    font-size: 14px;
    }

/* === Text styles, paragraphs, links === */

p {
    margin-top: 10px;
    margin-bottom: 25px;
    }

.caption {
    color: #666;
    word-spacing: 2px;
    line-height: 16px;
    font-weight: bold;
    }

a {
    color: #6c3629;
    font-weight: bold;
    }

.error {
    color: red;
    }

.required {
    font-variant: small-caps;
    }

/* === Lists & tables === */

ul {
  margin-bottom: 25px;
  }

#uniform table {
    width: 99%;
    position: relative;
    left: 1px;
    margin-bottom: 60px;
    border-collapse: collapse;
    }
    #uniform table td.left {
        font-weight: bold;
        border-right: 1px solid #aaa3bd;
        }
    #uniform table th.main {
        background: #6f648b;
        }
        #uniform table th.main h2 {
            color: white;
            }
    #uniform table th {
        background: #aaa3bd;
        color: white;
        }
    #uniform table td {
        padding: 1px 15px;
        padding-bottom: 5px;
        vertical-align: middle;
        }

/* === Images, Boxes and common custom elements === */

ul.hanging-indent {
    list-style: none;
    margin-left: 1em;
    padding-left: 4em;
    text-indent: -4em;
    }
    ul.hanging-indent li {
        padding-bottom: 0.5em;
        }
    ul.hanging-indent .bullet {
        font-family: "Courier New", monospace;
        padding-right: 0.5em;
        font-weight: bold;
        }

#principal .left-pic {
    float: left;
    margin-top: 0;
    }
    #principal .staff {
        padding-top: 0;
        }
        
.staff {
    padding-top: 40px;
    .padding-top: 1px;
    _padding-top: 70px;
    }
.staff .staff-pic {
    text-align: center;
    float: right;
    position: relative;
    right: -75px;
    margin-bottom: 25px;
    margin-top: -76px;
    _margin-top: -126px;
    }
    .staff .staff-pic img {
        display: block;
        }
.staff .left-pic, .staff .right-pic {
    background: url(images/photopaper-staff.png) no-repeat;
    width: 115px;
    height: 148px;
    padding-top: 14px;
    padding-left: 14px;
    margin-bottom: 25px;
    margin-top: -76px;
    _margin-top: -126px;
    }
.staff .left-pic {
    margin-right: 10px;
    }
    .staff .left-pic h2 {
        text-align: left;
        width: 230px;
        }
.staff .right-pic {
    position: relative;
    left: 280px;
    margin-left: 10px;
    }
    .staff .right-pic h2 {
        text-align: right;
        width: auto;
        }
 
.upload-bar {
    font-size: 10px;
    }
    .upload-bar input, .upload-bar select, .upload-bar button {
        font-size: 10px;
        }

#calendar .action-box {
    width: auto;
    }
.action-box {
    float: right; display: inline;
    clear: right;
    margin-left: 15px;
    margin-top: 0;
    margin-bottom: 15px;
    }
.action-box-first {
    margin-top: 40px;
    }
.action-box, .info-message {
    background: url(images/info-box.png);
    width: 240px;
    border: 1px solid black;
    color: white;
    text-align: center;
    padding: 5px 15px;
    margin-bottom: 10px;
    }
    .info-message p {
        margin: 0;
        }
    #content .action-box p, #content .info-message p {
        text-align: left;
        }
    .action-box a, .info-message a {
        font-weight: bold;
        color: white;
        text-decoration: none;
        }
    .action-box small, .info-message small a {
        text-decoration: underline;
        }
    .action-box a:hover, .info-message a:hover {
        text-decoration: underline;
        }
    .action-box ul, .info-message ul {
        list-style-type: none;
        padding: 5px 0;
        margin: 0;
        text-align: left;
        }

.huge-image {
    border: 3px solid black;
    }
    a:hover .huge-image {
        border: 3px solid #00b;
        }

.photopaper-medium {
    background: url(images/photopaper-medium.png) no-repeat;
    width: 310px;
    height: 210px;
    padding-top: 12px;
    padding-left: 14px;
    .padding-left: 0px;
    }

.documents {
    border-left: 2px solid black;
    border-right: 2px solid black;
    position: relative;
    left: 60px;
    width: 436px;
    margin-top: 45px;
    margin-bottom: 16px;
    color: white;
    padding: 0 20px;
    }
    .documents a {
        color: white;
        }
    .documents ul {
        list-style-type: none;
        padding-left: 20px;
        margin-top: 0;
        font-weight: bold;
        }
        .documents ul a {
            text-decoration: none;
            }
        .documents ul a:hover {
            text-decoration: underline;
            }
    .documents .top {
        position: absolute;
        width: 480px;
        height: 16px;
        background-color: white;
        top: -16px;
        left: -2px;
        }
    .documents .bottom {
        position: absolute;
        width: 480px;
        height: 16px;
        background-color: white;
        background-repeat: no-repeat;
        bottom: -16px;
        left: -2px;
        }

.red-room .documents {
    background: #754f40;
    }
    .red-room .documents .top {
        background-image: url(images/resources-top-red.png);
        }
    .red-room .documents .bottom {
        background-image: url(images/resources-bottom-red.png);
        }
.yellow-room .documents {
    background: #8d8640;
    }
    .yellow-room .documents .top {
        background-image: url(images/resources-top-yellow.png);
        }
    .yellow-room .documents .bottom {
        background-image: url(images/resources-bottom-yellow.png);
        }
.green-room .documents {
    background: #597b53;
    }
    .green-room .documents .top {
        background-image: url(images/resources-top-green.png);
        }
    .green-room .documents .bottom {
        background-image: url(images/resources-bottom-green.png);
        }
.blue-room .documents {
    background: #3a6784;
    }
    .blue-room .documents .top {
        background-image: url(images/resources-top-blue.png);
        }
    .blue-room .documents .bottom {
        background-image: url(images/resources-bottom-blue.png);
        }
.orange-room .documents {
    background: #a45f29;
    }
    .orange-room .documents .top {
        background-image: url(images/resources-top-orange.png);
        }
    .orange-room .documents .bottom {
        background-image: url(images/resources-bottom-orange.png);
        }
.black-room .documents {
    background: #4a4a4a;
    }
    .black-room .documents .top {
        background-image: url(images/resources-top-black.png);
        }
    .black-room .documents .bottom {
        background-image: url(images/resources-bottom-black.png);
        }
    

img {
    border: none;
    }

/* -------------------------------------------- *
 * ---------------->>> Forms <<<--------------- *
 * -------------------------------------------- */

/* === Form element and sub-sections === */

form th {
    vertical-align: top;
    font-weight: bold;
    }

.teacher-login {
    font-size: 10px;
    color: #666;
    text-align: right;
    margin-right: 18px;
    position: relative;
    top: 10px;
    }
    .teacher-login form {
        display: inline;
        }
    .teacher-login .password {
        border: 1px solid #666;
        font-size: 10px;
        line-height: 10px;
        color: #666;
        .margin-right: 3px;
        }

/* === Explanation text, examples === */

.markdown-eg {
    position: relative;
    width: 80%;
    margin-left: 10%;
    margin-right: 10%;
    border: 1px solid #555;
    border-collapse: collapse;
    font-size: 11px;
    }
.markdown-eg blockquote {
    margin: 0;
    padding: 2px 3px;
    letter-spacing: 0px;
    text-indent: 15px;
    text-align: left;
    _height: 0;
    z-index: 0;
    background: #fff5ec;
    }
    .markdown-eg blockquote .top-left {
        width: 16px;
        height: 13px;
        background-image: url(images/leftquote-small.png);
        top: -4px;
        left: -4px;
        }
    .markdown-eg blockquote .bottom-right {
        width: 16px;
        height: 13px;
        background-image: url(images/rightquote-small.png);
        right: -4px;
        bottom: -4px;
        }

.markdown-eg tr {
    vertical-align: top;
    }
    .markdown-eg td, .markdown-eg th {
        padding: 0;
        margin: 0;
        width: 33%;
        border-bottom: 1px solid #754;
        padding: 5px 25px 10px 5px;
        }
    .markdown-eg tr.last td {
        border-bottom: none;
        }
    .markdown-eg th {
        text-align: left;
        background: #cac3dd;
        }
.markdown-eg ul {
    margin: 0;
    padding: 0;
    padding-left: 15px;
    }
    .markdown-eg li {
        margin-bottom: 0px;
        }

/* === Inputs, selects, textareas === */

input.text, input.password {
    border: 1px solid black;
    width: 250px;
    }
.teacher-login input.password {
    width: 100px;
    }

textarea {
    border: 1px solid black;
    width: 400px;
    height: 200px;
    clear: right;
    }

/* === Buttons and button-like elements === */

input.submit, button {
  font-family: Verdana;
  font-size: 12px;
  font-weight: bold;
  position: relative;
  background: url(images/generic-button.gif) repeat-x;
  color: #4f4f4f;
  padding: 2px 5px;
  cursor: pointer;
  border: 1px solid #969696;
}
input.submit:active, button:active {
  top: 1px;
  left: 1px;
}

input.inline-submit, button.inline-submit {
    display: inline;
    padding: 0px 5px;
    font-size: 100%;
    }

/* -------------------------------------------- *
 * ------------->>> Contact page <<<------------ *
 * -------------------------------------------- */

#map {
    position: relative;
    top: 25px;
    margin-bottom: 25px;
    }

#map .inset {
    border: 1px solid #999;
    position: absolute;
    background: white;
    padding: 4px 10px;
    font-size: 11px;
    text-align: left;
    }

#map #details {
    font-weight: bold;
    color: #555;
    position: absolute;
    top: 65px;
    left: 260px;
    padding: 10px 15px;
    }

.inset .pointer {
    position: absolute;
    background: url(images/map-pointer.gif) no-repeat;
    width: 25px;
    height: 49px;
    top: -46px;
    left: 40px;
    }

#address {
    position: relative;
    left: 7px;
    font-weight: bold;
    color: #555;
    }
    #address em {
        font-style: normal;
        color: black;
        }


/* -------------------------------------------- *
 * --------------->>> Flicker <<<-------------- *
 * -------------------------------------------- */

.flicker {
    position: relative;
    width: 594px;
    height: 130px;
    }
    .flicker .range {
        position: relative;
        font-weight: bold;
        color: #999;
        font-size: 15px;
        font-family: Arial, sans-serif;
        line-height: 34px;
        width: 36px;
        }
    .flicker .prev-button {
        cursor: pointer;
        position: absolute;
        top: 42px;
        left: 0;
        background: url(images/flicker-prev.png) no-repeat;
        background-position: top right;
        padding-right: 13px;
        height: 34px;
        }
        .flicker .prev-button .range {
            text-align: right;
            margin-right: 6px;
            }
    .flicker .next-button {
        cursor: pointer;
        position: absolute;
        top: 42px;
        right: 0;
        background: url(images/flicker-next.png) no-repeat;
        padding-left: 13px;
        height: 34px;
        float: left; display: inline;
        }
        .flicker .next-button .range {
            text-align: left;
            margin-left: 6px;
            }
    .flicker .prev-button.disabled,
    .flicker .next-button.disabled { /* Multi-classes just happen to work in IE if 
                                      * we don't need to distinguish between other types
                                      * .disabled classes
                                      */
        filter: alpha(opacity=30);
        opacity: 0.3;
        -moz-opacity: 0.3;
        }
        .flicker .prev-button.disabled .range,
        .flicker .next-button.disabled .range {
            visibility: hidden;
            }
    .flicker .thumb {
        position: absolute;
        width: 117px;
        height: 124px;
        left: 80px;
        background: url(images/flicker-photo.png) no-repeat;
        }
        .flicker .thumb img {
            position: absolute;
            top: 15px;
            left: 15px;
            }
    .flicker .thumb-1 {
        left: 58px
        }
    .flicker .thumb-2 {
        left: 178px
        }
    .flicker .thumb-3 {
        left: 298px
        }
    .flicker .thumb-4 {
        left: 418px
        }

/* -------------------------------------------- *
 * -------------->>> Newsletter <<<------------ *
 * -------------------------------------------- */

.newsletters {
    border-bottom: 7px solid #aaa3bd;
    width: 580px;
    margin-bottom: 30px;
    border-collapse: separate;
    border-spacing: 0px;
    border: 1px solid #6f648b;
    }
    .newsletters td {
        border-left: 1px solid #6f648b;
        border-bottom: 4px solid #aaa3bd;
        }
    .newsletters .even td {
        background: #eee;
        }
    .newsletters .odd td {
        background: white;
        }

/* -------------------------------------------- *
 * --------------->>> Calendar <<<------------- *
 * -------------------------------------------- */

.calendar {
    border-bottom: 7px solid #aaa3bd;
    width: 580px;
    margin-bottom: 30px;
    }
    table.month {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0px;
        border: 1px solid #6f648b;
        border-bottom: none;
        }
        .calendar th, .newsletters th {
            color: white;
            border-bottom: 1px solid #6f648b;
            border-left: 3px solid #aaa3bd;
            border-right: 3px solid #aaa3bd;
            font-family: Arial, sans-serif;
            font-weight: bold;
            font-size: 18px;
            text-align: left;
            padding-left: 15px;
            background: #aaa3bd;
            height: 30px;
            }
        .calendar td.left, .newsletters td.left {
            border-left: 3px solid #aaa3bd;
            }
        .calendar td.right, .newsletters td.right {
            border-right: 3px solid #aaa3bd;
            }
        .calendar td, .newsletters td {
            vertical-align: top;
            font-weight: bold;
            color: #575757;
            padding: 5px 10px;
            background: white;
            }
        .calendar td {
            height: 65px;
            border-left: 4px solid #dcdce8;
            border-top: 4px solid #aaa3bd;
            }
        .calendar tr.top td {
            border-top: none;
            }
        .calendar .daynum {
            position: relative;
            top: -6px;
            left: -10px;
            float: left; display: inline;
            border: 1px solid #6f648b;
            background: #cbcbd6;
            padding: 1px 7px;
            font-size: 16px;
            color: black;
            font-weight: bold;
            }
        .calendar .daynum .dayname {
            color: #666;
            font-size: 12px;
            }
        .calendar td.noevent {
            text-align: center;
            vertical-align: middle;
            color: #d8d8d8;
            font-size: 40px;
            line-height: 40px;
            font-family: Arial, sans-serif;
            }
