/**************************************************************************************************
 * COLOUR PALETTE
 * Until we use something sensible to mix in our different colours, this acts as the authority on
 * our colour scheme. Any changes in this scheme should utilise a find/replace on the colour so
 * they are applied consistently. There are different variants of a lot the colours, which are
 * typically employed for different purposes
 *   very light variant: Large areas of background where light variant becomes too dominant
 *   light variant: Backgrounds, some have an alternate to use for background striping
 *   mid variant: Button backgrounds, highlighting form elements, text on white or black background
 *   dark variant: Icons, title text where the colours light variant is used as the background
 *
 * Black: Standard text colour
 *
 * Blue: Branding colour, in progress state, navigation action. Note that for most colours, we
 * use the mid variant for button backgrounds, however because we have a specific variant for
 * links, the link variant is used for blue buttons instead (which are navigation buttons).
 *   #E3F2FD very light variant (blue lighten-5)
 *   #BBDEFB light variant (blue lighten-4)
 *   #1976D2 mid variant (blue darken-2)
 *   #0D47A1 dark variant (blue darken-4)
 *   #039BE5 standard link colour (light-blue darken-1)
 *   #11428E navbar level 1 highlight and level 2 standard colour
 *
 * Green: Success state, action that causes something to happen
 *   #C5E1A5 light variant (light-green lighten-3)
 *   #4CAF50 mid variant (green)
 *   #388E3C dark variant (green darken-2)
 *
 * Orange: Attention required state
 *   #FFE0B2 very light variant (orange lighten-4)
 *   #FFCC80 light variant (orange lighten-3)
 *   #FF9800 mid variant (orange)
 *   #EF6C00 dark variant (orange darken-3)
 *
 * Red: Failed state
 *   #EF9A9A light variant (red lighten-3)
 *   #F44336 mid variant (red)
 *   #C62828 dark variant (red darken-3)
 *
 * Grey: Default, less important states (e.g. scheduled order), content layout
 *   #EEEEEE light variant (grey lighten-3)
 *   #9E9E9E dark variant (grey darken-1), also active and hovering links, form fields
 *   #F5F5F5 secondary content background (grey lighten-4) content and hover on divs that reveal
 *   #D3D3D3 borders to separate sections on detail pages

 * Accroma Colours:
 * Accroma blue: #00B9E4
 * Accroma light blue: #00B4E4
 **************************************************************************************************/

/****************************************
 * LAYOUT
 ****************************************/

/* Creates a larger space above a container when not in mobile view */
@media only screen and (min-width: 601px) {
    div.content-container {
        padding-top: 1.5rem;
    }
}

/* Desktop page container should take up more width than default */
@media only screen and (min-width: 993px) {
    .container {
        width: 95%;
    }
}

/* Creates a larger space above a new row */
div.row-greater-top-padding {
    padding-top: 2rem;
}

.match-width-to-container {
    width: 100%;
}

.disabled {
    cursor: not-allowed !important;
}

@media only screen and (min-width: 993px) {
    .row .col.l-main-panel {
        width: calc(100% - 263px);
        margin-left: auto;
        left: auto;
        right: auto;
        min-height: 10px;
    }

    .row .col.l-side-panel {
        width: 262px;
        margin-left: auto;
        left: auto;
        right: auto;
    }
}

.inventory-page-header {
    padding: 0 !important;
}

/****************************************
 * NAVBAR
 ****************************************/

.navbar-img-link {
    max-height: 64px !important;
    padding: 12px 15px !important;
}

/* Creates a smaller icon that fits the mobile navbar */
@media only screen and (max-width: 600px) {
    .navbar-img-link {
        max-height: 56px !important;
        padding: 8px 15px !important;
    }
}

.navbar-img {
    max-height: 40px;
}

.navbar-level-1 {
    background-color: #00B9E4;
}

.navbar-level-2 {
    background-color: #00B4E4;
}

.navbar-level-2 .tabs {
    height: 32px;
}

.navbar-level-2 .tab {
    text-transform: none;
    height: 32px;
    line-height: 32px;
}

nav ul li.active {
    background-color: #00B4E4;
}

.dropdown-content li>a {
    color: #00B4E4;
}

.side-nav-sub-item {
    margin-left: 10px;
}

