:root {
    --default-color: #005999;
    --drawer-scroll-pos: 0px; /* compensates the drawer tooltip position when scrolling */

    /* --customercolor-primary: #ff000f
    --customercolor-secundary: #fcfcfc */
}



body,
html {
    min-height: 100%;
    height: 100%;
    overflow: hidden;
}

/* Custom Login Styles */

.b2c-login {
    width: 100%;
    height: 100%;
    /* display: flex;
    flex-direction: row; */
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
}

.b2c-login .login {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 30%;
    height: 40%;
    padding: 20px;
    border-radius: 25px;
    background-color: #fff;
    box-shadow: 0 10px 16px 0 rgb(0 0 0 / 20%), 0 6px 20px 0 rgb(0 0 0 / 19%) !important;
    overflow: hidden;
}

.b2c-login .login img {
    /* margin: 20px; */
    position: absolute;
    top: 20px;
    /* left: 20px; */
}

.b2c-login .login .header {
    font-size: 24px;
    font-weight: bold;
    /* margin: 0 auto; */
    margin: 10px 0;
}

/* .b2c-login .login .footer {
    color: #000;
    position: absolute;
    bottom: 0;
    width: calc(100% - 20px);
    padding: 20px;
    background-color: #e0e0e0;
} */
.b2c-login .login .footer {
    color: #000;
    position: absolute;
    bottom: 50px;
}

/* .b2c-login #cover {
} */

.b2c-login #left {
    /* display: inline-block; */
    width: 40%;
    height: 100%;
    /* background-color: #2196F3; */
}

.b2c-login #left .header {
    font-size: 24px;
    font-weight: bold;
    margin: 0 auto;
}

.b2c-login #left img {
    display: block;
    margin: 10px;
}

.b2c-login #right {
    /* display: inline-block; */
    width: 60%;
    height: 100%;
    background-color: #005999;
    background-repeat: no-repeat;
    background-size: cover;
}

.custom-login-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    font-size: 18px;
    font-weight: bold;
    padding: 5px 10px;
    background-color: #FFF;
    border: 2px solid #2a3a70;
    border-radius: 5px;
    cursor: pointer;
}

a.custom-login-btn {
    color: #000;
    text-decoration: none;
}

.custom-login-btn:hover {
    background-color: #e8edff
}

.custom-login-btn i {
    margin-right: 5px;
}

.login-grid {
    display: grid;
    width: 30%;
    min-width: 460px;
    height: 40%;
    padding: 20px;
    border-radius: 25px;
    background-color: #fff;
    box-shadow: 0 10px 16px 0 rgb(0 0 0 / 20%), 0 6px 20px 0 rgb(0 0 0 / 19%) !important;
    overflow: hidden;

    grid-template-columns: auto;
    grid-template-rows: 30% 40% 20%;
    row-gap: 5%;
}

.login-grid .pageGridHeader {
    display: flex;
    align-items: center;
    justify-content: center;
}

.login-grid .pageGridContent {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
}

.login-grid .pageGridContent p {
    font-size: 24px;
    font-weight: bold;
}

.login-grid .pageGridFooter {
    text-align: center;
}

/* style "background-color" "#FFF"
                    , style "border-radius" "10px"
                    , style "border" "2px solid #2a3a70"
                    , style "padding" "5px 10px" */

/* Custom Login Styles END */

/* Switch */
.switch-wrap {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: left;
    padding: 5px 0;
}

.switch-wrap>span {
    font-size: 15px;
    font-weight: bold;
}

.cb-switch {
    position: relative;
    display: inline-block;
    width: 45px;
    height: 24px;
    margin-right: 15px;
}

.cb-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.cb-switch .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}

.cb-switch .slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

.cb-switch input:checked+.slider {
    background-color: #2196F3;
}

.cb-switch input:focus+.slider {
    box-shadow: 0 0 1px #2196F3;
}

.cb-switch input:checked+.slider:before {
    -webkit-transform: translateX(21px);
    -ms-transform: translateX(21px);
    transform: translateX(21px);
}

/* Rounded sliders */
.cb-switch .slider.round {
    border-radius: 34px;
}

.cb-switch .slider.round:before {
    border-radius: 50%;
}

.main input[type=text] {
    font-size: 15px;
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    border: none;
    border-radius: 0;
}

input[type=text]:focus {
    outline: none;
}

input:focus+label {
    border-bottom-color: #1A2E52;
}

label {
    font-weight: bold;
    color: #77B1AB;
}

.main input[type=file] {
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    z-index: -1;
}

.main input[type=file]+label {
    background-color: #000;
    color: #FFF;
    padding: 5px;
    cursor: pointer;
}

input[type=file]+label:hover {
    background-color: #909696;
}

.textarea-default textarea {
    border: 2px solid #77B1AB;
    border-radius: 5px;
    min-height: 70px;
    font-weight: bold;
    font-family: 'Montserrat', sans-serif;
}

img.login-with-microsoft {
    display: block;
    margin: 0 auto;
    margin-top: 30px;
    cursor: pointer;
}

button.btn-default {
    border: none;
    background-color: #77B1AB;
    padding: 5px;
    color: #FFF;
    font-size: 15px;
    font-weight: bold;
    cursor: pointer;
}

button.btn-default:disabled {
    background-color: #909696;
    cursor: default;
}

button.btn-icon {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    border: none;
    padding: 5px;
    font-size: 15px;
    font-weight: bold;
    cursor: pointer;
    border-radius: 4px;
    margin-left: 4px;
}

button.btn-icon:disabled {
    background-color: #909696 !important;
    cursor: default;
}

.textbox-default {
    text-align: left;
}

.textbox-default label {
    display: inline-block;
}

.textbox-default label i {
    margin-right: 0;
    vertical-align: middle;
}

.textbox-default input[type=text] {
    display: inline-block;
    width: calc(100% - 24px);
    text-overflow: ellipsis;
}

.reaact-icon {
    height: 65%;
    padding: 18%;
}

.reaact-icon g#icon rect {
    fill: #77B1AB;
}

.main {
    transition: 0.2s;
    height: calc(100% - 90px);
}

.main.simple {
    height: 100%;
}

.main.header {
    height: calc(100% - 45px);
}

.main.drawer {
    height: 100%;
    width: 100%;
}

.main.navbar {
    height: calc(100% - 45px);
}

.main.headernavbar {
    height: calc(100% - 90px);
}

.main.headerdrawer {
    height: calc(100% - 45px);
}

.main.drawernavbar {
    height: calc(100% - 45px);
}

.main.none {
    height: calc(100% - 90px);
}

.error-message {
    color: #d9392e;
    font-weight: bold;
}

.debug-window {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 40%;
    overflow-y: scroll;
    border: 1px solid black;
}

.login-page {
    text-align: center;
    width: 100%;
    height: 100%;
}

.login-page .login-logo {
    position: absolute;
    width: 175px;
    top: 10px;
    left: 10px;
}

.login-page .login-animation {
    width: 80%;
    margin-top: 90px;
}

.login-page a.btn-login {
    display: block;
    width: 250px;
    height: 50px;
    margin: auto;
    margin-top: 40px;
    color: #000;
    font-weight: bold;
    border: 3px solid rgb(220, 62, 21);
    border-radius: 10px;
    background-color: #FFF;
    cursor: pointer;
}

.login-page a.btn-login img {
    float: left;
    padding: 10px;
    vertical-align: middle;
    height: 30px;
}

.login-page a.btn-login p {
    display: inline-block;
    margin: 0;
    margin-top: 13px;
    font-size: 14px;
    font-weight: bold;
}

