/* general */

body {
    font:16px/1.8rem Lato, sans-serif;
    letter-spacing:0.03rem;
    background-color:#ebebeb;
}

a, button, span[data-toggle="collapse"] { cursor:pointer !important; }

span[data-toggle="tooltip"], span[data-toggle="popover"] { cursor:help !important; }

.row { margin:0; }



.popover {
    font-family:inherit;
    font-size:0.9rem;
    letter-spacing:0.05rem;
}

.tooltip {
    font-family:inherit;
    font-size:0.75rem;
    line-height:1rem;
    letter-spacing:0.05rem;
}

.alert {
    width:100%;
    margin-bottom:1.5rem;
}

/* buttons */

.btn {
    min-width:6rem;
    padding:0.2rem 0.75rem;
    border-radius:100rem;
    font-size:0.875rem;
    line-height:1.1rem;
    letter-spacing:0.05rem;
    text-transform:uppercase;
    color:#ffffff !important;
    background-color:#003a5d;
    border-color:#003a5d;
}

.btn a {
    color:#ffffff; text-decoration:none;
}

.btn:hover:not([disabled]) {
    color:#ffffff;
    background-color:#005080;
}

.btn.btn-skinny {
    font-size:0.75rem;
    line-height:0.8rem;
}

.btn.btn-alt {
    color:#003a5d !important;
    background-color:#ffffff;
    border-color:#003a5d;
}

.btn.btn-alt:hover:not([disabled]) {
    color:#003a5d;
    background-color:#eceff2;
}

.btn:focus, .btn:active {
    outline:none;
    box-shadow:none;
}

.badge {
    padding:0.2rem 0.75rem;
    border-radius:100rem;
    font-size:0.875rem;
    line-height:1.1rem;
    font-weight:400;
    letter-spacing:0.05rem;
    color:#ffffff !important;
    background-color:#003a5d;
    border-color:#003a5d;
}

.text-btn {
    border:none;
    font-size:0.9rem;
    font-style:italic;
    color:#767676;
    background-color:transparent;
    text-decoration:underline;
}