.side-nav-sub-item a {
    word-break: break-all;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

a.revo-status-menu-item {
    color: #00B4E4 !important;
}

a.revo-status-menu-item.active {
    color: #FFFFFF !important;
    background-color: #00B4E4 !important;
}

/****************************************
 * TYPOGRAPHY
 ****************************************/

/* Page titles go at the tops of pages */

.page-title {
    font-size: 28px !important;
    color: black !important;
    font-weight: 400 !important;
}

.page-sub-title {
    font-size: 18px !important;
    color: black !important;
    margin-bottom: 0;
    margin-top: 0.75rem;
}

/* Sub-headings should be used in typeset documents */

.sub-heading {
    padding-top: 1rem;
    font-size: 22px !important;
    color: black !important;
    font-weight: 400 !important;
}

.sub-sub-heading {
    padding-top: 0.75rem;
    font-size: 18px !important;
    color: black !important;
    font-weight: 400 !important;
}

/* Titles should be used for information found in UI components */

.title {
    font-size: 18px;
    font-weight: 500;
}

.sub-title, th {
    font-weight: 500;
}

.error-text {
    color: #DC3545 !important;
}

.warning-text {
    color: #FFA007 !important;
}

.de-emphasised-text {
    color: #9E9E9E !important;
}

.alternate-text {
    font-style: italic;
}

.tt {
    font-family: Courier, monospace;
}

/****************************************
 * COLLECTIONS
 ****************************************/

.collection .collection-item.avatar i.circle {
    color: black;
}

.collection.revealed-content {
    margin-top: -1.0rem;
}

.collection.revealed-content .collection-item {
    min-height: 10px !important;
    background-color: #F5F5F5 !important;
    padding: 0.5rem 1rem !important;
}

.collection-item .badge.badge-inline {
    float: none;
    display: inline-block;
    margin-left: 0.25rem;
}

.collection-item .badge.badge-attention {
    background-color: #FFA007 !important;
}

.collection-item .badge.badge-error {
    background-color: #DC3545 !important;
}

.collapsible.popout li {
    margin: 0;
}

.collapsible.popout li.active {
    margin: 15px 0;
}

.collapsible-header:hover {
    background-color: #F5F5F5;
    cursor: pointer;
}


.collapsible-header.avatar {
    min-height: 72px;
    padding-left: 72px;
    position: relative;
}

.collapsible-header.avatar.avatar-large {
    padding-left: 72px !important;
}

.collapsible-header.avatar.avatar-large i.circle {
    width: 42px !important;
    height: 42px !important;
    left: 15px !important;
    overflow: hidden !important;
    position: absolute !important;
    display: inline-block;
    text-align: center;
    vertical-align: middle !important;
    line-height: 42px !important;
    font-size: 18px !important;
}

tr.delay-row :first-child {
    width: 40px;
}

.collapsible-header .title, .collection-item .title {
    font-size: 16px !important;
}

.collapsible-header table, .collection-item table {
    width: 100% !important;
    margin: 0;
}

.collapsible-header td, .collection-item td {
    padding: 0 2px;
    vertical-align: text-top;
    text-align: left;
}

.icp-status-description {
    vertical-align: middle !important;
}

.collapsible-body {
    background-color: #F5F5F5 !important;
    padding: 1.0rem !important;
}

.collapsible-body table {
    width: 100% !important;
}

.collapsible-body td, .collapsible-body th {
    padding: 0 2px;
    text-align: left;
}

.collapsible-body td.key {
    word-break: break-all;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

li.schedule-item .collapsible-body td.key {
    width: 170px ! important
}

li.container-item .collapsible-body td.key {
    width: 150px ! important
}

li.user-item .collapsible-body td.key {
    width: 150px ! important
}

@media only screen and (min-width: 601px) {
    .collapsible-body td.key :not(.no-min-width) {
        min-width: 170px;
    }
}

.collapsible-body td.value {
    word-break: keep-all;
}

.panel-menu {
    margin-left: 10px;
}

/****************************************
 * SLIM COLLECTIONS
 ****************************************/

.collapsible.collapsible-slim .collapsible-header {
    min-height: 3.0rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 3.0rem;
    position: relative;
    display: block;
}

.collapsible.collapsible-slim .collapsible-header i.circle {
    width: 2rem;
    height: 2rem;
    left: 0.5rem;
    overflow: hidden;
    position: absolute;
    line-height: 2rem;
    font-size: 1rem;
}

.collapsible.collapsible-slim .collapsible-header-content {
    line-height: 2rem;
    word-wrap: normal;
}

.collapsible.collapsible-slim .collapsible-header-actions {
    padding-left: 0.5rem;
    float: right;
}

.collapsible.collapsible-slim .collapsible-body td.key {
    word-break: break-all;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media only screen and (min-width: 601px) {
    .collapsible.collapsible-slim .collapsible-body td.key :not(.avatar-large) {
        width: 20%;
    }
}

.collapsible.collapsible-slim .collapsible-body td.value {
    word-break: keep-all;
}

.btn, .btn-large, .btn-small, .btn-flat {
    border-radius: 0;
}

/****************************************
 * AVATARS
 ****************************************/

.avatar-running {
    background-color: #1FBBE4 !important;
}

.avatar-success {
    background-color: #BAD739 !important;
}

.avatar-warning {
    background-color: #FFA007 !important;
}

.avatar-failed {
    background-color: #EA746A !important;
}

.avatar-default {
    background-color: #EEEEEE !important;
}

.avatar-stacked-running {
    color: #1FBBE4 !important;
}

.avatar-stacked-success {
    color: #BAD739 !important;
}

.avatar-stacked-warning {
    color: #FFA007 !important;
}

.avatar-stacked-failed {
    color: #EA746A !important;
}

.avatar-stacked-default {
    color: #EEEEEE !important;
}

/****************************************
 * CONTAINER STATUS
 ****************************************/

.container-default {
    background-color: #EEEEEE !important;
}

/****************************************
 * RECIPE STATUS
 ****************************************/

.solution-available {
    background-color: #BAD739 !important;
}

.solution-unavailable {
    background-color: #EEEEEE !important;
}

/****************************************
 * DETAIL PAGES
 ****************************************/

.ghs_symbols img {
    width: 75px
}

.detail-page-header {
    margin-bottom: 4px;
}

.detail-page-header.avatar i.circle {
    width: 64px;
    height: 64px;
    overflow: hidden;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    position: relative;
    top: 3px;
    line-height: 64px;
    font-size: 32px;
}

.detail-page-header.avatar tr td:first-child {
    width: 75px !important;
}

.detail-page-header .page-title {
    margin: 0;
    padding: 0;
}

.detail-page-header .sub-heading {
    margin: 0;
    padding: 0;
}

/* Different styling to fit better on a smaller screen */
@media only screen and (max-width: 992px) {
    .detail-page-header.avatar i.circle {
        width: 48px;
        height: 48px;
        line-height: 48px;
        font-size: 24px;
    }

    .detail-page-header .page-title {
        font-size: 24px !important;
        margin-bottom: 0;
        margin-top: 0;
    }

    .detail-page-header .page-sub-title {
        font-size: 16px !important;
        margin-bottom: 0;
        margin-top: 0.6rem;
        padding: 0;
    }

    .detail-page-header.avatar tr td:first-child {
        width: 50px !important;
        vertical-align: top;
    }

    .detail-page-header.avatar tr td {
        margin: 0;
        padding: 0 5px
    }

    .detail-page-header.avatar table {
        margin-top: 10px;
    }

    .detail-page-section .title {
        font-size: 15px;
    }

    td.ghs_symbols img {
        width: 55px
    }
}

.detail-page-section {
    padding-top: 24px;
}

.detail-page-section td {
    padding-top: 1px;
    padding-bottom: 1px;
    vertical-align: text-top;
    text-align: left;
}

.detail-page-section th {
    padding: 0;
    vertical-align: text-top;
    text-align: left;
}

.detail-page-section p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

@media only screen and (max-width: 600px) {
    .detail-page-section td.key {
        white-space: normal;
        padding-right: 10px;
        max-width: 60%;
        width: 50%;
    }

    .mobile-table-scroll {
        overflow: scroll;
    }
}

@media only screen and (min-width: 601px) {
    .detail-page-section td.key {
        min-width: 190px;
        padding-right: 10px;
        width: 30%;
        max-width: 30%;
    }

    div[id|=container].detail-page-section td.key {
        min-width: 215px !important;
    }

    .job-data-table {
        width: auto !important;
        max-width: unset !important;
    }
}

.detail-page-sub-section {
    padding-top: 12px;
}

.download-btn {
    float: right;
}

.detail-page-action-buttons {
    /** This is made visible post initialization */
    display: none;
    float: right;
}

.detail-page-action-primary-btn {
    border-radius: 2px 0px 0px 2px;
}

@media only screen and (max-width: 425px) {
    .detail-page-action-primary-btn {
        padding-left: 10px;
        padding-right: 10px;
        font-size: 13px !important;
    }
}

.detail-page-action-secondary-btn {
    border-radius: 0px 2px 2px 0px;
}

.detail-page-action-dropdown {
    width: auto !important;
    height: auto !important;
}

/****************************************
 * ORDER STATUS
 ****************************************/

/* Reagents table */
td.reagent-quantity {
    white-space: nowrap;
}

td.reagent {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Limiting the width of the contents on a small screen */
@media only screen and (max-width: 600px) {
    td.reagent {
        max-width: 40vw;
    }
}

/* Limiting the width of the contents on a medium screen */
@media only screen and (min-width: 601px) and (max-width: 992px)  {

    td.reagent {
        max-width: 30vw;
    }
}

/* Limiting the width of the contents on a large screen */
@media only screen and (min-width: 993px) {

    .detail-page-sub-section td.reagent {
        max-width: 40vw;
    }

    .order-status-detail td.reagent {
        max-width: 25vw;
    }
}

/****************************************
 * FORMS
 ****************************************/

.input-field .error-text {
    padding-left: 0px;
}

.manual-job-collapsible div > span{
    width: 100% !important;
    padding-left: 0px !important;
    position: absolute !important;
}

.input-field {
    padding-bottom: 20px;
}

.input-field-text.s6 > label {
    padding-left: 0px;
}

.input-field-compressed {
    padding-top: 0;
    margin-top: 0;
}

.input-field:last-child {
    padding-bottom: 0;
}

.input-field .error-text {
    color: #DC3545 !important;
}

/* Remove number field arrow up/down controls from Firefox */
.number-widget input[type="number"] {
    -moz-appearance: textfield;
}

/* Remove number field arrow up/down controls from Safari and Chrome */
.number-widget input[type="number"]::-webkit-inner-spin-button,
.number-widget input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
}

.number-widget .number-units {
    position: absolute;
    left: calc(100% - 65px);
    top: 10px;
    width: 60px;
    text-align: right;
    font-size: 16px;
    padding: 0;
}

.number-widget .days-units {
    position: absolute;
    left: calc(100% - 65px);
    top: 5px;
    width: 60px;
    text-align: right;
    font-size: 16px;
    padding: 0;
}

.slider-widget {
    padding-bottom: 0;
}

.slider-widget span {
    font-size: 0.8rem;
    color: #666666;
}

.slider-widget table {
    margin-top: 5px;
    margin-bottom: 5px;
    table-layout: fixed;
}


@media only screen and (max-width: 600px) {
    .slider-widget table td:nth-child(1) {
        padding-left: 12px;
        width: 66%;
    }
}

@media only screen and (min-width: 601px) and (max-width: 700px) {
    .slider-widget table td:nth-child(1) {
        padding-left: 12px;
        width: 75%;
    }
}

@media only screen and (min-width: 701px) {
    .slider-widget table td:nth-child(1) {
        padding-left: 12px;
        width: 80%;
    }
}


@media only screen and (max-width: 600px) {
    .slider-widget table td:nth-child(2) {
        padding-left: 20px;
        width: 34%;
    }
}

@media only screen and (min-width: 601px) and (max-width: 700px) {
    .slider-widget table td:nth-child(2) {
        padding-left: 20px;
        width: 25%;
    }
}

@media only screen and (min-width: 701px) {
    .slider-widget table td:nth-child(2) {
        padding-left: 20px;
        width: 20%;
    }
}

.slider-widget td {
    vertical-align: top;
}

.slider-widget .noUi-connect {
    background: #BBDEFB;
}

.slider-widget .noUi-not-allowed {
    background: #666666 !important;
}

.slider-widget .noUi-horizontal {
    height: 5px;
    margin-bottom: 35px;
    margin-top: 25px;
}

.slider-widget .noUi-marker-horizontal.noUi-marker-large {
	height: 8px;
}

.slider-widget .noUi-value-horizontal.noUi-value-large {
    font-size: 0.8rem;
}

.slider-widget .noUi-target {
    background: #D3D3D3;
}

.slider-widget .noUi-handle {
	width: 17px;
	height: 17px;
	border-radius: 50%;
	box-shadow: none;
	background-color: #1FBBE4;
	border: none;
	left: -5px;
	top: -6px;
    margin-right:8px;
	transition: width .2s cubic-bezier(0.215, 0.610, 0.355, 1.000), height .2s cubic-bezier(0.215, 0.610, 0.355, 1.000), left .2s cubic-bezier(0.215, 0.610, 0.355, 1.000), top .2s cubic-bezier(0.215, 0.610, 0.355, 1.000);
}

.slider-widget .noUi-handle::after, .noUi-handle::before {
    display: none;
}

.slider-widget[disabled] .noUi-handle {
    background-color: #666666;
}

.slider-widget[disabled] .noUi-target {
    background: #EEEEEE !important;
    border-color: #EEEEEE !important;
}

.slider-widget[disabled] .noUi-connect {
    background-color: #EEEEEE;
}

.radio-widget {
    padding-top: 10px;
    padding-bottom: 8px;
}

.radio-widget table {
    table-layout: fixed;
}


@media only screen and (max-width: 600px) {
    .input-field-autocomplete-and-number .double-input-widget td:nth-child(1) {
        padding-left: 0;
        width: 66%;
    }
}

@media only screen and (min-width: 601px) and (max-width: 700px) {
    .input-field-autocomplete-and-number .double-input-widget td:nth-child(1) {
        padding-left: 0;
        width: 75%;
    }
}

@media only screen and (min-width: 701px) {
    .input-field-autocomplete-and-number .double-input-widget td:nth-child(1) {
        padding-left: 0;
        width: 80%;
    }
}


@media only screen and (max-width: 600px) {
    .input-field-autocomplete-and-number .double-input-widget td:nth-child(2) {
        padding-left: 20px;
        vertical-align: top;
        width: 34%;
    }
}

@media only screen and (min-width: 601px) and (max-width: 700px) {
    .input-field-autocomplete-and-number .double-input-widget td:nth-child(2) {
        padding-left: 20px;
        vertical-align: top;
        width: 25%;
    }
}

@media only screen and (min-width: 701px) {
    .input-field-autocomplete-and-number .double-input-widget td:nth-child(2) {
        padding-left: 20px;
        vertical-align: top;
        width: 20%;
    }
}

.input-field-number-range .double-input-widget td:nth-child(1) {
    padding-left: 0;
    width: 50%;
}

.input-field-number-range .double-input-widget td:nth-child(2) {
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 20px;
    vertical-align: bottom;
}

.input-field-number-range .double-input-widget td:nth-child(3) {
    width: 50%;
}

@media only screen and (max-width: 600px) {
    .input-field-forced-optional .double-input-widget td:nth-child(1) {
        padding-left: 0;
        width: 50%;
    }
}

@media only screen and (min-width: 601px) and (max-width: 700px) {
    .input-field-forced-optional .double-input-widget td:nth-child(1) {
        padding-left: 0;
        width: 50%;
    }
}

@media only screen and (min-width: 701px) {
    .input-field-forced-optional .double-input-widget td:nth-child(1) {
        padding-left: 0;
        width: 60%;
    }
}


@media only screen and (max-width: 600px) {
    .input-field-forced-optional .double-input-widget td:nth-child(2) {
        padding-left: 10px;
        vertical-align: top;
        width: 50%;
    }
}

@media only screen and (min-width: 601px) and (max-width: 700px) {
    .input-field-forced-optional .double-input-widget td:nth-child(2) {
        padding-left: 10px;
        vertical-align: top;
        width: 50%;
    }
}

@media only screen and (min-width: 701px) {
    .input-field-forced-optional .double-input-widget td:nth-child(2) {
        padding-left: 10px;
        vertical-align: top;
        width: 40%;
    }
}

/** Useful details on colouring date and time pickers here: https://stackoverflow.com/a/48685688/1980029 */
.datepicker-done {
    display: none;
}

.datepicker-date-display {
    background-color: #00B4E4;
}

.datepicker-table td.is-today {
    color: #00B4E4 !important;
}

.datepicker-table td.is-selected {
    background-color: #00B4E4;
    color: white !important;
}

.datepicker-controls .select-month input{
    width: 90px;
}

.datepicker-calendar .select-dropdown {
    pointer-events: none;
    cursor: default;
}

.month-prev:hover, .month-next:hover {
    background-color: transparent !important;
}

.datepicker-close {
    color: #00B4E4 !important;
}

.datepicker-cancel {
    color: #00B4E4 !important;
}

.datepicker-today {
    color: #00B4E4 !important;
}

/* We redefine the default materialize style here, as they can be overriden
   by some of our custom styling above */
.datepicker-table .collapsible-body td, .collapsible-body th {
    padding: 0;
    margin: 0;
    text-align: left;
}

.timepicker-tick:hover {
    background: #00B4E4 !important;
}

.timepicker-digital-display{
    background: #00B4E4 !important;
}

.timepicker-canvas line {
    stroke: #00B4E4 !important;
}

.timepicker-canvas-bearing {
    fill: #00B4E4 !important;
}

.timepicker-canvas-bg {
    fill: #00B4E4 !important;
}

.timepicker-close {
    color: #00B4E4 !important;
}

ul.dropdown-content.select-dropdown li span {
    color: #00B4E4;
}

ul.dropdown-content.select-dropdown li.optgroup span {
    font-weight: 500;
    cursor: default;
}

ul.dropdown-content.select-dropdown li.optgroup:hover  {
    background-color: white; !important;
}

input.select-dropdown[readonly="readonly"] {
    pointer-events: none;
    cursor: default;
}

.select-wrapper input.select-dropdown:focus {
    border-bottom: 1px solid #00B4E4;
}

.toggle-widget, .checkbox-widget {
    padding-top: 10px;
    padding-bottom: 10px;
}

.list-page-creation-btn {
    margin-left: 0.75em;
}

[type="checkbox"].filled-in:checked+span:not(.lever):after {
    background-color: #00B4E4;
    border-color: #00B4E4;
}


[type="checkbox"]:checked+span:not(.lever):before {
    border-right-color: #00B4E4;
    border-bottom-color: #00B4E4;
}

[type="checkbox"] + span:not(.lever)::after {
    top: 3px !important;
    left: 5px !important;
}

[type="checkbox"] + span:not(.lever)::before {
    top: 3px !important;
    left: 5px !important;
}

label.checkbox-label {
    color: black;
}

input:disabled + span {
    cursor: not-allowed !important;
    color: #666666 !important;
}

input[readonly] + span {
    pointer-events: none !important;
    cursor: default !important;
    color: #666666 !important;
}

input[type="checkbox"][readonly] + span::after {
    pointer-events: none !important;
    cursor: default !important;
    background-color: #666666 !important;
    border-color: #666666 !important;
}

input[type="checkbox"][readonly] + span::before {
    pointer-events: none !important;
    cursor: default !important;
}

label.checkbox-label[readonly]  {
    pointer-events: none !important;
    cursor: default !important;
}

.switch label input[type="checkbox"] + .lever {
    background-color: #D3D3D3;
}

.switch label input[type="checkbox"] + .lever::after {
    background-color: #666666;
}

.switch label input[type="checkbox"]:checked + .lever {
    background-color: #BBDEFB;
}

.switch label input[type="checkbox"]:checked + .lever::after {
    background-color: #00B4E4;
}

.switch label input[type="checkbox"]:disabled + .lever {
    background-color: #EEEEEE;
    cursor: not-allowed;
}

.switch label input[type="checkbox"]:disabled + .lever::after {
    background-color: #666666;
    cursor: not-allowed;
}

#reset-password {
    -webkit-appearance: none;
}

/****************************************
 * CUSTOM FIELD STYLES
 ****************************************/

#permissions-selection .input-field {
    margin-bottom: 0;
    padding-bottom: 0;
}

/****************************************
 * FORMS (LEGACY AND TO BE SORTED)
 ****************************************/

.additional-info {
    color: #9E9E9E !important;
    font-size: 1rem;
}

.input-field input:focus, .input-field textarea:focus {
    border-bottom: 1px solid #00B4E4 !important;
    box-shadow: 0 1px 0 0 #00B4E4 ! important;
}

/** Comes after focused style so that this takes precedence when focused */
.input-field input.invalid, .input-field textarea.invalid, .input-field input.invalid:focus, .input-field textarea.invalid:focus {
    border-bottom: 1px solid #DC3545 !important;
    box-shadow: 0 1px 0 0 #DC3545 !important;
}

.input-field label {
    color: #9E9E9E !important;
}

.input-field .prefix.active {
    color: #00B4E4;
}

.autocomplete-default-text {
    color: #00B4E4 !important;
}

.error-text.autocomplete-error {
    margin-top: -10px;
}

.input-field p.additional-info {
    margin-top: -10px;
    margin-left: -3px;
}

[type="radio"]:checked+span:after {
    background-color: #00B4E4;
    border-color: #00B4E4;
}

[type="radio"]:disabled+span:before {
    border-color: #666666 !important;
    cursor: not-allowed;
}

[type="radio"]:disabled+span {
    color: #666666;
    cursor: not-allowed;
}

[type="radio"]:checked:disabled+span {
    /* Color chosen to match materialize disabled color, needs review */
    color: rgba(0, 0, 0, 0.42);
    cursor: not-allowed;
}

[type="radio"]:checked:disabled+span:after {
    /* Color chosen to match materialize disabled color, needs review */
    background-color: rgba(0, 0, 0, 0.42);
    cursor: not-allowed;
}

input[disabled] {
    /* Pointer-events is automatically set to none when disabled and stops cursor styling from working. */
    pointer-events: auto !important;
    cursor: not-allowed !important;
}

button[disabled] {
    /* Pointer-events is automatically set to none when disabled and stops cursor styling from working. */
    pointer-events: auto !important;
    cursor: not-allowed !important;
}

.inline-form-info {
    margin-bottom: 24px;
}

.inline-form-info.info-after-avatar {
    margin-top: -25px;
}

.btn-action-navigate {
    background-color: #00B4E4 !important;
}

.btn-action-do {
    background-color: #28A745 !important;
}

.btn-action-warning {
    background-color: #FFA007 !important;
}

.btn-action-cancel {
    background-color: #EA746A !important;
}

.btn-action-link {
    color: #00B4E4 !important;
}

.btn-action-link:hover {
    background-color: transparent;
}

.filter-form-element {
    margin-left: 20px !important;
    margin-top: 0;
    margin-bottom: 5px;
}

.filter-form-element .select-wrapper input.select-dropdown {
    border-bottom: 0;
    height: 2rem;
    font-size: 1rem;
    color: #9E9E9E;
}

.filter-form-element input {
    border-bottom: 0;
    height: 2rem !important;
}

.filter-by-date-fields span {
    margin-right: 10px !important;
    margin-left: 10px !important;
}

.filter-by-date-fields {
    white-space: nowrap;
}

.hidden-element {
    display: none;
}

@media only screen and (min-width: 993px) {

    .filter-by-date-fields input {
        width: 90px !important;
    }
}

@media only screen and (max-width: 992px) {
    .filter-by-date-fields input {
        width: calc(50% - 20px) !important;
    }
}

span.clear-form-element {
    font-size: 13px;
    vertical-align: top;
}

span.select-all-or-none {
    font-size: 13px;
}

table.filter-form-heading {
    width:100%;
    padding: 0;
    margin: 0;
}

table.filter-form-heading td {
    padding: 0;
    margin: 0;
}

table.filter-form-heading-with-action-buttons {
    width:100%;
    padding: 0;
    margin: 0;
}

table.filter-form-heading-with-action-buttons td {
    padding: 0;
    margin: 0;
}

table.filter-form-heading-with-action-buttons td:last-child {
    text-align: right;
    padding-right: 3px;
}

.default-radio-select {
    padding-bottom: 10px
}

.default-radio-select span {
    font-size: 0.8rem;
    color: #9E9E9E;
}

.default-radio-select table {
    margin-top: 10px;
    table-layout: fixed;
}

.default-radio-select td {
    vertical-align: top;
}

.default-radio-select p.additional-info {
    margin-left: -3px;
}

.default-slider-input {
    padding-bottom: 0;
}

.default-slider-input span {
    font-size: 0.8rem;
    color: #9E9E9E;
}

.default-slider-input table.with-ticks {
    margin-top: 5px;
    margin-bottom: 20px;
    table-layout: fixed;
}

.default-slider-input table.no-ticks {
    margin-top: 5px;
    margin-bottom: 0;
    table-layout: fixed;
}

.default-slider-input table td:nth-child(1) {
    padding-left: 12px;
    width: 80%;
}

.default-slider-input table td:nth-child(2) {
    padding-left: 20px;
    width: 20%;
}

.default-slider-input td {
    vertical-align: middle;
}

.default-slider-input p.additional-info {
    margin-top: -10px;
    margin-left: -12px;
    margin-bottom: 5px;
}

.default-slider-input .noUi-connect {
    background: #BBDEFB;
}

.default-slider-input .noUi-horizontal {
    height: 5px;
    margin-bottom: 40px;
}

.default-slider-input .noUi-marker-horizontal.noUi-marker-large {
	height: 8px;
}

.default-slider-input .noUi-value-horizontal.noUi-value-large {
    font-size: 0.8rem;
}

.default-slider-input .noUi-target {
    background: #D3D3D3;
}

.default-slider-input .noUi-handle {
	width: 17px;
	height: 17px;
	border-radius: 50%;
	box-shadow: none;
	background-color: #1FBBE4;
	border: none;
	left: -5px;
	top: -6px;
    margin-right:8px;
	transition: width .2s cubic-bezier(0.215, 0.610, 0.355, 1.000), height .2s cubic-bezier(0.215, 0.610, 0.355, 1.000), left .2s cubic-bezier(0.215, 0.610, 0.355, 1.000), top .2s cubic-bezier(0.215, 0.610, 0.355, 1.000);
}

.default-slider-input .noUi-handle::after, .noUi-handle::before {
    display: none;
}

.default-slider-input .input-field {
    margin-top: 0;
}

.input-field div.units {
    position: absolute;
    left: calc(100% - 65px);
    top: 12px;
    width: 60px;
    text-align: right;
    font-size: 1rem;
	color: #000;
    padding: 0;
}

.input-field-textarea {
    padding-top: 1rem;
}

.default-toggle {
    padding-bottom: 10px
}

.default-toggle span {
    font-size: 0.8rem;
    color: #9E9E9E;
}

.default-toggle table {
    margin-top: 10px;
    table-layout: fixed;
}

.default-toggle td {
    vertical-align: top;
}

.default-toggle p.additional-info {
    margin-left: -3px;
}

input:disabled+div.units {
    /* Color chosen to match materialize disabled color, needs review */
    color: rgba(0, 0, 0, 0.42);
    cursor: not-allowed;
}

.input-field label.above-input {
	-webkit-transform: translateY(-14px) scale(0.8);
	transform: translateY(-14px) scale(0.8);
	-webkit-transform-origin: 0 0;
	transform-origin: 0 0;
    padding-left: 0;
}

/* Remove number field arrow up/down controls from Firefox */
.old-style-number-input {
    -moz-appearance: textfield;
    margin-bottom: 0;
    margin-top: 12px;
}

/* Remove number field arrow up/down controls from Safari and Chrome */
.old-style-number-input::-webkit-inner-spin-button,
.old-style-number-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

div.fieldset-container {
    padding-bottom: 0;
}

div.fieldset-container ul.fieldset {
    margin-top: -1px;
    margin-bottom: 0;
}

div.fieldset-container ul.fieldset .collapsible-header {
    color: #9E9E9E;
}

table[class^='default-requested_solid_product_'] td:nth-child(1) {
    width: 80%;
}

table[class^='default-requested_solid_product_'] td:nth-child(2) {
    padding-left:20px;
    width: 20%;
}

table[class^='default-requested_liquid_product_'] td:nth-child(1) {
    width: 80%;
}

table[class^='default-requested_liquid_product_'] td:nth-child(2) {
    padding-left:20px;
    width: 20%;
}

.fieldset p.error-text {
    margin-top: -10px;
    margin-bottom: 15px;
}

.input-field.col label {
    width: 100% !important;
}

input[name='cron'] {
    font-family: monospace;
}

/* For safari only */
@media not all and (min-resolution:.001dpcm) {
    @media {
        .select-dropdown.dropdown-trigger {
            line-height: 2rem !important;
        }
    }
}


/****************************************
 * TABLES
 ****************************************/

tr:nth-child(even).warning {
    background-color: #FFA007 !important;
}

tr:nth-child(odd).warning {
    background-color: #FFA007 !important;
}

.user-created-list {
    width: 30%;
}

.user-created-list td {
    padding: 5px 5px;
    white-space: nowrap;
}

td.min-width-table-cell {
    width: 1%;
    white-space: nowrap;
}

.solution-performance-table td, .solution-performance-table th {
    white-space: nowrap;
    padding: 5px;
}

.solution-performance-table td.number {
    text-align: center;
}

.solution-performance-table th {
    vertical-align: top;
}

.solution-performance-table td.allow-multiline {
    white-space: normal !important;
    text-align: left;
}

.solution-performance-detail td.completed {
    background-color: #BAD739 !important;
}

.solution-performance-detail td.interrupted {
    background-color: #FFA007 !important;
}

.solution-performance-detail td.failed {
    background-color: #EA746A !important;
}

/****************************************
 * PAGINATION
 ****************************************/

.pagination li a {
    color: #00B4E4;
}

.pagination li.disabled a {
    cursor: not-allowed;
}

.pagination li a:hover {
    color: #9E9E9E;
}

.pagination li.active a {
    color: white;
    background-color: #00B4E4;
    cursor: default;
}

#page-selector .select-wrapper input {
    width: 40px !important;
    text-align: center;
    margin-top: -7px;
    padding-right: 25px;
}

