
/* System UI font stack https://medium.design/system-shock-6b1dc6d6596f */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    background-color: #e4e5e6;
    /* These enables the body and therefore the sidebar to be the full height of the browser on desktop and iOS */
    position: relative;
    min-height: 100vh;
}

.semi-bold {
    font-weight: 500;
}
.bold {
    font-weight: 700;
}

.hidden {
    display: none;
}

.inactive {
    font-style: italic;
    opacity: 0.7;
}

label.form-required:after {
    content: ' *';
}
.mw800 {
    max-width: 800px;
}
.mw1000 {
    max-width: 1000px;
}
.mw1200 {
    max-width: 1200px;
}
.fs12 {
    font-size: 12px;
}
.text-faded {
    color: #909090 !important;
}
.img-responsive {
    max-width: 100%;
}
a.plain {
    color: inherit;
}
/* SimpleMDE override -------------------------------------------------------*/
.CodeMirror .CodeMirror-code .cm-link {
    color: #636363 !important;
}
.CodeMirror .CodeMirror-code .cm-url {
    color: #636363 !important;
    font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
}
/* Layout and sidebar -------------------------------------------------------*/
#toggler {
    font-size: 20px;
}
#sidebar {
    background-color: #AAA;
    width: 250px;
    height: calc(100% - 57px); /* 100% of the body, which is 100vh - full height, less the navbar */
    position: absolute;
    top: 57px;
    left: 0;
    z-index: 995; /* User dropdown has z-index 1000 so it's above this if clicked */
    transition: all 0.3s;
}
@media (max-width: 991px) {
    #sidebar {
        left: -250px;
    }
}

#sidebar.active {
    left: 0;
}

.overlay {
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    top: 57px;
    left: 0;
    display: none;
    z-index: 994; /* Below sidebar but above most things */
}

#main {
    padding-top: 57px;
}
@media (min-width: 992px) {
    #main {
        padding-left: 250px;
    }
}

/* Sidebar styling ----------------------------------------------------------*/
#sidebar {
    background-color: #2f353a;
    color: #FFF;
    overflow: auto; /* Make sure that if the options expand below the original size it enlarges to fit */
}

ul.sidebar-nav,
ul.sidebar-subnav {
    display: flex;
    flex-direction: column;
    list-style-type: none;
    padding: 0;
    margin-bottom: 0;
    min-height: 100%;
}
ul.sidebar-nav li a {
    padding: .75rem 1.5rem;
}
ul.sidebar-subnav li {
    padding: 0;
}
ul.sidebar-subnav li a {
    padding-left: 3rem;
}
ul.sidebar-nav li.active a,
ul.sidebar-subnav li.active a{
    background-color: #444e55;
}
ul.sidebar-nav li a:hover {
    background-color: #0883c5;
    text-decoration: none;
}
ul.sidebar-nav li a {
    display: block;
    color: #FFF;
}

/* Header -------------------------------------------------------------------*/
nav.navbar {
    padding: 4px 16px;
    min-height: 57px;
    height: 57px;
}
.navbar-light .navbar-brand, .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:active {
    font-weight: 400;
    font-size: 26px;
    color: #43515f;
}
.navbar-brand img {
    margin-left: 5px;
    margin-bottom: 5px;
    max-width: 100px;
}
nav .nav-toggle {
    display: none;
}
header a, header button, header .btn {
    color: #73818f;
}
header a:hover, header button:hover, header .btn:hover,
header a:active, header button:active, header .btn:active {
    color: #5f656b;
}
@media (max-width:991px) {
    .navbar-brand {
        display: block;
        position: absolute;
        left: 50%;
        margin-left: -55px;
    }
    nav .nav-toggle {
        display: inline;
    }
    nav .nav-toggle .btn {
        color: #73818f;
    }
    nav .nav-toggle .btn:hover, nav .nav-toggle .btn:active {
        color: #5f656b;
    }
}

.user-thumb {
    border-radius: 50%;
    max-width: 41px;
}

/* Breadcrumbs --------------------------------------------------------------*/
#breadcrumbs ol {
    background: #FFFFFF;
    border-top: 1px solid #c8ced3;
    border-bottom: 1px solid #c8ced3;
    border-radius: 0;
    margin: 0;
}

/* Alerts -------------------------------------------------------------------*/
#alert {
    min-height: 47px;
    border-radius: 0;
}

.bg-alert-danger {
    background-color: #fee2e1;
}
.bg-alert-warning {
    background-color: #fff6d9;
}

/* Tables -------------------------------------------------------------------*/
.table th, .table td {
    border-top-color: #edf1f5;
}
tr.no-top-border td, tr.no-top-border th {
    border-top: none;
}

div.dataTables_wrapper .search div.dataTables_filter label {
    width: 100%;
}
div.dataTables_wrapper .search div.dataTables_filter input {
    display:block;
    width: 100%;
}

/* Notes Tables -------------------------------------------------------------*/

table.notes tr:first-child td {
    border-top: none;
}
table.notes td:first-child {
    width: 150px;
}
@media (max-width: 500px) {
    table.notes td:first-child {
        width: 100px;
    }
}