.login-page a.btn-login i {
    float: right;
    height: 100%;
}

.login-page .btn-logout {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 41px;
    margin: 0 auto;
    margin-top: 15px;
    padding: 3px;
    width: 215px;
    color: rgb(94, 94, 94);
    font-size: 14px;
    font-weight: bold;
    background-color: #FFF;
    border: 1px solid rgb(140, 140, 140);
    cursor: pointer;
}

.login-page .btn-logout i {
    position: absolute;
    left: 9px;
}

.login-page .message,
.b2c-login .login .message,
.b2c-login .login-grid .message {
    margin: 15px 0;
    font-size: 16px;
    font-weight: bold;
    border: 2px solid #bd453c;
    border-radius: 10px;
    padding: 10px;
    background-color: #ffd9d6;
    color: #bd453c;
}

.top-bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.app-header {
    height: 45px;
    background-color: #FFF;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px 0 rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
    line-height: 45px;
}

.app-header .app-title {
    display: inline-block;
    font-size: 18px;
    font-weight: bold;
    color: #1A2E52;
    margin-left: 10px;
    position: relative;
    top: -50%;
    transform: translate(0, 50%);
}

.app-header .header-brand {
    display: inline-block;
    height: 45px;
    vertical-align: top;
}

.app-header .app-menu {
    display: inline-table;
    height: 45px;
    width: 45px;
    text-align: center;
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
}

.app-header .app-menu i {
    display: table-cell;
    vertical-align: middle;
}
.app-header  button.app-menu[tooltip][flow^="right"] {
    font-size: 14px;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: 0;
}

.app-header .account {
    display: inline;
    /* position: absolute; */
    position: inherit;
    float: right;
    height: 100%;
    right: 0;
    color: #1A2E52;
    background-color: transparent;
    cursor: pointer;
}

.app-header .account ul {
    position: relative;
}

.app-header .account .account-toggle {
    display: table;
    height: 100%;
    padding-right: 10px;
    color: #1A2E52;
    cursor: pointer;
}

.app-header .account .account-toggle:hover {
    background-color: #e0e0e0;
}

.app-header .account i {
    display: table-cell;
    padding: 5px;
    color: #1A2E52;
    margin-right: 5px;
    vertical-align: middle;
}

.app-header .account p {
    /* display: inline; */
    display: table-cell;
    vertical-align: middle;
    color: #1A2E52;
    font-weight: bold;
    -webkit-touch-callout: none;
    /* iOS Safari */
    -webkit-user-select: none;
    /* Safari */
    -khtml-user-select: none;
    /* Konqueror HTML */
    -moz-user-select: none;
    /* Firefox */
    -ms-user-select: none;
    /* Internet Explorer/Edge */
    user-select: none;
    /* Non-prefixed version, currently
                                  supported by Chrome and Opera */
}

.app-header .account .account-content {
    display: none;
    padding-top: 5px;
    padding-bottom: 5px;
    /* position: absolute; */
    font-weight: bold;
    text-align: center;
    width: 100%;
    background-color: #FFF;
    box-shadow: -2px 2px 1px 0 rgba(0, 0, 0, 0.30);
    z-index: 999;
}

.app-header .account .account-content a,
.app-header .account .account-content div {
    display: block;
    color: #1A2E52;
    font-weight: bold;
    text-decoration: none;
}

.app-header .account .account-content a:visited {
    color: #1A2E52;
}

.drawer .app-dropdown {
    width: 100%;
    border: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    color: #1A2E52;
    background-color: transparent;
}

.app-dropdown.bordered {
    width: unset;
    padding: 1px 40px 2px 4px;
    border: 2px solid;
    border-radius: 4px;
}

.drawer .app-dropdown option {
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    color: #1A2E52;
}

.app-dropdown.bordered option {
    padding: 0 4px;
    font-weight: bold;
}

.drawer .app-dropdown .dropdown-content {
    width: 100%;
}

.app-dropdown {
    width: 100%;
    border: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    color: #1A2E52;
}

.app-dropdown .dropdown-content {
    width: 100%;
}

.app-dropdown .option {
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    color: #1A2E52;
}

.app-header-dotdotdot{
    z-index: 1000;
}

.app-tabs {
    height: 45px;
    background-color: #77B1AB;
    top: 0;
}

.app-tabs ul {
    display: inline;
    margin: 0;
    height: 100%;
    padding-left: 42px;
    list-style-type: none;
    white-space: nowrap;
}

.app-tabs ul li {
    display: inline-block;
    text-align: center;
    margin-right: 5px;
    cursor: pointer;
}

.app-tabs ul li:hover {
    opacity: 0.80;
}

.app-tabs ul li.selected {
    background-color: #FFF;
}

.app-tabs ul li a {
    display: block;
    margin: 0;
    color: #FFF;
    font-weight: bold;
    text-decoration: none;
    padding: 11px;
}

.app-tabs ul li.selected a {
    margin: 0;
    color: #1A2E52;
    font-weight: bold;
}

/* 
.drawerInner {
    height: 100%;
}
*/

.drawer {
    position: fixed;
    height: 100%;
    height: calc(100% - 42px);



    background-color: #FFF;
    width: 250px;
    z-index: 400; /* as PGrid is about 300 */
    animation-duration: 1s;
    transition: 0.2s;
    box-shadow: 2px 2px 2px 0 gray;
    /* overflow-y: auto; */
    overflow: visible;
}

.drawer.open {
    /* overflow: hidden; */
    /* overflow-y: auto; */
    overflow-x: hidden;
    overflow-y: var(--drawer-scroll-pos-set-overflow-y, hidden);
}
/* Supports both tooltip and scrollbar with tweeks below (position: fixed; etc..) */
.drawer.closed {
    /* overflow-y: visible; */
    overflow-x: hidden;
    overflow-y: var(--drawer-scroll-pos-set-overflow-y, hidden);
}




.drawer.open:hover {
    overflow-y: auto;
}
.drawer.closed:hover {
    overflow-y: auto;
}




.drawer .app-services {
    padding: 0;
    list-style-type: none;
    color: #FFF;
    font-weight: bold;
    margin-top: 0;


}

.drawer .app-services .service-item {
    border-bottom: 1px solid #e3e3e3;
}

.drawer .app-services .service-item p {
    margin-bottom: 0;
    font-weight: bold;
    margin-left: 7px;
}

.drawer .app-services .service-item p.service-name {
    font-size: 11px;
    white-space: nowrap;
}

.drawer.closed .app-services .service-item p {
    display: none;
}

.drawer .app-services .service-item .app-applications {
    padding: 0;
    list-style-type: none;
    color: #000;
    font-weight: bold;

}

.drawer .app-services .service-item .app-applications .application-item {
    transition: 0.2s
}

.drawer .app-services .service-item .app-applications .application-item.selected {
    background-color: #e3e3e3;
}

.drawer.open .app-services .service-item .app-applications .application-item {
    padding-top: 3px;
    padding-bottom: 3px;
    /* overflow: hidden; */
    text-overflow: ellipsis;
    cursor: pointer;
}

.drawer.open .app-services .service-item .app-applications .application-item:hover {
    /* background-color: #e3e3e3; */
    filter: brightness(50%);
}

.drawer.closed .app-services .service-item .app-applications .application-item {
    display: block;
    width: 42px;
    height: 42px;
    background-color: none;
    /* overflow: hidden; */
    text-overflow: ellipsis;
    text-align: center;
    cursor: pointer;
}

.drawer .app-services .service-item .app-applications .application-item a {
    white-space: nowrap;
    word-break: keep-all;
    text-overflow: ellipsis;
    color: inherit;
}

