/* Page
------- */

html, body {
    background: #f8f1e0;
}


/* Bootstrap
------------ */

.dropdown-item {
    --bs-dropdown-link-active-bg:  #0c69d0;
}

.page-link {
    color: #0c69d0;
}

.page-link:hover,
.page-link:active {
    color: #0b5db8;
}

.active > .page-link,
.page-link.active {
    color: #fff;
    border-color: #0c69d0;
    background-color: #0c69d0;
}

.btn-primary {
    border-color: #0c69d0;
    background: #0c69d0;
}

.btn-primary:hover,
.btn-primary:focus {
    border-color: #0a51a0;
    background: #0b5db8;
}

.btn-primary:active {
    border-color: #094588;
    background: #0a51a0;
}

.btn-inline {
    padding: 0;
}

.alert {
    color: inherit;
}

.alert-primary {
    border: 2px solid #add2fa;
    background: #f5fafe;
}

.alert-warning {
    border: 2px solid #f5ae65;
    background: #fefaf5;
}

.alert-danger {
    border: 2px solid #f67e7d;
    background: #fef5f5;
}

.alert-success {
    border: 2px solid #7df6bb;
    background: #f5fefa;
}

.tooltip,
.tooltip * {
    pointer-events: none;
}

h1 small,
h2 small,
h3 small,
h4 small,
h5 small {
    font-size: .75em;
}

h1 a small,
h2 a small,
h3 a small,
h4 a small,
h5 a small {
    opacity: .75;
}

    h1 a small:hover,
    h2 a small:hover,
    h3 a small:hover,
    h4 a small:hover,
    h5 a small:hover {
        opacity: 1;
    }

.text-lightish {
    color: #caced1;
}


/* Animations
--------- */

.pulse {
  animation: blinker 1.5s linear infinite;
}

.pulse.minimal {
  animation: minimal-blinker 3s linear infinite;
}

@keyframes blinker {
  50% { opacity: 0; }
}

@keyframes minimal-blinker {
  50% { opacity: 0.25; }
}


/* Navbar
--------- */

.main-nav {
    padding: 15px 0;
    border-bottom: 1px #f8f1e0 solid;
    background: #273749;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .25);
}

    .main-nav .navbar-brand {
        margin: 0;
        padding: 0;
    }

    .main-nav .navbar-brand img {
        height: 32px;
        float: left;
    }

    .main-nav .nav-pills > .nav-item:not(:last-child) {
        margin: 0 0.9375rem 0 0;
    }

        .main-nav .nav-pills > .nav-item > a {
            color: #fff;
        }

            .main-nav .nav-pills > .nav-item > a > .name {
                margin-left: 0.5rem;
            }

            .main-nav .nav-pills > .nav-item > a:hover,
            .main-nav .nav-pills > .nav-item > a:active {
                background: rgba(255, 255, 255, .05);
            }

            .main-nav .nav-pills > .nav-item > a.active {
                background: rgba(255, 255, 255, .15);
            }

                .main-nav .nav-pills > .nav-item > a.active:hover {
                    background: rgba(255, 255, 255, .2);
                }

    .main-nav .nav-pills > .nav-item > .nav-link .icon {
        filter: drop-shadow(0 -1px 0 rgba(0, 0, 0, .5));
    }

    .main-nav .dropdown-menu .icon {
        margin: 0 0.3125rem 0 0;
    }

@media (max-width: 767.98px) {
    .main-nav .nav-pills > .nav-item:not(:last-child) {
        margin: 0 0.625rem 0 0;
    }

    .main-nav .nav-pills > .nav-item > a {
        padding-right: 12px;
        padding-left: 12px;
    }
}


/* Submenu
---------- */

.submenu {
    margin: 1rem 0 0 0;
}

    .submenu .nav-link.active {
        background: #0c69d0;
    }

        .submenu .nav-link.active:hover {
            background: #0b5db8;
        }

        .submenu .nav-link.active:hover {
            background: #0b5db8;
        }

        .submenu .nav-link.active:active {
            background: #0a51a0;
        }

    .submenu .nav-link .icon {
        margin: 0 .5rem 0 0;
    }


