@font-face {
    font-family: 'Material Icons';
    font-weight: 400;
    font-style: normal;
    src: local('Material Icons'), local('MaterialIcons-Regular'),
    url('../fonts/MaterialIcons-Regular.ttf') format('truetype');
}

.material-icons {
    display: inline-block;
    font-family: 'Material Icons';
    font-size: 24px; /* Preferred icon size */
    font-weight: normal;
    line-height: 1;
    font-style: normal;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;

    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;

    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;

    /* Support for IE. */
    font-feature-settings: 'liga';
}

/* Basics */
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

body {
    background: #eef5f9;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

/* Layout */
.wrapper {
    flex: 1;
    display: flex;
    flex-direction: row;
    align-items: stretch;
}

#sidenav {
    max-width: 250px;
    min-width: 250px;
    margin-left: 0;
    border-right: 1px solid #d3d3d3;
    background: white;
    transition: all 0.3s;
}

#sidenav.toggled {
    margin-left: 0px;
}

#menu-button {
    display: none;
    color: white;
}

@media (max-width: 768px) {
    #sidenav {
        z-index: 1;
        position: fixed;
        left: 0;
        height: 100vh;
        margin-left: -250px;
        padding-bottom: 4rem;
    }

    #sidenav.toggled {
        margin-left: 0;
    }

    #menu-button {
        display: inline-block;
    }
}

.page-content-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.page-title {
    background-color: white;
    height: 48px !important;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: start;
    z-index: 0;
    font-weight: 400;
    font-size: 1rem;
    padding: 0 1rem;
}

.content {
    flex: 1 1 0;
    overflow-y: auto;
    padding: 1rem;
}

.center-page-sm {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* Navigation */
#sidenav a.nav-link {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 3.5rem;
    padding: 0 1rem !important;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.25rem;
    color: #000;
}

#sidenav a.nav-link > span {
    width: 24px;
    height: 24px;
    margin-right: 1.5rem;
    padding: 0.25rem;
    font-size: 1.5rem;
    box-sizing: content-box;
    border-radius: 50%;
}

#sidenav a.nav-link:hover {
    background-color: #f5f5f5;
}

#sidenav > .toolbar {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0 1rem;
    line-height: 3.5rem;
    font-size: 1.25rem;
    font-weight: 500;
    height: 4rem;
    background: whitesmoke;
    margin: 0;
    flex: 0 0 0;
}

/* Header */
a.navbar-brand {
    color: #fff;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 2rem;
}

.navbar {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0 1rem;
    height: 4rem;
    box-shadow: 0 3px 1px -2px rgb(0 0 0 / 20%), 0 2px 2px 0 rgb(0 0 0 / 14%), 0 1px 5px 0 rgb(0 0 0 / 12%);
    z-index: 2;
}

/* Buttons */
.btn {
    box-shadow: 0 3px 1px -2px rgb(0 0 0 / 20%), 0 2px 2px 0 rgb(0 0 0 / 14%), 0 1px 5px 0 rgb(0 0 0 / 12%);
    font-weight: 500;
    padding: 0 1rem;
    font-size: 0.875rem;
    line-height: 2.25rem;
    text-transform: none;
}

.navbar .btn, .btn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-icon > span {
    margin-right: 0.2rem;
}

.card-footer {
    display: flex;
    justify-content: end;
}
/* Cards */
.card {
    box-shadow: 0 2px 1px -1px rgb(0 0 0 / 20%), 0 1px 1px 0 rgb(0 0 0 / 14%), 0 1px 3px 0 rgb(0 0 0 / 12%);
}

/* Icons */
.icon-blue {
    filter: invert(50%) sepia(53%) saturate(3243%) hue-rotate(168deg) brightness(89%) contrast(101%);
}