
html {
    height: 100%;
}

.fullwidth {
    width: 100%;
}

.floatL {
    display: block;
    float: left;
}

.floatR {
    display: block;
    float: right;
}

.legendLabel span {
    display: block;
    margin: 0 5px;
}

.legendColorBox {
    padding-left: 10px;
}

/* # Typography
================================================== */

/* === Headings === */

h1 {
    font-size: 24px;
}

h2 {
    font-size: 22px;
}

h3 {
    font-size: 20px;
}

h4 {
    font-size: 18px;
}

h5 {
    font-size: 16px;
}

h6 {
    font-size: 14px;
}

/* === Text colors === */

.red {
    color: #A64949;
}

.green {
    color: #4D7F12;
}

.grey {
    color: #aaa;
}

/* === Placeholder color === */

::-webkit-input-placeholder {
    color: #b3b3b3;
}

:-moz-placeholder {
    color: #b3b3b3;
}

/* === Text alignment === */

.textL {
    text-align: left !important;
}

.textC {
    text-align: center;
}

.textR {
    text-align: right;
}

/* # Tables
================================================== */

.tLight tbody td, .tLight thead td {
    border-left: 1px solid #dadada;
    -webkit-border-top-left-radius: 2px;
    -moz-border-radius-topleft: 2px;
    -webkit-border-top-right-radius: 2px;
    -moz-border-radius-topright: 2px;
}

.tLight tbody td:first-child, .tLight thead td:first-child {
    border-left: none;
}

.tLight tbody td {
    padding: 9px 16px;
    vertical-align: middle;
    color: #777;
}

.tLight tbody tr {
    border-top: 1px solid #dadada;
}

.tLight thead td {
    text-align: center;
    padding: 7px 12px;
    font-weight: bold;
    background: #F8F8F8;
    background: -moz-linear-gradient(top, #F8F8F8 0%, #EFEFEF 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #F8F8F8), color-stop(100%, #EFEFEF));
    background: -webkit-linear-gradient(top, #F8F8F8 0%, #EFEFEF 100%);
    background: -o-linear-gradient(top, #F8F8F8 0%, #EFEFEF 100%);
    background: -ms-linear-gradient(top, #F8F8F8 0%, #EFEFEF 100%);
    background: linear-gradient(top, #F8F8F8 0%, #EFEFEF 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#efefef', GradientType=0);
}

/* # Invoice page
================================================== */

.invoice table {
    border-top: 1px solid #dadada;
    border-bottom: 1px solid #dadada;
}

.inHead {
    border-radius: 2px 2px 0 0;
    -webkit-border-radius: 2px 2px 0 0;
    -moz-border-radius: 2px 2px 0 0;
    border-bottom: 1px solid #c3c3c3;
    background: #f8f8f8;
    background: -moz-linear-gradient(top, #f8f8f8 0%, #e8e8e8 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8f8f8), color-stop(100%, #e8e8e8));
    background: -webkit-linear-gradient(top, #f8f8f8 0%, #e8e8e8 100%);
    background: -o-linear-gradient(top, #f8f8f8 0%, #e8e8e8 100%);
    background: -ms-linear-gradient(top, #f8f8f8 0%, #e8e8e8 100%);
    background: linear-gradient(top, #f8f8f8 0%, #e8e8e8 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#e8e8e8', GradientType=0);
}

.inHead:after, .inContainer:after, .inFooter:after {
    content: "";
    display: block;
    clear: both;
}

.inLogo {
    width: 60%;
    padding: 17px 14px;
    display: block;
    float: left;
    font-weight: bold;
}

.inInfo {
    float: right;
    padding: 10px 14px;
    text-align: right;
}

.inInfo .invoiceNum {
    color: #A64949;
    font-size: 14px;
    font-weight: bold;
}

.inInfo i {
    display: block;
    color: #909090;
    white-space: nowrap;
    line-height: 16px;
    font-size: xx-small;
}

.inFrom, .inTo {
    width: 40%;
    display: block;
    margin: 20px;
}

.inFrom span, .inTo span {
    display: block;
    padding-left: 12px;
}

.inFrom {
    float: left;
}

.inTo {
    width: 100%;
}

.inFrom h5, .inTo h5 {
    color: #303030;
    margin-bottom: 8px;
}

.inDesc {
    width: 45%;
    float: left;
    margin: 20px;
}

.inDesc p {
    color: #9f9f9f;
}

.total {
    text-align: right;
    float: right;
    margin: 20px 30px 20px 0;
}

.total span {
    font-weight: bold;
    padding: 0 0 4px 0;
    display: block;
}

.total strong {
    display: block;
    font-size: 24px;
}

.inFooter {
    padding: 18px 0 10px 0;
    border-top: 1px solid #DADADA;
    background: #f4f4f4;
    clear: both;
    position: fixed;
    bottom: 0px;
    opacity: 0.9;
}

.footnote {
    width: 50%;
    float: left;
    margin: 3px 20px;
    font-size: x-small;
}

.fullheight {
    display: block;
    position: relative;
    height: 100%;
    width: 100%;
}

@media screen {
    div.inFooter {
        width: 100%;
    }
}

@media print {
    div.inFooter {
        width: 680px;
    }
}
