/* ****************************************** */

.menu-left a, .menu-left i, .menu-left button {
    display: inline-block;
    position: relative;
    color: #fefefe;
    text-decoration: none;
    padding-bottom: 0px;
    transition: color .35s ease;
}
.menu-left button {
    padding: 6px 0px;
}
.menu-left a:before, .menu-left button:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    height: 2px;
    width: 0;
    transition: width 0s ease, background .35s ease;
}
.menu-left a:after, .menu-left button:after {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    height: 2px;
    width: 0;
    background: #000;
    transition: width .35s ease;
}
.menu-left a:hover:before, .menu-left button:hover:before {
    width: 100%;
    background: #f57c71;
    transition: width .35s ease;
}
.menu-left a:hover:after, .menu-left button:hover:after {
    width: 100%;
    background: transparent;
    transition: all 0s ease;
}
.menu-left form {
    gap: 4px;
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: .5rem 0;
    background: rgb(0 0 0 / 90%);
    z-index: 999999;
    will-change: transform;
    transition: background 0.3s, -webkit-transform 0.5s cubic-bezier(0.694, 0.048, 0.335, 1);
    transition: transform 0.5s cubic-bezier(0.694, 0.048, 0.335, 1), background 0.3s;
    transition: transform 0.5s cubic-bezier(0.694, 0.048, 0.335, 1), background 0.3s, -webkit-transform 0.5s cubic-bezier(0.694, 0.048, 0.335, 1);
    transform: translateY(0);
    -webkit-transform: translateY(0);
}
header nav .logo {
    float: left;
    padding-top: .25rem;
    padding-bottom: .25rem;
    margin-right: 1rem;
    font-size: 1.25rem;
    line-height: inherit;
    font-weight: 500;
    color: #fefefe;
}
header nav .logo:after {
    content: '';
    display: table;
    clear: both;
}
header nav ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}
header nav ul li {
    float: none;
    margin-left: 0;
}
@media (min-width: 768px) {
    header nav ul li {
        float: left;
        margin-left: 1rem;
    }
}
header nav ul li a {
    display: block;
}
@media (min-width: 576px) {
    header nav ul li a {
        display: block;
        padding: .425rem 0rem;
    }
}

@media (max-width: 768px) {
    ul {
        clear: both;
    }
    ul li {
        padding: .5em 0;
    }
}
.hide-nav {
    transform: translateY(-120% !important);
    -webkit-transform: translateY(-120%) !important;
}

.collapse:not(.show) {
    display: unset !important;
}

ul.menu-left {
    display: block;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    z-index: 10;
}
@media (min-width: 768px) {
    ul.menu-left {
        display: block !important;
        float: right;
        padding: 12px 0px;
        max-height: none;
    }
}
ul.menu-left:before {
    content: '';
    display: table;
    clear: both;
}
ul.menu-left.collapse {
    max-height: 15em !important;
}

.nav-toggle {
    display: block;
    border-radius: 5px;
    background-color: transparent;
    float: right;
    height: 38px;
    width: 38px;
    cursor: pointer;
    padding: 8px 8px;
}
.nav-toggle.open span:first-child {
    transform: rotate(45deg) translate(4.4px, 4.4px);
}
.nav-toggle.open span:nth-child(2) {
    width: 0%;
    opacity: 0;
}
.nav-toggle.open span:last-child {
    transform: rotate(-45deg) translate(4.4px, -4.4px);
}
@media (min-width: 768px) {
    .nav-toggle {
        display: none;
    }
}
.nav-toggle span {
    position: relative;
    display: block;
    height: 2px;
    width: 100%;
    margin-top: 4px;
    background-color: #fefefe;
    transition: all .25s;
}

/* ****************************************** */


main > .container {
    padding: 70px 15px 20px;
}

.footer {
    background-color: #f5f5f5;
    font-size: .9em;
    height: 60px;
}

.footer > .container {
    padding-right: 15px;
    padding-left: 15px;
}

.not-set {
    color: #c55;
    font-style: italic;
}

/* add sorting icons to gridview sort links */
a.asc:after, a.desc:after {
    content: '';
    left: 3px;
    display: inline-block;
    width: 0;
    height: 0;
    border: solid 5px transparent;
    margin: 4px 4px 2px 4px;
    background: transparent;
}

a.asc:after {
    border-bottom: solid 7px #212529;
    border-top-width: 0;
}

a.desc:after {
    border-top: solid 7px #212529;
    border-bottom-width: 0;
}

.grid-view th {
    white-space: nowrap;
}

.hint-block {
    display: block;
    margin-top: 5px;
    color: #999;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}

.form-group {
    margin-bottom: 1rem;
}