div.section h2, div.section h3 {
  border-bottom: solid 1px #4d0000;
  padding-bottom: 8px;
}

div.section.section-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #31708f;
  border-radius: 5px;
}

div.section.section-info h2, div.section.section-info h3 {
  border-bottom: solid 1px #31708f;
  padding-bottom: 8px;
}

div.section.section-info a {
}

label.clean {
    font-weight: inherit;
}

.cp-nav-menu a.sel {
  font-weight: bold;
  color: #990000;
}

.cp-nav-menu a {
  color: #333333;
}

.no-js .js-only {
  display: none;
}

.js .no-js-only {
  display: none;
}

.js .hide-until-loaded {
  display: none;
}

.no-js .show-until-loaded {
  display: none;
}

.breadcrumbs {
  padding: 8px;
  background-color: #eee;
  border-style: solid;
  border-color: #ddd;
  border-width: 1px;
  border-radius: 3px;
  margin-bottom: 10px;
}

.mb-red-extra {
  background-color: #880000;
  margin-top: 0px !important;
  padding: 10px 0px;
  color: white;
  font-weight: 400;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #a77;
  margin-bottom: 20px;
}

.mb-red-extra a {
  color: white;
  font-weight: 300;
}

.breadcrumb-separator {
  padding: 0px 5px;
  color: #a77;
}

.checklist-item .status-icon {
    font-size: 30pt;
    text-align: center;
    height: 100px;
}

.status-icon .pass {
    color: #4dfa90;
}

.status-icon .fail {
    color: #FF5468;
}

.status-icon .warn {
    color: #fabe4d;
}

.checklist-item .checklist-item-title {
  font-size: larger;
  font-weight: bold;
  display: block;
}

.checklist-item-details {
    padding-top: 8px;
    margin-bottom: 15px;
}

div.error {
    color: #880000;
    border-style: solid;
    border-width: 1px;
    border-radius: 3px;
    border-color: #aaa;
    background-color: #eee;
    font-weight: bold;
    padding: 10px;
    margin-bottom: 10px;
}

div.message {
    color: #000;
    border-style: solid;
    border-width: 1px;
    border-radius: 3px;
    border-color: #aaa;
    background-color: #eee;
    font-weight: bold;
    padding: 10px;
    margin-bottom: 10px;
}

button.plain-link {
    background: none;
    border: none;
    color: #900;
    padding: 0;
}


span.munin a.crit:before {
    font-family: FontAwesome;
    color: #a94442;
    padding-right: 2px;
    content: "\F071";
}

span.munin a.warn:before {
    font-family: FontAwesome;
    color: #FABE4D;
    padding-right: 2px;
    content: "\F071";
}

div.munin img {
    border: solid grey 1px;
    margin-right: 2em;
    margin-bottom: 2ex;
}

.graph-status-ok {
    display: none;
}

.graph-status-warning {
    color: #FABE4D;
}

.graph-status-critical {
    color: #a94442;
}

ul.plain-list {
  list-style: none;
  padding-left: 15px;
}


/*
 * Sectioned page
 */

.section .action-bar {
  padding-top: 8px;
  margin-top: 8px;
  border-top-style: solid;
  border-top-color: #ccc;
  border-top-width: 1px;
  border-bottom-style: none;
  border-bottom-color: #bbb;
  border-bottom-width: 1px;
}

.section .action-bar > *::after,
.action-list > form > *::after,
.action-list > *::after {
  content: "/";
  padding-left: 4px;
  padding-right: 0px;
  color: #ccc;
  display: inline-block;
}

.section .action-bar > *:hover::after,
.action-list > form > *:hover::after,
.action-list > *:hover::after {
    text-decoration: none;
}

.action-bar > *, 
.action-list > * {
    white-space: nowrap;
}


.section .action-bar > *:last-child::after,
.action-list > form > *:last-child::after,
.action-list > *:last-child::after {
    display: none;
}