.text-btn:hover { color:#003a5d !important; }

span.fa-chevron-right.active { transform:rotate(90deg); }

/* layout */

.full-page-container {
    height:100vh;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}

.full-page-header { flex:0 1 auto; }

.full-page-body {
    padding:0;
    display:flex;
    flex:1;
    min-height:0;
    overflow:auto;
}

.full-page-body.full-page-body-col { flex-direction:column; }

.full-page-footer { flex:initial; }

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

/* login */

.background {
    background:url('background.jpg') no-repeat center center fixed, radial-gradient(ellipse at center, #0068a8 3%, #003a5d 100%);
    background-size:cover;
    -webkit-background-size:cover;
    -moz-background-size:cover;
    -o-background-size:cover;
}

.content-box {
    padding:2rem;
    border:1px solid #dee2e6;
    background:#ffffff;
}

.logo { width:6rem; }

.netsmart-name {
    font:600 3rem Montserrat;
    color:#082155;
}

.app-name {
    font-size:2rem;
    font-weight:300;
    color:#14609b;
}

/* header */

.page-header {
    align-items:center;
    padding-left:0.5rem;
    padding-right:0.5rem;
    background:#f2f2f2;
}

.page-title {
    display:flex;
    align-items:center;
    font:600 1rem Montserrat, Lato, sans-serif;
    letter-spacing:0.05rem;
    color:#003b5c;
    text-transform:uppercase;
}

.page-title img {
    height:1rem;
    margin-right:0.5rem;
}

.page-description {
    margin:0;
    color:#666666;
}

.nav-link {
    font:0.9rem Montserrat, Lato, sans-serif;
    color:inherit !important;
    text-decoration:none;
}

.nav-link.active {
    background:#ebebeb !important;
    border-bottom-color:#ebebeb !important;
    font-weight:600;
    box-shadow:0 -0.015rem 0 #cccccc;
}

.nav-link:not(.active):hover { border-color:transparent !important; }

/* footer */

.footer {
    justify-content:center;
    font-size:0.75rem;
    line-height:1.25rem;
    padding: 0.25rem 0rem;
    border-top:1px solid #dee2e6;
    background-color:#f2f2f2;
    color:#666666;
}

/* blocks */

.block {
    height:100%;
    padding:0.5rem;
}

.body {
    height:100%;
    width:100%;
    padding:0.75rem;
    background-color:#ffffff;
    box-shadow:0.1rem 0.1rem 0.25rem #cdd1d3;
    overflow:auto;
}

.section { margin-bottom:1.5rem; }

.subsection:not(:last-child) { margin-bottom:1rem; }

/* content */

.heading {
    width:100%;
    margin-bottom:0.5rem;
    letter-spacing:0.05rem;
}

.heading.main-heading {
    padding:0.25rem 0;
    border-bottom:0.075rem solid #eceff2;
    font:600 1.1rem Montserrat, Lato, sans-serif;
    color:#39b54a;
    text-transform:uppercase;
    z-index:100;
}

.heading.section-heading {
    padding:0.25rem 0;
    font-weight:700;
    background-color:#f1f1f1;
    color:#333333;
    z-index:90;
}

.heading.subsection-heading {
    font-size:0.95rem;
    font-weight:700;
    border-bottom:0.075rem solid #eceff2;
    z-index:80;
}

.heading.subsection-heading .btn {
    font-size:0.75rem;
    line-height:0.785rem;
}

.description {
    font-size:0.9rem;
    line-height:1.5rem;
}

.description p { margin-bottom:0.5rem; }

.description a {
    color:#003b5c !important;
    text-decoration:#003b5c solid underline !important;
}

.list {
    width:100%;
    margin:0;
    list-style:none;
}

.list.sidebar-list { padding:0; }

.list.sidebar-list li {
    width:100%;
    cursor:pointer;
    padding:0.1rem 1rem;
    border:0.075rem solid transparent;
    border-left:0.3rem solid transparent;
}

.list.sidebar-list li.active {
    border-color:#eceff2;
    border-left-color:#39b54a;
    box-shadow:-0.1rem 0.1rem 0.25rem #cccccc;
    font-weight:600;
}

.list.sidebar-list li:hover { font-weight:600; }

.list.section-list {
    padding:0 4rem;
    font-size:0.9rem;
}

.section-list-heading {
    color:#767676;
    font-style:italic;
}

.list.section-list li:nth-child(2n) { background:#f2f2f2; }

.list.access-list {
    max-height:10rem;
    overflow:auto;
}

/* forms */

.form-body { margin-bottom:1.5rem; }

.form-body > span, .form-body > ul { margin-bottom:1rem; }

.form-group { color:#767676; }

.form-group:not(:last-child) { margin-bottom:1rem !important; }

.form-group.collapse.show { display:flex !important; }

label {
    display:flex;
    flex-direction:column;
}

label span {
    display:flex;
    align-items:center;
    font-size:0.9rem;
    font-style:italic;
    color:#767676;
}

.lbl {
    margin:0;
    font-style:italic;
    font-size:0.9rem;
}

.input-container { position:relative; }

.form-control { width:100%; }

.form-control:disabled { background-color:#f2f2f2; }

input {
    font-size:0.9rem;
    padding:0.25rem 0.75rem;
    line-height:1.25rem;
}

.input-icon {
    position:absolute;
    top:calc(50% - 0.5rem);
    right:0.5rem;
    font-size:1rem;
}

span.icon {
    font-size:0.9rem;
    color:#767676;
}

#contentOverlay {
    position:absolute;
    top:0px;
    height:100%;
    width:100%;
    background-color:rgba(224,224,224,0.5);
    z-index:999;
}

#contentOverlay > .spinner-border {
    margin: calc(50% - 90px);
    width: 10rem;
    height: 10rem;
}

#systemOAuthScopes .fa-check, #scopeAssignmentList .fa-check, .auth-login-types .fa-check {
    color:#4fe80e;
}

#systemOAuthScopes .fa-times, #scopeAssignmentList .fa-times, .auth-login-types .fa-times {
    color:#646464;
}