#page-selector ul {
    max-height: 300px !important;
    width: 70px !important;
}

/****************************************
 * NOTIFICATIONS
 ****************************************/

.info-card {
    background-color: #E3F2FD !important;
    margin-bottom: 24px;
}

.info-card .card-heading {
    color: #00B4E4 !important;
    font-size: 22px;
    font-weight: 400 !important;
}

.info-card a.btn {
    background-color: #00B4E4 !important;
}

.info-card table {
    width: 100% !important;
    margin-left: -3px;
    margin-right: 0;
    margin-top: 5px;
}

.info-card td{
    padding: 0;
    vertical-align: text-top;
}

.info-card td.icon  {
    width: 18px !important;
    text-align: left;
}

.info-card td.key {
    text-align: left;
}

.info-card td.value {
    text-align: right;
    white-space: nowrap;
}

#similar-solutions-card {
    margin-bottom: 0;
}

.warning-card {
    margin-bottom: 24px;
}

.warning-card .card-icon {
    color: #FFA007 !important;
    float: left;
    clear: both;
    margin-right: 24px;
}

.warning-card .card-heading {
    color: #FFA007 !important;
    font-size: 22px;
    font-weight: 400 !important;
}

.warning-card a.btn {
    background-color: #FFA007 !important;
}

/****************************************
 * DIALOGS
 ****************************************/