.row-action-list {
    text-align: right;
}

td.action-list, th.action-list {
    width: 1%;
    white-space: nowrap;
    text-align: right;
}

a.disabled {
   pointer-events: none;
   cursor: default;
   color: #ccc;
}

.section .action-bar button, button.link {
    border: none;
    background: none;
    color: #990000;
}

.section .action-bar button:hover,
button.link:hover {
    text-decoration: underline;
}

@media (max-width: 575px) { 
    td.action-list.fold-xs, th.action-list.fold-xs {
        white-space: initial;
    }

    td.action-list.fold-xs > *,
    th.action-list.fold-xs > * {
        display: block;
    }

    td.action-list.fold-xs > *:after,
    th.action-list.fold-xs > *:after {
        display: none;
    }
}

@media (max-width: 767px) { 
    td.action-list.fold-sm, th.action-list.fold-sm {
        white-space: initial;
    }

    td.action-list.fold-sm > *,
    th.action-list.fold-sm > * {
        display: block;
    }

    td.action-list.fold-sm > *:after,
    th.action-list.fold-sm > *:after {
        display: none;
    }
}


button.link {
    padding: 0;
}

.section .action-bar button[disabled=disabled],
button[disabled].plain-link
{
   color: #ccc; 
}

div.section {
  background-color: #f0f0f0;
  padding: 10px;
  border-style: solid;
  border-width: 1px;
  border-color: #bbb;
  margin-bottom: 10px;
}

div.section h2,
div.section h3 {
  margin-top: 0;
}

div.info-row {
  padding: 3px 0;
}

div.top-section {
  background-color: #fff;
  border: none;
}

.section table.details-table {
    width: 100%;
    margin-bottom: 10px;
}

.section table.details-table tr > * {
    padding: 5px 0; 
}

.section table.details-table tr > *:first-child {
    width: 25%;
}

.section table.details-table th {
    vertical-align: top;
}

.table > tbody > tr.additional-row > td,
.table > tbody > tr.additional-row > th {
    border-top: none;
}


.section.beta {
  background-color: #fff;
}

.section.beta h3 {
  color: #900;
  border-bottom: none;
  padding-bottom: 0;
  text-transform: uppercase;
}

/*
.section table.details-table td,
.section table.details-table th {
    border-top: solid 1px #ddd;
    border-bottom: solid 1px #ddd;
}
*/

.mb-btn-cancel {
  border: 1px solid;
  border-radius: 2px;
  border-color: #999;
  background-color: #ccc;
  font-size: 100%;
  font-weight: 600;
  display: inline-block;
  padding: 7px 15px;
  margin: 0;
  color: #555;
}


/*
Save buttons default to disabled in JS if enabled
*/
.js .action-bar .save-button,
.js .action-bar .save-button button,
.js .action-bar .delete-button,
.js .action-bar .delete-button button {
   pointer-events: none;
   cursor: default;
   color: #ccc;
}

.js .action-bar .save-button.changed, 
.js .action-bar .save-button.changed button,
.js .action-bar .delete-button.changed, 
.js .action-bar .delete-button.changed button {
   color: #900;
   pointer-events: auto;
   cursor: pointer;
   font-weight: bold;
}

.js .save-button.mb-btn:not(.changed),
.js .delete-button.mb-btn:not(.changed),
.js button.mb-btn:disabled {
   color: #999;
   background: #f0f0f0;
   text-shadow: none;
}

.naked-button {
    border: none;
}

.js .naked-button.save-button:not(.changed) {
    color: #999;
}

ul.radio-list  {
    list-style: none;
    padding-left: 5px;
}

ul.radio-list li {
    margin: 5px 0px;
}

ul.radio-list input[type=radio] {
    margin-right: 5px;
}

.with-icon  {
  display: table;
  margin-bottom: 10px;
}

.with-icon span.fa:first-child {  
  display: table-cell;
  vertical-align: middle;
  padding: 22px 15px 18px 10px;
  color: #880000;
}

