﻿/* Sticky footer */
html, body {
    height: 100%;
}

#wrap {
    min-height: 100%;
    height: auto !important;
    height: 100%;
    margin: 0 auto -41px;
}

#push, #footer {
    height: 40px;
}

#footer {
    line-height: 40px;
    border-top: 1px solid #ccc;
    background: url("/Content/Images/grey-background.jpg") 0 0 repeat #f5f5f5;
    color: #333;
}

#environment {
    text-align: center;
    text-transform: uppercase;
}

#timezone {
    text-align: right;
}

/* Navigation */

.navbar-inverse {
    margin-bottom: 10px;
}

.navbar .navbar-brand {
    background: url("/Content/Images/brand.png") 5px center no-repeat;
    padding-left: 35px;
    color: #fff;
}

.navbar-inverse .navbar-nav > li > a {
    color: #fff;
    padding-left: 7px;
    padding-right: 7px;
}

.navbar-inverse,
.navbar-inverse .navbar-inner {
    background: url("/Content/Images/black-background.jpg") 0 0 repeat #454545;
}

.navbar-inverse .navbar-nav li.dropdown.open > .dropdown-toggle {
    background-color: #383838;
}

@media (max-width: 767px) {
    nav .open .dropdown-menu > li > a {
        color: #fff !important;
    }
}

/* Badge colors */

.badge-error {
    background-color: #b94a48;
}

.badge-warning {
    background-color: #f89406;
}

.badge-success {
    background-color: #468847;
}

.badge-info {
    background-color: #3a87ad;
}

.badge-inverse {
    background-color: #333333;
}

/* Global */

.alert {
    padding-bottom: 10px;
}

.help-block {
    margin-bottom: 0;
}

.help-block:empty {
    display: none;
}

.nav-tabs {
    margin-bottom: 10px;
}

label.checkbox {
    font-weight: normal;
}

h2.line {
    border-bottom: solid 1px #ccc;
    padding-bottom: 5px;
    margin-bottom: 15px;
}

.uneditable-input,
.uneditable-textarea {
    background-color: #fff;
    color: #555;
    cursor: text;
}

.h-title {
    float: left;
}

.h-button {
    float: right;
    margin-top: 20px;
}

.btn-align-label {
    margin-top: 25px;
}

.panel-body .dl-horizontal {
    margin-bottom: 0;
}

.status-types {
    margin: 20px 0 10px 20px;
}

@media (max-width: 979px) {
    .h-title {
        float: none;
    }

    .h-button {
        float: left;
        margin: 10px 0 20px 0;
    }
}

input[type="checkbox"].no-margin {
    margin: 0;
}

.margin-label {
    margin-left: 10px;
    margin-right: 10px;
}

.periods,
.period-custom {
    margin-bottom: 15px;
}

.period-custom .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
    width: 140px;
}

.period-custom .input-group-addon:hover {
    cursor: pointer;
}

.period-custom .form-control {
    width: 100px;
}

.period-custom .form-group {
    margin-right: 10px;
}

.period-custom .form-group label {
    margin-right: 5px;
}

.chart {
    height: 250px;
    margin-bottom: -15px;
    position: inherit;
}

.chart noscript {
    display: block;
    text-align: center;
    margin-top: 150px;
}

table.no-wrap td {
    white-space: nowrap;
}

.table .resolution {
    font-weight: bold;
}

.table tfoot tr td {
    border-top-width: 3px;
    border-top-style: double;
    font-weight: bold;
}

td.empty-table {
    text-align: center !important;
    padding: 20px !important;  
}

td.text-center {
    text-align: center;
}

td.text-right {
    text-align: right;
}

tr.footer td {
    border-top-width: 3px;
    border-top-style: double;
    font-weight: bold;
    padding-bottom: 20px;
}

td.number-padding {
    padding-right: 20px;
}

table.table-nonfluid {
    width: auto !important;
}

.control-label {
    font-weight: bold;
}

.controls .text {
    margin-top: 5px;
}

.field-validation-error {
    color: #a94442;
}

