﻿:root {
    font-size: 12px;
    font-family: 'Open Sans';
    --text-primary: #000;
    --text-secondary: #000;
    --bg-primary: #23232e;
    --bg-secondary: #141418;
    --transition-speed: 500ms;
    --client-color: #005cab;
    --client-text-color: #FFF;
    --top-header-height: 5rem;
    --btn-primary-color: #000;
    --btn-primary-hover-color: #1F1F1F;
    --left-nav-width: 5rem;
    --left-nav-expanded-width: 25rem; /* Set to 31rem if wanting to fit 50 characters into the nav in future - 4-27-21cp */
    --left-nav-item-height: 5rem;
}
html {
    height:100% !important;
}

body {
    color: black;
    background-color: white;
    margin: 0;
    padding: 0;
    overflow: visible;
    height:100% !important;
}

body::-webkit-scrollbar {
    display: none;
}

main::-webkit-scrollbar {
    width: 0.5rem;
    height: 0.5rem;
}

main::-webkit-scrollbar-track {
    background-color: transparent;
}

main::-webkit-scrollbar-thumb {
    background: #999999;
    border-radius: 0.25rem;
}

main {
    overflow: scroll !important;
    overflow-x: scroll !important;
    overflow-y: scroll !important;
}

.ml {
    margin-left: var(--left-nav-width);
    height: calc(100% - var(--top-header-height));
}

.navbar {
    position: fixed;
    background-color: var(--bg-primary);
    transition: width 600ms ease;
    z-index: 100;
    -webkit-box-shadow: 2px 0px 3px 0px rgba(34,34,34,0.6);
    -moz-box-shadow: 2px 0px 3px 0px rgba(34,34,34,0.6);
    box-shadow: 2px 0px 3px 0px rgba(34,34,34,0.6);
}

.navbar:hover, .navbar.expanded {
}

.navbar-nav {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: calc(100vh - var(--top-header-height));
}

.nav-item {
    height: 40px;
    width: 100%;
    font-weight: 700;
    white-space: nowrap;
}

.nav-link {
    height: 40px !important;
    display: flex;
    align-items: center;
    height: var(--left-nav-item-height);
    color: var(--text-primary);
    text-decoration: none;
    filter: grayscale(100%) opacity(0.8);
    transition: var(--transition-speed);
}

.nav-link:hover {
    filter: grayscale(0%) opacity(1);
    background: var(--client-color);
    color: var(--client-text-color);
}

.link-text {
    display: none;
    margin-left: 1rem;
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 30ch;
}

.nav-link svg {
    width: 2rem;
    min-width: 2rem;
    margin: 0 1.5rem;
}

.logo {
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 1rem;
    text-align: center;
    color: var(--text-secondary);
    background: var(--bg-secondary);
    font-size: 1.2rem;
    letter-spacing: 0.3ch;
    width: 100%;
}

    .logo svg {
        transform: rotate(0deg);
        transition: var(--transition-speed);
    }

.logo-text {
    display: inline;
    position: absolute;
    left: -999px;
    transition: var(--transition-speed);
}

.navbar:hover .logo svg, .navbar.expanded .logo svg {
    transform: rotate(-180deg);
}

.top-row {
    height: var(--top-header-height);
    display: flex;
    align-items: center;
    background-color: var(--client-color);
    -webkit-box-shadow: 0px 2px 3px 0px rgba(34,34,34,0.6);
    -moz-box-shadow: 0px 2px 3px 0px rgba(34,34,34,0.6);
    box-shadow: 0px 2px 3px 0px rgba(34,34,34,0.6);
    z-index: 150;
}

.floating-button span {
    color: white;
    align-content: center;
    margin: 0 auto;
}

.floating-button:hover {
    filter: grayscale(0%) opacity(1);
    cursor: pointer;
}

/* Small screens */
@media only screen and (max-width: 600px) {
    .navbar {
        bottom: 0;
        width: 100vw;
        height: var(--left-nav-item-height);
    }

    .logo {
        display: none;
    }

    .main {
        margin: 0;
        overflow: scroll;
    }

    .navbar-nav {
        flex-direction: row;
    }

    .nav-link {
        justify-content: center;
    }
}

/* Large screens */
@media only screen and (min-width: 600px) {
    .navbar {
        top: var(--top-header-height);
        width: var(--left-nav-width);
        height: calc(100vh - var(--top-header-height));
        -ms-overflow-style: none;
    }

        .navbar::-webkit-scrollbar {
            display: none;
        }

        .navbar:hover, .navbar.expanded {
            width: 20rem;
            width: var(--left-nav-expanded-width);
        }

            .navbar:hover::-webkit-scrollbar, .navbar.expanded::-webkit-scrollbar {
                width: 0.25rem;
                display: block;
            }

            .navbar:hover::-webkit-scrollbar-track, .navbar.expanded::-webkit-scrollbar-track {
                background: #FFF;
                opacity: 0.1;
            }

            .navbar:hover::-webkit-scrollbar-thumb, .navbar.expanded::-webkit-scrollbar-thumb {
                background: #999999;
                border-radius: 0.25rem;
            }

            .navbar:hover .link-text, .navbar.expanded .link-text {
                display: inline;
            }

            .navbar:hover .logo svg, .navbar.expanded .logo svg {
                margin-left: calc(var(--left-nav-expanded-width) - 4rem);
            }

            .navbar:hover .logo-text, .navbar.expanded .logo-text {
                left: 0px;
            }
}

.dark {
    --text-primary: #b6b6b6;
    --text-secondary: #ececec;
    --bg-primary: #23232e;
    --bg-secondary: #141418;
}