.with-icon p {  
  display: table-cell;
  vertical-align: middle;
}

/* 
 * Progress bars
 */


.js .ui-progressbar {
    position: relative;
    background-color: #aaa;
    margin-bottom: 10px;
}

.js .ui-progressbar .ui-progressbar-value {
    box-sizing: border-box;
    margin: 0;
}

.js .progress-label {
  position: absolute;
  width: 100%;
  text-align: center;
  top: 3px;
  color: white;
}

.js .ui-widget-header {
  background-color: #900;
}

.mb-progressbar {
    border: solid 1px #777;
    background-color: #aaa;
    padding: 0;
    position: relative;
}

.mb-progressbar > .bar {
    margin: 0;
    background-color: #900;
    height: 28px;
}

.mb-progressbar > .progressbar-label {
    color: #fff;
    position: absolute;
    top: 0;
    text-align: center;
    width: 100%;
    padding-top: 3px;
}

.mb-progressbar.mb-progressbar-warning > .bar {
    background-color: #FABE4D;
}
.mb-progressbar.mb-progressbar-warning > .progressbar-label,
.mb-progressbar.mb-progressbar-ok > .progressbar-label {
    color: #000;
}

.mb-progressbar.mb-progressbar-ok > .bar {
    background-color: #4dfa90;
}

/* 
 * Beta tags
 */

.section h2 .beta {
  color: #900;
  font-size: x-small;
  font-style: normal;
  vertical-align: super;
  text-transform: uppercase;
}

.small-text {
  font-size: small;
}

.btn:focus, 
.btn.active:focus {
  outline: none;
}

/*
 * Whole row click/select stuff
 */

.js .whole-row-select:hover,
.js .whole-row-select.selected,
.js .whole-row-select-with-prev:hover,
.js .whole-row-select-with-prev.selected
{
    background-color: #eee;
    cursor: pointer;
}

.js .whole-row-select a.hover {
    text-decoration: underline;
}

/* Used on home page.
 * Insert some padding into the on hover highlighting without affecting layout
 */
.list-box p {
    margin: -5px -5px 5px -5px ;
    padding: 5px;
}

/* Use an input group to edit just the local part of an email address */
.email-localpart-editor > input.form-control {
    text-align: right;
}

.email-localpart-editor > .input-group-addon {
    width: initial;
}

/* An indented block for radio-button-controlled content.  Radio button has -ve margin */
.radio-block {
    margin: 5px 20px 0 20px;
}


.dialog-mask {
    display: none;
    position: fixed;
    top: 0;
    left: 0; 
    bottom: 0;
    right: 0;
    
    z-index: 1000;
    background: rgba(0,0,0,0.5);
}

.dialog-container {
    position: absolute;
    width: 100%;
    padding-top: 250px;
}


.dialog {
    display: none;
    width: 80%;
    position: relative;
    z-index: 1100;
    margin: 0 auto;
    box-shadow: 10px 10px 14px 0px rgba(0,0,0,0.75);
    border: solid 1px #555;
    background-color: #f0f0f0;
    padding: 10px 20px;
}

.dialog > h2:first-child {
    margin-left: -10px;
    margin-right: -10px;
}

.dialog .button-bar {
    text-align: right;
}

.has-error td {
    color: #a94442;
}

.table>tbody>tr.no-top-border > th,
.table>tbody>tr.no-top-border > td {
    border-top: none;
}

td>h4:first-child {
    margin-bottom: 0;
    margin-top: 5px;

}

.row .indented {
    padding-left: 15px;
}

.hosted-domain-table .row {
    padding-top: 5px;
    padding-bottom: 5px;
}

.hosted-domain-table > hr {
    margin: 10px 0;
    border: 0;
    border-top: 1px solid #ddd;
}

.hosted-domain-table .web-details {
    margin-left: 15px;
    white-space: nowrap;
}

