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 .hcpTitle { background: transparent; position: absolute; right: 24%; margin-right: -8ex; top: 1.1vw; font-size: 40px; font-family: Tahoma, sans-serif; font-weight: bold; }
.lgLfr .pageHeader .hcpTitle { font-size: 24px; margin-right: -14ex; }
.pageHeader .hcpTitleBeta { background: transparent; position: absolute; right: 25%; margin-right: -1ex; top: 1.1vw; margin-top: 2em; font-size: 24px; font-family: Tahoma, sans-serif; font-weight: bold; }
.lgLfr .pageHeader .hcpTitleBeta { font-size: 20px; margin-right: 0; margin-top: 1.5em; }
.pageHeader .languageSelector { background: transparent; position: absolute; left: 4%; margin-left: 25ex; top: 0.35em; }
.languageChoice { display: inline-block; border: 1px solid #b0bec5; margin: 0 -1px 0 0; padding: 1px 5px; background-color: #e7f6ff; cursor: pointer; color: #546e7a; box-shadow: 1px 1px #cce4f4; }
.languageChoice:hover { background-color: #ecf4f8; }
.languageChoice.elFirst { border-radius: 8px 0 0 8px; padding-left: 7px; }
.languageChoice.elLast { border-radius: 0 8px 8px 0; padding-right: 7px; }
.languageChoice.elSelected { background-color: #c2e0f3; cursor: default; color: black; }

#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; }

/* Blocks */

.columnContainer {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: start;
}

.lmColumnContainer {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: start;
}

.visualColumn {
    align-self: flex-start;
    display: flex;
    align-content: start;
    flex-wrap: wrap;
}

.leftColumn {
    flex-direction: column;
}

.middleColumn {
    flex-direction: row;
}

.rightColumn {
    margin-left: auto;
    flex-direction: column;
}

.columnMoveUpFirst {
    margin-top: -0.5em;
}

@media (max-width: 1780px) {
    .columnContainer {
        flex-direction: column;
    }
    
    .rightColumn {
        margin-left: 0;
    }
}

@media (max-width: 1200px) {
    .columnContainer {
        flex-direction: column;
    }
    
    .lmColumnContainer {
        flex-direction: column;
    }
    
    .visualColumn {
        margin-left: 0;
    }

    .leftColumn {
        flex-direction: row;
    }

    .rightColumn {
        flex-direction: row;
    }
}

.visualBlock {
/*    align-self: flex-start; */
    margin: 1em 1.5em;
    padding: 1em;
    display: inline-block;
    background-color: white;
    box-shadow: 6px 6px #ecf2ff;
    text-align: left;
}

.nonFlexBlock {
    margin: 1em 1.5em;
    padding: 1em;
    background-color: white;
    box-shadow: 6px 6px #ecf2ff;
    text-align: left;
}

.transparentBlock {
    margin: 1em 1.5em;
    background-color: transparent;
    text-align: left;
}

.visualBlock.elHidden { display: none; }

.block1to3 {
    width: 520px;
}

.blockIcon {
    display: block;
    position: relative;
    top: 0;
    left: 0;
    margin-right: 1.4em;
    float: left;
}

.blockHeader {
    font-size: 1.4em;
    font-weight: bold;
    margin-top: 0.1em;
    margin-bottom: 0.4em;
}

.blockAction {
    float: right;
}

.blockLine {
    
}

.blockLineHeaderBold {
    font-weight: bold;
}

.blockLineSubHeader {
    margin-top: 0.4em;
}

.blockLineHelpLeft {
    display: inline-block;
    margin-right: 0.2ex;
    cursor: help;
}

.blockLineHelpRight {
    display: inline-block;
    margin-left: 0.4ex;
    cursor: help;
    float: right;
}

.blockLineIconRight {
    margin-left: 0.4ex;
}

.blockLineHeaderShiftLeft {
    margin-left: -0.2ex;
}

.blockClearFloat {
    height: 0;
    clear: both;
}

.blockClearHeaderFloat {
    height: 0;
    clear: both;
    margin: 0.5em;
}

.blockClearFloat {
    height: 0;
    clear: both;
}

.fmIframeContainer {
    overflow: hidden;
    position: relative;
    min-height: 480px;
}
.fmIframe {
    border: 0;
    width: 100%;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
}

/* Options */

.dataDisplay { display: inline-block; }
.dataReadOnly { display: inline-block; }
.dataEdit { display: inline-block; }
.dataEdit.elHidden { display: none; }

.toggleButton {
    position: relative;
    display: inline-block;
    width: 34px;
    height: 22px;
    user-select: none;
}

.toggleButton input[type="checkbox"] {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggleButton span {
  position: absolute;
  cursor: pointer;
  top: 2px; 
  left: 0;
  bottom: 2px;
  right: 0; 
  background-color: #e57373;
  border-radius: 22px;
  -webkit-transition: .1s;
  transition: .1s;
}

.toggleButton span:before {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  left: 2px;
  top: 1px;
  background-color: white;
  border-radius: 22px;
  -webkit-transition: .1s;
  transition: .1s;
}

.toggleButton input:checked + span {
    background-color: #9ccc65;
}

.toggleButton input:focus + span {
}

.toggleButton input:checked + span:before {
  -webkit-transform: translateX(14px);
  -ms-transform: translateX(14px);
  transform: translateX(14px);
}

/* Tooltips */

.tooltipContent {
    max-width: 500px;
    line-height: 1.5em;
}

/* Option tables */

table.tOptions {
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
}

.tOptions > tbody > tr > td, .tOptions > tr > td {
    text-align: left;
    padding-left: 1ex;
}

.tOptions > tbody > tr > td:first-child, .tOptions > tr > td:first-child {
    padding-left: 0;
    text-align: left;
}
