body.interface {
    position: relative;
    margin-top: 8px;
    background: url('bg_gradient.jpg') repeat-x;
    font-family: HelveticaNeue, sans-serif;
    font-size: 11px;
    background-color: #fff;
    color: #333;
}

body > hr {
    display: none;
}

div.content h1 {
    display: none !important;
}

small {
  font-size: 9px;
}

.auth {
    position: absolute;
    bottom: 5px;
    right: 10px;
}

a:link,a:visited,a:active {
    color: #333;
}

a:visited {
    color: #557;
}

table {
    border-spacing: 1px 1px;
}

table td {
    padding: 3px 2px 3px 2px;
}

.Project {
    min-width: 6em;
}

.LastBuild,.Activity {
    padding: 0 0 0 4px;
}

td.LastBuild {
    min-width: 9em;
}

td.LastBuild a {
    font-weight: bold;
    text-decoration: none;
}

/* Chromium Specific styles */
div.BuildResultInfo {
    color: #444;
}

div.Announcement {
    margin-bottom: 1em;
}

div.Announcement>a:hover {
    color: black;
}

div.Announcement>div.Notice {
    background-color: #afdaff;
    padding: 0.5em;
    font-size: 16px;
    text-align: center;
}

div.Announcement>div.Open {
    border: 3px solid #8fdf5f;
    padding: 0.5em;
    font-size: 16px;
    text-align: center;
}

