html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

ol,
ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

:focus {
	outline: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

li,
p {
    margin: 0 0 15px 0;
    font-size: 1.2em;
}

a {
    color: #40B3C3;
}

body {
    font-family: arial, sans-serif;
    margin: 0;
    padding: 0;
    font-size: 62.5%;
    line-height: 1;
}

/* General
--------------------------------------------------------------------------- */

/* Clear Floats ----------------------------------------------------------- */

.clear:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.clear {
    display: inline-block;
}

/* Hide from IE Mac \*/
.clear {
    display: block;
}
/* End hide from IE Mac */

/* Modals ----------------------------------------------------------------- */

#simplemodal-overlay {
    background: #000;
}

#simplemodal-container .simplemodal-wrap {
    background: #FFF;
    padding: 20px;
    border: 5px solid #CCC;
}

#simplemodal-container a.modalCloseImg {
    background: url(../images/misc/x.png) no-repeat;
    width: 25px;
    height: 29px;
    display: inline;
    z-index: 3200;
    position: absolute;
    top: -15px;
    right: -50px;
    cursor: pointer;
}

/* Tabs ------------------------------------------------------------------- */

.tabs {
    border-bottom: 1px solid #DDD;
    margin-bottom: 20px;
}

.tabs li {
    float: left;
    margin: 0 10px -1px 0;
}

.tabs li a,
.tabs li span {
    display: block;
    padding: 10px 15px;
    border: 1px solid #DDD;
    border-bottom: 0;
    background: #DDD;
    font-weight: bold;
    color: #666 !important;
    border-radius: 3px 3px 0 0;
}

.tabs li a.active,
.tabs li span.active {
    background: #FFF;
    color: #333;
}

/* Header
--------------------------------------------------------------------------- */

#header {
    position: relative;
    width: 960px;
    margin: 0 auto;
}

/* Logo ------------------------------------------------------------------- */

#logo {
    margin: 30px 0;
}

#logo img {
    display: block;
    width: auto;
    height: 50px;
}

/* Split box -------------------------------------------------------------- */

.split-box {
    display: table;
    width: 100%;
    table-layout: fixed;
}

.split-box > * {
    display: table-cell;
    vertical-align: top;
}

.split-box > *:first-child {
    padding-right: 10px;
}

.split-box > *:last-child {
    padding-left: 10px;
}

/* Split flex box --------------------------------------------------------- */

.split-flex-box {
    display: flex;
    justify-content: space-between;
}

.split-left {
    display: flex;
    flex-direction: column;
    width: 50%;
    margin-right: 15px;
}

.split-right {
    display: flex;
    flex-direction: column;
    width: 50%;
    margin-left: 15px;
}

/* Split flex header ------------------------------------------------------ */

.split-flex-header {
    display: flex;
    justify-content: space-between;
}

.split-flex-header > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.split-flex-header > div:last-child {
    align-content: flex-end;
}

.split-flex-header > div div:last-child {
    vertical-align: baseline;
}

.split-flex-header#page-header .status {
    position: static;
    margin: 0;
}

/* Navigation ------------------------------------------------------------- */

#navigation {
    height: 42px;
    display: flex;
    border: 1px solid #bfbfbf;
    border-radius: 5px;
}

#navigation li {
    display: flex;
    justify-content: center;
    flex-grow: 1;
    margin: 0;
    line-height: normal;
    font-size: 1.2em;
    border-top: 1px solid #e3e3e3;
    border-right: 1px solid #bfbfbf;
    border-bottom: 1px solid #dadada;
    border-left: 1px solid #dfdfdf;
    background-image: linear-gradient(#d3d3d3, #c4c4c4);

}

#navigation li:first-child {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}

#navigation li:last-child {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    border-right: none;
}

#navigation li a {
    display: block;
    height: 42px;
    text-decoration: none;
    color: #FFF;
    text-shadow: #AAA 1px 1px 0;
}

