main.backoffice {
    top: 0;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    background: #f5f5f5;
}

    main.backoffice md-card.md-default-theme,
    md-card {
        border-radius: 0 !important;
    }

.fullHeight {
    height: 100vh;
}

.always-visible.ps-container > .ps-scrollbar-y-rail {
    opacity: 0.6 !important;
    background: rgba(0, 0, 0, 0.1) !important;
}


/*
 * SIDENAV
 */

.vertical-navigation {
    width: 200px;
    min-width: 200px;
    max-width: 200px;
    overflow-x: hidden;
    -webkit-transition: all .3s cubic-bezier(.55, 0, .55, .2), width .1s linear, min-width .1s linear, max-width .1s linear;
    transition: all .3s cubic-bezier(.55, 0, .55, .2), width .1s linear, min-width .1s linear, max-width .1s linear;
    box-shadow: 0 4px 4px -3px rgba(0, 0, 0, .2), 0 7px 8px 1px rgba(0, 0, 0, .14), 0 3px 12px 2px rgba(0, 0, 0, .12);
    background-color: #27476a;
}

    .vertical-navigation md-toolbar {
        background: none !important;
        padding: 0 10px;
    }

        .vertical-navigation md-toolbar md-icon {
            margin: 0;
        }

    .vertical-navigation md-list,
    .vertical-navigation md-list md-icon {
        color: #dbdde1;
        font-size: 13px;
    }

        .vertical-navigation md-list md-icon {
            font-size: 18px;
        }

        .vertical-navigation md-list .md-subheader {
            background: none;
            text-transform: uppercase;
            font-weight: 800;
            color: rgba(182, 182, 182, 0.36);
        }

        .vertical-navigation md-list md-list-item span.badge {
            position: absolute;
            top: 50%;
            right: 16px;
            height: 20px;
            line-height: 20px;
            padding: 0 7px;
            font-size: 11px;
            font-weight: 500;
            border-radius: 20px;
            -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
            -webkit-transition: opacity .2s ease-in-out .1s;
            transition: opacity .2s ease-in-out .1s;
        }


/**
    PAGE LAYOUT

 */

.page-layout,
main {
    background-color: #eee;
}


    main.backoffice {
        height: 100vh;
    }

    main .content-top {
        position: absolute;
        z-index: 0;
        top: 0;
        right: 0;
        left: 0;
        height: 200px;
        background-color: #2196f3;
        background-image: url(../dist/imgs/header-bg-2.png);
        background-size: cover;
    }

    main .content-centered {
        position: relative;
        z-index: 2;
        margin-left: 10px;
        margin-right: 10px;
    }

        main .content-centered .content-centered-header h2 {
            font-weight: 400;
        }

        main .content-centered .content-centered-header small {
            margin-bottom: 20px;
        }

    main .backoffice .content-centered .content-centered-context {
        background: #fff;
        height: calc(100vh - 120px);
        overflow: hidden;
        position: relative;
    }

    main .tool .content-centered .content-centered-context {
        background: #fff;
        /*padding: 8px;*/
        min-height: calc(100vh - 171px);
        max-height: calc(100vh - 171px);
        overflow: hidden;
        position: relative;
    }

@media screen and (max-width: 600px) {
    main .content-centered {
        margin-left: 16px;
        margin-right: 16px;
    }

        main .content-centered .content-centered-header h2 {
            font-size: 15px;
            overflow: hidden;
            text-align: center;
            text-overflow: ellipsis;
            white-space: nowrap;
            width: 110px;
        }

    main .backoffice .content-centered .content-centered-context {
        min-height: calc(100vh - 120px);
        max-height: calc(100vh - 120px);
    }

    main .tool .content-centered .content-centered-context {
        min-height: calc(100vh - 164px);
        max-height: calc(100vh - 164px);
    }
}

.page-filter md-input-container {
    position: relative;
    background: rgba(255, 255, 255, .2);
    height: 36px;
    margin-left: 5px !important;
    padding-left: 7px;
    font-size: 14px;
}

    .page-filter md-input-container input,
    .page-filter md-input-container md-select md-select-value,
    .page-filter md-input-container md-select .md-select-icon {
        color: #fff !important;
        border: none;
    }

    .page-filter md-input-container.text {
        min-width: 400px;
    }

    .page-filter md-input-container.select {
        min-width: 150px;
        padding: 3px 10px;
    }

    .page-filter md-input-container md-icon {
        color: #fff !important;
        border: none !important;
        outline: none;
    }

        .page-filter md-input-container md-icon.icon-left {
            left: 5px !important;
        }