.hosted-domain-table .domain-row > div:first-child {
    font-size: larger;
    font-weight: bold;
}

.hosted-domain-table {
    margin-bottom: 10px;
}


/*
 * Use normal paragraph spacing between multi-paragraph alert boxes, whilst
 * still avoiding excess space at the bottom
 */

.alert > p {
    margin-bottom: 10px;
}

.alert > p:last-child {
    margin-bottom: 0px;
}

.munin img.i {
    min-width: 499px;
    min-height: 318px;

}

table.table-compact input.form-control {
   padding: 4px;
   height: 30px;
}

table.table-compact > tbody > tr > td, 
table.table-compact > tbody > tr > th, 
table.table-compact > thead > tr > td, 
table.table-compact > thead > tr > th {
   padding: 6px 2px;
}

table.table-compact > tbody > tr > td > .form-control-static, 
table.table-compact > tbody > tr > th > .form-control-static, 
table.table-compact > thead > tr > td > .form-control-static, 
table.table-compact > thead > tr > th > .form-control-static {
   padding: 6px 4px 4px 4px;
   min-height: 30px;
}

table.table-compact input.btn {
   padding: 4px 6px;
   height: 30px;
}

/* Email address list table (templates/hosting_email) */



.hosting-email-list {
    margin-bottom: 0;
}

.hosting-email-list thead tr th {
    padding-right: 0;
}

.hosting-email-list .filter {
    float: right;
}

.mb-filterable-list .filter {
    text-align: right;
}
.mb-filterable-list .filter button.filter-clear {
    position: relative;
    top: 1px;
    padding: 6px 10px;
}

.filter button.filter-clear > span {
    position: relative;
    left: -1px;
}

.filter button.filter-clear > span:after {
    content: "\f00d";
    font-size: 9px;
    position: absolute;
    top: 9px;
    left: 8px;
}


.pagination-controls > select.pagination-size {
    width: 70px;
    margin-right: 20px;
    
}

.hosting-email-list .pagination {
    margin: 0;
    vertical-align: bottom;
}

.hosting-email-list .action-type {
    display: inline-block;
    width: 150px;
    font-style: italic;
    text-align: right;
    padding: 8px;
}
.hosting-email-list .action-target {
    padding: 8px;
    display: inline-block;
}

@media (max-width: 767px) { 
    .hosting-email-list .action-type {
        padding-bottom: 0;
        padding-left: 0;
        display: block;
        text-align: left;
    }
    .hosting-email-list .action-target {
        padding-top: 0;
        display: block;
    }
    
}


/* Stripe */

div.input-stripe {
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 7px 12px;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
}





/* Loading mask for bhost pages */

#solus-vm-loader {
    height: 500px;
}

.loader-container {
    position: relative;
    min-height: 500px;
}

.loader {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(0,0,0,.85);

}

.loader .text {
    padding-top: 80px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    color: #fff;
    font-size: x-large;

}

.loader .text:after,
.loader .text:before {
    margin: 0 0 0 -30px;
    height: 60px;
    width: 60px;
    position: absolute;
    content: '';
    top: 0;
    left: 50%;

    border-radius: 500rem;
    border-style: solid;
    border-width: 3px;
    box-shadow: 0 0 0 1px transparent;

}

.loader .text:before {
    border: 3px solid rgba(255,255,255,.1)
}

.loader .text:after {
    -webkit-animation: loader .6s linear;
    animation: loader .6s linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    border-color: #fff transparent transparent;
}


@keyframes loader {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.table > thead > tr > th.numeric,
.table > tbody > tr > td.numeric {
    text-align:right;
    padding-right: 20px;
}


/* Stripe */

div.input-stripe {
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 7px 12px;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
}


/* Static text in a form that is the same height as a button */
.form-control-static-button {
    min-height: 37px;
    padding-top: 8px;
    padding-bottom 8px;
    margin-bottom: 0;
}