#navigation li a span {
    display: block;
    padding: 15px 20px 15px 34px;
    line-height: 1.0em;
    font-weight: bold;
    text-decoration: none;
    background-position: 10px center;
    background-repeat: no-repeat;
}

/* Icons */

#navigation li#upload-link a span { background-image: url(../images/icons/upload.png); }
#navigation li#controls-link a span { background-image: url(../images/icons/control.png); }
#navigation li#users-link a span { background-image: url(../images/icons/user.png); }
#navigation li#members-link a span { background-image: url(../images/icons/members.png); }
#navigation li#discussions-link a span { background-image: url(../images/icons/session.png); }
#navigation li#documentation-link a span { background-image: url(../images/icons/documentation.png); }
#navigation li#notice-link a span { background-image: url(../images/icons/textfield.png); }
#navigation li#upload-history-link a span { background-image: url(../images/icons/history.png); }
#navigation li#declaration-link a span { background-image: url(../images/icons/hist.png); }
#navigation li#log-out-link a span { background-image: url(../images/icons/eject.png); }

/* Backgrounds & Effects */

#navigation li:hover { background-image: linear-gradient(#dcdcdc, #d0d0d0); }

/* Active Section */

body.upload-body #navigation #upload-link,
body.control-body #navigation #controls-link,
body.users-body #navigation #users-link,
body.documentation-body #navigation #documentation-link,
body.notice-body #navigation #notice-link,
body.members-body #navigation #members-link,
body.history-body #navigation #history-link,
body.upload-history-body #navigation #upload-history-link,
body.declaration-body #navigation #declaration-link,
body.discussions-body #navigation #discussions-link {
    background-image: linear-gradient(#c4c4c4, #d3d3d3);
}

/* Status Panel ---------------------------------------------------------- */

#status-panel {
    position: absolute;
    right: 0;
    top: 6px;
    text-align: right;
}

#status-panel p {
    margin: 0 0 5px 0;
}

/* Status Messages ------------------------------------------------------- */

#status-messages {
    position: fixed;
    top: 200px;
    left: 50%;
    width: 400px;
    margin-left: -200px;
    opacity: 0.7;
}

.status-message {
    display: none;
    padding: 10px;
    background: green;
    color: #FFF;
    border: 1px solid darkgreen;
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 1.3em;
    border-radius: 5px;
    -moz-border-radius: 5px;
}

/* Content
--------------------------------------------------------------------------- */

#content {
    width: 960px;
    margin: 0 auto;
    padding: 0 0 30px 0;
}

/* Anchors --------------------------------------------------------------- */

#content a {
    font-weight: bold;
    text-decoration: none;
    color: #3380d6;
}

/* Forms ---------------------------------------------------------------- */

#content form.regular label {
    width: 140px;
    float: left;
}

#content form.regular .submit {
    margin-left: 140px;
}

#content form.regular .errorlist {
    color: red;
    margin-left: 140px;
}

#content form.regular .errorlist li {
    margin-bottom: 0;
}

/* Tables ---------------------------------------------------------------- */

#content table.regular {
    width: 100%;
    margin-bottom: 30px;
    table-layout: fixed;
}

#content table.regular td,
#content table.regular th {
    border-right: 1px solid #DDD;
    border-bottom: 1px solid #DDD;
    padding: 10px;
    line-height: normal;
}

#content table.regular th {
    font-size: 1.2em;
    text-align: left;
    background: #EEE url(../images/backgrounds/th.png) center top repeat-x;
    border-top: 1px solid #DDD;
    text-shadow: #FFF 1px 1px 0;
    color: #666;
    vertical-align: middle;
}

#content table.regular td {
    font-size: 1.2em;
    vertical-align: middle;
    background: #F8F8F8;
    color: #333;
}

#content table.regular tr:nth-child(odd) td {
    background-color: #FFF;
}

#content table.regular tr {
    border-left: 1px solid #CCC;
}

#content table.regular tr.empty {
    text-align: center;
    font-style: italic;
}

#content table .filename {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