.modal:not(.datepicker-modal):not(.timepicker-modal):not(.bottom-sheet) {
    max-width: 800px;
    padding-bottom: 12px !important;
    cursor: default;
}

.modal .modal-footer .modal-action {
    display: auto;
}

/****************************************
 * TOASTS
 ****************************************/

/* These two styles put a close button into Toast dialogs */
#toast-container .toast {
    cursor: pointer;
    word-break: normal;
}

#toast-container .toast::after {
    content: "x";
    -webkit-font-feature-settings: 'liga';
    font-weight: 300;
    float: right;
    padding-left: 3rem;
}

/* Position toasts at the bottom left of the screen on tablet and desktop */
@media only screen and (min-width: 601px) {
    #toast-container {
        bottom: 1rem;
        left: 1rem;
        top: auto !important;
        right: auto !important;
    }
}

/****************************************
 * SUBTLE HYPERLINKS
 ****************************************/

.subtle-link-null {
    color: #9E9E9E !important;
    cursor: pointer;
}

.subtle-link-inactive {
    color: #00B4E4 !important;
    cursor: pointer;

}

.subtle-link-inactive:hover {
    color: #9E9E9E !important;
    cursor: pointer;

}

.subtle-link-active {
    color: #9E9E9E !important;
    cursor: pointer;

}

