/* Style Guidelines:
 *     - If selector has one attribute, all of it goes on one line, otherwise
 *       use multiple with brace on the same line as the selector.
 *     - Each attribute on its own line (always ending with a semicolon).
 *     - The ending brace on a line of its own with no indentation.
 *     - Use comment headings where appropriate.
 *     - Each block must be surrounded by a single blank line on both sides.
 *     - Pixels (px) rather than ems should be used.
 */

#container {
    color: #333;
    font-size: 12pt;
    padding: 0px 30px;
    font-family: Palatino, Georgia, serif;
    min-width: 400px;
    max-width: 1080px;
    margin: 0px auto;
}

a { 
    text-decoration: none;
    color: #00C;
}

/* Global Classes */
.heading, label { font-family: Helvetica, "Helvetica Neue", Arial, sans-serif; }

#source_download {
    /*width: 90%;*/
    opacity: .8;
    font-style: italic;
    margin: 0px auto;
    padding: 4px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10pt;
    margin-top: 40px;
    text-align: center;
}

/* Top Login Bar */
#topbar > #login_status, #topbar > #flashes > div {
    display: block;
    border: 1px solid #ccc;
    padding: 4px;
    font-family: Arial, Helvetica, sans-serif;
    margin-bottom: 10px;
}

#topbar > #login_status { background-color: white; }

#topbar > #flashes { text-align: center; }

#topbar > #flashes > .message { background-color: #FFFFD5; }

#topbar > #flashes > .error { background-color: #FDBEB5; }

/* Global Header */
#header { font-weight: bold; }

#header > .logo { font-size: 36pt; }

#header > .logo > a { color: #333; }

#header > .path {
    font-size: 14pt;
    text-transform: lowercase;
    word-spacing: 0.1em;
    padding-left: 0.1em;
}

/* Error Page */
#error_page > #ascii_art {
    font-family: "Courier New", Courier, monospace;
    color: black;
    font-size: 18pt;
    white-space: pre;
    text-align: center;
    font-weight: bold;
}

#error_page > #error_message {
    font-size: 24pt;
    font-weight: bold;
    text-align: center;
}

#error_page > #ascii_art_author {
    text-align: center;
    margin-top: 30px;
}

/* Assignment Page */
#upload_archive {
    background-color: white;
    border: 1px solid #ccc;
    padding: 5px;
}

#upload_archive > h2 { margin: 0px 0px 5px 0px; }

#upload_archive input {
    display: inline-block; 
}

#upload_archive .simple_file_input {
    padding: 5px;
    border: 1px solid #ccc;
}

#upload_archive input {
    padding: 5px 15px;
}

#submissions .uploaded_filenames {
    line-height: 30px;
}

#submissions .uploaded_filenames > ul {
    list-style: none;
    padding: 0px;
    display: inline;
}

#submissions .uploaded_filenames > ul > li {
    padding: 2px;
    border: 1px solid #ccc;
    background-color: white;
    display: inline;
    white-space: nowrap;
}

#submissions h3 {
    margin-bottom: 4px;
    background-color: #4F81BD;
    color: white;
    padding: 4px;
}

#submissions h3 > a{
    color: white;
    text-decoration: underline;
}

/* Hierarchical Headings */
h1, h2, h3, h4 { font-family: Helvetica, "Helvetica Neue", Arial, sans-serif; }

h1, h2 { border-bottom: 1px solid #CCC; }

h1 {
    font-size: 20pt;
    font-weight: bold;
}

h2 {
    font-size: 16pt;
    font-weight: normal;
}

h3 {
    font-size: 12pt;
    font-weight: bold;
    margin-bottom: 5px;
}

/* Assignments Page */
#assignments > div { margin: 20px 0px; }

#assignments .title {
    font-size: 14pt;
    font-weight: bold;
    border-bottom: 1px solid #CCC;
    margin-bottom: 5px;
}

#assignments .show_hidden {
    display: block;
    font-size: 11pt;
    text-align: center;
    background-color: white;
    border: 1px solid #CCC;
    padding: 4px;
}

#assignments .class_name {
    font-weight: normal;
    padding: 1px 1px 2px 1px;
    font-size: 75%;
    border: 1px solid #CCC;
    border-width: 1px 1px 0px 1px;
    color: #333;
    background-color: white;
}

#assignments .submission_status {
    font-size: 10pt;
    font-weight: normal;
}

/* Login Page */
.login_block {
    border: 1px solid #ccc;
    padding: 16px;
    background-color: white;
    width: 320px;
    
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
}

.directions {
    text-align: center;
    margin-bottom: 10px;
}

.login_block .errors > div {
    color: #c00;
}

.login_block .fields > .heading {
    margin: 0px 0px 3px 0px;
}

.login_block .fields > .heading > .error { color: red; }

.login_block .fields > input {
    border: 1px solid #333;
    background-color: #F3F3F3;
    margin-bottom: 15px;
    padding: 0.2em;
    font-size: 14pt;
    width: 312px;
}

.login_button { text-align: center; }

.login_button input {
    width: 85%;
    padding: 7px 0px;
}

/* Background Gradient */
body 
{
    /* Gradient*/
    /* IE10 */ 
    background-image: -ms-linear-gradient(top left, #FFFFFF 0%, #D9EBFF 100%);

    /* Mozilla Firefox */ 
    background-image: -moz-linear-gradient(top left, #FFFFFF 0%, #D9EBFF 100%);

    /* Opera */ 
    background-image: -o-linear-gradient(top left, #FFFFFF 0%, #D9EBFF 100%);

    /* Webkit (Safari/Chrome 10) */ 
    background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, #FFFFFF), color-stop(1, #D9EBFF));

    /* Webkit (Chrome 11+) */ 
    background-image: -webkit-linear-gradient(top left, #FFFFFF 0%, #D9EBFF 100%);

    /* Proposed W3C Markup */ 
    background-image: linear-gradient(top left, #FFFFFF 0%, #D9EBFF 100%);
}

/* Datetime Highlighting */
time[title] {
    opacity: 0.85;
}