/* With status */

#content table td.with-status {
    background-repeat:  no-repeat;
    background-position: center center;
    text-indent: -10000px;
}

#content table td.with-status.na { background-image: url(../images/icons/na.png); }
#content table td.with-status.no { background-image: url(../images/icons/no.png); }
#content table td.with-status.yes { background-image: url(../images/icons/yes.png); }

/* Sorting */

#content table th.headerSortUp {
    background: #EEE url(../images/buttons/asc.gif) right center no-repeat;
}

#content table th.headerSortDown {
    background: #EEE url(../images/buttons/desc.gif) right center no-repeat;
}

/* Misc Style ------------------------------------------------------------- */

#content .empty-dataset {
    font-size: 1.3em;
    color: #777;
    font-style: italic;
}

#content .action {
    color: #D53733;
    font-weight: bold;
    text-decoration: underline;
}

/* Headings --------------------------------------------------------------- */

#content h2 {
    font-size: 1.4em;
    font-weight: bold;
    margin-bottom: 15px;
}

#content h3 {
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 15px;
}

/* Page Header ----------------------------------------------------------- */

#page-header {
    position: relative;
    margin-bottom: 30px;
    padding-top: 30px;
}

#page-header.separate {
    padding-bottom: 30px;
    border-bottom: 1px solid #DDD;
}

#page-header h1 {
    font-size: 2.0em;
    font-weight: bold;
    margin: 0;
}

#page-header h1 span {
    font-size: 0.6em;
    font-weight: bold;
    margin: 0 0 0 5px;
}

/* Status Box */

#page-header .status {
    position: absolute;
    top: 35px;
    right: 0;
    font-size: 1.2em;
}

/* Large buttons */

#page-header #page-tools {
    position: absolute;
    top: 26px;
    right: 0;
}

/* Overlabel ------------------------------------------------------------- */

label.overlabel {
    position: absolute;
    top: 7px;
    left: 7px;
    z-index: 1;
    color: #999;
}

.label-parent {
    position: relative;
}

/* Icons ---------------------------------------------------------------- */

.with-extension {
    background-image: url(../images/icons/mime/default.png);
    background-repeat: no-repeat;
    background-position: left center;
}

.with-extension.png,
.with-extension.jpg,
.with-extension.jpeg,
.with-extension.gif {
    background-image: url(../images/icons/mime/image.png);
}

.with-extension.xls,
.with-extension.xlsx {
    background-image: url(../images/icons/mime/image.png);
}

.with-extension.doc,
.with-extension.docx {
    background-image: url(../images/icons/mime/word.png);
}

.with-extension.pdf {
    background-image: url(../images/icons/mime/pdf.png);
}

.with-extension.ppt {
    background-image: url(../images/icons/mime/ppt.png);
}

/* Buttons ---------------------------------------------------------------- */

a.button {
    background-image: linear-gradient(#ffffff, #dddddd);
    display: inline-block;
    height: 28px;
    padding-left: 14px;
    font-size: 11px;
    font-weight: bold;
    text-decoration: none;
    border: 1px solid #cccccc;
    border-radius: 25px;
    color: #555;
}

a.button span {
    display: block;
    line-height: 18px;
    padding: 5px 14px 5px 0;
}

/* Hover */

a.button:hover {
    background-image: linear-gradient(#ffffff, #eeeeee);
}

a.button.active,
a.button.pressed {
    color: #FFF;
}

/* Some Common Buttons ---------------------------------------------------- */

a.button.regular span {
    text-shadow: #F3F3F3 1px 1px 0;
}

/* Small Buttons ---------------------------------------------------------- */

a.button.small {
    font-size: 10px;
    height: 22px;
    border-radius: 10px;
}

a.button.small span {
    padding-top: 6px;
    padding-bottom: 6px;
    line-height: 10px;
}

/* Login
--------------------------------------------------------------------------- */

#login-form {
    position: relative;
}

#login-form label {
    width: 130px;
    font-weight: bold;
    float: left;
}