.drawer.open .app-services .service-item .app-applications .application-item a {
    display: inline-block;
    vertical-align: middle;
    font-weight: bold;
    font-size: 12px;
    word-break: break-word;
    text-decoration: none;
    padding-left: 5px;
    width: 100%;
}

.drawer.closed .app-services .service-item .app-applications .application-item a {
    text-decoration: none;
}

div.drawer.closed.noprint{
    width: 42px;
}

.drawer.closed .application-item a {
    position: absolute;
    left: 0;
    margin: 0 auto;
}

.drawer.closed .application-item a.app-url {
    width: 42px;
    height: 42px;
    position: absolute;
}


.drawer .app-services .service-item .app-applications .application-item a p {
    display: inline-block;
    /* display: none; */
    font-size: 12px;
    margin: 0;
    vertical-align: middle;
    visibility: visible;
    opacity: 1;
    transition: 0.3s;
    position: absolute;
    color: inherit;
}

.drawer.closed .app-services .service-item .app-applications .application-item a p {
    display: none;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s, opacity 0.5s linear;
}

.drawer.open .app-services .service-item .app-applications .application-item i.alternative {
    display: none;
}

.drawer.closed .app-services .service-item .app-applications .application-item i.alternative {
    display: block;
    padding: 20%;
    /* color: #1A2E52; */
}

.drawer.open .app-services .service-item .app-applications .application-item img.alternative {
    display: none;
}

.drawer.closed .app-services .service-item .app-applications .application-item img.alternative {
    display: block;
    padding: 20%;
    /* color: #1A2E52; */
    width: 24px;
    height: 24px;
}

.drawer.open .app-services .service-item .app-applications .application-item a i {
    display: inline-block;
    vertical-align: middle;
    width: 24px;
    padding-right: 5px;
}

/* Especaly the drawer open home icon look a bit lower with the new font library, hench push it up 1px */
.drawer.open .app-services .service-item .app-applications .application-item a i.material-icons {
    margin-top: -1px;
    margin-bottom: 1px;
}


.drawer.closed .app-services .service-item .app-applications .application-item a i {
    display: block;
    padding: 20%;
    /* color: #1A2E52; */
}

.drawer.open .app-services .service-item .app-applications .application-item a img {
    display: inline-block;
    vertical-align: middle;
    width: 24px;
    height: 24px;
    padding-right: 5px;
}

.drawer.closed .app-services .service-item .app-applications .application-item a img {
    display: block;
    padding: 20%;
    /* color: #1A2E52; */
    width: 24px;
    height: 24px;
}

@media only screen and (max-width: 600px) {
    .app-header .app-title {
        display: none;
    }
}

/* Home Page */

.account-basic {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    /* height: 80px; */
    min-height: 25%;
    /* padding: 10px 0; */
}

.account-basic img {
    height: 80px;
    margin-right: 10px;
}

.account-basic i.material-icons {
    display: inline-block;
    font-size: 150px;
}

.account-basic .info {
    display: inline-block;
    /* margin: auto 0; */
}

.account-basic .info span {
    display: block;
    padding: 5px;
    font-size: 27px;
    font-weight: 600;
    line-height: normal;
}

.announcement {
    /* display: flex; */
    width: 100%;
    height: 100%;
}

.announcement .subjects {
    min-width: 300px;
    max-width: 300px;
    /* max-height: calc(100% - 50px); */
    overflow-y: auto;
}

.announcement .subjects ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    border-top: 1px solid #d0d0d0;
    /* border-left: 5px solid #000; */
}

.announcement .subjects ul li {
    padding: 5px;
    height: 60px;
    border-bottom: 1px solid #d0d0d0;
    cursor: pointer;
    overflow-x: hidden;
}

.announcement .subjects ul li span.createdBy {
    float: left;
    font-size: 9px;
    font-weight: 300;
}

.announcement .subjects ul li span.created {
    display: block;
    float: right;
    font-size: 9px;
    font-weight: 300;
}

.announcement .subjects ul li span.headline {
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    word-break: normal;
    white-space: nowrap;
    overflow-x: hidden;
    text-overflow: ellipsis;
    width: -webkit-fill-available;
}

/* .announcement */



.about {
    /* display: flex; */
    width: 100%;
    height: 30px;
    margin-bottom: 0px;
    margin-top: auto;
}

.about div.about-button {
    font-size: 14px;
    font-weight: 600;
    color: rgb(180, 180, 180);
    cursor: pointer;
    cursor: hand;

}

.about div.about-button:hover {
    color: rgb(0, 0, 0);
}

/* .about */




.htmlcontent table {
    width: 500px;
    /* margin: auto; */
    text-align: left;
}

.htmlcontent table,
th,
td {
    border: 1px solid #000;
    border-collapse: collapse;
}

.htmlcontent th {
    background-color: #ddd
}

.htmlcontent th,
td {
    padding: 15px;
}

.htmlcontent table,
thead,
td {
    text-align: left;
}


.actionbtn {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    color: #fff;
    margin: 0 5px;
}

.right {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding-top: 40px;
    padding-left: 40px;
    padding-right: 40px;
    padding-bottom: 20px;
}

.right.edit {
    padding-top: 0;
}

.right .htmlcontent {
    /* margin-left: 10px; */
    position: relative;
    padding: 30px 30px;
    /* width: calc(100% - 320px); */
    width: 100%;
    /* border-left: 1px solid #d0d0d0; */
    background-color: #fff;
    border-radius: 0px;
    overflow-y: auto;
}

.right .htmlcontent {
    width: unset;
    height: 100%;
}

/* .announcement */

.htmlcontent span.headline {
    display: block;
    margin-bottom: 5px;
    font-size: 40px;
    font-weight: 600;
}

.htmlcontent span.createdBy {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #b0b0b0;
}

.htmlcontent span.created {
    display: block;
    font-size: 10px;
    font-weight: 600;
    color: #b0b0b0;
    margin-bottom: 20px;
}

.home-section {
    /* height: calc(100% - 100px); */
    height: 70%;
}

.home-section h4 {
    display: inline-block;
    margin: 0;
    margin-right: 20px
}

.home-section .actions {
    display: inline-block;
    height: 32px;
}

/* .home-section ul.actions li {
    float: left;
} */

.home-section .actions div {
    display: inline-flex;
    margin-right: 10px;
    height: 32px;
    vertical-align: middle;
    cursor: pointer;
}

.home-section .actions div i,
p {
    display: inline-block;
    margin: 0;
}

/* Home Page End */

/* PowerBI Page */

.main .powerbi-report {
    position: relative;
    height: 100%;
}

.main .powerbi-report .report-fullscreen {
    position: absolute;
    right: 10px;
    bottom: 10px;
    width: 30px;
    height: 30px;
    border-radius: 100%;
    background-color: #d1d1d1;
    cursor: pointer;
}

.app-tabs .report-options {
    float: right;
    height: 100%;
}

.app-tabs .report-options .option {
    display: inline-table;
    text-align: center;
    height: 100%;
    width: 45px;
    margin-left: 1px;
    background-color: #1A2E52;
    cursor: pointer;
}

.app-tabs .report-options .option i {
    display: table-cell;
    vertical-align: middle;
    font-size: 30px;
    color: #FFF;
}

/* ------------ */

/* Role Management Page */

.main .management-roles {
    height: 100%;
}

.main .table-users {
    border-spacing: 0;
    width: 100%;
}

.main .table-users tr th {
    border-bottom: 1px solid #000;
}

.main .table-users .row-user {
    cursor: pointer;
}