/* Containers
------------- */

.shell {
    margin: 1.25rem 0 0 0;
    padding: 1.25rem;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.25);
}

    .shell .heading {
        margin: 0 0 0.75rem 0;
        font-size: 1.75rem;
    }

        .shell .heading a {
            color: #999;
            text-decoration: none;
        }

            .shell .heading a:hover {
                color: #888;
                text-decoration: underline;
            }

    .shell .subheading {
        margin: -.5rem 0 1.5rem 0;
        font-size: 1rem;
        font-weight: normal;
        color: #bbb;
    }

        .shell .subheading::before {
            margin: 0 5px 0 0;
            content: '/';
            color: #eee;
        }

    .shell .container .row > * {
        padding-left: 0;
    }


/* Utilities
------------ */

.message {
    margin: 1.25rem 0 0 0;
}


/* Forms
-------- */

.inline-form {
    display: inline;
}

.inline-btn {
    margin: 0 10px 0 0px;
    padding: 0;
}

    .inline-btn i {
        opacity: .9;
    }

    .inline-btn:hover i {
        opacity: 1;
    }

button.unstyled {
    border: none;
    background: transparent;
}

.submit {
    margin: 1.25rem 0 0 0;
}

.filter-form {
    margin: 0.9375rem 0 0 0;
    padding:  0.9375rem;
    border-radius: 4px;
    background: var(--bs-light);
}

.shell input::placeholder {
    opacity: 0.65;
}

.form-control.small,
.form-select.small {
    max-width: 10rem;
}

form.general {
    margin: 0.9375rem 0 0 0;
    padding: 0.9375rem;
    border-radius: .25rem;
    background: #f7f7f7;
}


/* Select2
---------- */

.select2-selection__rendered {
    line-height: 34px !important;
}
.select2-container .select2-selection--single {
    height: 38px !important;
}
.select2-selection__arrow {
    height: 37px !important;
}

.select2-container--default .select2-selection--single {
    border-color: var(--bs-border-color);
}



/* Table
------- */

.table  {
    margin: 0.9375rem 0;
}

    .table thead th a {
        color: #555;
        text-decoration: none;
    }

    .table thead th a .icon {
        margin: 0 0 0 0.3125rem;
    }

    .table tbody td > a {
        color: #0c69d0;
        text-decoration: none;
    }

        .table tbody td > a:hover {
            color: #0a51a0;
        }

    .table tr.hover td {
        background: #e7e7e7;
    }

        .table tr.hover.sub td {
            background: #f5f5f5;
        }


/* List
------- */

.none {
    display: none;
}

h3 a {
    cursor: pointer;
}

h3 a.expand {
    color: #999;
}

    h3 a.expand:hover {
        color: #777;
    }

.shell .container.list {
    padding-right: 0;
    padding-left: 0;
}

.list .item {
    margin: 0.75rem 0 0 0;
    padding:  .75rem .75rem .625rem .75rem;
    border-radius: 4px;
    background: #f8f9fa;
    box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.1);
}

    .list .item:hover {
        background: #f0f1f2;
        box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.15);
    }

    /* .list .item a {
        color: #888;
    } */

    .list .item > .extra {
        margin: 0 0 0 1rem;
    }

    .controls > .control {
        display: inline;
    }

        .controls > .control:not(:last-child) {
            margin: 0 0.3125rem 0 0;
        }

        .controls > .control > button {
            padding: 0;
        }

        .controls > .control > a,
        .controls > .control > button,
        .controls > .control > .control-btn,
        .controls > .control > .control-icon {
            color: #819dbc;
        }

            .controls > .control > a:hover,
            .controls > .control > button:hover,
            .controls > .control > .control-btn:hover {
                color: #6083aa;
            }

            .controls > .control > a:active,
            .controls > .control > button:active,
            .controls > .control > .control-btn:active {
                color: #425d7b;
            }

        .controls .icon {
            margin: 0 0.3125rem 0 0;
        }

        .controls .icon.is-inactive {
            color: #f46665;
        }