.light {
    --text-primary: #1f1f1f;
    --text-secondary: #000000;
    --bg-primary: #ffffff;
    --bg-secondary: #e4e4e4;
}

.solar {
    --text-primary: #576e75;
    --text-secondary: #35535c;
    --bg-primary: #fdf6e3;
    --bg-secondary: #f5e5b8;
}

.theme-icon {
    display: none;
}

.dark #darkIcon {
    display: block;
}

.light #lightIcon {
    display: block;
}

.solar #solarIcon {
    display: block;
}

.login-container {
    margin-left: auto;
    margin-right: 2rem;
}

.login-link {
    text-decoration: none;
    color: var(--client-color);
    font-weight: bold;
    padding: .75rem;
    border-radius: 0.25rem;
    background-color: var(--client-text-color);
    transition-duration: 100ms;
    -webkit-box-shadow: 2px 2px 5px 0px rgba(105,105,105,1);
    -moz-box-shadow: 2px 2px 5px 0px rgba(105,105,105,1);
    box-shadow: 2px 2px 5px 0px rgba(105,105,105,1);
}

    .login-link:hover {
        -webkit-box-shadow: 3px 3px 5px 0px rgba(105,105,105,1);
        -moz-box-shadow: 3px 3px 5px 0px rgba(105,105,105,1);
        box-shadow: 3px 3px 5px 0px rgba(105,105,105,1);
        cursor: pointer;
    }

.login-form {
    width: 340px;
    margin: 0 auto;
    margin-top: 8rem;
}

.client-image-container {
    margin-left: 2rem;
}

.client-image-container img {
    height: 100%;
    max-height: calc(var(--top-header-height) - 9px);
}

.report-container {
    
}

.report-container iframe {
    overflow: auto !important;
    overflow-x: auto !important;
    overflow-y: auto !important;
}

.expanded-content {
    margin-left: calc(var(--left-nav-expanded-width) - 5rem);
}

.text-danger {
    color: red;
}

.text-large {
    font-size: 1.25rem;
}

.auth-form-body {
    border: 1px solid #d8dee2;
    border-radius: 0.5rem;
    background-color: #fff;
    padding: 20px;
}

.auth-form-body label {
    display: block;
    margin-bottom: 0.5rem;
    text-align: left;
    font-weight: 600;
}

.auth-form-body input:not([type=submit]) {
    margin-top: 5px;
    margin-bottom: 15px;
    display: block;
    width: 100%;
    padding: 5px 12px;
    line-height: 20px;
    color: #24292e;
    vertical-align: middle;
    background-color: #fff;
    background-repeat: no-repeat;
    border: 1px solid #e1e4e8;
    border-radius: 6px;
    outline: none;
    box-shadow: inset 0 1px 0 rgba(225, 228, 232, .2);
    box-sizing: border-box;
}

.auth-form-body input:not([type=submit]):focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(3,102,214,.3);
    border-color: #0366d6;
}

.auth-form-body input[type=submit] {
    margin-top: 20px;
    display: block;
    width: 100%;
    text-align: center;
    color: #fff;
    background-color: #2ea44f;
    border-color: rgba(27,31,35,.1);
    box-shadow: 0 1px 0 rgba(27, 31, 35, .1), inset 0 1px 0 hsla(0,0%,100%,.03);
    transition: background-color .2s cubic-bezier(.3,0,.5,1);
    position: relative;
    padding: 5px 16px;
    font-weight: 500;
    line-height: 20px;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    border: 1px solid;
    border-radius: 6px;
}

.auth-form-body input[type=submit]:focus {
    box-shadow: 0 0 0 3px rgba(46,164,79,.4);
}

.auth-note {
    padding: 15px 20px;
    text-align: center;
    border: 1px solid #d8dee2;
    border-radius: 5px;
}

.auth-note a {
    color: #0366d6;
    text-decoration: none;
}

.auth-note a:hover {
    text-decoration: underline;
}

.auth-form-body input[type=submit]:hover {
    background-color: #2c974b;
}

/* Light Gray Tooltip theme */

.tippy-tooltip.epi-theme {
    background-color: #f2f2f2 !important;
    color: black !important;
}

.tippy-tooltip.epi-theme[data-placement^='right'] .tippy-arrow {
    border-right-color: #f2f2f2 !important;
}

/* Black Tooltip theme */

.tippy-tooltip.epiblack-theme {
    background-color: #000 !important;
    color: #fff !important;
}

.tippy-tooltip.epiblack-theme[data-placement^='right'] .tippy-arrow {
    border-right-color: #000 !important;    
}

/* Dark Gray Tooltip theme */

.tippy-tooltip.epidarkgray-theme {
    background-color: #656363 !important;
    color: #FFF !important;
}

.tippy-tooltip.epidarkgray-theme[data-placement^='right'] .tippy-arrow {
    border-right-color: #656363 !important;
}

/* Dark Gray Tooltip theme */

.tippy-tooltip.epidarkgraybordered-theme {
    background-color: #656363 !important;
    color: #FFF !important;
    border:1px solid #565656 !important;
}

.tippy-tooltip.epidarkgraybordered-theme[data-placement^='right'] .tippy-arrow {
    border-right-color: #565656 !important;
}


/* client Tooltip theme */

.tippy-tooltip.epiclient-theme {
    border: 1px solid var(--client-text-color) !important;
    background-color: var(--client-color) !important;
    color: var(--client-text-color) !important;
}

.tippy-tooltip.epiclient-theme[data-placement^='right'] .tippy-arrow {
    border-right-color: var(--client-text-color) !important;
    left:-9px !important;
}