/*
 * CONTENT
 */

.content-container {
    position: relative;
    overflow: hidden;
}


    /*
* CONTENT > TOOLBAR USER
*/

    .content-container md-toolbar {
        background-color: #fff;
    }

        .content-container md-toolbar .nav {
            margin: 0;
            text-align: center;
            height: 64px;
            line-height: 64px;
            width: 100px;
            text-transform: none;
            background: #fff;
            color: #2b4969 !important;
            border: none;
            border-right: 1px solid rgba(0, 0, 0, .12);
            transition: background-color 0.5s ease;
        }

            .content-container md-toolbar .nav:hover {
                background-color: #eeeeee;
            }

            .content-container md-toolbar .nav md-icon {
                color: #2b4969;
            }

            .content-container md-toolbar .nav + .btn-caption {
                color: #607d8b;
                font-size: 10px;
                overflow: hidden;
                text-align: center;
                text-overflow: ellipsis;
                white-space: nowrap;
                width: 100px;
                z-index: 1;
                position: absolute;
                bottom: 5px;
                text-transform: uppercase;
            }


/*
 * CONTENT > CONTENT
 */

main .backoffice .content-container #content {
    position: absolute;
    top: 64px;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden !important;
}


/**
LIST
 */

.bo-list-content {
    overflow: hidden;
    position: relative;
    height: calc(100vh - 140px);
    padding: 0 15px 0 8px;
}

    .bo-list-content.pagination {
        overflow: hidden;
        position: relative;
        height: calc(100vh - 160px);
    }

.bo-list-content-pager {
    background: #e6e7e8;
    clear: both;
}

    .bo-list-content-pager ul.pagination {
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

        .bo-list-content-pager ul.pagination li {
            box-shadow: none;
            margin: 0;
            padding: 0 5px;
            background: transparent !important;
        }

            .bo-list-content-pager ul.pagination li:hover {
                box-shadow: none;
            }

            .bo-list-content-pager ul.pagination li a {
                padding: 3px 15px;
                font-size: 13px;
                margin: 4px 0;
                border-radius: 3px;
                background: #cfd6d9;
                transition: all 0.2s ease-in-out;
                height: 21px;
            }

                .bo-list-content-pager ul.pagination li a md-icon {
                    color: inherit;
                }

            .bo-list-content-pager ul.pagination li.active {
                background: transparent !important;
            }

                .bo-list-content-pager ul.pagination li.active a,
                .bo-list-content-pager ul.pagination li:not([disabled]):hover a {
                    background: #d2335c !important;
                    color: #fff;
                }

            .bo-list-content-pager ul.pagination li[disabled] a {
                cursor: none;
            }

md-list {
    padding: 0;
}

    md-list md-list-item {
        box-shadow: 0 1px 1px 0 rgb(255 255 255 / 25%);
        position: relative;
    }

.users-page md-list md-list-item {
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .14);
    position: relative;
    border: solid 1px #e6e7ef;
    color: #313131 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .1) !important;
    border-radius: 5px;
    margin: 7px 0;
}

md-list md-list-item *,
.content md-list md-list-item * {
    line-height: 1;
}

md-list md-list-item md-icon {
    margin: 0 10px 0 0;
}

