a, a:hover, a:focus {
    text-decoration: none;
    transition: all 0.3s;
}

a:hover {
    color: rgba(0, 0, 0, .7);
}

.btn-arrow-left {
    color: #eee;
    background: #D3D0DA;
    position: relative;
    padding: 8px 20px 8px 30px;
    margin-left: 1em;
    /** equal value than arrow.left **/
}

.btn-arrow-left::after, .btn-arrow-left::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -1em;
    margin-top: -19px;
    border-top: 19px solid transparent;
    border-bottom: 19px solid transparent;
    border-right: 1em solid;
}

.btn-arrow-left::after {
    border-right-color: #D3D0DA;
    z-index: 2;
}

.wrapper {
    display: flex;
    width: 100%;
    align-items: stretch;
}

#sidebar {
    min-width: 280px;
    max-width: 280px;
    min-height: 100vh;
    position: fixed;
    z-index: 999;
    display: flex;
    flex-direction: column;
    transition-duration: 200ms;
    transition-property: left;
}

#sidebar-btn {
    display: block;
    width: fit-content;
    transition-duration: 200ms;
    transition-property: left;
}

#sidebar #sidebar-services {
    flex-grow: 1;
}

#sidebar.active {
    margin-left: -250px;
}

#sidebar .sidebar-branding {
    padding-left: 2rem;
    padding-right: 2rem;
}

#sidebar #sidebar-services {
    padding-left: 1rem;
    padding-right: 1rem;
}

#sidebar #user-profile-menu {
    background: rgba(254, 251, 242, 0.25);
}

#sidebar ul.components {
    padding: 20px 0;
}

#sidebar ul li a {
    padding: 10px;
    font-size: 1.1em;
    display: block;
}

#sidebar #user-avatar {
    border: 2px solid white;
    border-radius: 100%;
    padding: 1px;
}

.vertical-center {
    min-height: 100%;
    /* Fallback for browsers do NOT support vh unit */
    min-height: 100vh;
    /* These two lines are counted as one :-)       */
    display: flex;
    align-items: center;
}

/** login **/

#body-login .jumbotron {
    background: #282532 no-repeat url("../images/logo-pangea-lilla-bg.svg") right;
}

#login-content {
    background: white;
    padding: 2rem;
}

#login-content input[type="text"].form-control, #login-content input[type="password"].form-control {
    border-radius: 0;
    border: 0;
    border-bottom: 2px solid #8E8E8E;
}

#login-content .form-actions-no-box {
    margin-top: 6rem;
}

#login-footer {
    margin-top: 1.5rem;
    text-align: center;
}

#login-footer a {
    color: #FEFBF2;
}

#content {
    background: #ECECEB no-repeat url("../images/logo-pangea-light-gray-bg.svg");
    background-position: right 5% top 10%;
    color: #343434;
    padding-left: 2rem;
    margin-left: 280px;
    /** sidebar width **/
}

/** services **/

h1.service-name {
    font: Bold 26px/34px Roboto;
    margin-top: 3rem;
}

.service-description {
    font: 16px/21px Roboto;
}

.table.service-list {
    margin-top: 2rem;
    table-layout: fixed;
}

/** TODO update theme instead of overriding **/

.service-list thead.thead-dark th, .service-card .card-header {
    background: rgba(80, 70, 110, 0.25);
    color: #50466E;
    border-color: transparent;
}

/** /TODO **/

.table.service-list td, .table.service-list th {
    vertical-align: middle;
}

.service-list thead.thead-dark th:first-of-type {
    border-top-left-radius: .25rem;
}

.service-list thead.thead-dark th:last-of-type {
    border-top-right-radius: .25rem;
}

.service-list tfoot td:first-of-type {
    border-bottom-left-radius: .25rem;
}

.service-list tfoot td:last-of-type {
    border-bottom-right-radius: .25rem;
}

.service-list tbody {
    background: white;
    color: #343434;
}

.service-list tfoot {
    background: white;
    color: #343434;
}

.service-list tfoot tr td {
    padding-top: 3rem;
}

.service-card {
    margin-bottom: 3rem;
}

.service-card .card-body h4 {
    color: #50466E;
    font-weight: bold;
}

.service-card .card-body {
    color: #787878;
}

.service-card .card-body i.fas {
    color: #9C9AA7;
}

.service-manager-link {
    position: absolute;
    bottom: 0px;
    right: 15px;
}

.service-card .service-manager-link a, .service-card .service-manager-link a i.fas {
    color: white;
}

.service-card .card-body .service-brand i.fab {
    color: #9C9AA7;
}

.card.resource-usage {
    border-left: 5px solid #4C426A;
}

.card.resource-usage .progress {
    height: 0.5rem;
    margin-top: 0.75rem;
}

.card.resource-usage h5.card-title {
    position: relative;
}

.card.resource-usage h5.card-title:after {
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    position: absolute;
    top: 0;
    right: 10px;
    color: #E8E7EB;
    font-size: 2em;
}

.card.resource-usage.resource-disk h5.card-title:after {
    content: "\f0a0";
    font-weight: 900;
}

.card.resource-usage.resource-traffic h5.card-title:after {
    content: "\f362";
    font-weight: 900;
}

.card.resource-usage.resource-mailbox h5.card-title:after {
    content: "\f0e0";
    font-weight: 900;
}

.card.resource-usage.resource-notifications h5.card-title:after {
    content: "\f0f3";
    font-weight: 900;
}

.card.card-profile .card-header {
    background: white;
    border-bottom: none;
    font-size: large;
    text-transform: uppercase;
}

#configDetailsModal .modal-header {
    border-bottom: 0;
    text-align: center;
}

#configDetailsModal .modal-header .modal-title {
    width: 100%;
}

#configDetailsModal .modal-body {
    padding-left: 4rem;
    padding-right: 4rem;
}

#configDetailsModal .modal-body label {
    width: 50%;
    text-align: right;
    padding-right: 4%;
}

#configDetailsModal .modal-body span {
    display: inline-block;
    width: 45%;
}

#configDetailsModal .modal-footer {
    border-top: 0;
    justify-content: center;
}

.roll-hover {
    visibility: hidden;
    display: inline-block;
    margin-left: 2rem;
}

td:hover .roll-hover {
    visibility: visible;
}

@media (min-width: 576px){
    .card-deck .card {
        flex: 1 0 40%;
        margin: 15px;
    }

    #sidebar-btn {
        display: none;
    }
}

@media (min-width: 1350px){
    .card-deck .card {
        flex: 1 0 0%;
    }

    #content {
        margin-left: 280px;
    }
}





@media (max-width: 800px){
    
    #sidebar-toggle:checked {
        width: 277px;
    }
    #sidebar-toggle:checked ~ #sidebar {
        left: 0;
    }
    #sidebar-toggle:checked ~ #sidebar-btn {
        left: 277px;
    }
    #sidebar-btn {
        display: block;
        width: fit-content;
    }
    #sidebar {
        left: -277px;
    }
    #content {
        margin-left: 0;
    }
}