/****************************************
 * REVO STATUS LINKS
 ****************************************/

.revo-state-icon {
    max-width: 30% !important;
}

.revo-state-icon.revo-state-idle{
    background-color: #BAD739;
}

.revo-state-icon.revo-state-processing {
    background-color: #00B4E4;
}

.revo-state-icon.revo-state-on-hold, .revo-state-icon.revo-state-offline {
    background-color: #666666;
}

.revo-state-icon.revo-state-inoperable, .revo-state-icon.revo-state-unreachable {
    background-color: #EA746A;
}

.revo-state-icon img {
    width: 100px !important;
    padding-top: 1rem !important;
    padding-bottom: 0.5rem !important;
}

.card-content.revo-summary {
    padding: 1rem 1rem 1rem 1.5rem !important;
}

.card-action.subtle-link-holder {
    padding: 0.5rem 1rem 0.5rem 1.5rem !important;
}

.fa-layers-counter.attention {
    background-color: #FFA007 !important;
}

.fa-layers-counter.error {
    background-color: #DC3545 !important;
}

.no-bullets{
    list-style-type: none;
}

.no-margin {
    margin: 0 !important;
}
/****************************************
 * REVO STATUS
 ****************************************/

.revo-channel-table {
    width: 100%;
    margin: 0;
    padding: 0;
}