#login-form .errorlist {
    position: absolute;
    left: 320px;
    color: red;
}

#login-form p.submit {
    margin-left: 130px;
    margin-bottom: 0;
}

/* Upload
--------------------------------------------------------------------------- */

.upload-body #content {
    width: 600px;
}

.upload-history-body #content table .date {
    width: 25%;
}

/* Secondary Content */

#news {
    width: 290px;
    float: left;
}

#instructions {
    width: 290px;
    margin-left: 310px;
}

/* Generic ---------------------------------------------------------------- */

.step {
    border: 1px solid #AAA;
    margin-bottom: 35px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    background: #EEE;
    padding: 3px;
}

.step .inner {
    padding: 20px;
    background: #FFF;
    -moz-border-radius: 3px;
}

.member-id-input {
    margin: 0;
}

.member-id-input a {
    margin-left: 5px;
}

#member-id-validation-failed {
    margin: 7px 0 0;
    color: red;
}

kbd {
    font-size: 12px;
    display: inline-block;
    padding: 2px 4px;
    background: #EEE;
    border: 1px solid #DDD;
    border-top-color: #FFF;
    border-left-color: #FFF;
    color: #666;
    font-weight: bold;
}

/* Help Section ----------------------------------------------------------- */

.help-section {
    margin-bottom: 30px;
}

/* Info ------------------------------------------------------------------- */

.info {
    background: lime;
    border-radius: 3px;
    -moz-border-radius: 3px;
    padding: 12px 10px 5px 34px;
    background: #efefda url(../images/icons/info.png) 10px 12px no-repeat;
    color: #787468;
    border: 1px solid #cbc7b9;
}

#content .info  p {
    margin-bottom: 7px;
    line-height: 150%;
}

/* Advanced Uploads ------------------------------------------------------- */

/* Queue */

#queue .file {
    position: relative;
    list-style: none;
    margin-bottom: 20px;
}

#queue .file .meta {
    display: block;
    font-size: 1.0em;
    margin-bottom: 5px;
    padding-right: 120px;
}

#queue .file .progress-container {
    position: relative;
    display: block;
    background: #DDD url(../images/backgrounds/progress-inactive.png) center center;
    height: 22px;
    margin-bottom: 5px;
}

#queue .file .progressbar {
    display: block;
    height: 22px;
    width: 0%;
    background: green url(../images/backgrounds/progress-active.png) center center;
}

#queue .file .progress {
    position: absolute;
    top: 5px;
    left: 30px;
    color: #FFF;
}

#queue .file .add-note {
    position: absolute;
    top: 0;
    right: 0;
}

#problems {
    text-align: center;
    margin-bottom: 35px;
    font-size: 1.4em;
}

#upload-form label {
    display: block;
    font-weight: bold;
    margin-bottom: 4px;
}

#id_document_note {
    height: 90px;
    width: 390px;
}

#select-files {
    margin-bottom: 15px;
}

/* Control Detail
-------------------------------------------------------------------------- */

.control-body #content table .included {
    width: 8%;
    text-align: center;
}

.control-body #content table .uploaded-to-office {
    width: 8%;
    text-align: center;
}

.control-body #content table .filename {
    width: 46%;
}

.control-body #content table .date {
    width: 14%;
}

.control-body #content table .comment {
    width: 10%;
    text-align: center;
}

.control-body #content table .delete {
    width: 8%;
    text-align: center;
}

.control-body #content table .sequence {
    width: 20%;
}

.control-body #content table .member {
    width: 25%;
}

/* Control State */

#control-state {
    border: 1px solid #DDD;
    margin-bottom: 30px;
    width: 100%;
    display: flex;
}

#control-state #current-state {
    width: 50%;
    padding: 15px;
}

#control-state #set-state {
    width: 50%;
    padding: 15px;
    background-color: #eeeeee;
}

#control-state #set-state label {
    float: left;
    padding-top: 3px;
    width: 110px;
}

