html {
    height: 100%;
}

body {
    color: black;
    font-family: sans-serif;
    font-size: 71%; /* MSIE compatibility code, enables font scaling, real font size is in html > body section below */
    margin: 0;
    padding: 0;
    height: 100%;
}

html > body {
    font-size: 11pt;
    background-color: #f4f8ff;
}

/* Global page elements */

.bodyPrintable {
    background-color: white;
    padding-bottom: 4px;
}

.mainContent {
    color: black;
    text-align: justify;
    line-height: 1.5em;
    margin: 0 0 0 15em;
    padding: 0.5mm 5mm 5mm 5mm;
}
.mainContent.mainContentNormal {
    position: relative;
    min-height: 480px;
    border: 0;
    margin: 0;
    padding: 0 4px;
}
.mainContent.mainContentPrintable {
    border: 0;
    margin: 0;
    padding: 0 4px;
}

.pageHeader {
    position: relative;
    min-width: 960px;
    height: 140px;
    margin: 0;
}

.pageHeaderTop {
    height: 140px;
    width: 100%;
    overflow: hidden;
    position: absolute;
    min-width: 960px;
}

.pageHeaderSVG {
    height: 160px;
    width: 100%;
    min-width: 960px;
    fill: #f4f8ff;
    transform: scale(1.01 1) translate(-5 140);
}

.pageHeader .logo { background: transparent; position: absolute; left: 8px; top: 6px; }
.pageHeader .lgTitle { background: transparent; position: absolute; right: 24%; margin-right: -6ex; top: 1.1vw; font-size: 40px; font-family: Tahoma, sans-serif; font-weight: bold; }
.lgLfr .pageHeader .lgTitle { font-size: 24px; margin-right: -14ex; }
.pageHeader .languageSelector { background: transparent; position: absolute; left: 4%; margin-left: 25ex; top: 0.35em; }

.lgActions { margin-bottom: 16pt; }
.lgAction { display: inline-block; margin-left: 16pt; }
.lgAction.active a { font-weight: bold; }

#pageContents {
    min-height: 100%;
    margin-bottom: -24px;
}

#pageContents:after {
  height: 32px;
  content: "";
  display: block;
}

#pageFooter {
  height: 18px;
  line-height: 18px;
  margin: 0 0.5ex;
  color: black;
  font-size: 7pt;
  font-weight: bold;
  padding: 0 0.5ex;
  text-align: right;
}

p { margin: 0.5em 0 0.5em 0; padding: 0; }
a { background-color: transparent; text-decoration: none; border-bottom: 1px dotted; }
a:hover { text-decoration: none; }
a.json { text-decoration: none; border-bottom: 1px dotted; }
a.page { text-decoration: none; border-bottom: 1px dotted; }
a.page.selected { text-decoration: none; border-bottom: 1px dotted; color: black; font-weight: bold; }
table { padding: 0; }
th { padding: 1px; margin: 0; vertical-align: top; }
td { padding: 1px; margin: 0; vertical-align: top; }

h1 {
  font-size: 110%;
  font-weight: bold;
  margin: 1.2em 0 4px 0;
  padding: 0.5ex 0.5ex 2px 0.5ex;
  border-bottom: 2px solid #023;
  max-width: 960px;
}

h2 {
  font-size: 100%;
  font-weight: bold;
  margin: 1.2em 0 0 0;
  padding: 0.5ex 0.5ex 2px 0.5ex;
  border-bottom: 2px solid #023;
  max-width: 860px;
}

h1 ~ p, h1 ~ div, h1 ~ form { padding: 0 4px; }
h2 ~ p, h2 ~ div, h2 ~ form { padding: 0 4px; }

div#help, div#help_export {
    display: inline-block;
}

/* General table based list editor */

table.list {
    border-collapse: separate;
    border-spacing: 0;
    border-top: 1px solid #888;
    border-left: 1px solid #aaa;
    border-right: 1px solid #aaa;
}