.main .table-users .row-user:hover {
    background-color: #d1d1d1;
}

.main .table-users .row-user td {
    padding-left: 5px;
    border-bottom: 2px solid #d1d1d1;
    font-weight: bold;
    color: #1A2E52;
}

.main .table-users .row-user .user-email {
    width: 20%;
}

.main .table-users .row-user .user-name {
    width: 20%;
}

.main .table-users .row-user .user-roles {
    width: 60%;
}

/* TABLE */

.main table.default {
    border-top: 1px solid #000;
    border-spacing: 0;
    width: 100%;
}

.main table.default tr th {
    border-bottom: 1px solid #000;
    text-align: left;
}

.main table.default tr {
    cursor: pointer;
}

.main table.default tr:hover {
    background-color: #d1d1d1;
}

.main table.default tr td {
    padding-left: 5px;
    border-bottom: 2px solid #d1d1d1;
    font-weight: bold;
    padding-top: 4px;
    padding-bottom: 4px;
}

/* .main table.default .row-user .user-email {
    width: 20%;
}
.main table.default .row-user .user-name {
    width: 20%;
}
.main table.default .row-user .user-roles {
    width: 60%;
} */

/* TABLE END */

.main .settings-topbar {
    display: inline-block;
    width: 100%;
    height: 36px;
    border-bottom: 2px solid #d1d1d1;
}

.main .settings-topbar .switch-control {
    display: inline-block;
    height: 100%;
}

.main .settings-topbar .switch-control .switch {
    display: inline-table;
    height: 100%;
    padding: 5px;
    cursor: pointer;
}

.main .settings-topbar .switch-control .switch p {
    display: table-cell;
    vertical-align: middle;
    font-weight: bold;
    color: #FFF;
}

/* Topbar-content tabs */

.main .topbar-content .switch-control {
    display: inline;
    height: 100%;
}

.main .topbar-content .switch-control .switch {
    display: inline-table;
    height: 100%;
    /* padding: 5px; */
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
}

.main .topbar-content .switch-control .switch p {
    display: table-cell;
    vertical-align: middle;
    font-weight: bold;
    color: #FFF;
}

/* Topbar-content tabs */

.main .settings-topbar button {
    height: 100%;
    border: 2px solid #FFF;
    border: none;
    background-color: #77B1AB;
    padding: 5px;
    color: #FFF;
    font-size: 15px;
    font-weight: bold;
    cursor: pointer;
}

.main .settings-topbar button.right {
    float: right;
}

.main .settings-sidepanel {
    display: inline-block;
    width: calc(30% - 2px);
    height: 100%;
    float: right;
    background-color: #FFF;
    border-left: 2px solid #d1d1d1;
    overflow-y: scroll;
}

.main .settings-sidepanel .user-info {
    height: 10%;
    overflow: hidden;
}

.main .settings-sidepanel .user-info h2 {
    margin: 0;
}