md-list md-list-item .md-avatar {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

md-list md-list-item .primary,
.content md-list md-list-item .primary,
ul li .primary {
    font-size: 12px;
    color: #47506e !important;
    margin-bottom: 3px;
    width: 100%;
}

md-list md-list-item .secondary,
.content md-list md-list-item .secondary,
ul li .secondary,
span.note {
    font-size: 11px;
    color: #828ea6;
    padding: 2px 0;
}

md-list > .highlight.md-subheader,
md-card md-card-header.widget {
    border-bottom: 1px solid rgba(93, 101, 140, 0.2);
    box-shadow: 0 3px 14px rgba(0, 0, 0, .15);
    height: 48px;
    display: flex;
    align-items: center;
}

.users-page md-list md-list-item h4,
.users-page md-list md-list-item small {
    line-height: 1;
    margin: 0;
}

md-list md-list-item .list-item-actions {
    position: absolute;
    right: 0;
    top: 0;
}

md-list md-list-item .list-item-actions {
    height: 100%;
    transform: translateX(100%);
    padding: 0 10px;
    transition: transform .35s;
    z-index: 1;
}

md-list md-list-item:hover .list-item-actions {
    transform: translateX(0);
}

md-select.md-default-theme .md-select-value,
md-select .md-select-value {
    border: none !important;
}


/*

PAGES
 */

main .tabbed .header {
    height: 200px;
    min-height: 200px;
    max-height: 200px;
    padding: 24px;
    background-color: #2196f3;
    background-image: url(../dist/imgs/header-bg-2.png);
    background-size: cover;
}

    main .tabbed .header * {
        color: #fff;
    }

main .tabbed md-tabs md-tabs-wrapper {
    background: #FFF;
    padding: 0 20px;
    box-shadow: 0 1px 12px 0 rgba(100, 100, 100, .2);
}

main .tabbed md-tabs md-tabs-content-wrapper md-tab-content {
    padding: 20px;
}

main .tabbed .header {
    height: 120px;
    min-height: 120px;
    max-height: 120px;
}


/**
USERS PAGE
 */

.backoffice .user-type-wrap {
    position: relative;
    margin-right: 15px;
}

    .backoffice .user-type-wrap .user-type {
        background: #673ab7;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 30px;
        width: 30px;
        border-radius: 100%
    }

        .backoffice .user-type-wrap .user-type.representative {
            background: #8BC34A;
        }

        .backoffice .user-type-wrap .user-type.engineer {
            background: #FFA000;
        }

        .backoffice .user-type-wrap .user-type.admin {
            background: #FF5252;
        }

        .backoffice .user-type-wrap .user-type.admin-representative {
            background: #009688;
        }

        .backoffice .user-type-wrap .user-type + md-icon.confirmed,
        .backoffice .user-type-wrap .user-type + md-icon.unconfirmed {
            position: absolute;
            position: absolute;
            top: -3px;
            right: -7px;
            background: rgba(0, 188, 212, .65);
            color: #fff;
            border-radius: 100%;
            font-size: 15px;
            width: 15px !important;
            min-width: 15px !important;
            height: 15px !important;
            min-height: 15px !important;
            text-align: center;
            line-height: 15px;
            margin-right: 0;
            box-shadow: 0 -2px 5px rgba(0, 0, 0, .1);
        }

        .backoffice .user-type-wrap .user-type + md-icon.unconfirmed {
            background: rgb(212 78 0 / 65%);
        }


.contact-avatar {
    width: 100px;
    height: 100px;
    background-color: #fff;
    padding: 10px;
    border-radius: 100%;
    box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12);
}

md-dialog.user-form {
    min-width: 60vw;
}

    md-dialog.user-form md-toolbar {
        background-color: #349ef3;
    }

    md-dialog.user-form md-dialog-content,
    md-dialog.user-form md-dialog-content md-tabs md-tab-content md-content {
        background: #eee;
    }

    md-dialog.user-form md-input-container {
        position: relative;
        margin-bottom: 20px;
    }

        md-dialog.user-form md-input-container .md-input-messages-animation {
            position: absolute;
            left: 5px;
            bottom: -12px;
        }

        md-dialog.user-form md-input-container.md-input-invalid label {
            color: #dd2c00;
        }

        md-dialog.user-form md-input-container label:not(.md-no-float):not(.md-container-ignore),
        md-dialog.user-form md-input-container .md-placeholder,
        md-dialog.user-form .md-select-value.md-select-placeholder {
            font-weight: 300;
            margin-left: 10px;
        }

        md-dialog.user-form md-input-container.md-input-focused .md-input,
        md-dialog.user-form md-input-container .md-input.ng-invalid.ng-dirty,
        md-dialog.user-form md-input-container.md-input-resized .md-input {
            border-width: 1px 1px 1px 1px;
        }

        md-dialog.user-form md-input-container input,
        md-dialog.user-form md-input-container input:focus,
        md-dialog.user-form md-input-container md-select {
            border: solid 1px #aaa;
            padding: 0 10px !important;
            color: #313131;
            height: 45px;
            line-height: 45px;
            background: #fff;
            box-shadow: 0 2px 8px rgba(0, 0, 0, .1) !important;
        }

    md-dialog.user-form md-dialog-actions button {
        padding: 10px 40px;
        border-radius: 10px;
        box-shadow: 2px 3px 45px rgba(0, 0, 0, 0.25) !important;
        background-color: #349ef3 !important;
    }

        md-dialog.user-form md-dialog-actions button.delete {
            background-color: #349ef3 !important;
        }

        md-dialog.user-form md-dialog-actions button md-icon {
            color: #fff !important;
        }