.download-formats .dropdown-menu {
    min-width: 0;
}

.modal-backdrop, .modal-backdrop.fade.in {
    opacity: 0.25;
    filter: alpha(opacity=25);
}

.audit-modal .modal-body {
    max-height: 500px;
    overflow: auto;
}

#audit-modal-content pre {
    background-color: transparent;
}

/* Tweaks to the date selector */

.input-append.date input[type=text] {
    width: 75px;
}

.input-append.date .add-on i, 
.input-prepend.date .add-on i {
    display: inline-block;
}

.datepicker table tr td.range, 
.datepicker table tr td.range:hover, 
.datepicker table tr td.range.disabled, 
.datepicker table tr td.range.disabled:hover {
    background-color: #f6f6f6;
}

/* Fixes a text rendering issue when converting charts to PDF */
svg text {
    fill: #000;
}

.nvd3 .nv-axis .nv-axisMaxMin text {
    font-weight: normal;
}

/* Login page */

#login-form {
    -webkit-box-align: center;
    -webkit-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    background: url("/Content/Images/grey-background.jpg") 0 0 repeat #f5f5f5;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    height: 100%;
}
    

.login-form {
    background: url("/Content/Images/logo_bw_small.png") center 20px no-repeat #fff;
    border: 1px solid #ccc;
    border-radius: 10px;
    box-shadow: 5px 5px 5px #000000;
    box-shadow: 5px 5px 5px rgba(0,0,0,.15);
    padding: 85px 20px 0 20px;
}

.login-form h2 {
    text-align: center;
    font-size: 20px;
    margin-top: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ccc;
}

#account-summary-by-package .chart {
    margin-bottom: 30px;
}

#account-summary-by-country .chart,
#account-summary-by-isp .chart {
    height: 300px;
}

#account-summary-by-country .chart svg,
#account-summary-by-isp .chart svg {
    margin-top: -50px;
}

/* Daily Summaries */

.daily-summaries-filter {
    margin-bottom: 20px;
}

.daily-summaries-filter .form-group {
    margin-right: 10px;
}

.daily-summaries-filter .form-group label {
    margin-right: 5px;
}

#daily-summaries td.download {
    width: 100px;
}

/* Daily Summary */

#pdf-daily h2,
#pdf-daily h3,
#pdf-daily h4 {
    text-align: center;
}

#pdf-daily h4 {
    margin-top: 0;
}

#pdf-daily .reference h4 {
    margin-top: 10px;
    text-align: left;
}

#pdf-daily .reference code {
    color: #000;
}

#pdf-daily table.toc {
    font-size: 17.5px;
}

#pdf-daily table.toc th {
    border-bottom: none;
}

#pdf-daily table.toc td {
    border-top: none;
}

#pdf-daily .chart {
    height: 250px;
    width: 100%;
}

#pdf-daily .chart svg {
    margin-top: -30px;
}

#pdf-daily .chart .nv-legend {
    display: none;
}

/* nvd3 fades each series in by animating .nv-group from stroke/fill-opacity 1e-6
   up to its final value over ~250ms. The PDF is captured as soon as the charts
   are built (DailySummary/Report.cshtml drains nvd3's render queue, then signals),
   which is before that fade finishes, so pin the groups to their final opacity —
   otherwise the headless snapshot catches the lines mid-fade and they print
   nearly invisible. */
#pdf-daily .nv-groups .nv-group {
    stroke-opacity: 1 !important;
    fill-opacity: .75 !important;
}

#pdf-daily .table {
    font-size: 12px;
}

#pdf-daily .table-condensed th,
#pdf-daily .table-condensed td {
    padding: 0 5px;
    border-top: 0;
    text-align: right;
}

#pdf-daily .table-condensed th.key,
#pdf-daily .table-condensed td.key {
    text-align: left;
    max-width: 150px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#pdf-daily .table-condensed th {
    border-bottom: 1px solid #ccc;
}

#pdf-daily .table tfoot tr td {
    border-top: 1px solid #ccc;
}