.revo-channel-table td {
    margin: 0;
    padding: 0;
}

.revo-channel-table td:first-child {
    width: 22px
}

.revo-channel-table td:last-child {
    text-align: right;
    white-space: nowrap;
}


/****************************************
 * PROGRESS BARS
 ****************************************/

.progress {
    height: 5px !important;
    margin-top: 0.25rem;
    margin-bottom: 0 !important;
}

.progress.progress-success {
    background-color: #BAD739;
}

.progress.progress-success .determinate {
    background-color: #28A745 !important
}

/****************************************
 * EXECUTION STATUS
 ****************************************/

.execution-status {
    min-height: 12rem;
}

.execution-icon-running {
    color: #1FBBE4 !important;
}

.execution-icon-success {
    color: #BAD739 !important;
}

.execution-icon-warning {
    color: #FFA007 !important;
}

.execution-icon-error {
    color: #DC3545 !important;
}

/************************************
 * SECONDARY ACTION MENUS
 ************************************/

.secondary-action-panel-dropdown-button {
    position: absolute;
    right: 8px;
    top: 11px;
}

.secondary-action-heading-dropdown-button {
    text-align: right;
    font-size: 24px;
    margin: 0;
}

.secondary-action-dropdown-menu li {
    /** We want to nullify this setting and set height using the links **/
    min-height: 0;
}