.main .settings-sidepanel .user-info h3 {
    margin: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.main .settings-sidepanel .list {
    height: 45%;
    min-height: 300px;
}

.main .settings-sidepanel .list ul {
    height: calc(100% - 50px);
    overflow-y: scroll;
}

.main .settings-sidepanel .list p.userroles-title {
    font-weight: bold;
    margin-bottom: 0;
}

.main .settings-sidepanel p.userroles-title i {
    margin-left: 5px;
    margin-right: 5px;
    vertical-align: middle;
}

.main .settings-sidepanel ul {
    list-style-type: none;
    margin: 0;
    padding-left: 0;
}

.main .settings-sidepanel ul li {
    border-bottom: 1px solid #d1d1d1;
    padding: 7px;
}

.main .settings-sidepanel ul li:nth-child(1) {
    border-top: 1px solid #d1d1d1;
}

.main .settings-sidepanel ul li .role-btn {
    float: right;
    cursor: pointer;
}

.main .settings-sidepanel ul li p.overflow {
    display: inline-block;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: calc(100% - 32px);
    vertical-align: bottom;
}

/* -------------------- */

/* RE(a)ACT Report Settings */

.main .reaact-reportsettings {
    height: 100%;
}

/* .main .reaact-reportsettings .app-dropdown {
    width: 150px;
    padding: 7px;
    cursor: pointer;
} */

.main .reaact-reportsettings .settings-topbar {
    display: inline-block;
    border-bottom: 2px solid #d1d1d1;
}

.main .reaact-applications {
    width: 50%;
    height: calc(100% - 47px);
    padding-left: 10%;
    padding-right: 10%;
}

.main .reaact-applications .reaact-application {
    display: inline-block;
    width: 45%;
    height: 40%;
    margin-top: 35px;
}

.main .reaact-applications .reaact-application p {
    font-weight: bold;
    margin-bottom: 0;
}

.main .reaact-applications .reaact-application:nth-child(even) {
    float: right;
}

.main .reaact-applications .reaact-application:nth-child(odd) {
    float: left;
}

.main .reaact-applications .reaact-application .reaact-tab {
    display: block;
    width: 100%;
    background-color: #1A2E52;
    color: #FFF;
    cursor: pointer;
}

/* ------------------------ */

/* SETTINGS TABLE */

.main .management-main {
    display: inline-block;
    width: 70%;
    height: 100%;
    overflow-y: scroll;
}

.main .table-management {
    border-spacing: 0;
    width: 100%;
}

.main .table-management tr th {
    border-bottom: 1px solid #000;
}

.main .table-management tr {
    cursor: pointer;
}

.main .table-management tr td {
    padding-left: 5px;
    border-bottom: 2px solid #d1d1d1;
    font-weight: bold;
    color: #1A2E52;
}

.main .table-management .user-name {
    width: 20%;
}

.main .table-management .user-email {
    width: 20%;
}

.main .table-management .user-type {
    width: 30%;
}

/* -------------- */

/* USER MANAGEMENT */

.management-users {
    height: 100%;
}

.main .management-main .btn-default {
    margin-left: 5px;
}

.main .management-main .btn-default:focus {
    outline: 0;
}

.main .management-main .btn-options {
    position: absolute;
    bottom: 10px;
    right: 30%;
    text-align: center;
}

.main .settings-content {
    padding: 20px;
}

.main .settings-content label i {
    margin-right: 5px;
    vertical-align: middle;
}

.main .settings-content .radio-options {
    margin-top: 10px;
}

.main .settings-content input[type=text] {
    width: 100%;
    font-size: 15px;
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
}

.main .settings-content .radio-options span {
    font-weight: bold;
}

.main .settings-content .btn-default {
    display: block;
    position: relative;
    margin-top: 15px;
    border-radius: 7px;
}

.file-drop {
    display: table;
    width: 70%;
    height: 20%;
    margin: auto;
    margin-top: 20px;
    border: 3px dashed #d1d1d1;
    border-radius: 10px;
    text-align: center;
}

.file-drop p {
    display: table-cell;
    font-size: 15px;
    font-weight: bold;
    vertical-align: middle;
}

/* --------------- */

/* USER INFO */

.topbar-content {
    display: flex;
    flex-direction: row;
    width: 100%;
}

.topbar-content .table-loading {
    margin-left: auto;
    padding: 8px;
}

.topbar-content .default-select {
    height: 100%;
}

.topbar-content .default-select select {
    height: 100%;
    border: none;
}

/* --------- */

.powerbi-report .report-information {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    z-index: -1;
}

.powerbi-report .report-information .loader {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.sidepanel-information {
    margin-top: 50px;
    text-align: center;
}

.sidepanel-information .loader {
    margin: auto;
}

.management-main .preview-tile {
    display: inline-block;
    width: 220px;
    height: 220px;
    padding: 15px;
}

.management-main .preview-tile.open div {
    border: 4px solid #000;
    width: calc(100% - 4px);
    height: calc(100% - 28px);
}

.management-main .preview-tile p {
    margin: 0;
    height: 24px;
    font-weight: bold;
}

.management-main .preview-tile div {
    width: 100%;
    height: calc(100% - 24px);
    border-radius: 10px;
}

.overlay {
    z-index: 1000;
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: rgba(0, 0, 0, 0.7);
}

.overlay.open {
    display: block;
}

.overlay div.overlay-content {
    position: absolute;
    display: block;
    margin: auto;
    padding: 10px;
    width: 50%;
    height: 50%;
    background-color: #FFF;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    border-radius: 10px;
}

.overlay .div.overlay-content .content-left {
    width: 50%;
    float: left;
}

.overlay .div.overlay-content .content-right {
    width: 50%;
    float: right;
}

.image-content {
    width: 100%;
}

.image-content div.selected {
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
}

.image-content div.selected p {
    margin: 0;
    display: block;
    position: absolute;
    float: left;
    width: 0;
    height: 0;
    margin-top: 9px;
    font-weight: bold;
}

.image-content div.selected img {
    margin: auto;
    height: 38px;
    position: relative;
    display: block;
}

.app-full {
    width: 100%;
    height: 100%;
}

.table {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: 70%;
    height: 100%;
}

.table .column {
    display: inline-block;
    width: 33.33%;
    height: 100%
}

.table .column>h4 {
    font-weight: bold;
    border-bottom: 2px solid #FFF;
    margin: 0;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
}

.table .column ul {
    list-style: none;
    padding-left: 0px;
    margin: 0;
    border-right: 1px solid #FFF;
    border-left: 1px solid #FFF;
}

.table .column ul li {
    padding: 10px 0;
    border-bottom: 1px solid #FFF;
    cursor: pointer;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.table .column ul li:hover {
    background-color: #F5F5F5;
}

.table .column ul li>p {
    font-weight: bold;
    padding-left: 10px;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 70%;
}

.date-select {
    display: block;
}

.date-select>p {
    display: inline-block;
    margin: 0;
    margin-right: 10px;
    font-weight: bold;
}

.date-select .selections {
    display: inline-block;
}

.date-select .default-select>p {
    margin: 0;
}

.default-select {
    display: inline-block;
}

.default-select>p {
    display: inline-block;
    margin-right: 10px;
    font-weight: bold;
}

.default-select select {
    display: inline-block;
    width: 100%;
    font-weight: bold;
    border: none;
    border-bottom: 2px solid #000;
}

.placeholder {
    display: inline-block;
    width: 70%;
    height: 100%;
    top: 0;
    z-index: -1;
}

.placeholder .loader {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

/* LOADER */

.loader,
.loader:before,
.loader:after {
    background: inherit;
    color: inherit;
    -webkit-animation: load1 1s infinite ease-in-out;
    animation: load1 1s infinite ease-in-out;
    width: 1em;
    height: 4em;
}

.loader {
    background: inherit;
    color: inherit;
    text-indent: -9999em;
    position: relative;
    font-size: 11px;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation-delay: -0.16s;
    animation-delay: -0.16s;
}

.loader:before,
.loader:after {
    position: absolute;
    top: 0;
    content: '';
}

.loader:before {
    left: -1.5em;
    -webkit-animation-delay: -0.32s;
    animation-delay: -0.32s;
}

.loader:after {
    left: 1.5em;
}

@-webkit-keyframes load1 {

    0%,
    80%,
    100% {
        box-shadow: 0 0;
        height: 4em;
    }

    40% {
        box-shadow: 0 -2em;
        height: 5em;
    }
}

@keyframes load1 {

    0%,
    80%,
    100% {
        box-shadow: 0 0;
        height: 4em;
    }

    40% {
        box-shadow: 0 -2em;
        height: 5em;
    }
}

.ms-PanelHost {
    z-index: 200 !important;
}

.ms-Panel.ms-Panel--md {
    max-width: 500px !important;
}

.jsoneditor-poweredBy {
    display: none;
}

.jsoneditor-search input {
    width: 80px !important;
}

/* END LOADER */

/* Switches */

.switchbox label {
    display: inline-block;
    cursor: pointer;
    position: relative;
    width: 180px;
    height: 23px;
    border: 1px solid #fff;
    border-radius: 3px;
}

.switchbox label span.on,
.switchbox label span.off {
    position: absolute;
    top: 0;
    width: 50%;
    line-height: 1.4;
    font-size: 13px;
    font-weight: 600;
    height: 19px;
    padding: 2px 0;
    text-align: center;
    color: #2e3945;
}

.switchbox span.on {
    color: black;
    right: inherit;
    left: 0;
    border-bottom-right-radius: 2px;
    border-top-right-radius: 2px;
}

.switchbox span.off {
    right: 0;
    color: black;
    border-bottom-right-radius: 2px;
    border-top-right-radius: 2px;
}

.switchbox input {
    display: none;
}

.switchbox input:checked+label:before {
    color: black;
}

.switchbox input:checked+label:after {
    color: #737373;
}

label {
    position: relative;
}

.switchbox input+label:before {
    transition: 0.1s;
    transition-timing-function: ease-out;
    content: "";
    display: block;
    width: 50%;
    height: 23px;
    position: absolute;
    left: 0;
    top: 0;
    background: #a2afbd88;
    /* W3C */
}

.switchbox input:checked+label:before {
    left: 50%;
}

/* Switches end */

/* Loader center wrapper */

.load-wrapper {
    position: relative;
    width: 0;
    left: 50%;
    margin-top: 70px;
    z-index: -1;
}

.load-wrapper .loader {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

/* Horizontal loader */

.hloader,
.hloader:before,
.hloader:after {
    border-radius: 50%;
    width: 2.5em;
    height: 2.5em;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation: load7 1.8s infinite ease-in-out;
    animation: load7 1.8s infinite ease-in-out;
}

.hloader {
    color: inherit;
    font-size: 2px;
    display: inline-block;
    margin-left: 10px;
    vertical-align: super;
    /* font-size: 10px; */
    /* margin: 80px auto; */
    position: relative;
    text-indent: -9999em;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation-delay: -0.16s;
    animation-delay: -0.16s;
}

.hloader:before,
.hloader:after {
    content: '';
    position: absolute;
    top: 0;
}

.hloader:before {
    left: -3.5em;
    -webkit-animation-delay: -0.32s;
    animation-delay: -0.32s;
}

.hloader:after {
    left: 3.5em;
}

@-webkit-keyframes load7 {

    0%,
    80%,
    100% {
        box-shadow: 0 2.5em 0 -1.3em;
    }

    40% {
        box-shadow: 0 2.5em 0 0;
    }
}

@keyframes load7 {

    0%,
    80%,
    100% {
        box-shadow: 0 2.5em 0 -1.3em;
    }

    40% {
        box-shadow: 0 2.5em 0 0;
    }
}

/* Horizontal loader */

/* Icon status element */

div.icon-status {
    display: flex;
    height: 24px;
    padding: 15px 0 15px 0;
}

div.icon-status.unknown {
    color: #aaabb3;
}

div.icon-status.valid {
    color: #32a852;
}

div.icon-status.invalid {
    color: #de2f2f;
}

div.icon-status p {
    margin: 0;
    margin-left: 5px;
    font-weight: bold;
}

/* Icon status element */

/* Circle loader */

.circleloader {
    display: block;
    color: inherit;
    font-size: 3px;
    font-weight: bold;
    margin: 25.5px 0 25.5px 10px;
    /* padding: 10px 0 10px 0; */
    /* margin: 100px auto; */
    width: 1em;
    height: 1em;
    border-radius: 50%;
    position: relative;
    text-indent: -9999em;
    -webkit-animation: load4 1.3s infinite linear;
    animation: load4 1.3s infinite linear;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
}

@-webkit-keyframes load4 {

    0%,
    100% {
        box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
    }

    12.5% {
        box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
    }

    25% {
        box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
    }

    37.5% {
        box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
    }

    50% {
        box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
    }

    62.5% {
        box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
    }

    75% {
        box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
    }

    87.5% {
        box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
    }
}

@keyframes load4 {

    0%,
    100% {
        box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
    }

    12.5% {
        box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
    }

    25% {
        box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
    }

    37.5% {
        box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
    }

    50% {
        box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
    }

    62.5% {
        box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
    }

    75% {
        box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
    }

    87.5% {
        box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
    }
}

/* Circle loader */

/* Datepicker */

.datepicker {
    display: block;
}

.datepicker p {
    display: inline-block;
    margin-right: 10px;
    font-weight: bold;
    margin: 0;
}

.datepicker .elm-datepicker--container {
    display: inline-block;
    vertical-align: middle;
    width: 80%;
}

.datepicker i {
    vertical-align: middle;
    width: 24px;
}

/* Tag List */

.taglist {
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
    width: 100%;
    padding: 10px 0px;
}

.taglist div {
    margin: 4px 0;
    padding: 1px 8px;
    font-size: 10px;
    font-weight: bold;
    color: #FFF;
    background-color: #000;
    border-radius: 5px;
    cursor: pointer;
    box-shadow: -2px 2px 3px rgba(0, 0, 0, 0.35);
}

.taglist div:hover {
    box-shadow: -2px 2px 3px rgba(0, 0, 0, 0.6);
}

.taglist div:active {
    box-shadow: -2px 2px 3px rgba(0, 0, 0, 0.35);
    ;
}

/* Color picker */

.settings-content .color-picker-container {
    width: 100%;
    box-shadow: none !important;
}

.settings-content .color-picker-container>div {
    width: 100%;
}

.settings-content .color-picker-container>div svg {
    width: 100%;
}

.settings-content .color-picker-container>div svg rect {
    width: 100%;
}

.settings-content .color-picker-container>div.color-picker-slider {
    margin: auto;
}

/* Checkbox */

.exp {
    display: table;
}

.exp .checkbox {
    display: table-cell;
    width: 100%;
    height: 100%;
    vertical-align: middle;
    text-align: center;
    background-color: inherit;
}

.exp .checkbox label {
    display: inline-block;
    color: #000;
    cursor: pointer;
    position: relative;
}

.exp .checkbox label span {
    display: inline-block;
    position: relative;
    background-color: transparent;
    width: 25px;
    height: 25px;
    transform-origin: center;
    border: 2px solid #000;
    border-radius: 50%;
    vertical-align: -6px;
    margin-right: 10px;
    transition: background-color 150ms 200ms, transform 350ms cubic-bezier(0.78, -1.22, 0.17, 1.89);
}

.exp .checkbox label span:before {
    content: "";
    width: 0px;
    height: 2px;
    border-radius: 2px;
    background: #0003;
    position: absolute;
    transform: rotate(45deg);
    top: 13px;
    left: 9px;
    transition: width 50ms ease 50ms;
    transform-origin: 0% 0%;
}

.exp .checkbox label span:after {
    content: "";
    width: 0;
    height: 2px;
    border-radius: 2px;
    background: #0003;
    position: absolute;
    transform: rotate(305deg);
    top: 16px;
    left: 10px;
    transition: width 50ms ease;
    transform-origin: 0% 0%;
}

.exp .checkbox label:hover span:before {
    width: 5px;
    transition: width 100ms ease;
}

.exp .checkbox label:hover span:after {
    width: 10px;
    transition: width 150ms ease 100ms;
}

.exp .checkbox input[type="checkbox"] {
    display: none;
}

.exp .checkbox input[type="checkbox"]:checked+label span {
    background-color: #000;
    transform: scale(1.25);
}

.exp .checkbox input[type="checkbox"]:checked+label span:after {
    width: 10px;
    /* background: #1790b5; */
    background: #74bf60;
    transition: width 150ms ease 100ms;
}

.exp .checkbox input[type="checkbox"]:checked+label span:before {
    width: 5px;
    /* background: #1790b5; */
    background: #74bf60;
    transition: width 150ms ease 100ms;
}

.exp .checkbox input[type="checkbox"]:checked+label:hover span {
    background-color: #000;
    transform: scale(1.25);
}

.exp .checkbox input[type="checkbox"]:checked+label:hover span:after {
    width: 10px;
    /* background: #1790b5; */
    background: #74bf60;
    transition: width 150ms ease 100ms;
}

.exp .checkbox input[type="checkbox"]:checked+label:hover span:before {
    width: 5px;
    /* background: #1790b5; */
    background: #74bf60;
    transition: width 150ms ease 100ms;
}


/* Color Picker */

.colorpicker .--color-values {
    display: flex;
    flex-direction: row;
}

.colorpicker .--saturation-luminance {
    display: grid;
    grid-template-columns: 1fr;
    position: relative;
}

.colorpicker .--colorpicker-overlay {
    grid-row-start: 1;
    grid-column-start: 1;
}

.colorpicker .color {
    grid-row-start: 1;
    grid-column-start: 1;
}

.colorpicker .cursor {
    grid-row-start: 1;
    grid-column-start: 1;
    width: 12px;
    height: 12px;
    border: 3px solid #000;
    border-radius: 100%;
    /* padding: 3px; */
    z-index: 100;
}

canvas.color {
    cursor: crosshair;
    background: -webkit-linear-gradient(top, hsl(0, 0%, 100%) 0%, hsla(0, 0%, 100%, 0) 50%, hsla(0, 0%, 0%, 0) 50%, hsl(0, 0%, 0%) 100%), -webkit-linear-gradient(left, hsl(0, 0%, 50%) 0%, hsla(0, 0%, 50%, 0) 100%);
}

.color-slider {
    -webkit-appearance: none;
    margin: 0;
    width: 100%;
    height: 25px;
    /* background: #d3d3d3; */
    /* background-image: linear-gradient(to right, red,orange,yellow,green,blue,indigo,violet); */
    background-image: linear-gradient(to right, red 0%, #ff0 17%, lime 33%, cyan 50%, blue 66%, #f0f 83%, red 100%);
    outline: none;
    opacity: 0.7;
    -webkit-transition: .2s;
    transition: opacity .2s;
}

.color-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 10px;
    height: 25px;
    /* background: #4CAF50; */
    /* background: transparent; */
    background: inherit;
    border: 2px solid #000;
    cursor: pointer;
}

.color-slider::-moz-range-thumb {
    width: 25px;
    height: 25px;
    background: #4CAF50;
    cursor: pointer;
}

/* Color Preview */

.preview {
    display: block;
    width: 60%;
    margin: 0 auto;
    padding: 20px 0;
}

.preview .top {
    width: 60%;
    display: block;
    margin: auto;
}

.--preview {
    display: flex;
    height: 140px;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
}

.--preview>div {
    display: inline-block;
    position: relative;
    width: calc(50% - 5px);
    height: 100px;
    cursor: pointer;
    transition: linear;
    transition-duration: 0.1s;
    margin: auto 0;
}

.--preview>div:nth-child(1) {
    border-top-left-radius: 15px;
    border-bottom-left-radius: 15px;
    /* padding: 5px 0 5px 5px; */
    /* background-color: linear-gradient(to left, black 0%, white 100%); */
}

.--preview>div:nth-child(2) {
    border-top-right-radius: 15px;
    border-bottom-right-radius: 15px;
    /* padding: 5px 5px 5px 0; */
}

.--preview>div>div {
    width: 100%;
    height: 100%;
}

.--preview>div:nth-child(1)>div {
    border-top-left-radius: 15px;
    border-bottom-left-radius: 15px;
}

.--preview>div:nth-child(2)>div {
    border-top-right-radius: 15px;
    border-bottom-right-radius: 15px;
}

.--preview>div p {
    position: absolute;
    top: 10px;
    left: 10px;
    font-weight: bold;
    font-size: 11px;
}

/* Animated textbox */

.textbox-animated {
    position: relative;
    width: 200px;
    height: 40px;
    overflow: hidden;
}

.textbox-animated input[type="text"],
.textbox-animated input[type="text"]+label {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    color: black;
}

.textbox-animated input[type="text"] {
    padding-top: 6px;
    outline: none;
    top: 0;
}

.textbox-animated input[type="text"]+label {
    pointer-events: none;
    border-bottom: 1px solid gray;
    bottom: 0;
    /* color: #005999; */
    color: black;
}

.textbox-animated input[type="text"]+label span {
    position: absolute;
    left: 0;
    bottom: 0;
    color: gray;
    transition: all 0.15s ease;
}

.textbox-animated input[type="text"]+label span i {
    margin: auto;
    margin-right: 2px;
}

.textbox-animated input[type="text"]+label::after {
    content: "";
    position: absolute;
    width: 100%;
    left: -100%;
    bottom: -1px;
    border-bottom: 2px solid;
    transition: all 0.15s ease;
}

.textbox-animated.empty input[readonly]+label span,
.textbox-animated.empty input[readonly]:focus+label span {
    color: grey;
    transform: translate(0%);
}

.textbox-animated input[type="text"]:focus+label span,
.textbox-animated input[type="text"]:valid+label span,
.textbox-animated input[readonly]+label span {
    display: flex;
    transform: translateY(-100%);
    font-size: 12px;
    /* color: #005999; */
    color: inherit;
}

.textbox-animated.empty input[readonly]+label::after {
    left: 0%;
    color: grey;
}

.textbox-animated input[type="text"]:focus+label::after,
.textbox-animated input[type="text"]:valid+label::after,
.textbox-animated input[readonly]+label::after {
    left: 0%;
    color: inherit;
}


.textbox-animated input[type="text"]:focus+label span i,
.textbox-animated input[type="text"]:valid+label span i,
.textbox-animated input[readonly]+label span i {
    font-size: 18px;
}

/* Image Container */

.image-display {
    display: block;
    width: 500px;
    margin-top: 30px;
}

.image-display .--image-selection p,
.image-display .--image-selection img {
    display: inline-block;
}

.image-display .--image-selection p {
    margin-right: 20px;
}

.image-display .--image-selection img {
    height: 30px;
}

.image-display .--image-container {
    display: flex;
    width: 100%;
    min-height: 100px;
    padding: 20px;
    flex-direction: row;
    flex-flow: wrap;
    justify-content: space-between;
    overflow: hidden;
    border: 1px solid;
    cursor: pointer;
}

.image-display .--image-container img {
    height: 50px;
}

/* Image List */

.image-list {
    width: 100%;
    margin-top: 20px;
    margin-bottom: 20px;
}

.image-list .actions {
    display: flex;
    flex-direction: row;
    padding: 5px 0;
}

.image-list .container {
    display: flex;
    position: relative;
    padding: 0;
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-evenly;
    border: 2px solid #005999;
    border-radius: 10px;
    overflow: hidden;
    transition: linear 0.2s;
}

.image-list .container.loading {
    height: 10px;
}

.image-list .container.loaded {
    padding: 20px;
}

.image-list .container div {
    display: block;
    position: absolute;
    width: 10%;
    height: 100%;
    left: -10%;
    background-color: #005999;
}

.image-list .container.loading div {
    animation-name: slidein;
    animation-duration: 1s;
    animation-iteration-count: infinite;
}

@keyframes slidein {
    from {
        left: -10%;
    }

    to {
        left: 100%;
    }
}

.image-input label {
    display: inline-block;
}

.image-list .container img:hover {
    background-color: #e0e0e0;
}

/* START TOOLTIP STYLES */

[tooltip] {
    position: relative;
    /* opinion 1 */
}

/* Applies to all tooltips */

[tooltip]::before,
[tooltip]::after {
    text-transform: none;
    /* opinion 2 */
    font-size: .9em;
    /* opinion 3 */
    line-height: 1;
    user-select: none;
    pointer-events: none;
    /* position: absolute; */
    display: none;
    opacity: 0;
    z-index: 1002;

    position: absolute;
}

[tooltip]::before {
    content: '';
    border: 5px solid transparent;
    /* opinion 4 */
    z-index: 1001;
    /* absurdity 1 */
}

[tooltip]::after {
    content: attr(tooltip);
    /* magic! */
    /* most of the rest of this is opinion */
    font-family: Helvetica, sans-serif;
    text-align: center;
    /* 
      Let the content set the size of the tooltips 
      but this will also keep them from being obnoxious
      */
    min-width: 3em;
    max-width: 21em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 1ch 1.5ch;
    border-radius: .3ch;
    box-shadow: 0 1em 2em -.5em rgba(0, 0, 0, 0.35);
    background: #333;
    color: #fff;
    z-index: 1000;
    /* absurdity 2 */
}

/* Make the tooltips respond to hover */

:hover > div[tooltip] {
    position: fixed;
}

:hover > div[tooltip]::before,
:hover > div[tooltip]::after {
    display: block;
    opacity: 0.9;
    /* font-size: 20px; */
    /*height: 20px;*/
    top: calc(-21px - var(--drawer-scroll-pos) ) !important;
    /* left: 43px; */
}
.app-menu:hover > div[tooltip]::before,
.app-menu:hover > div[tooltip]::after
{
    top: -12px !important;
}


/* don't show empty tooltips */

[tooltip='']::before,
[tooltip='']::after {
    display: none !important;
}

/* FLOW: UP */

[tooltip]:not([flow])::before,
[tooltip][flow^="up"]::before {
    bottom: 100%;
    border-bottom-width: 0;
    border-top-color: #333;
}

[tooltip]:not([flow])::after,
[tooltip][flow^="up"]::after {
    bottom: calc(100% + 5px);
}

[tooltip]:not([flow])::before,
[tooltip]:not([flow])::after,
[tooltip][flow^="up"]::before,
[tooltip][flow^="up"]::after {
    left: 50%;
    transform: translate(-50%, -.5em);
}

/* FLOW: DOWN */

[tooltip][flow^="down"]::before {
    top: 100%;
    border-top-width: 0;
    border-bottom-color: #333;
}

[tooltip][flow^="down"]::after {
    top: calc(100% + 5px);
}

[tooltip][flow^="down"]::before,
[tooltip][flow^="down"]::after {
    left: 50%;
    transform: translate(-50%, .5em);
}

/* FLOW: LEFT */

[tooltip][flow^="left"]::before {
    top: 50%;
    border-right-width: 0;
    border-left-color: #333;
    left: calc(0em - 5px);
    transform: translate(-.5em, -50%);
}

[tooltip][flow^="left"]::after {
    top: 50%;
    right: calc(100% + 5px);
    transform: translate(-.5em, -50%);
}

/* FLOW: RIGHT */

[tooltip][flow^="right"]::before {
    top: 50%;
    border-left-width: 0;
    border-right-color: #333;
    left: calc(42px + 2px + 0px);
    transform: translate(.5em, -50%);
}

[tooltip][flow^="right"]::after {
    top: 50%;
    /* left: calc(100% + 5px); */
    left: calc(42px + 2px + 5px);

    transform: translate(.5em, -50%);
}

/* KEYFRAMES */

@keyframes tooltips-vert {
    to {
        opacity: .9;
        transform: translate(-50%, 0);
    }
}

@keyframes tooltips-horz {
    to {
        opacity: .9;
        transform: translate(0, -50%);
    }
}

/* FX All The Things */

:hover > div[tooltip]:not([flow])::before,
:hover > div[tooltip]:not([flow])::after,
:hover > div[tooltip][flow^="up"]::before,
:hover > div[tooltip][flow^="up"]::after,
:hover > div[tooltip][flow^="down"]::before,
:hover > div[tooltip][flow^="down"]::after {
    animation: tooltips-vert 300ms ease-out forwards;
}

:hover > div[tooltip][flow^="left"]::before,
:hover > div[tooltip][flow^="left"]::after,
:hover > div[tooltip][flow^="right"]::before,
:hover > div[tooltip][flow^="right"]::after {
    animation: tooltips-horz 300ms ease-out forwards;
}

/* Sidepanel */

.settings {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
}

.settings .content {
    display: block;
    position: absolute;
    width: 70%;
    height: 100%;
    top: 0;
    left: 0;
}

.sidepanel {
    position: absolute;
    width: 30%;
    height: 100%;
    top: 0;
    right: 0;
    background-color: #FFF;
    border-left: 2px solid #d1d1d1;
    overflow-y: scroll;
}

.sidepanel-content {
    height: 100%;
    padding: 20px;
}

/* Checkbox */

/* The container */

.cb {
    display: block;
    position: relative;
    padding-left: 28px;
    /* margin-bottom: 12px; */
    cursor: pointer;
    font-size: 14px;
    color: #000;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Hide the browser's default checkbox */

.cb input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* Create a custom checkbox */

.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 17px;
    width: 17px;
    margin-top: 4px;
    background-color: #eee;
}

/* On mouse-over, add a grey background color */

.cb:hover input~.checkmark {
    background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */

.cb input:checked~.checkmark {
    /*background-color: #2196F3;*/
    background-color: #45aa11
}

/* Create the checkmark/indicator (hidden when not checked) */

.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the checkmark when checked */

.cb input:checked~.checkmark:after {
    display: block;
}

/* Style the checkmark/indicator */

.cb .checkmark:after {
    /* left: 9px;
    top: 5px; */
    left: 5px;
    top: 1px;
    width: 4px;
    height: 9px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* Collapsibles */

.collapsible ul {
    height: 0;
    overflow: hidden;
    transition: 0.2s;
}

.collapsible.collapsed>ul {
    height: auto;
}

.collapsible i {
    cursor: pointer;
    -webkit-touch-callout: none;
    /* iOS Safari */
    -webkit-user-select: none;
    /* Safari */
    -khtml-user-select: none;
    /* Konqueror HTML */
    -moz-user-select: none;
    /* Old versions of Firefox */
    -ms-user-select: none;
    /* Internet Explorer/Edge */
    user-select: none;
    /* Non-prefixed version, currently
                                  supported by Chrome, Opera and Firefox */
}

.collapsible-options {
    position: absolute;
    display: flex;
    flex-direction: row;
    top: 0;
    width: 100%;
    height: 30px;
}

.collapsible-options span {
    font-weight: bold;
    padding: 5px;
    cursor: pointer;
}

.collapsible-options span:hover {
    text-decoration: underline;
}

/* Tree */

ul.tree {
    list-style-type: none;
    padding: 0;
}

ul.tree li title {
    display: flex;
    flex-direction: row;
}

ul.tree li i {
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
}

/* Notification Overlay */

.notification {
    display: none;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 100;
}

.notification.show {
    display: flex;
}

.notification .notification-overlay {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.35);
    z-index: 100;
}

.notification .notification-content {
    display: block;
    position: fixed;
    width: 450px;
    height: 250px;
    padding: 10px;
    border-radius: 10px;
    background-color: #FFF;
    z-index: 101;
}

.notification .notification-content h4 {
    margin: 0;
    margin-bottom: 10px;
    font-weight: bold;
    overflow: hidden;
    text-overflow: ellipsis;
}

.notification .notification-content .notification-actions {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    justify-items: center;
    position: absolute;
    bottom: 5px;
    right: 5px;
}

.notification .notification-content .notification-actions button {
    margin-left: 5px;
    margin-right: 5px;
}

/* Basic Flex */

.flex-row {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.tag {
    position: absolute;
    background-color: #e0e0e0;
    color: #000;
    top: 10px;
    right: 10px;
    text-align: center;
    border-radius: 5px;
    font-size: 14px;
    font-weight: bold;
    padding: 5px;
}

/* Documents page */
#document-wrap {
    position: relative;
    width: 100%;
    height: 100%;
}

#documents {
    position: relative;
    width: 100%;
    height: 100%;
    overflow-y: auto;
}

#documents .actions {
    display: flex;
    position: sticky;
    top: 0;
    width: 100%;
    height: 42px;
    align-items: center;
    z-index: 1;
    background-color: #FFF;
}

#documents .blob-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

#documents .blob-list li {
    list-style: none;
    margin: 0;
    padding: 5px 2px;
    border-bottom: 1px solid #e0e0e0;
    font-weight: bold;
}

#documents .blob-list li:nth-child(1) {
    border-top: 1px solid #e0e0e0;
}

#documents .blob-list li p {
    margin-left: 5px;
}

#documents .blob-table {
    position: relative;
    width: 100%;
    border-spacing: 0;
    table-layout: fixed;
}