/* Pagination
------------- */

.paging {
    margin: 0.9375rem 0 0 0;
}

    .paging > ul {
        margin: 0;
    }


/* Section
---------- */

.section {
    margin: 0.75rem 0 0 0;
    padding: 0.9375rem;
    border: 2px var(--bs-light) solid;
    border-radius: 3px;
}

    .section h3 {
        margin: 0 0 1.25rem 0;
        font-size: 1.375rem;
    }

        .section h3 > .icon {
            font-size: 1.25rem;
            color: #6a839d;
        }

    .section dl {
        font-size: 0.9375rem;
    }

    .section dl:not(.default) {
        margin: 0.625rem 0 0 0;
    }

        .section dl:not(.default) dt {
            display: inline;
            margin: 0 .25rem 0 0;
            text-align: right;
        }

            .section dl:not(.default) dt::after {
                content: ':';
            }

        .section dl:not(.default) dd {
            display: inline;
        }

    .section a {
        color: #0c69d0;
        text-decoration: none;
    }

        .section a:hover {
            color: #0a51a0;
        }

.section a.text-control {
    color: #4b6a8c;
}

    .section a.text-control:hover,
    .section a.text-control:active {
        text-decoration: underline;
    }

/* Connections
-------------- */

.connections {
    padding: 0 0.75rem;

    .connection {
        margin: 1px 0 0 0;
        padding: 0.75rem 1rem;
        border: 1px #f8f9fa solid;
        border-top: none;

        &:last-child {
            border-bottom-right-radius: 2px;
            border-bottom-left-radius: 2px;
        }
    }
}


/* Verification
--------------- */

.verifications {
    display: none;
    padding: 0 0.75rem;
}

    .verifications .verification {
        margin: 1px 0 0 0;
        padding: 0.75rem;
        border: 1px #f8f9fa solid;
        border-top: none;
    }

        .verifications .verification:last-child {
            border-bottom-right-radius: 2px;
            border-bottom-left-radius: 2px;
        }


/* Notes / Todos
---------------- */

.note {
    margin: 1rem 0 0 0;
    padding: .75rem 1rem;
    border-radius: 3px;
    background: #f8f9fa;
}

    .note .creator small {
        font-size: 0.6875rem;
    }

    .note > blockquote {
        margin: .5rem 0 0 .25rem;
        padding: 0 0 0 .5rem;
        border-left: 3px #e9ecef solid;
        font-size: 0.875rem;
    }

    .note .controls a,
    .note .controls .btn-link {
        color: #819dbc;
    }

        .note .controls a:hover,
        .note .controls .btn-link:hover {
            color: #6083aa;
        }

        .note .controls a:active,
        .note .controls .btn-link:active {
            color: #6083aa;
        }

.view-completed {
    display: none;
}

.todo {
    padding: .375rem .75rem .5rem .75rem;
    border: 2px #dae0e5 solid;
}

.todo .creator {
    margin: 0 0 .3125rem 0;
}

.todo .task {
    padding-right: 1rem;
}

.todo .user-info {
    margin-right: 0.5rem;
}

.todo .due-date {
    font-size: 0.875rem;
    opacity: 0.75;
}

.todo.due-today:not(.completed) {
    border: 2px #f39935 solid;
    background: #fefaf5;
}

.todo.overdue:not(.completed) {
    border: 2px #f33a35 solid;
    background: #fef5f5;
}

.todo.completed {
    border: 2px #f8f9fa solid;
}

    .todo.completed:not(.inline) {
        display: none;
    }

.todo .check {
    margin: 0 0.75rem 0 0;
    font-size: 2rem;
}

    .todo .check a {
        color: #6c757d;
        opacity: 0.25;
    }

        .todo .check a:hover {
            opacity: 1;
        }

    .todo.completed .check a {
        color: #0cd073;
    }