.secondary-action-dropdown-menu li > a {
    text-align: right;
    font-size: 14px;
    padding: 8px 16px;
    color: #00B4E4 !important;
}

.secondary-action-dropdown-menu li:hover {
    background-color: #F5F5F5 !important;
}

span.panel-dropdown {
    color: #00B4E4 !important;
    cursor: pointer;
    position: relative;
    display: inline-block;
    top: 2px;
    margin-left: 2px;
    height: 20px;
    width: 20px;
    margin-right: -11px;
}

.subtle-link-inactive > span.panel-dropdown {
    top: 5px;
    height: 25px;
    width: 25px;
}

span.panel-dropdown:hover, span.panel-dropdown.menu-active{
    color: #9E9E9E !important;
}

.collapsible-header[menu_active]:hover {
    background-color: #FFFFFF;
}

span.panel-no-menu-link {
    margin-right: -4px;
}

/****************************************
 * REVO REACHABILITY STATUS TABLE
 ****************************************/

table.revo-reachability-status {
    width: 100%;
}

table.revo-reachability-status td {
    border-radius: 0;
    padding: 1px;
    font-size: 0.75rem;
}

table.revo-reachability-status td.reachable {
    background-color: #BAD739;
}

table.revo-reachability-status td.part-reachable {
    background-color: #FFA007;
}

table.revo-reachability-status td.unreachable {
    background-color: #DC3545;
}

/****************************************
 * REVO EVENTS BADGES
 ****************************************/

.badge.revo-events-job-active {
    color: white;
    alignment: left;
    background-color: #1FBBE4;
}

.badge.revo-events-job-interrupted {
    color: white;
    alignment: left;
    background-color: #FFA007 !important;
}

.badge.revo-events-job-failed {
    color: white;
    alignment: left;
    background-color: #DC3545 !important;
}