/* User info component ------------------------------------------------------*/
table .user-info img {
    margin: 0 auto;
    display: block;
    border-radius: 50%;
    max-width: 75px;
    border: 2px solid #777777;
}

table .user-info small {
    display: block;
    text-align: center;
    margin-top: 3px;
    color: #333333;
}

table .user-info small+small {
    margin-top: 0;
}

/* Labels -------------------------------------------------------------------*/
.labels span {
    background-color: #949494;
    color: #FFFFFF;
    border-radius: 3px;
    margin: 0 3px 3px 0;
    padding: 1px 3px;
    border: 0 solid rgba(0, 0, 0, 0);
}
.labels a {
    text-decoration: none;
}
.labels a span:hover {
    background-color: #0288d1;
}

/* Tags ---------------------------------------------------------------------*/
.tags span {
    background-color: #949494;
    color: #FFFFFF;
    border-radius: 3px;
    margin: 0 3px 3px 0;
    padding: 1px 3px;
    border: 0 solid rgba(0, 0, 0, 0);
}
.tags a {
    text-decoration: none;
}
.tags a span:hover {
    background-color: #015785;
}

/* Content ------------------------------------------------------------------*/
#main .container-fluid {
    padding-top: 15px;
    padding-bottom: 15px;
}
#main .card + .card {
    margin-top: 15px;
}
#main .card-header h5, #main .card-header h6 {
    margin: 4px 0 0 0;
}
/* Icon number badge --------------------------------------------------------*/
.icon-badge:after {
    content: attr(data-count);
    position:absolute;
    right:-25%;
    top:-15%;
    font-size:30%;
    padding:.6em;
    border-radius:999px;
    line-height:.75em;
    color: white;
    background:#015785;
    text-align:center;
    min-width:2em;
    font-weight:900;
    font-family: Consolas, monospace;
}
/* NFP Event Price Options --------------------------------------------------*/
.price-option-group {
    display: grid;
    grid-template-columns: 120px 1fr 100px;
}
/* Stats Grid ---------------------------------------------------------------*/
.stats-grid {
    display: grid;
    grid-template-columns: auto 1fr auto 1fr;
    max-width: 500px;

}
.stats-grid div {
    padding: 3px;
}
.stats-grid .num {
    text-align: right;
    font-weight: bold;
}
.stats-grid .span-all {
    grid-column: auto / span 4;
    font-weight: bold;
    font-size: 1.2em;
}

/* Opportunities ------------------------------------------------------------*/
table.team-opportunity th {
    width: 125px;
}

/* Diff tables --------------------------------------------------------------*/
.diff-table {
    display: grid;
    grid-template-columns: 150px 1fr;
    margin: 25px 0;
}
.diff-table-image {
    grid-template-columns: 0 1fr;
}
div.img-diff {
    max-width: 350px;
    padding: 7px;
}
.diff-table > div {
    padding: .75rem;
    border-top: 1px solid #edf1f5;
    min-height: 45px;
}
.diff-table-image > div {
    padding: 7px;
}
@media(max-width: 650px) {
    .diff-table {
        grid-template-columns: 1fr;
    }
    .diff-table .label {
        padding-bottom: .5rem;
    }
    .diff-table .label + div, .diff-table .label + .old + .new {
        border-top: none;
    }
}
.diff-table div.no-top-border {
    border-top: none;
}
.diff-table .label {
    font-weight: bold;
}
.diff-table .label.updated + .old, .img-diff-table .label.updated + .old {
    display: none;
    background: #fdd;
    cursor: pointer;
}
.diff-table .label.updated + .old + .new, .img-diff-table .label.updated + .old + .new {
    background: #dfd;
    cursor: pointer;
}
.diff-table .label.unchanged + .old + .new {
    display: none;
}
/* Editor metadata ----------------------------------------------------------*/
.editor-metadata {
    color: #6c757d !important;
    font-size: 80%;
    font-weight: 400;
    display:grid;
    grid-template-columns: 70px 1fr;
    grid-row-gap: 4px;
}
.editor-metadata + .editor-metadata {
    margin-top: 4px;
}

/* Projects table -----------------------------------------------------------*/
.projects-table {
    display: grid;
    grid-template-columns: 90px 1fr;
}
.projects-table div {
    padding: 8px 0;
}

/* Wiki ---------------------------------------------------------------------*/
.wiki-content h4 {
    margin-top: 30px;
}
.wiki-content h5 {
    margin-top: 15px;
}
.wiki-content li {
    padding: 2px 0;
}
.wiki-content img {
    display: block;
    margin: 5px auto;
    max-width: 100%;
}
.wiki-post-grid {
    display: grid;
    grid-template-columns: auto 1fr;
}
.wiki-post-grid div {
    padding: 2px 0 0 10px;
}

/* Profile diff -------------------------------------------------------------*/
div.profile-old {
    background: #fdd;
    cursor: pointer;
}
div.profile-new {
    background: #dfd;
    cursor: pointer;
}