#pdf-daily .page {
    page-break-before: always;
}

/* Every section header carries .page so each starts on a fresh sheet, but the
   very first header is the start of the document — Chromium's print engine honors
   its forced break and emits a blank leading page (EO.Pdf silently dropped it). */
#pdf-daily .container > .header:first-child {
    page-break-before: avoid;
}

#pdf-daily .margin {
    margin-top: 20px;
}

#pdf-daily .header {
    border-bottom: 1px solid #ccc;
    margin-bottom: 10px;
}

#pdf-daily .header .logo {
    padding: 10px 0 15px 0;
}

#pdf-daily .header h3 {
    margin-top: 0;
}

#pdf-daily .nv-scatterWrap {
    display: none;
}

/* Change Partner */

#change-partner .partners {
    margin-left: 25px;
    -webkit-columns: 3;
    -moz-columns: 3;
    columns: 3;
}

#change-partner ul.partners {
    list-style-type: none;
}

/* Statistics */

#aggregate-statistics table td.key {
    font-weight: bold;
    max-width: 300px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#aggregate-statistics table td.key-cdn {
    padding-left: 25px;
}

.errors-popover {
    margin-left: 5px;
}

.errors-table {
    margin-bottom: 0;
}

.expand-row {
    margin-right: 5px;
}

/* Package Versions */

#versions-modal .title-buttons {
    margin-right: 20px;
}

#versions-modal .modal-body {
    max-height: 500px;
    overflow: auto;
}

#versions-modal .modal-body table {
    margin-bottom: 0;
}

/* API Documentation */

#docs #toc {
    width: 270px;
    margin-top: 15px;
}

#docs #toc.affix {
    top: 10px;
}

#docs #toc.affix,
#docs #toc.affix-bottom,
#docs #toc.affix-top {
    overflow-y: auto;
}

#docs #toc .section {
    font-weight: bold;
    margin-top: 10px;
}

#docs #toc ul > li.active a {
    background-color: #08c;
    color: #fff;
    text-shadow: 0 -1px 0 #000000;
    text-shadow: 0 -1px 0 rgba(0,0,0,.2);
}

#docs #toc .section:first-child {
    margin-top: 0;
}

#docs #toc li > a {
    border-radius: 10px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    padding: 0 15px;
}

#docs #content {
    padding-left: 30px;
    border-left: solid 1px #ccc;
}

#docs .route em {
    font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
    font-weight: bold;
    font-style: normal;
}

#docs hr {
    border-top-color: #ddd;
    margin-top: 30px;
}

#docs #content h2 {
    border-bottom: double 3px #0088cc;
    margin-bottom: 20px;
    margin-top: 30px;
    page-break-before: always;
}

#docs #content h2:first-of-type {
    margin-top: 10px;
    page-break-before: avoid;
}

#docs #content #logo {
    display: none;
}

#docs #content table {
    width: initial;
}

#docs #content .md-image {
    text-align: center;
    margin: 20px 0;
}

#docs #content .md-image img {
    max-width: 80%;
    margin-bottom: 10px;
}

#docs #content blockquote {
    border-left-color: #ff0000;
}

@media (min-width: 768px) and (max-width: 1199px) {
    #docs #toc {
        width: 210px;
    }
}

@media (min-width: 768px) and (max-width: 979px) {
    #docs #toc {
        width: 160px;
    }
}


@media (max-width: 767px) {
    #docs #toc.affix,
    #docs #toc.affix-bottom,
    #docs #toc.affix-top {
        position: static;
        width: auto;
        top: 0;
    }

    #docs #content {
        padding-left: 0;
        border-left: none;
    }
}

@media print {
    .navbar-inverse {
        display: none;
    }

    #footer {
        display: none;
    }

    #docs #toc {
        display: none;
    }

    #docs #content {
        margin: 0;
        padding: 0;
        border: none;
    }

    #docs #content hr {
        border-color: transparent;
        page-break-after: always;
    }

    #docs #content #logo {
        display: block;
        width: 50%;
        margin: 10px auto 20px auto;
    }
}