.list > tr,
.list > tbody > tr,
.list > thead > tr,
.list > tfoot > tr {
    background-color: #fcfcfc;
}

.list > tr:hover,
.list > tbody > tr:hover,
.list > thead > tr:hover,
.list > tfoot > tr:hover {
    background-color: #ddd;
}

.list > tr.noHover:hover,
.list > tbody > tr.noHover:hover,
.list > thead > tr.noHover:hover,
.list > tfoot > tr.noHover:hover {
    background-color: #fcfcfc;
}

.list > tr > th,
.list > tbody > tr > th,
.list > thead > tr > th,
.list > tfoot > tr > th {
  padding: 2px 8px 2px 4px;
  vertical-align: bottom;
  text-align: center;
  background-color: #e0e0e0;
  border-bottom: 1px solid #666;
}

.list > tr > td,
.list > tbody > tr > td,
.list > thead > tr > td,
.list > tfoot > tr > td {
  padding: 3px 4px 3px 4px;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #aaa;
  vertical-align: top;
}

.list > tr > td.listSpaced,
.list > tbody > tr > td.listSpaced,
.list > thead > tr > td.listSpaced,
.list > tfoot > tr > td.listSpaced {
  border-top: 7px solid #eee;
}

.list > tr > th.borderLeft,
.list > tbody > tr > th.borderLeft,
.list > thead > tr > th.borderLeft,
.list > tfoot > tr > th.borderLeft,
.list > tr > td.borderLeft,
.list > tbody > tr > td.borderLeft,
.list > thead > tr > td.borderLeft,
.list > tfoot > tr > td.borderLeft {
    border-left: 1px solid #888;
}

.list > tr.newRow,
.list > tbody > tr.newRow,
.list > thead > tr.newRow,
.list > tfoot > tr.newRow {
    background-color: #f0ffff;
}

.list > tr.newRow:hover,
.list > tbody > tr.newRow:hover,
.list > thead > tr.newRow:hover,
.list > tfoot > tr.newRow:hover {
    background-color: #d0f0f0;
}

.list > tr.newRow.noHover:hover,
.list > tbody > tr.newRow.noHover:hover,
.list > thead > tr.newRow.noHover:hover,
.list > tfoot > tr.newRow.noHover:hover {
    background-color: #f0ffff;
}

.list > tr.massAction,
.list > tbody > tr.massAction,
.list > thead > tr.massAction,
.list > tfoot > tr.massAction {
    background-color: #e8ffd8;
}

.list > tbody > tr.massAction:hover, .list > thead > tr.massAction:hover, .list > tfoot > tr.massAction:hover, .list > tr.massAction:hover {
    background-color: #c8f0b8;
}

/* Configuration tweaks editor alterations */

tr.config {
  text-align: left;
  vertical-align: top;
}

tr.config > td {
  padding: 1px 4px !important;
}

tr.config-deleted {
  background-color: #fee !important;
}

tr.config-deleted:hover {
  background-color: #fcc !important;
}

tr.config-changed {
  background-color: #ffd !important;
}

tr.config-changed:hover {
  background-color: #eeb !important;
}

tr.config-unapplied {
  background-color: #eff !important;
}

tr.config-unapplied:hover {
  background-color: #cee !important;
}

/* UI element tweaks */

form { margin: 0; padding: 0; }

