.card {
    position:         relative;
    display:          flex;
    flex-direction:   column;
    min-width:        0;
    width:            100%;
    word-wrap:        break-word;
    background-color: #ffffff;
    background-clip:  border-box;
    border:           1px solid rgba(0, 0, 0, .06);
    border-radius:    .35rem;
    overflow:         hidden;
}

.card > hr {
    margin-right: 0;
    margin-left:  0
}

.card > .list-group:first-child .list-group-item:first-child {
    border-top-left-radius:  .35rem;
    border-top-right-radius: .35rem
}

.card > .list-group:last-child .list-group-item:last-child {
    border-bottom-right-radius: .35rem;
    border-bottom-left-radius:  .35rem
}

.card-body {
    flex:    1 1 auto;
    padding: 1.5rem
}

.card-title {
    margin-bottom: 1.5rem
}

.card-subtitle {
    margin-top:    -.75rem;
    margin-bottom: 0
}

.card-text:last-child {
    margin-bottom: 0
}

.card-link:hover {
    text-decoration: none
}

.card-link + .card-link {
    margin-left: 1.5rem
}

.card-header {
    padding:          1.5rem;
    margin-bottom:    0;
    background-color: #ffffff;
    border-bottom:    1px solid rgba(0, 0, 0, .06)
}

.card-header:first-child {
    border-radius: calc(.35rem - 1px) calc(.35rem - 1px) 0 0
}

.card-header + .list-group .list-group-item:first-child {
    border-top: 0
}

.card-footer {
    padding:          1.5rem;
    background-color: #ffffff
}

.card-footer:last-child {
    border-radius: 0 0 calc(.35rem - 1px) calc(.35rem - 1px)
}

.card-header-tabs {
    margin-right:  -.75rem;
    margin-bottom: -1.5rem;
    margin-left:   -.75rem;
    border-bottom: 0
}

.card-header-pills {
    margin-right: -.75rem;
    margin-left:  -.75rem
}

.card-img-overlay {
    position: absolute;
    top:      0;
    right:    0;
    bottom:   0;
    left:     0;
    padding:  1.25rem
}

.card-img {
    width:         100%;
    border-radius: calc(.35rem - 1px)
}

.card-img-top {
    width:                   100%;
    border-top-left-radius:  calc(.35rem - 1px);
    border-top-right-radius: calc(.35rem - 1px)
}

.card-img-bottom {
    width:                      100%;
    border-bottom-right-radius: calc(.35rem - 1px);
    border-bottom-left-radius:  calc(.35rem - 1px)
}

.card-deck {
    display:        flex;
    flex-direction: column
}

.card-deck .card {
    margin-bottom: 15px
}

.spinner,
.spinner:before {
    display:               block;
    border:                5px solid #1c94c4;
    border-color:          transparent #1c94c4;
    margin:                auto;
    -webkit-box-sizing:    border-box;
    -moz-box-sizing:       border-box;
    box-sizing:            border-box;
    -webkit-border-radius: 50%;
    -moz-border-radius:    50%;
    border-radius:         50%;
}

.spinner {
    width:             32px;
    height:            32px;
    -webkit-animation: spin 3.37s linear 0s infinite normal;
    -moz-animation:    spin 3.37s linear 0s infinite normal;
    -o-animation:      spin 3.37s linear 0s infinite normal;
}

.spinner:before {
    content:           "";
    display:           block;
    width:             16px;
    height:            16px;
    -webkit-animation: spin 1.51s linear 0s infinite reverse;
    -moz-animation:    spin 1.51s linear 0s infinite reverse;
    -o-animation:      spin 1.51s linear 0s infinite reverse;
}

@-webkit-keyframes spin {
    from {
        -webkit-transform: rotate(0)
    }
    to {
        -webkit-transform: rotate(360deg)
    }
}

@-moz-keyframes spin {
    from {
        -moz-transform: rotate(0)
    }
    to {
        -moz-transform: rotate(360deg)
    }
}

@-o-keyframes spin {
    from {
        -o-transform: rotate(0)
    }
    to {
        -o-transform: rotate(360deg)
    }
}

.box-shadow-0 {
    box-shadow: none !important
}

.box-shadow-1 {
    box-shadow: 0 7px 12px 0 rgba(62, 57, 107, .16)
}

.box-shadow-2 {
    box-shadow: 0 10px 18px 0 rgba(62, 57, 107, .2)
}

.box-shadow-3 {
    box-shadow: 0 14px 24px 0 rgba(62, 57, 107, .26)
}

.box-shadow-4 {
    box-shadow: 0 16px 28px 0 rgba(62, 57, 107, .3)
}

.box-shadow-5 {
    box-shadow: 0 27px 24px 0 rgba(62, 57, 107, .36)
}

.line-on-side {
    border-bottom: 1px solid #dadada;
    line-height:   .1em;
    margin:        9px 0 20px;
    clear:         both;
}

.line-on-side span {
    background: #ffffff;
    padding:    0 10px
}

img.branding {
    display:       block;
    margin-left:   auto;
    margin-right:  auto;
    float:         none;
    margin-bottom: 3px;
}

.errormssg {
    margin-left:   auto;
    margin-right:  auto;
    background:    #af4848;
    border:        1px #6f3434 solid;
    border-radius: 8px;
    margin-bottom: 15px;
    color:         var(--nav-top-text);
}

.errormssg .alert {
    padding: 0.75rem 0;
}

@media (prefers-color-scheme: dark) {
    .login-card .card-title img.branding {
        display: none !important;
    }

    .login-card .card-title img.dark {
        display: inline-block !important;
    }

    .line-on-side span {
        background-color: #23242b;
    }
}

@media (prefers-color-scheme: light) {
    .login-card .card-title img.branding {
        display: inline-block !important;
    }

    .login-card .card-title img.dark {
        display: none !important;
    }
}

.login-card .card-title {
    padding: 0;
}