#control-state p.submit {
    padding-left: 110px;
    margin-bottom: 0;
}

/* Color codes */

html body #content table .state-0 { font-style: italic; }
html body #content table .state-1 { color: green; }
html body #content table .state-2 { color: orange; }
html body #content table .state-3 { color: green; }
html body #content table .state-4 { color: orange; }
html body #content table .state-5 { color: green; font-weight: bold; }
html body #content table .state-6 { color: #D53733; }

/* Control States */

#control-state-history {
    list-style: square;
    padding-left: 20px;
}

#control-state-history .level-gray { color: #666; }
#control-state-history .level-green { color: green; }
#control-state-history .level-yellow { color: #f90; }
#control-state-history .level-red { color: red; }

#control-state-history li span { color: #000; }

/* Control List
-------------------------------------------------------------------------- */

.control-list-body #content table .member,
.control-list-body #content table .office {
    width: 9%;
}

.control-list-body #content table .name,
.control-list-body #content table .controller {
    width: 18%;
}

.control-list-body #content table .updated,
.control-list-body #content table .state,
.control-list-body #content table .state-updated {
    width: 15%;
}

/* Levels */

#id_level option {
    color: #FFF;
    font-weight: bold;
    padding-left: 12px;
}

#id_level option[value="0"] { background: #666 url(../images/icons/levels/gray.png) 2px center no-repeat; }
#id_level option[value="1"] { background: green url(../images/icons/levels/green.png) 2px center no-repeat; }
#id_level option[value="2"] { background: #f90 url(../images/icons/levels/yellow.png) 2px center no-repeat; }
#id_level option[value="3"] { background: red url(../images/icons/levels/red.png) 2px center no-repeat; }

/* Unable to complete */

.unable-to-comlpete {
    border: 1px solid #DDD;
    margin-bottom: 30px;
    width: 100%;
    padding: 20px 20px 5px;
    box-sizing: border-box;
}

#id_unable_to_complete {
    position: relative;
    top: 2px;
}

/* Postponements --------------------------------------------------------- */

#postponed {
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #DDD;
}

#postponed p {
    font-weight: bold;
}

#postponed ul {
    margin-left: 20px;
    list-style: circle;
}

#postponed ul li {
    margin-bottom: 10px;
}

/* Empty Dataset */

.control-body .empty-dataset {
    margin-bottom: 25px;
}

/* Discussion List
-------------------------------------------------------------------------- */

.discussions-body #content table .date,
.discussions-body #content table .count,
.discussions-body #content table .protocol,
.discussions-body #content table .reports,
.discussions-body #content table .status {
    width: 13%;
    text-align: center;
}

.discussions-body #content table .date {
    text-align: left;
}


/* Discussion Detail
-------------------------------------------------------------------------- */

#discussion-approve-all-button,
#close-discussion-button {
  cursor: pointer;
}

#close-discussion-form select {
    display: none;
}

.discussions-body .split-flex-header#page-header {
    height: 60px;
}

.discussions-body .split-flex-header#page-header > div:first-child {
    justify-content: space-between;
}

.discussions-body .split-flex-header#page-header > div:last-child {
    justify-content: flex-end;
}

#misc-files {
    flex-grow: 1;
}

#misc-files .list-toggle {
    cursor: pointer;
}

#misc-files ul {
    display: none;
}

#misc-files li {
    position: relative;
}

#misc-files li a:first-child {
    width: 80%;
    padding-right: 10px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    display: inline-block;
}

#misc-files li a:last-child {
    width: 20%;
    display: inline-block;
    text-align: right;
}

#misc-files .delete {
    position: absolute;
    right: 0;
    display: inline-block;
    color: #D53733;
}

.table-toggle {
  padding-top: 15px;
  cursor: pointer;
}

.collapse-table {
  display: none;
}

.discussions-body #content table .filename {
    width: 65%;
}

.discussions-body #content table .controller {
    width: 20%;
}

.discussions-body #content table .date {
    width: 15%;
}