#documents .blob-table tr th {
    text-align: left;
    position: sticky;
    top: 42px;
    z-index: 1;
}

#documents .blob-table tr td {
    padding: 4px 0;
    border-bottom: 1px solid #e0e0e0;
}

#documents .blob-table tr td:nth-child(3) p {
    font-weight: bold;
    cursor: pointer;
}

#documents .blob-table tr td:nth-child(3) p:hover {
    text-decoration: underline;
}

#documents .blob-table tr td:nth-child(4) p {
    width: 95%;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

#document-wrap .sidebar {
    width: 0;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    background-color: #FFF;
    overflow: hidden;
}

#document-wrap .sidebar.show {
    width: 20%;
    padding: 20px;
    border-left: 1px solid #e0e0e0;
    transition: 0.2s;
}

#document-wrap .sidebar .-choose-file {
    display: flex;
    align-items: flex-end;
}

.clickable {
    cursor: pointer;
    -webkit-touch-callout: none;
    /* iOS Safari */
    -webkit-user-select: none;
    /* Safari */
    -khtml-user-select: none;
    /* Konqueror HTML */
    -moz-user-select: none;
    /* Old versions of Firefox */
    -ms-user-select: none;
    /* Internet Explorer/Edge */
    user-select: none;
    /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}

#documents .blob-table .file-extension {
    width: 18px;
    height: 18px;
    max-width: 18px;
    max-height: 18px;
    vertical-align: middle;
}

/* Documents page END */

/* Service Principal Settings */

#principal-settings>h4 {
    margin-bottom: 10px;
}

#principal-settings>span {
    font-weight: bold;
}


/* Service Principal Settings END */