.contact-name {
    line-height: 1;
}

    .contact-name small {
        font-size: 70%;
    }


/**

ORDERS PAGES

 */

main .orders .content-top,
main .tabbed.orders .header {
    background-color: #009688;
}


/**

PRODUCTS PAGES

 */

.page-layout .products .content-top {
    background-color: #CDDC39;
}


/**

SILENCERS PAGE
 */

.page-layout .louvers .content-top,
.page-layout .tabbed.louvers .header {
    background-color: #ff9800;
}


/**

LOUVERS PAGE
 */

.page-layout .silencers .content-top,
.page-layout .tabbed.silencers .header {
    background-color: #00BCD4;
}


/**

LOGS PAGE
 */

.page-layout .logs .content-top,
.page-layout .tabbed.logs .header {
    background-color: #FF5252;
}


/*
    DILS TAB
*/

table.config tr th,
table.config tr td {
    font-weight: 400;
    text-align: center;
    font-size: 12px;
    padding: 4px 0;
}

table.config.prices tr th,
table.config.prices tr td {
    font-size: 11px;
}

table.config.dialog tr td {
    padding: 5px;
}

table.config.prices tr td:not(.first-column) {
    cursor: pointer;
    text-align: left;
    padding-left: 5px;
}

table.config tr th,
table.config.prices tr td.first-column,
table.config.dialog tr td.first-column {
    color: #fff;
    background-color: #2196F3;
}

table.config.even tr td,
table.config tr.even td {
    background-color: #dadeed;
}

table.config.odd tr td,
table.config tr.odd td {
    background-color: #bdc6df;
}

table.config:not(.dialog) tr:hover td:not(.first-column),
table.config:not(.dialog) tr.selected td:not(.first-column) {
    background-color: #90CAF9;
}

table.config:not(.dialog) tr td:not(.first-column):not(.action-cell):hover,
table.config tr td.editedCell {
    background-color: #2196F3;
}

table.config tr th > span,
table.config tr td > span {
    display: inline-block;
}

table.config tr th.freq-width > span,
table.config tr td.freq-width > span {
    width: 30px;
    min-width: 30px;
    max-width: 30px;
}

table.config.dialog tr td input,
.pressure-drop table.config tr td input {
    height: 35px;
    padding-left: 10px;
}

table.config tr td.action-cell md-icon {
    color: #004a8d;
    cursor: pointer;
}

table.config tr th.wh-corner {
    position: relative;
    overflow: hidden;
}

    table.config tr th.wh-corner:before {
        position: absolute;
        content: '';
        width: 0;
        height: 0;
        top: 0;
        left: 0;
        border-style: solid;
        border-width: 0 40px 35px 0;
        border-color: transparent #673AB7 transparent transparent;
    }

table.config.dialog tr th.wh-corner:before {
    border-width: 0 50px 28px 0;
}

table.config tr th.wh-corner > span:before {
    content: 'W';
    position: absolute;
    left: 5px;
    bottom: 2px;
}

table.config tr th.wh-corner > span:after {
    content: 'H';
    position: absolute;
    right: 5px;
    top: 2px;
}

table.config tr th.wh-corner.small > span:after {
    right: 3px;
    top: 0px;
}

.prices-config md-tabs,
.prices-config md-tabs md-tab {
    width: 100%;
}

    .prices-config md-tabs .md-tab {
        text-transform: capitalize !important;
    }

    .prices-config md-tabs md-tabs-content-wrapper md-tab-content {
        overflow-x: auto;
    }


/**

WIDGETS
 */

.content-container .content-body {
    background: none;
    min-height: calc(100vh - 64px);
    max-height: calc(100vh - 64px);
    overflow: hidden;
    position: relative;
}

    .content-container .content-body .widgets .widget {
        padding: 8px;
    }

        .content-container .content-body .widgets .widget .widget-content {
            position: relative;
        }

            .content-container .content-body .widgets .widget .widget-content::before {
                background-image: url(../dist/imgs/cardBg.jpg);
                background-size: cover;
                opacity: .15;
                content: '';
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
            }

            .content-container .content-body .widgets .widget .widget-content > div {
                padding: 8px;
                min-height: 140px;
            }

        .content-container .content-body .widgets .widget a {
            text-decoration: none;
            color: #fff;
        }