div.Announcement>div.Closed {
    border: 5px solid #e98080;
    padding: 0.5em;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

td.Time {
    color: #000;
    border-bottom: 1px solid #aaa;
    background-color: #eee;
    font-weight: bold;
}

td.Activity,td.Change,td.Builder {
    color: #333333;
    background-color: #CCCCCC;
}

td.LastBuild,td.Activity a,td.Change a,td.Builder a {
    text-decoration: none;
}

td.Builder {
    vertical-align: top;
    line-height: 120%;
}

td.Change {
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}

td.Event {
    color: #777;
    background-color: #ddd;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}

td.Activity {
    border-top-left-radius: 10px;
    -webkit-border-top-left-radius: 10px;
    -moz-border-radius-topleft: 10px;
    min-height: 20px;
    padding: 2px 0 2px 0;
    font-size: 9px;
}

td.idle,td.waiting,td.offline,td.building {
    border-top-left-radius: 0px;
    -webkit-border-top-left-radius: 0px;
    -moz-border-radius-topleft: 0px;
}

.LastBuild {
    border-top-left-radius: 5px;
    -webkit-border-top-left-radius: 5px;
    -moz-border-radius-topleft: 5px;
    border-top-right-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    -moz-border-radius-topright: 5px;
}

/* Console view styles */
td.DevRev {
    padding: 4px 8px 4px 8px;
    color: #333333;
    border-top-left-radius: 5px;
    -webkit-border-top-left-radius: 5px;
    -moz-border-radius-topleft: 5px;
    background-color: #eee;
    width: 1%;
}

td.DevRevCollapse {
    border-bottom-left-radius: 5px;
    -webkit-border-bottom-left-radius: 5px;
    -moz-border-radius-bottomleft: 5px;
}

td.DevName {
    padding: 4px 8px 4px 8px;
    color: #333333;
    background-color: #eee;
    width: 1%;
    text-align: left;
}

td.DevStatus {
    padding: 4px 4px 4px 4px;
    color: #333333;
    background-color: #eee;
}

td.DevSlave {
    padding: 4px 4px 4px 4px;
    color: #333333;
    background-color: #eee;
}

td.first {
    border-top-left-radius: 5px;
    -webkit-border-top-left-radius: 5px;
    -moz-border-radius-topleft: 5px;
}

td.last {
    border-top-right-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    -moz-border-radius-topright: 5px;
}

td.DevStatusCategory {
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-width: 1px;
    border-style: solid;
}

td.DevStatusCollapse {
    border-bottom-right-radius: 5px;
    -webkit-border-bottom-right-radius: 5px;
    -moz-border-radius-bottomright: 5px;
}

td.DevDetails {
    font-weight: normal;
    padding: 8px 8px 8px 8px;
    color: #333333;
    background-color: #eee;
    text-align: left;
}

td.DevComment {
    font-weight: normal;
    padding: 8px 8px 8px 8px;
    color: #333333;
    border-bottom-right-radius: 5px;
    -webkit-border-bottom-right-radius: 5px;
    -moz-border-radius-bottomright: 5px;
    border-bottom-left-radius: 5px;
    -webkit-border-bottom-left-radius: 5px;
    -moz-border-radius-bottomleft: 5px;
    background-color: #eee;
    text-align: left;
}

td.Alt {
    background-color: #ddd;
}

.legend {
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    width: 100px;
    max-width: 100px;
    text-align: center;
    padding: 2px 2px 2px 2px;
    height: 14px;
    white-space: nowrap;
}

.DevStatusBox {
    text-align: center;
    height: 20px;
    padding: 0 2px;
    line-height: 0;
    white-space: nowrap;
}

.DevStatusBox a {
    opacity: 0.85;
    border-width: 1px;
    border-style: solid;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    display: block;
    width: 90%;
    height: 20px;
    line-height: 20px;
    margin-left: auto;
    margin-right: auto;
}

.DevSlaveBox {
    text-align: center;
    height: 10px;
    padding: 0 2px;
    line-height: 0;
    white-space: nowrap;
}

.DevSlaveBox a {
    opacity: 0.85;
    border-width: 1px;
    border-style: solid;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    display: block;
    width: 90%;
    height: 10px;
    line-height: 20px;
    margin-left: auto;
    margin-right: auto;
}

a.noround {
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    position: relative;
    margin-top: -8px;
    margin-bottom: -8px;
    height: 36px;
    border-top-width: 0;
    border-bottom-width: 0;
}

a.begin {
    border-top-width: 1px;
    position: relative;
    margin-top: 0px;
    margin-bottom: -7px;
    height: 27px;
    border-top-left-radius: 4px;
    -webkit-border-top-left-radius: 4px;
    -moz-border-radius-topleft: 4px;
    border-top-right-radius: 4px;
    -webkit-border-top-right-radius: 4px;
    -moz-border-radius-topright: 4px;
}

a.end {
    border-bottom-width: 1px;
    position: relative;
    margin-top: -7px;
    margin-bottom: 0px;
    height: 27px;
    border-bottom-left-radius: 4px;
    -webkit-border-bottom-left-radius: 4px;
    -moz-border-radius-bottomleft: 4px;
    border-bottom-right-radius: 4px;
    -webkit-border-bottom-right-radius: 4px;
    -moz-border-radius-bottomright: 4px;
}

.center_align {
    text-align: center;
}

.right_align {
    text-align: right;
}

.left_align {
    text-align: left;
}

div.BuildWaterfall {
    border-radius: 7px;
    -webkit-border-radius: 7px;
    -moz-border-radius: 7px;
    position: absolute;
    left: 0px;
    top: 0px;
    background-color: #FFFFFF;
    padding: 4px 4px 4px 4px;
    float: left;
    display: none;
    border-width: 1px;
    border-style: solid;
}

/* LastBuild, BuildStep states */
.success {
    color: #FFFFFF;
    background-color: #8FDF5F;
    border-color: #4F8530;
}

.failure {
    color: #FFFFFF;
    background-color: #E98080;
    border-color: #A77272;
}

.warnings {
    color: #FFFFFF;
    background-color: #FFC343;
    border-color: #C29D46;
}

.exception {
    color: #FFFFFF;
    background-color: #E0B0FF;
    border-color: #ACA0B3;
}

.start,.running,td.building {
    color: #666666;
    background-color: #FFFC6C;
    border-color: #C5C56D;
}

.offline,td.offline,.retry {
    color: #FFFFFF;
    background-color: #E0B0FF;
    border-color: #dddddd;
}


.start {
    border-bottom-left-radius: 10px;
    -webkit-border-bottom-left-radius: 10px;
    -moz-border-radius-bottomleft: 10px;
    border-bottom-right-radius: 10px;
    -webkit-border-bottom-right-radius: 10px;
    -moz-border-radius-bottomright: 10px;
}

.notstarted {
    border-width: 1px;
    border-style: solid;
    border-color: #aaa;
    background-color: #fff;
}

.closed {
    background-color: #ff0000;
}

.closed .large {
    font-size: 1.5em;
    font-weight: bolder;
}

td.Project a:hover,td.start a:hover {
    color: #000;
}

.mini-box {
    text-align: center;
    height: 20px;
    padding: 0 2px;
    line-height: 0;
    white-space: nowrap;
}

.mini-box a {
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    display: block;
    width: 100%;
    height: 20px;
    line-height: 20px;
    margin-top: -30px;
}

.mini-closed {
    -box-sizing: border-box;
    -webkit-box-sizing: border-box;
    border: 4px solid red;
}

/* grid styles */
table.Grid {
    border-collapse: collapse;
}

table.Grid tr td {
    padding: 0.2em;
    margin: 0px;
    text-align: center;
}

table.Grid tr td.title {
    font-size: 90%;
    border-right: 1px gray solid;
    border-bottom: 1px gray solid;
}

table.Grid tr td.sourcestamp {
    font-size: 90%;
}

table.Grid tr td.builder {
    text-align: right;
    font-size: 90%;
}

table.Grid tr td.build {
    border: 1px gray solid;
}

/* column container */
div.column {
    margin: 0 2em 2em 0;
    float: left;
}

/* info tables */
table.info {
    border-spacing: 1px;
}

table.info td {
    padding: 0.1em 1em 0.1em 1em;
    text-align: center;
}

table.info th {
    padding: 0.2em 1.5em 0.2em 1.5em;
    text-align: center;
}

table.info td.left {
    text-align: left
}

.alt {
    background-color: #d6d6d6;
}

li {
    padding: 0.1em 1em 0.1em 1em;
}

.result {
    padding: 0.3em 1em 0.3em 1em;
}

/* log view */
.log * {
    vlink: #800080;
    font-family: "Courier New", courier, monotype;
}

span.stdout {
    color: black;
}

span.stderr {
    color: red;
}

span.header {
    color: blue;
}

/* revision & email */
.revision .full {
    display: none;
}

.user .email {
    display: none;
}

/* change comments (use regular colors here) */
pre.comments>a:link,pre.comments>a:visited {
    color: blue;
}

pre.comments>a:active {
    color: purple;
}