input, button, select { font-size: 11pt; line-height: 13pt; }
input[disabled] { color: #666; }

button, input[type="button"], input[type="submit"] {
    border: 1px solid #999;
    border-radius: 3px;
    background-color: #f4f4f4;
    box-shadow: 1px 1px #ccc;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
    cursor: pointer;
}
button:hover, input[type="button"]:hover, input[type="submit"]:hover, button:focus, input[type="button"]:focus, input[type="submit"]:focus {
    border-color: #8ac;
    outline: 0;
    box-shadow: 1px 1px rgba(0,0,0,.075), 0 0 3px rgba(102,175,233,.4);
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
}
button[disabled]:hover, input[type="button"][disabled]:hover, input[type="submit"][disabled]:hover, button:focus, input[type="button"][disabled]:focus, input[type="submit"][disabled]:focus {
    border-color: #999;
    box-shadow: 1px 1px #ccc;
    transition: none;
}

select { padding: 1px 1px; border-radius: 3px; }

input[type="text"], input[type="password"], input[type="search"], textarea { border-radius: 3px; }
input[type="text"], input[type="password"], input[type="search"] { padding: 2px 3px 1px 3px; }
textarea { padding: 2px 3px; }
input[type="text"][disabled], input[type="password"][disabled], input[type="search"][disabled], textarea[disabled] { background-color: #e8e8e8; }
input[type="text"], input[type="password"], input[type="search"], select, textarea {
    border: 1px solid #aaa;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
}
input[type="text"]:focus, input[type="password"]:focus, input[type="search"]:focus, select:focus, textarea:focus {
    border-color: #7ad;
    outline: 0;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 4px rgba(102,175,233,.6);
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
}

input[type='checkbox'] {
    vertical-align: middle;
    margin: 0 1px 2px 1px;
    padding: 0;
    height: 9pt;
    line-height: 9pt;
}
.ui-widget input[type='checkbox'] {
    /* This is required to keep JQuery Multiselect checkboxes not restyled by the above */
    vertical-align: bottom;
    margin: 0 4px 2px 4px;
    padding: 0;
    height: 9pt;
    line-height: 9pt;
}

/* JQuery Tablesorter restyling */

table.tablesorter thead tr .header {
  background-image: url(../images/bg.gif);
  background-repeat: no-repeat;
  background-position: center right;
  cursor: pointer;
}

table.tablesorter thead tr .headerSortUp {
  background-image: url(../images/asc.gif);
}

table.tablesorter thead tr .headerSortDown {
  background-image: url(../images/desc.gif);
}

/* Page specifics */

.pgStart textarea.notepad {
    overflow-y: scroll;
}

.pgStart pre.notepad {
    float: left;
    overflow-y: scroll;
    height: 192px;
    width: 717px;
    border: 1px solid #aaa;
    background-color: #f8f8f8;
    margin: 0;
    font-size: 1.2em;
    padding: 2px;
    font-family: monospace;
}

/* General element styling classes (miscellaneous) */

.hidden, .elHidden { display: none; }
.elBold { font-weight: bold; }
.elClearFloat { clear: both; }
.elInline { display: inline; }
.elInlineBlock { display: inline-block; }
.elNoTextDecoration { text-decoration: none; }
.elMarginBottom16 { margin-bottom: 16px !important; }
.elMarginBottom32 { margin-bottom: 32px !important; }
.elMarginLeft0 { margin-left: 0 !important; }
.elMarginLeft16 { margin-left: 16px !important; }
.elMarginRight4 { margin-right: 4px !important; }
.elMarginRight16 { margin-right: 16px !important; }
.elMarginTop0 { margin-top: 0 !important; }
.elMarginTop2 { margin-top: 2px !important; }
.elMarginTop8 { margin-top: 8px !important; }
.elMarginTop16 { margin-top: 16px !important; }
.elMarginTop32 { margin-top: 32px !important; }
.elMinWidth64 { min-width: 64px !important;}
.elNoPadding { padding: 0 !important; }
.elPaddingLeft16 { padding-left: 16px !important;}
.elPaddingTop8 { padding-top: 8px !important;}
.elSmallComment { font-size: 0.9em; vertical-align: top; }
.elVAlignTop { vertical-align: top; }
.elPointer { cursor: pointer !important; }
.elNoSelect { user-select: none; }
.elSelectContain { user-select: contain; }
.elSelectText { user-select: text; }

pre { font-family: Courier New; font-size: 12px; }

/* Buttons */

.zmdi { vertical-align: baseline; text-rendering: geometricPrecision !important; margin-top: -1px; user-select: none; -webkit-user-select: none; }

/* Coloring */

h1 { color: #023; }
h2 { color: #625; }

.clRedError { color: #b33; }
.clYellowError { color: #b50; }

.clBaseLink { color: #039; }
.clBlackLink { color: black; }
.clGreenLink { color: #393; }
.clRedLink { color: #b33; }

.clBlackText { color: #000; }
.clBlueText { color: #00c; }
.clGreenText { color: #393; }
.clGreyText { color: #555; }
.clRedText { color: #b33; }

.clTransparent { color: transparent !important; }

/* Routes tables */

table.routeList {
    border: 0;
    border-spacing: 0 4px;
}

table.routeList thead th {
    font-size: 10.5pt;
    text-align: center;
    padding: 0 2px;
}

table.routeList thead div {
    width: 100%;
    border-bottom: 1px solid black;
}

table.routeList tbody tr {
    background-color: white;
    box-shadow: 3px 3px #d8e2f4;
}

table.routeList tbody tr.subRoute {
    background-color: #fafaff;
    box-shadow: 3px 3px #d8e2f4;
}

table.routeList tbody tr td {
    text-align: center;
    padding: 1px 8px;
}

table.routeList tbody td.canBeLarge {
    max-width: 25vw;
}

table.routeList tbody tr td:first-child {
    padding-left: 8px;
    padding-right: 0;
}

table.routeList tbody tr td:last-child {
    padding-right: 2px;
}

table.routeList tbody tr td.index {
    font-size: 8pt;
}

table.routeList tbody tr td.aLeft {
    text-align: left;
}

table.routeList tbody tr td.aRight {
    text-align: right;
}

div.eASPath {
    display: inline-block;
    font-size: 9pt;
    font-weight: bold;
    line-height: 13pt;
    border-radius: 12pt;
    padding: 0 6px;
    background: #eee;
    margin-right: 4px;
    margin-bottom: 2px;
}

div.eComm {
    display: inline-block;
    font-size: 9pt;
    line-height: 13pt;
    border-radius: 12pt;
    padding: 0 6px;
    background: #eee;
    margin-right: 4px;
    margin-bottom: 2px;
}

.eComm.eComm-grec {
    font-weight: bold;
    background: #adf;
}

.eComm.eComm-grecmod {
    font-weight: bold;
    background: #bde;
}

.eComm.eComm-redist {
   background: #af6;
}

.eComm.eComm-rpki-valid {
    background: #ce6;
    font-weight: bold;
}

.eComm.eComm-rpki-none {
    background: #eec;
}

.eComm.eComm-rpki-invalid {
    background: #d22;
    font-weight: bold;
    color: #fff;
}

.eComm.eComm-flag {
    font-weight: bold;
    background: #faa;
}

.eComm.eComm-global {
    font-weight: bold;
    background: #ddd;
}

.eComm.eComm-rtr-originate {
    background: #ae6;
}

.eComm.eComm-rtr-import {
    background: #ebf;
}

.eComm.eComm-rtr-unknown {
    background: #ccc;
}

.eComm.eComm-peer-system {
    background: #ff7;
    font-weight: bold;
}

.eComm.eComm-peer-customers {
    background: #aef;
}

.eComm.eComm-peer-subcustomers {
    background: #ade;
}

.eComm.eComm-peer-peer {
   background: #bf6;
}

.eComm.eComm-peer-subpeer {
   background: #9d4;
}

.eComm.eComm-peer-ix {
   background: #fb6;
}

.eComm.eComm-peer-upstream {
   background: #f9c;
}

.eComm.eComm-peer-group {
   background: #fd6;
}

.eComm.eComm-peer-bras {
    background: #afc;
}

.eComm.eComm-control {
    background: #57f;
    color: white;
}