.chart-group {
    border: solid 1px rgba(228, 228, 228, 0.5);
    padding-top: 5px;
    margin-bottom: 20px;
    min-height: 165px;
}

    .chart-group .h4,
    .chart-group .text {
        padding: 0 20px;
    }

        .chart-group .h4 span {
            display: block;
        }

    .chart-group.blue {
        box-shadow: 0 3px 20px rgba(0, 116, 249, 0.15);
    }

    .chart-group.purple {
        box-shadow: 0 3px 20px rgba(250, 5, 130, 0.15);
    }

    .chart-group.green {
        box-shadow: 0 3px 20px rgba(66, 249, 0, 0.15);
    }

    .chart-group.blue-grey {
        box-shadow: 0 3px 20px rgba(102, 108, 115, 0.15);
    }


/*

CHART
 */

nvd3 {
    display: block;
    width: 100%;
    height: 100%;
}

    nvd3.remove-x-lines .nv-x .tick line,
    nvd3.remove-y-lines .nv-y .tick line {
        display: none;
    }

    nvd3.remove-line-stroke .nv-groups path.nv-line {
        stroke-width: 0 !important;
    }

    nvd3.remove-opacity .nv-groups .nv-group {
        fill-opacity: 1 !important;
    }

    nvd3.show-line-points .nv-line .nv-scatter .nv-groups .nv-point {
        fill-opacity: 1 !important;
        stroke-opacity: 1 !important;
    }

.nvd3 text {
    font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
}

.nvd3 line.nv-guideline {
    stroke: rgba(0, 0, 0, .54);
}

.nvd3 .nv-groups .nv-point.hover {
    stroke-width: 3px !important;
    fill-opacity: 1 !important;
    stroke-opacity: 1 !important;
}

.text-boxed,
.text-boxed-light {
    border-radius: 2px;
    padding: 4px 8px;
    margin: 0 8px;
    font-size: 11px;
    font-weight: 500;
    color: rgba(0, 0, 0, .54);
    background-color: rgba(0, 0, 0, .12);
    white-space: nowrap;
}

.h-420,
.height-420 {
    height: 420px !important;
    min-height: 420px !important;
    max-height: 420px !important;
}

.h-140,
.height-140 {
    height: 140px !important;
    min-height: 140px !important;
    max-height: 140px !important;
}

.h-150,
.height-150 {
    height: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
}

p-15 {
    padding: 15px;
}

.padding-horizontal-16,
.ph-16 {
    padding-left: 16px;
    padding-right: 16px;
}

.padding-vertical-20,
.pv-20 {
    padding-top: 20px;
    padding-bottom: 20px;
}

.bb,
.border-bottom,
.border-vertical,
.bv {
    border-bottom: 1px solid rgba(0, 0, 0, .12);
}

.text-boxed-light {
    background-color: rgba(255, 255, 255, .7);
}

.white-fg {
    color: #FFF !important;
}

md-icon.s36 {
    font-size: 36px !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    line-height: 36px !important;
}


/* =======================
   LOADERS
*/

.loading {
    position: absolute;
    top: 50%;
    left: 50%;
}

.loading-bar {
    display: inline-block;
    width: 4px;
    height: 18px;
    border-radius: 4px;
    animation: loading 1s ease-in-out infinite;
}

    .loading-bar:nth-child(1) {
        background-color: #3498db;
        animation-delay: 0;
    }

    .loading-bar:nth-child(2) {
        background-color: #c0392b;
        animation-delay: 0.09s;
    }

    .loading-bar:nth-child(3) {
        background-color: #f1c40f;
        animation-delay: .18s;
    }

    .loading-bar:nth-child(4) {
        background-color: #27ae60;
        animation-delay: .27s;
    }

@keyframes loading {
    0% {
        transform: scale(1);
    }

    20% {
        transform: scale(1, 2.2);
    }

    40% {
        transform: scale(1);
    }
}

.stick-header {
    z-index: 2;
    height: 10px;
    position: relative;
}