.discussions-body #content .control .report .filename a {
    color: green;
}
/* Status ---------------------------------------------------------------- */

.recommendation {
    font-weight: bold;
}

/* Discussion Date ------------------------------------------------------- */

#discussion-date-container {
    margin-top: 10px;
}

#discussion-date-container p {
    margin: 0;
}

/* Controls --------------------------------------------------------------- */

.discussions-body #control-list {
}

#control-list {
    margin-bottom: 30px;
}

#control-list #postponed-controls-heading {
    border-bottom: 5px solid #CCC;
    padding-bottom: 20px;
    font-size: 20px;
    font-weight: bold;
}

#control-list #controls-heading {
    padding: 20px 0;
    border-bottom: 5px solid #CCC;
    font-size: 20px;
    font-weight: bold;
}

#content #control-list .control {
    padding: 20px;
    border: 5px solid #CCC;
    border-left-width: 10px;
    border-right-width: 10px;
    background: #FFF;
    margin: 0;
}

#content #control-list .control.last {
    border-bottom-width: 10px;
}

#content #control-list .control h2 {
    background: transparent url(../images/icons/control.png) left center no-repeat;
    padding: 0 0 0 22px;
    font-size: 1.6em;
    margin-bottom: 30px;
}

#content #control-list .control h2 .uploader {
    font-size: 0.7em;
}

#content #control-list .control .empty-dataset {
    margin-bottom: 30px;
}

#content #control-list .control .control-tools {
    margin-bottom: 20px;
    list-style: square;
}

#content #control-list .control .control-tools li {
    margin: 0 0 10px 30px;
}

#control-list .report .filename a {
    color: green;
}

/* Files ----------------------------------------------------------------- */

.files {
    padding: 20px 20px 5px;
    background: #EEE url(../images/backgrounds/files.png) center top repeat-x;
    border: 1px solid #DDD;
    margin-bottom: 30px;
}

.files ul {
    list-style: square;
    padding-left: 20px;
}

/* No Controls ----------------------------------------------------------- */

#no-controls {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #DDD;
}

/* Documentation
-------------------------------------------------------------------------- */

.documentation-body h2 {
    position: relative;
}

.documentation-body h2 a {
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: 12px;
    color: #666 !important;
    text-decoration: underline !important;
}

.documentation-body #content table .updated {
    width: 15%;
}

.documentation-body #content table .note {
    text-align: center;
    width: 15%;
}

.documentation-body #content table .details,
.documentation-body #content table .delete {
    text-align: center;
    width: 10%;
}

.documentation-body table thead .header {
    cursor: pointer;
}

/* Declarations
-------------------------------------------------------------------------- */

.review-toc {
    list-style: decimal;
    margin-bottom: 30px;
}

.review-toc li {
    font-size: 13px;
    margin-left: 40px;
}

.review-section h2 {
    border-bottom: 1px solid #EEE;
    padding-bottom: 5px;
    position: relative;
}

.review-section h2 a {
    position: absolute;
    right: 0;
    bottom: 5px;
    font-size: 13px;
}

.review-section {
    margin-bottom: 60px;
    font-size: 14px;
}

.review-section .entry {
    padding: 10px 15px 5px;
}

.review-section .question {
    display: block;
    font-weight: bold;
    margin: 0 0 10px;
}

.review-section .answer {
    display: block;
    margin: 0 0 10px 10px;
}

.review-section .entry:nth-child(even) {
    background: #EEE;
}

/* User List
-------------------------------------------------------------------------- */

.users-body #content table .active {
    width: 10%;
    text-align: center;
}

.users-body table .role {
    width: 25%;
}

/* Upload Report
 ------------------------------------------------------------------------- */

#upload-content {
    padding: 30px;
}

/* Misc
 -------------------------------------------------------------------------- */

a.delete {
    color: #D53733 !important;
}

#delete-category {
    background: #EEE;
    padding: 15px;
    border-radius: 3px;
}
