﻿@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");


/* 48px */
/* 36px */
/* 28px */
/* 24px */
/* 18px */
/* 16px */
/* Box sizing rules */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
    margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
    list-style: none;
}

/* Set core root defaults */
html:focus-within {
    scroll-behavior: smooth;
}

/* Set core body defaults */
body {
    min-height: 100vh;
    text-rendering: optimizeSpeed;
    line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
    max-width: 100%;
    display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
    font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
/*@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        -webkit-animation-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        -webkit-animation-iteration-count: 1 !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
*/
html {
    box-sizing: border-box;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    scroll-behavior: smooth;
    overflow: hidden;
    max-width: 100vw;
    max-height: 100vh;
}

*,
*:before,
*:after {
    box-sizing: inherit;
}

body {
    margin: 0;
    overflow: hidden;
    padding: 0;
}

*,
body {
    font-variant-numeric: tabular-nums;
    scrollbar-width: thin;
    scrollbar-color: #545e75 transparent;
}

    *::-webkit-scrollbar,
    body::-webkit-scrollbar {
        border-radius: 3px;
        height: 6px;
        width: 6px;
    }

    *::-webkit-scrollbar-track,
    body::-webkit-scrollbar-track {
        background-color: transparent;
    }

    *::-webkit-scrollbar-corner,
    body::-webkit-scrollbar-corner {
        background-color: transparent;
    }

    *::-webkit-scrollbar-thumb,
    body::-webkit-scrollbar-thumb {
        background-color: #545e75;
        border-radius: 3px;
        outline: 0;
    }

button,
input,
optgroup,
select,
textarea {
    font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

ul:not(.browser-default) {
    padding-left: 0;
    list-style-type: none;
}

    ul:not(.browser-default) > li {
        list-style-type: none;
    }

a {
    color: #039be5;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}

/*.valign-wrapper {
    display: flex;
    align-items: center;
}*/

.clearfix {
    clear: both;
}

.z-depth-0 {
    box-shadow: none !important;
}

/* 2dp elevation modified*/
.z-depth-1, table.mosaic-table thead tr, .mosaic-drawer, .mosaic-collapsible, .mosaic-dropdown-content, .mosaic-btn-floating, .mosaic-btn, .mosaic-btn-small, .mosaic-btn-large, .toast, .mosaic-card, .mosaic-card-panel {
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
}

    .z-depth-1-half, .mosaic-btn-floating:hover, .mosaic-btn:hover, .mosaic-btn-small:hover, .mosaic-btn-large:hover {
        box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2);
    }

/* 6dp elevation modified*/
.z-depth-2 {
    box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
}

/* 12dp elevation modified*/
.z-depth-3 {
    box-shadow: 0 8px 17px 2px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
}

/* 16dp elevation */
.z-depth-4 {
    box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -7px rgba(0, 0, 0, 0.2);
}

/* 24dp elevation */
.z-depth-5, .modal {
    box-shadow: 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12), 0 11px 15px -7px rgba(0, 0, 0, 0.2);
}

.hoverable {
    transition: box-shadow 0.25s;
}

    .hoverable:hover {
        box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    }

.divider {
    height: 1px;
    overflow: hidden;
    background-color: #e0e0e0;
}

blockquote {
    margin: 20px 0;
    padding-left: 1.5rem;
    border-left: 5px solid #015fff;
}

i {
    line-height: inherit;
}

    i.left {
        float: left;
        margin-right: 15px;
    }

    i.right {
        float: right;
        margin-left: 15px;
    }

    i.tiny {
        font-size: 1rem;
    }

    i.small {
        font-size: 2rem;
    }

    i.medium {
        font-size: 4rem;
    }

    i.large {
        font-size: 6rem;
    }

img.responsive-img,
video.responsive-video {
    max-width: 100%;
    height: auto;
}

.pagination li {
    display: inline-block;
    border-radius: 2px;
    text-align: center;
    vertical-align: top;
    height: 30px;
}

    .pagination li a {
        color: #444;
        display: inline-block;
        font-size: 1.2rem;
        padding: 0 10px;
        line-height: 30px;
    }

    .pagination li.active a {
        color: #fff;
    }

    .pagination li.active {
        background-color: #015fff;
    }

    .pagination li.disabled a {
        cursor: default;
        color: #999;
    }

    .pagination li i {
        font-size: 2rem;
    }

    .pagination li.pages ul li {
        display: inline-block;
        float: none;
    }

@media only screen and (max-width : 992px) {
    .pagination {
        width: 100%;
    }

        .pagination li.prev,
        .pagination li.next {
            width: 10%;
        }

        .pagination li.pages {
            width: 80%;
            overflow: hidden;
            white-space: nowrap;
        }
}

.breadcrumb {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.7);
}

    .breadcrumb i,
    .breadcrumb [class^=mdi-],
    .breadcrumb [class*=mdi-],
    .breadcrumb i.material-icons {
        display: inline-block;
        font-size: 24px;
    }

    .breadcrumb:before {
        content: "\e5cc";
        color: rgba(255, 255, 255, 0.7);
        vertical-align: top;
        display: inline-block;
        font-family: "Material Icons";
        font-weight: normal;
        font-style: normal;
        font-size: 25px;
        margin: 0 10px 0 8px;
        -webkit-font-smoothing: auto;
    }

    .breadcrumb:first-child:before {
        display: none;
    }

    .breadcrumb:last-child {
        color: #fff;
    }

.parallax-container {
    position: relative;
    overflow: hidden;
    height: 500px;
}

    .parallax-container .parallax {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: -1;
    }

        .parallax-container .parallax img {
            opacity: 0;
            position: absolute;
            left: 50%;
            bottom: 0;
            min-width: 100%;
            min-height: 100%;
            transform: translate3d(0, 0, 0);
            transform: translateX(-50%);
        }

.pin-top,
.pin-bottom {
    position: relative;
}

.pinned {
    position: fixed !important;
}

/*********************
  Transition Classes
**********************/
ul.staggered-list li {
    opacity: 0;
}

.fade-in {
    opacity: 0;
    transform-origin: 0 50%;
}

/*********************
  Media Query Classes
**********************/
@media only screen and (max-width : 600px) {
    .hide-on-small-only,
    .hide-on-small-and-down {
        display: none !important;
    }
}

@media only screen and (max-width : 992px) {
    .hide-on-med-and-down {
        display: none !important;
    }
}

@media only screen and (min-width : 601px) {
    .hide-on-med-and-up {
        display: none !important;
    }
}

@media only screen and (min-width: 600px) and (max-width: 992px) {
    .hide-on-med-only {
        display: none !important;
    }
}

@media only screen and (min-width : 961px) {
    .hide-on-large-only {
        display: none !important;
    }
}

@media only screen and (min-width : 1201px) {
    .hide-on-extra-large-only {
        display: none !important;
    }
}

@media only screen and (min-width : 1201px) {
    .show-on-extra-large {
        display: block !important;
    }
}

@media only screen and (min-width : 961px) {
    .show-on-large {
        display: block !important;
    }
}

@media only screen and (min-width: 600px) and (max-width: 992px) {
    .show-on-medium {
        display: block !important;
    }
}

@media only screen and (max-width : 600px) {
    .show-on-small {
        display: block !important;
    }
}

@media only screen and (min-width : 601px) {
    .show-on-medium-and-up {
        display: block !important;
    }
}

@media only screen and (max-width : 992px) {
    .show-on-medium-and-down {
        display: block !important;
    }
}

@media only screen and (max-width : 600px) {
    .center-on-small-only {
        text-align: center;
    }
}

.page-footer {
    padding-top: 20px;
    color: #fff;
    background-color: #015fff;
}

    .page-footer .footer-copyright {
        overflow: hidden;
        min-height: 50px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 0px;
        color: rgba(255, 255, 255, 0.8);
        background-color: rgba(51, 51, 51, 0.08);
    }

.collection {
    margin: 0.5rem 0 1rem 0;
    border: 1px solid #e0e0e0;
    border-radius: 2px;
    overflow: hidden;
    position: relative;
}

    .collection .collection-item {
        background-color: #fff;
        line-height: 1.5rem;
        padding: 10px 20px;
        margin: 0;
        border-bottom: 1px solid #e0e0e0;
    }

        .collection .collection-item.avatar {
            min-height: 84px;
            padding-left: 72px;
            position: relative;
        }

            .collection .collection-item.avatar:not(.circle-clipper) > .circle,
            .collection .collection-item.avatar :not(.circle-clipper) > .circle {
                position: absolute;
                width: 42px;
                height: 42px;
                overflow: hidden;
                left: 15px;
                display: inline-block;
                vertical-align: middle;
            }

            .collection .collection-item.avatar i.circle {
                font-size: 18px;
                line-height: 42px;
                color: #fff;
                background-color: #999;
                text-align: center;
            }

            .collection .collection-item.avatar .title {
                font-size: 16px;
            }

            .collection .collection-item.avatar p {
                margin: 0;
            }

            .collection .collection-item.avatar .secondary-content {
                position: absolute;
                top: 16px;
                right: 16px;
            }

        .collection .collection-item:last-child {
            border-bottom: none;
        }

        .collection .collection-item.active {
            background-color: #26a69a;
            color: #eafaf9;
        }

            .collection .collection-item.active .secondary-content {
                color: #fff;
            }

    .collection a.collection-item {
        display: block;
        transition: 0.25s;
        color: #26a69a;
    }

        .collection a.collection-item:not(.active):hover {
            background-color: #ddd;
        }

    .collection.with-header .collection-header {
        background-color: #fff;
        border-bottom: 1px solid #e0e0e0;
        padding: 10px 20px;
    }

    .collection.with-header .collection-item {
        padding-left: 30px;
    }

        .collection.with-header .collection-item.avatar {
            padding-left: 72px;
        }

.secondary-content {
    float: right;
    color: #26a69a;
}

.collapsible .collection {
    margin: 0;
    border: none;
}

.video-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}

    .video-container iframe,
    .video-container object,
    .video-container embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
/*
.progress {
    position: relative;
    height: 4px;
    display: block;
    width: 100%;
    background-color: #acece6;
    border-radius: 2px;
    margin: 0.5rem 0 1rem 0;
    overflow: hidden;
}

    .progress .determinate {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        background-color: #26a69a;
        transition: width 0.3s linear;
    }

    .progress .indeterminate {
        background-color: #26a69a;
    }

        .progress .indeterminate:before {
            content: "";
            position: absolute;
            background-color: inherit;
            top: 0;
            left: 0;
            bottom: 0;
            will-change: left, right;
            -webkit-animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
            animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
        }

        .progress .indeterminate:after {
            content: "";
            position: absolute;
            background-color: inherit;
            top: 0;
            left: 0;
            bottom: 0;
            will-change: left, right;
            -webkit-animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
            animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
            -webkit-animation-delay: 1.15s;
            animation-delay: 1.15s;
        }

@-webkit-keyframes indeterminate {
    0% {
        left: -35%;
        right: 100%;
    }

    60% {
        left: 100%;
        right: -90%;
    }

    100% {
        left: 100%;
        right: -90%;
    }
}

@keyframes indeterminate {
    0% {
        left: -35%;
        right: 100%;
    }

    60% {
        left: 100%;
        right: -90%;
    }

    100% {
        left: 100%;
        right: -90%;
    }
}

@-webkit-keyframes indeterminate-short {
    0% {
        left: -200%;
        right: 100%;
    }

    60% {
        left: 107%;
        right: -8%;
    }

    100% {
        left: 107%;
        right: -8%;
    }
}

@keyframes indeterminate-short {
    0% {
        left: -200%;
        right: 100%;
    }

    60% {
        left: 107%;
        right: -8%;
    }

    100% {
        left: 107%;
        right: -8%;
    }
}*/
/*******************
  Utility Classes
*******************/
.hide {
    display: none !important;
}

.left-align {
    text-align: left;
}

.right-align {
    text-align: right;
}

.center,
.center-align {
    text-align: center;
}

.left {
    float: left !important;
}

.right {
    float: right !important;
}

.no-select, input[type=range],
input[type=range] + .thumb {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.circle {
    border-radius: 50%;
}

.center-block {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.truncate {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.no-padding {
    padding: 0 !important;
}

span.mosaic-badge {
    min-width: 3rem;
    padding: 0 6px;
    margin-left: 14px;
    text-align: center;
    font-size: 1rem;
    line-height: 22px;
    height: 22px;
    color: #757575;
    float: right;
    box-sizing: border-box;
}

    span.mosaic-badge.new {
        font-weight: 300;
        font-size: 0.8rem;
        color: #fff;
        background-color: #26a69a;
        border-radius: 2px;
    }

        span.mosaic-badge.new:after {
            content: " new";
        }

    span.mosaic-badge[data-badge-caption]::after {
        content: " " attr(data-badge-caption);
    }

nav ul a span.mosaic-badge {
    display: inline-block;
    float: none;
    margin-left: 4px;
    line-height: 22px;
    height: 22px;
    -webkit-font-smoothing: auto;
}

.collection-item span.mosaic-badge {
    margin-top: calc(0.75rem - 11px);
}

.collapsible span.mosaic-badge {
    margin-left: auto;
}

.sidenav span.mosaic-badge {
    margin-top: 13px;
}

table span.mosaic-badge {
    display: inline-block;
    float: none;
    margin-left: auto;
}

/* This is needed for some mobile phones to display the Google Icon font properly */
.material-icons {
    text-rendering: optimizeLegibility;
    font-feature-settings: "liga";
}

.mosaic-container {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
}

/*.mosaic-row {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: stretch;
    margin-bottom: 0.75rem;
}*/

@media screen and (min-width: 961px) {
    .mosaic-row {
        flex-wrap: nowrap;
        gap: 1rem;
        /*margin-bottom: 1rem;*/
    }
}

@media screen and (min-width: 1201px) {
    .mosaic-row {
        gap: 1.5rem;
        /*margin-bottom: 1.5rem;*/
    }
}

/*.mosaic-row .mosaic-col {
    flex-basis: 100%;
    flex-grow: 1;
    flex-shrink: 0;
    padding: 0;
}*/

@media screen and (min-width: 961px) {
    .mosaic-row .mosaic-col {
        flex-basis: auto;
        flex-grow: 1;
        /*flex-shrink: 1;*/
    }
}

a {
    text-decoration: none;
}

html {
    font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: normal;
    color: rgba(0, 0, 0, 0.87);
}

p {
    margin-bottom: 1rem;
}

h1,
.typography-h1 {
    font-size: 3rem;
    font-weight: 500;
    letter-spacing: -0.5;
    line-height: 1.1666666667;
    /* 56px */
    margin: 2rem 0 1.2rem 0;
}

h2,
.typography-h2 {
    font-size: 2.25rem;
    font-weight: 500;
    letter-spacing: -0.2;
    line-height: 1.3333333333;
    margin: 1.5rem 0 0.9rem 0;
}

h3,
.typography-h3 {
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: -0.2;
    line-height: 1.4285714286;
    margin: 1.1666666667rem 0 0.7rem 0;
}

h4,
.typography-h4 {
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: -0.2;
    line-height: 1.6666666667;
    margin: 1rem 0 0.6rem 0;
}

h5,
.typography-h5 {
    font-size: 1.125rem;
    font-weight: 400;
    letter-spacing: -0.2;
    line-height: 1.5555555556;
    margin: 0.75rem 0 0.45rem 0;
}

h6,
.typography-h6 {
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: -0.2;
    line-height: 1.5;
    margin: 0.6666666667rem 0 0.4rem 0;
}

.subtitle1 {
    font-weight: 400;
    font-size: "1rem";
    letter-spacing: -0.2;
    line-height: 1.5;
}

p,
.body1 {
    font-weight: 400;
    font-size: 0.875rem;
    letter-spacing: -0.1;
    line-height: 1.4285714286;
}

.body2 {
    font-weight: 400;
    font-size: 0.75rem;
    letter-spacing: 0;
    line-height: 1.3333333333;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    font-weight: inherit;
}

em {
    font-style: italic;
}

strong {
    font-weight: 600;
}

small {
    font-size: 75%;
}

.light {
    font-weight: 300;
}

.thin {
    font-weight: 200;
}

.mosaic-hero-banner {
    background-image: url(../images/hero-bg-blue.png);
    height: 200px;
    display: flex;
    flex-direction: row;
    background-size: cover;
    justify-content: space-between;
    background-color: #0042b4;
    background-position: center;
}

@media only screen and (min-width : 601px) {
    .mosaic-hero-banner {
        padding-left: 24px;
        padding-right: 24px;
    }
}

.mosaic-hero-banner-left-column {
    display: flex;
    flex-direction: column;
}

.mosaic-hero-banner-title {
    color: #ffffff;
    height: 60px;
    display: flex;
    align-items: center;
    padding-top: 32px;
    padding-bottom: 8px;
}

.mosaic-hero-banner-subtitle {
    color: #ffffff;
    height: 50px;
}

.scale-transition {
    transition: transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;
}

    .scale-transition.scale-out {
        transform: scale(0);
        transition: transform 0.2s !important;
    }

    .scale-transition.scale-in {
        transform: scale(1);
    }

.mosaic-card-panel {
    transition: box-shadow 0.25s;
    margin: 0.5rem 0 1rem 0;
    border-radius: 8px;
    background-color: #fff;
    padding: 8px 16px;
}

.mosaic-card {
    position: relative;
    margin: 0.5rem 0 1rem 0;
    background-color: #fff;
    transition: box-shadow 0.25s;
    border-radius: 8px;
}

    .mosaic-card .mosaic-card__header {
        color: #072448;
        display: flex;
        padding: 8px 16px;
        box-sizing: border-box;
        min-height: 32px;
        align-items: center;
        line-height: 1;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        margin: 0 0 -8px 0;
    }

        .mosaic-card .mosaic-card__header.activator {
            cursor: pointer;
        }

    .mosaic-card .mosaic-card__content {
        padding: 16px;
    }

        .mosaic-card .mosaic-card__content p {
            margin: 0 0 8px 0;
        }

            .mosaic-card .mosaic-card__content p:last-of-type {
                margin-bottom: 0;
            }

    .mosaic-card.small, .mosaic-card.medium, .mosaic-card.large {
        position: relative;
    }

        .mosaic-card.small .mosaic-card-image, .mosaic-card.medium .mosaic-card-image, .mosaic-card.large .mosaic-card-image {
            max-height: 60%;
            overflow: hidden;
        }

            .mosaic-card.small .mosaic-card-image + .mosaic-card-content, .mosaic-card.medium .mosaic-card-image + .mosaic-card-content, .mosaic-card.large .mosaic-card-image + .mosaic-card-content {
                max-height: 40%;
            }

        .mosaic-card.small .mosaic-card-content, .mosaic-card.medium .mosaic-card-content, .mosaic-card.large .mosaic-card-content {
            max-height: 100%;
            overflow: hidden;
        }

        .mosaic-card.small .mosaic-card-action, .mosaic-card.medium .mosaic-card-action, .mosaic-card.large .mosaic-card-action {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
        }

    .mosaic-card.small {
        height: 300px;
    }

    .mosaic-card.medium {
        height: 400px;
    }

    .mosaic-card.large {
        height: 500px;
    }

    .mosaic-card.horizontal {
        display: flex;
    }

        .mosaic-card.horizontal.small .mosaic-card-image, .mosaic-card.horizontal.medium .mosaic-card-image, .mosaic-card.horizontal.large .mosaic-card-image {
            height: 100%;
            max-height: none;
            overflow: visible;
        }

            .mosaic-card.horizontal.small .mosaic-card-image img, .mosaic-card.horizontal.medium .mosaic-card-image img, .mosaic-card.horizontal.large .mosaic-card-image img {
                height: 100%;
            }

        .mosaic-card.horizontal .mosaic-card-image {
            max-width: 50%;
        }

            .mosaic-card.horizontal .mosaic-card-image img {
                border-radius: 2px 0 0 2px;
                max-width: 100%;
                width: auto;
            }

        .mosaic-card.horizontal .mosaic-card-stacked {
            display: flex;
            flex-direction: column;
            flex: 1;
            position: relative;
        }

            .mosaic-card.horizontal .mosaic-card-stacked .mosaic-card-content {
                flex-grow: 1;
            }

    .mosaic-card.sticky-action .mosaic-card-action {
        z-index: 2;
    }

    .mosaic-card.sticky-action .mosaic-card-reveal {
        z-index: 1;
        padding-bottom: 64px;
    }

    .mosaic-card .mosaic-card-image {
        position: relative;
    }

        .mosaic-card .mosaic-card-image img {
            display: block;
            border-radius: 2px 2px 0 0;
            position: relative;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;
            width: 100%;
        }

        .mosaic-card .mosaic-card-image .mosaic-card-title {
            color: #fff;
            position: absolute;
            bottom: 0;
            left: 0;
            max-width: 100%;
            padding: 8px 16px;
        }

    .mosaic-card .mosaic-card-content {
        padding: 8px 16px;
        border-radius: 0 0 2px 2px;
    }

        .mosaic-card .mosaic-card-content p {
            margin: 0;
        }

        .mosaic-card .mosaic-card-content .mosaic-card-title {
            display: block;
            line-height: 32px;
            margin-bottom: 8px;
        }

            .mosaic-card .mosaic-card-content .mosaic-card-title i {
                line-height: 32px;
            }

    .mosaic-card .mosaic-card-action {
        background-color: inherit;
        border-top: 1px solid rgba(160, 160, 160, 0.2);
        position: relative;
        padding: 16px 8px 16px;
    }

        .mosaic-card .mosaic-card-action:last-child {
            border-radius: 0 0 2px 2px;
        }

        .mosaic-card .mosaic-card-action a:not(.btn):not(.btn-large):not(.btn-floating) {
            color: #ffab40;
            margin-right: 8px 16px;
            transition: color 0.3s ease;
            text-transform: uppercase;
        }

            .mosaic-card .mosaic-card-action a:not(.btn):not(.btn-large):not(.btn-floating):hover {
                color: #ffd8a6;
            }

    .mosaic-card .mosaic-card-reveal {
        padding: 8px 16px;
        position: absolute;
        background-color: #fff;
        width: 100%;
        overflow-y: auto;
        left: 0;
        top: 100%;
        height: 100%;
        z-index: 3;
        display: none;
    }

        .mosaic-card .mosaic-card-reveal .mosaic-card-title {
            cursor: pointer;
            display: block;
        }

#toast-container {
    display: block;
    position: fixed;
    z-index: 10000;
}

@media only screen and (max-width : 600px) {
    #toast-container {
        min-width: 100%;
        bottom: 0%;
    }
}

@media only screen and (min-width : 601px) and (max-width : 992px) {
    #toast-container {
        left: 5%;
        bottom: 7%;
        max-width: 90%;
    }
}

@media only screen and (min-width : 961px) {
    #toast-container {
        top: 2%;
        right: 25%;
        max-width: 86%;
    }
}

.toast {
    border-radius: 2px;
    top: 35px;
    width: auto;
    margin-top: 10px;
    position: relative;
    max-width: 100%;
    height: auto;
    min-height: 48px;
    line-height: 1.5em;
    /*background-color: #323232;*/
    padding: 10px 25px;
    font-size: 1.1rem;
    font-weight: 300;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: default;
}

    .toast .toast-action {
        color: #eeff41;
        font-weight: 500;
        margin-right: -25px;
        margin-left: 3rem;
    }

    .toast.rounded {
        border-radius: 24px;
    }

@media only screen and (max-width : 600px) {
    .toast {
        width: 100%;
        border-radius: 0;
    }
}

.mosaic-tabs {
    position: relative;
    overflow-x: auto;
    overflow-y: hidden;
    height: 48px;
    width: 100%;
    background-color: #fff;
    margin: 0 auto;
    white-space: nowrap;
}

    .mosaic-tabs.mosaic-tabs-transparent {
        background-color: transparent;
    }

        .mosaic-tabs.mosaic-tabs-transparent .mosaic-tab a,
        .mosaic-tabs.mosaic-tabs-transparent .mosaic-tab.disabled a,
        .mosaic-tabs.mosaic-tabs-transparent .mosaic-tab.disabled a:hover {
            color: rgba(255, 255, 255, 0.7);
        }

            .mosaic-tabs.mosaic-tabs-transparent .mosaic-tab a:hover,
            .mosaic-tabs.mosaic-tabs-transparent .mosaic-tab a.active {
                color: #fff;
            }

        .mosaic-tabs.mosaic-tabs-transparent .indicator {
            background-color: #fff;
        }

    .mosaic-tabs.mosaic-tabs-fixed-width {
        display: flex;
    }

        .mosaic-tabs.mosaic-tabs-fixed-width .mosaic-tab {
            flex-grow: 1;
        }

    .mosaic-tabs .mosaic-tab {
        display: inline-block;
        text-align: center;
        line-height: 48px;
        height: 48px;
        padding: 0;
        margin: 0;
        text-transform: uppercase;
    }

        .mosaic-tabs .mosaic-tab a {
            color: rgba(0, 0, 0, 0.7);
            display: block;
            width: 100%;
            height: 100%;
            padding: 0 24px;
            font-size: 14px;
            font-weight: 500;
            text-overflow: ellipsis;
            overflow: hidden;
            transition: color 0.28s ease, background-color 0.28s ease;
        }

            .mosaic-tabs .mosaic-tab a:focus, .mosaic-tabs .mosaic-tab a:focus.active {
                outline: none;
                color: #015fff;
            }

            .mosaic-tabs .mosaic-tab a:hover, .mosaic-tabs .mosaic-tab a.active {
                background-color: transparent;
                color: black;
            }

        .mosaic-tabs .mosaic-tab.disabled a, .mosaic-tabs .mosaic-tab.disabled a:hover {
            color: rgba(0, 0, 0, 0.4);
            cursor: default;
        }

    .mosaic-tabs .indicator {
        position: absolute;
        bottom: 0;
        height: 4px;
        background-color: #015fff;
        will-change: left, right;
    }

@media only screen and (max-width : 992px) {
    .mosaic-tabs {
        display: flex;
    }

        .mosaic-tabs .mosaic-tab {
            flex-grow: 1;
        }

            .mosaic-tabs .mosaic-tab a {
                padding: 0 12px;
            }
}

.material-tooltip {
    padding: 4px 8px;
    font-size: 0.75rem;
    font-weight: 400;
    z-index: 2000;
    background-color: transparent;
    border-radius: 8px;
    color: #ffffff;
    min-height: 24px;
    line-height: 1.3333333333;
    opacity: 0;
    position: absolute;
    text-align: center;
    max-width: calc(100% - 4px);
    overflow: hidden;
    left: 0;
    top: 0;
    pointer-events: none;
    visibility: hidden;
    background-color: rgba(0, 0, 0, 0.8);
}

.backdrop {
    position: absolute;
    opacity: 0;
    height: 7px;
    width: 14px;
    background-color: #323232;
    z-index: -1;
    transform-origin: 50% 0%;
    visibility: hidden;
}

.mosaic-btn, .mosaic-btn-small, .mosaic-btn-large,
.mosaic-btn-flat {
    border: none;
    border-radius: 8px;
    display: inline-block;
    font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 700;
    height: 36px;
    line-height: 36px;
    padding: 0 16px;
    vertical-align: middle;
    -webkit-tap-highlight-color: transparent;
}

    .mosaic-btn.disabled,
    .mosaic-btn-floating.disabled,
    .mosaic-btn-large.disabled,
    .mosaic-btn-small.disabled,
    .mosaic-btn-flat.disabled,
    .mosaic-btn:disabled,
    .mosaic-btn-floating:disabled,
    .mosaic-btn-large:disabled,
    .mosaic-btn-small:disabled,
    .mosaic-btn-flat:disabled,
    .mosaic-btn[disabled],
    .mosaic-btn-floating[disabled],
    .mosaic-btn-large[disabled],
    .mosaic-btn-small[disabled],
    .mosaic-btn-flat[disabled] {
        pointer-events: none;
        background-color: #dfdfdf !important;
        box-shadow: none;
        color: #9f9f9f !important;
        cursor: default;
    }

        .mosaic-btn.disabled:hover,
        .mosaic-btn-floating.disabled:hover,
        .mosaic-btn-large.disabled:hover,
        .mosaic-btn-small.disabled:hover,
        .mosaic-btn-flat.disabled:hover,
        .mosaic-btn:disabled:hover,
        .mosaic-btn-floating:disabled:hover,
        .mosaic-btn-large:disabled:hover,
        .mosaic-btn-small:disabled:hover,
        .mosaic-btn-flat:disabled:hover,
        .mosaic-btn[disabled]:hover,
        .mosaic-btn-floating[disabled]:hover,
        .mosaic-btn-large[disabled]:hover,
        .mosaic-btn-small[disabled]:hover,
        .mosaic-btn-flat[disabled]:hover {
            background-color: #dfdfdf !important;
            color: #9f9f9f !important;
        }

.mosaic-btn,
.mosaic-btn-floating,
.mosaic-btn-large,
.mosaic-btn-small,
.mosaic-btn-flat {
    font-size: 14px;
    outline: 0;
}

    .mosaic-btn i,
    .mosaic-btn-floating i,
    .mosaic-btn-large i,
    .mosaic-btn-small i,
    .mosaic-btn-flat i {
        font-size: 1.3rem;
        line-height: inherit;
    }

    .mosaic-btn:focus, .mosaic-btn-small:focus, .mosaic-btn-large:focus, .mosaic-btn:focus-visible, .mosaic-btn-small:focus-visible, .mosaic-btn-large:focus-visible,
    .mosaic-btn-floating:focus,
    .mosaic-btn-floating:focus-visible {
        background-color: #004ccd;
        box-shadow: none;
    }

    .mosaic-btn:focus, .mosaic-btn-small:focus, .mosaic-btn-large:focus,
    .mosaic-btn-floating:focus {
        box-shadow: none;
    }

        .mosaic-btn:focus:active, .mosaic-btn-small:focus:active, .mosaic-btn-large:focus:active,
        .mosaic-btn-floating:focus:active {
            box-shadow: none;
        }

.mosaic-btn, .mosaic-btn-small, .mosaic-btn-large {
    text-decoration: none;
    color: #fff;
    background-color: #015fff;
    text-align: center;
    letter-spacing: 0.5px;
    transition: background-color 0.2s ease-out;
    cursor: pointer;
}

    .mosaic-btn:hover, .mosaic-btn-small:hover, .mosaic-btn-large:hover {
        color: #fff;
        background-color: #1b6fff;
    }

.mosaic-btn-floating {
    display: inline-block;
    color: #fff;
    position: relative;
    overflow: hidden;
    z-index: 1;
    width: 40px;
    height: 40px;
    line-height: 40px;
    padding: 0;
    background-color: #015fff;
    border-radius: 50%;
    transition: background-color 0.3s;
    cursor: pointer;
    vertical-align: middle;
}

    .mosaic-btn-floating:hover {
        background-color: #015fff;
    }

    .mosaic-btn-floating:before {
        border-radius: 0;
    }

    .mosaic-btn-floating.mosaic-btn-large {
        width: 56px;
        height: 56px;
        padding: 0;
    }

        .mosaic-btn-floating.mosaic-btn-large.halfway-fab {
            bottom: -28px;
        }

        .mosaic-btn-floating.mosaic-btn-large i {
            line-height: 56px;
        }

    .mosaic-btn-floating.mosaic-btn-small {
        width: 32.4px;
        height: 32.4px;
    }

        .mosaic-btn-floating.mosaic-btn-small.halfway-fab {
            bottom: -16.2px;
        }

        .mosaic-btn-floating.mosaic-btn-small i {
            line-height: 32.4px;
        }

    .mosaic-btn-floating.halfway-fab {
        position: absolute;
        right: 24px;
        bottom: -20px;
    }

        .mosaic-btn-floating.halfway-fab.left {
            right: auto;
            left: 24px;
        }

    .mosaic-btn-floating i {
        width: inherit;
        display: inline-block;
        text-align: center;
        color: #fff;
        font-size: 1.6rem;
        line-height: 40px;
    }

button.mosaic-btn-floating {
    border: none;
}

.fixed-action-btn {
    position: fixed;
    right: 23px;
    bottom: 23px;
    padding-top: 15px;
    margin-bottom: 0;
    z-index: 997;
}

    .fixed-action-btn.active ul {
        visibility: visible;
    }

    .fixed-action-btn.direction-left, .fixed-action-btn.direction-right {
        padding: 0 0 0 15px;
    }

        .fixed-action-btn.direction-left ul, .fixed-action-btn.direction-right ul {
            text-align: right;
            right: 64px;
            top: 50%;
            transform: translateY(-50%);
            height: 100%;
            left: auto;
            /*width 100% only goes to width of button container */
            width: 500px;
        }

            .fixed-action-btn.direction-left ul li, .fixed-action-btn.direction-right ul li {
                display: inline-block;
                margin: 7.5px 15px 0 0;
            }

    .fixed-action-btn.direction-right {
        padding: 0 15px 0 0;
    }

        .fixed-action-btn.direction-right ul {
            text-align: left;
            direction: rtl;
            left: 64px;
            right: auto;
        }

            .fixed-action-btn.direction-right ul li {
                margin: 7.5px 0 0 15px;
            }

    .fixed-action-btn.direction-bottom {
        padding: 0 0 15px 0;
    }

        .fixed-action-btn.direction-bottom ul {
            top: 64px;
            bottom: auto;
            display: flex;
            flex-direction: column-reverse;
        }

            .fixed-action-btn.direction-bottom ul li {
                margin: 15px 0 0 0;
            }

    .fixed-action-btn.toolbar {
        padding: 0;
        height: 56px;
    }

        .fixed-action-btn.toolbar.active > a i {
            opacity: 0;
        }

        .fixed-action-btn.toolbar ul {
            display: flex;
            top: 0;
            bottom: 0;
            z-index: 1;
        }

            .fixed-action-btn.toolbar ul li {
                flex: 1;
                display: inline-block;
                margin: 0;
                height: 100%;
                transition: none;
            }

                .fixed-action-btn.toolbar ul li a {
                    display: block;
                    overflow: hidden;
                    position: relative;
                    width: 100%;
                    height: 100%;
                    background-color: transparent;
                    box-shadow: none;
                    color: #fff;
                    line-height: 56px;
                    z-index: 1;
                }

                    .fixed-action-btn.toolbar ul li a i {
                        line-height: inherit;
                    }

    .fixed-action-btn ul {
        left: 0;
        right: 0;
        text-align: center;
        position: absolute;
        bottom: 64px;
        margin: 0;
        visibility: hidden;
    }

        .fixed-action-btn ul li {
            margin-bottom: 15px;
        }

        .fixed-action-btn ul a.mosaic-btn-floating {
            opacity: 0;
        }

    .fixed-action-btn .fab-backdrop {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        width: 40px;
        height: 40px;
        background-color: #015fff;
        border-radius: 50%;
        transform: scale(0);
    }

.mosaic-btn-flat {
    box-shadow: none;
    background-color: transparent;
    color: #015fff;
    cursor: pointer;
    transition: background-color 0.2s;
}

    .mosaic-btn-flat:focus, .mosaic-btn-flat:hover {
        box-shadow: none;
        background-color: rgba(0, 0, 0, 0.1);
        color: #015fff;
    }

    .mosaic-btn-flat.disabled, .mosaic-btn-flat.mosaic-btn-flat[disabled] {
        background-color: transparent !important;
        color: #b3b3b3 !important;
        cursor: default;
    }

.mosaic-btn-large {
    height: 54px;
    line-height: 54px;
    font-size: 15px;
    padding: 0 28px;
}

    .mosaic-btn-large i {
        font-size: 1.6rem;
    }

.mosaic-btn-small {
    height: 32.4px;
    line-height: 32.4px;
    font-size: 13px;
}

    .mosaic-btn-small i {
        font-size: 1.2rem;
    }

.mosaic-btn-block {
    display: block;
}

.mosaic-icon-btn {
    align-items: center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    border-radius: 8px;
    border-radius: 50%;
    border: 0;
    box-shadow: none;
    color: #545e75;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    margin: 0 4px;
    height: 32px;
    width: 32px;
    outline: 0;
    vertical-align: middle;
}

    .mosaic-icon-btn:hover, .mosaic-icon-btn:active, .mosaic-icon-btn:focus {
        background-color: rgba(84, 94, 117, 0.08);
    }

.mosaic-icon-btn__lrg {
    height: 40px;
    width: 40px;
}

.mosaic-icon-btn__light {
    background-color: rgba(116, 191, 255, 0.08);
    color: #e0eaf8;
}

.mosaic-button-group {
    display: flex;
    align-items: center;
}

    .mosaic-button-group > button {
        margin: 0 4px;
    }

        .mosaic-button-group > button:first-of-type {
            margin-left: 0;
        }

        .mosaic-button-group > button:last-of-type {
            margin-right: 0;
        }

.mosaic-dropdown-content {
    background-color: #fff;
    margin: 0;
    display: none;
    min-width: 200px;
    overflow-y: auto;
    padding-bottom: 8px;
    padding-top: 8px;
    border-radius: 4px;
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 9999;
    transform-origin: 0 0;
}

    .mosaic-dropdown-content:focus {
        outline: 0;
    }

    .mosaic-dropdown-content li {
        clear: both;
        color: rgba(0, 0, 0, 0.87);
        cursor: pointer;
        min-height: 36px;
        line-height: 1.5rem;
        width: 100%;
        text-align: left;
    }

        .mosaic-dropdown-content li:hover, .mosaic-dropdown-content li.active {
            background-color: #eee;
        }

        .mosaic-dropdown-content li:focus {
            outline: none;
        }

        .mosaic-dropdown-content li.divider {
            min-height: 0;
            height: 1px;
        }

        .mosaic-dropdown-content li > a, .mosaic-dropdown-content li > span {
            font-size: 0.875rem;
            color: #072448;
            display: block;
            line-height: 22px;
            padding: 7px 16px;
        }

            .mosaic-dropdown-content li > span > label {
                top: 1px;
                left: 0;
                height: 18px;
            }

            .mosaic-dropdown-content li > a > i {
                height: inherit;
                line-height: inherit;
                float: left;
                margin: 0 24px 0 0;
                width: 24px;
            }

body.keyboard-focused .mosaic-dropdown-content li:focus {
    background-color: #dadada;
}

.input-field.col .mosaic-dropdown-content [type=checkbox] + label {
    top: 1px;
    left: 0;
    height: 18px;
    transform: none;
}

.mosaic-dropdown-trigger {
    cursor: pointer;
}

/*!
 * Waves v0.6.0
 * http://fian.my.id/Waves
 *
 * Copyright 2014 Alfiana E. Sibuea and other contributors
 * Released under the MIT license
 * https://github.com/fians/Waves/blob/master/LICENSE
 */
.waves-effect {
    position: relative;
    cursor: pointer;
    display: inline-block;
    overflow: hidden;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    vertical-align: middle;
    z-index: 1;
    transition: 0.3s ease-out;
}

    .waves-effect .waves-ripple {
        position: absolute;
        border-radius: 50%;
        width: 20px;
        height: 20px;
        margin-top: -10px;
        margin-left: -10px;
        opacity: 0;
        background: rgba(0, 0, 0, 0.2);
        transition: all 0.7s ease-out;
        transition-property: transform, opacity;
        transform: scale(0);
        pointer-events: none;
    }

    .waves-effect.waves-light .waves-ripple {
        background-color: rgba(255, 255, 255, 0.45);
    }

    .waves-effect.waves-red .waves-ripple {
        background-color: rgba(244, 67, 54, 0.7);
    }

    .waves-effect.waves-yellow .waves-ripple {
        background-color: rgba(255, 235, 59, 0.7);
    }

    .waves-effect.waves-orange .waves-ripple {
        background-color: rgba(255, 152, 0, 0.7);
    }

    .waves-effect.waves-purple .waves-ripple {
        background-color: rgba(156, 39, 176, 0.7);
    }

    .waves-effect.waves-green .waves-ripple {
        background-color: rgba(76, 175, 80, 0.7);
    }

    .waves-effect.waves-teal .waves-ripple {
        background-color: rgba(0, 150, 136, 0.7);
    }

    .waves-effect input[type=button], .waves-effect input[type=reset], .waves-effect input[type=submit] {
        border: 0;
        font-style: normal;
        font-size: inherit;
        text-transform: inherit;
        background: none;
    }

    .waves-effect img {
        position: relative;
        z-index: -1;
    }

.waves-notransition {
    transition: none !important;
}

.waves-circle {
    transform: translateZ(0);
    -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%);
}

.waves-input-wrapper {
    border-radius: 0.2em;
    vertical-align: bottom;
}

    .waves-input-wrapper .waves-button-input {
        position: relative;
        top: 0;
        left: 0;
        z-index: 1;
    }

.waves-circle {
    text-align: center;
    width: 2.5em;
    height: 2.5em;
    line-height: 2.5em;
    border-radius: 50%;
    -webkit-mask-image: none;
}

.waves-block {
    display: block;
}

/* Firefox Bug: link not triggered */
.waves-effect .waves-ripple {
    z-index: -1;
}

.modal {
    background-color: #ffffff;
    border-radius: 8px;
    display: none;
    left: 0;
    margin: auto;
    height: auto;
    max-height: 70%;
    overflow-y: auto;
    padding: 0;
    position: fixed;
    right: 0;
    top: 50vh !important;
    transform: translateY(-50%) !important;
    width: 600px;
    will-change: top, opacity;
}

    .modal:focus {
        outline: none;
    }

@media only screen and (max-width : 992px) {
    .modal {
        width: 80%;
    }
}

.modal h1,
.modal h2,
.modal h3,
.modal h4 {
    margin-top: 0;
}

.modal .modal-content {
    border: 0;
    border-radius: 0;
    padding: 16px 24px 0 24px;
}

.modal .modal-close {
    cursor: pointer;
}

.modal .modal-footer {
    display: flex;
    justify-content: flex-end;
    background-color: #ffffff;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    border-top: 0;
    padding: 0 24px 24px 24px;
    text-align: right;
}

    .modal .modal-footer .btn,
    .modal .modal-footer .btn-flat {
        margin: 6px 0;
    }

.modal-overlay {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    height: 100vh;
    width: 100vw;
    background: #000;
    display: none;
    will-change: opacity;
}

.modal.modal-fixed-footer {
    padding: 0;
    height: 70%;
}

    .modal.modal-fixed-footer .modal-content {
        position: absolute;
        height: calc(100% - 56px);
        max-height: 100%;
        width: 100%;
        overflow-y: auto;
    }

    .modal.modal-fixed-footer .modal-footer {
        border-top: 1px solid rgba(0, 0, 0, 0.1);
        position: absolute;
        bottom: 0;
    }

.modal.bottom-sheet {
    top: auto;
    bottom: -100%;
    margin: 0;
    width: 100%;
    max-height: 45%;
    border-radius: 0;
    will-change: bottom, opacity;
}

.mosaic-collapsible {
    border-top: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-left: 1px solid #ddd;
    margin: 0.5rem 0 1rem 0;
}

.mosaic-collapsible-header {
    display: flex;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    line-height: 1.5;
    padding: 1rem;
    background-color: #fff;
    border-bottom: 1px solid #ddd;
}

    .mosaic-collapsible-header:focus {
        outline: 0;
    }

    .mosaic-collapsible-header i {
        width: 2rem;
        font-size: 1.6rem;
        display: inline-block;
        text-align: center;
        margin-right: 1rem;
    }

.keyboard-focused .mosaic-collapsible-header:focus {
    background-color: #eee;
}

.mosaic-collapsible-body {
    display: none;
    border-bottom: 1px solid #ddd;
    box-sizing: border-box;
    padding: 2rem;
}

.sidenav .mosaic-collapsible,
.sidenav.fixed .mosaic-collapsible {
    border: none;
    box-shadow: none;
}

    .sidenav .mosaic-collapsible li,
    .sidenav.fixed .mosaic-collapsible li {
        padding: 0;
    }

.sidenav .mosaic-collapsible-header,
.sidenav.fixed .mosaic-collapsible-header {
    background-color: transparent;
    border: none;
    line-height: inherit;
    height: inherit;
    padding: 0 16px;
}

    .sidenav .mosaic-collapsible-header:hover,
    .sidenav.fixed .mosaic-collapsible-header:hover {
        background-color: rgba(0, 0, 0, 0.05);
    }

    .sidenav .mosaic-collapsible-header i,
    .sidenav.fixed .mosaic-collapsible-header i {
        line-height: inherit;
    }

.sidenav .mosaic-collapsible-body,
.sidenav.fixed .mosaic-collapsible-body {
    border: 0;
    background-color: #fff;
}

    .sidenav .mosaic-collapsible-body li a,
    .sidenav.fixed .mosaic-collapsible-body li a {
        padding: 0 23.5px 0 31px;
    }

.mosaic-collapsible.popout {
    border: none;
    box-shadow: none;
}

    .mosaic-collapsible.popout > li {
        box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
        margin: 0 24px;
        transition: margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }

        .mosaic-collapsible.popout > li.active {
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            margin: 16px 0;
        }

.mosaic-chip {
    display: inline-block;
    height: 32px;
    font-size: 13px;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.6);
    line-height: 32px;
    padding: 0 12px;
    border-radius: 16px;
    background-color: #e4e4e4;
    margin-bottom: 5px;
    margin-right: 5px;
}

    .mosaic-chip:focus {
        outline: none;
        background-color: #26a69a;
        color: #fff;
    }

    .mosaic-chip > img {
        float: left;
        margin: 0 8px 0 -12px;
        height: 32px;
        width: 32px;
        border-radius: 50%;
    }

    .mosaic-chip .close {
        cursor: pointer;
        float: right;
        font-size: 16px;
        line-height: 32px;
        padding-left: 8px;
    }

.mosaic-chips {
    border: none;
    border-bottom: 1px solid #9e9e9e;
    box-shadow: none;
    margin: 0;
    min-height: 45px;
    outline: none;
    transition: all 0.3s;
}

    .mosaic-chips.focus {
        border-bottom: 1px solid #26a69a;
        box-shadow: 0 1px 0 0 #26a69a;
    }

    .mosaic-chips:hover {
        cursor: text;
    }

    .mosaic-chips .input {
        background: none;
        border: 0;
        color: rgba(0, 0, 0, 0.6);
        display: inline-block;
        font-size: 14px;
        height: 3.5rem;
        line-height: 32px;
        outline: 0;
        margin: 0;
        padding: 0 !important;
        width: 120px !important;
    }

        .mosaic-chips .input:focus {
            border: 0 !important;
            box-shadow: none !important;
        }

    .mosaic-chips .autocomplete-content {
        margin-top: 0;
        margin-bottom: 0;
    }

.prefix ~ .mosaic-chips {
    margin-left: 3rem;
    width: 92%;
    width: calc(100% - 3rem);
}

.mosaic-chips:empty ~ label {
    font-size: 0.8rem;
    transform: translateY(-140%);
}

.materialboxed {
    display: block;
    cursor: zoom-in;
    position: relative;
    transition: opacity 0.4s;
    -webkit-backface-visibility: hidden;
}

    .materialboxed:hover:not(.active) {
        opacity: 0.8;
    }

    .materialboxed.active {
        cursor: zoom-out;
    }

#materialbox-overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #292929;
    z-index: 1000;
    will-change: opacity;
}

.materialbox-caption {
    position: fixed;
    display: none;
    color: #fff;
    line-height: 50px;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
    padding: 0% 15%;
    height: 50px;
    z-index: 1000;
    -webkit-font-smoothing: auto;
}

select:focus {
    outline: 1px solid #f1f6ff;
}

button:focus {
    outline: none;
    background-color: #156cff;
}

label {
    font-size: 0.875rem;
    color: #9e9e9e;
}

/* Text Inputs + Textarea
   ========================================================================== */
/* Style Placeholders */
::-moz-placeholder {
    color: #d1d1d1;
}

:-ms-input-placeholder {
    color: #d1d1d1;
}

::placeholder {
    color: #d1d1d1;
}

.mosaic-input-field {
    min-height: 3.5rem;
    position: relative;
    /* Text inputs */
    /* Validation Sass Placeholders */
}

    .mosaic-input-field.inline {
        display: inline-block;
        vertical-align: middle;
        margin-left: 5px;
    }

        .mosaic-input-field.inline input,
        .mosaic-input-field.inline .select-dropdown {
            margin-bottom: 1rem;
        }

    .mosaic-input-field > label {
        color: #9e9e9e;
        position: absolute;
        top: 0;
        left: 0;
        cursor: text;
        transition: transform 0.2s ease-out, color 0.2s ease-out;
        transform-origin: 0% 100%;
        text-align: initial;
        transform: translate(12px, 18px);
    }

        .mosaic-input-field > label:not(.label-icon).active {
            transform: translate(12px, 8px) scale(0.75);
            transform-origin: 0 0;
        }

    .mosaic-input-field > input[type]:-webkit-autofill:not(.browser-default):not([type=search]) + label, .mosaic-input-field > input[type=date]:not(.browser-default) + label, .mosaic-input-field > input[type=time]:not(.browser-default) + label {
        transform: translateY(-14px) scale(0.8);
        transform-origin: 0 0;
    }

    .mosaic-input-field .helper-text {
        position: relative;
        min-height: 18px;
        display: block;
        font-size: 12px;
        color: rgba(0, 0, 0, 0.54);
    }

        .mosaic-input-field .helper-text::after {
            opacity: 1;
            position: absolute;
            top: 0;
            left: 0;
        }

    .mosaic-input-field input:not([type]),
    .mosaic-input-field input[type=text]:not(.browser-default),
    .mosaic-input-field input[type=password]:not(.browser-default),
    .mosaic-input-field input[type=email]:not(.browser-default),
    .mosaic-input-field input[type=url]:not(.browser-default),
    .mosaic-input-field input[type=time]:not(.browser-default),
    .mosaic-input-field input[type=date]:not(.browser-default),
    .mosaic-input-field input[type=datetime]:not(.browser-default),
    .mosaic-input-field input[type=datetime-local]:not(.browser-default),
    .mosaic-input-field input[type=tel]:not(.browser-default),
    .mosaic-input-field input[type=number]:not(.browser-default),
    .mosaic-input-field input[type=search]:not(.browser-default),
    .mosaic-input-field textarea.materialize-textarea {
        background-color: rgba(115, 144, 207, 0.09);
        border: 1px solid #9e9e9e;
        border-radius: 8px 8px 0 0;
        box-shadow: none;
        border-top-width: 0;
        border-right-width: 0;
        border-left-width: 0;
        box-sizing: border-box;
        font-size: 14px;
        height: 3.5rem;
        margin: 0;
        outline: none;
        padding: 0 12px;
        padding-top: 12px;
        transition: box-shadow 0.3s, border 0.3s;
        width: 100%;
    }

        .mosaic-input-field input:not([type]):hover, .mosaic-input-field input:not([type]):focus, .mosaic-input-field input:not([type]):focus-visible,
        .mosaic-input-field input[type=text]:not(.browser-default):hover,
        .mosaic-input-field input[type=text]:not(.browser-default):focus,
        .mosaic-input-field input[type=text]:not(.browser-default):focus-visible,
        .mosaic-input-field input[type=password]:not(.browser-default):hover,
        .mosaic-input-field input[type=password]:not(.browser-default):focus,
        .mosaic-input-field input[type=password]:not(.browser-default):focus-visible,
        .mosaic-input-field input[type=email]:not(.browser-default):hover,
        .mosaic-input-field input[type=email]:not(.browser-default):focus,
        .mosaic-input-field input[type=email]:not(.browser-default):focus-visible,
        .mosaic-input-field input[type=url]:not(.browser-default):hover,
        .mosaic-input-field input[type=url]:not(.browser-default):focus,
        .mosaic-input-field input[type=url]:not(.browser-default):focus-visible,
        .mosaic-input-field input[type=time]:not(.browser-default):hover,
        .mosaic-input-field input[type=time]:not(.browser-default):focus,
        .mosaic-input-field input[type=time]:not(.browser-default):focus-visible,
        .mosaic-input-field input[type=date]:not(.browser-default):hover,
        .mosaic-input-field input[type=date]:not(.browser-default):focus,
        .mosaic-input-field input[type=date]:not(.browser-default):focus-visible,
        .mosaic-input-field input[type=datetime]:not(.browser-default):hover,
        .mosaic-input-field input[type=datetime]:not(.browser-default):focus,
        .mosaic-input-field input[type=datetime]:not(.browser-default):focus-visible,
        .mosaic-input-field input[type=datetime-local]:not(.browser-default):hover,
        .mosaic-input-field input[type=datetime-local]:not(.browser-default):focus,
        .mosaic-input-field input[type=datetime-local]:not(.browser-default):focus-visible,
        .mosaic-input-field input[type=tel]:not(.browser-default):hover,
        .mosaic-input-field input[type=tel]:not(.browser-default):focus,
        .mosaic-input-field input[type=tel]:not(.browser-default):focus-visible,
        .mosaic-input-field input[type=number]:not(.browser-default):hover,
        .mosaic-input-field input[type=number]:not(.browser-default):focus,
        .mosaic-input-field input[type=number]:not(.browser-default):focus-visible,
        .mosaic-input-field input[type=search]:not(.browser-default):hover,
        .mosaic-input-field input[type=search]:not(.browser-default):focus,
        .mosaic-input-field input[type=search]:not(.browser-default):focus-visible,
        .mosaic-input-field textarea.materialize-textarea:hover,
        .mosaic-input-field textarea.materialize-textarea:focus,
        .mosaic-input-field textarea.materialize-textarea:focus-visible {
            background-color: rgba(115, 144, 207, 0.09);
            border-color: #015fff;
        }

        .mosaic-input-field input:not([type]):disabled, .mosaic-input-field input:not([type])[readonly=readonly],
        .mosaic-input-field input[type=text]:not(.browser-default):disabled,
        .mosaic-input-field input[type=text]:not(.browser-default)[readonly=readonly],
        .mosaic-input-field input[type=password]:not(.browser-default):disabled,
        .mosaic-input-field input[type=password]:not(.browser-default)[readonly=readonly],
        .mosaic-input-field input[type=email]:not(.browser-default):disabled,
        .mosaic-input-field input[type=email]:not(.browser-default)[readonly=readonly],
        .mosaic-input-field input[type=url]:not(.browser-default):disabled,
        .mosaic-input-field input[type=url]:not(.browser-default)[readonly=readonly],
        .mosaic-input-field input[type=time]:not(.browser-default):disabled,
        .mosaic-input-field input[type=time]:not(.browser-default)[readonly=readonly],
        .mosaic-input-field input[type=date]:not(.browser-default):disabled,
        .mosaic-input-field input[type=date]:not(.browser-default)[readonly=readonly],
        .mosaic-input-field input[type=datetime]:not(.browser-default):disabled,
        .mosaic-input-field input[type=datetime]:not(.browser-default)[readonly=readonly],
        .mosaic-input-field input[type=datetime-local]:not(.browser-default):disabled,
        .mosaic-input-field input[type=datetime-local]:not(.browser-default)[readonly=readonly],
        .mosaic-input-field input[type=tel]:not(.browser-default):disabled,
        .mosaic-input-field input[type=tel]:not(.browser-default)[readonly=readonly],
        .mosaic-input-field input[type=number]:not(.browser-default):disabled,
        .mosaic-input-field input[type=number]:not(.browser-default)[readonly=readonly],
        .mosaic-input-field input[type=search]:not(.browser-default):disabled,
        .mosaic-input-field input[type=search]:not(.browser-default)[readonly=readonly],
        .mosaic-input-field textarea.materialize-textarea:disabled,
        .mosaic-input-field textarea.materialize-textarea[readonly=readonly] {
            color: rgba(0, 0, 0, 0.42);
            border-color: rgba(0, 0, 0, 0.42);
        }

            .mosaic-input-field input:not([type]):disabled + label, .mosaic-input-field input:not([type])[readonly=readonly] + label,
            .mosaic-input-field input[type=text]:not(.browser-default):disabled + label,
            .mosaic-input-field input[type=text]:not(.browser-default)[readonly=readonly] + label,
            .mosaic-input-field input[type=password]:not(.browser-default):disabled + label,
            .mosaic-input-field input[type=password]:not(.browser-default)[readonly=readonly] + label,
            .mosaic-input-field input[type=email]:not(.browser-default):disabled + label,
            .mosaic-input-field input[type=email]:not(.browser-default)[readonly=readonly] + label,
            .mosaic-input-field input[type=url]:not(.browser-default):disabled + label,
            .mosaic-input-field input[type=url]:not(.browser-default)[readonly=readonly] + label,
            .mosaic-input-field input[type=time]:not(.browser-default):disabled + label,
            .mosaic-input-field input[type=time]:not(.browser-default)[readonly=readonly] + label,
            .mosaic-input-field input[type=date]:not(.browser-default):disabled + label,
            .mosaic-input-field input[type=date]:not(.browser-default)[readonly=readonly] + label,
            .mosaic-input-field input[type=datetime]:not(.browser-default):disabled + label,
            .mosaic-input-field input[type=datetime]:not(.browser-default)[readonly=readonly] + label,
            .mosaic-input-field input[type=datetime-local]:not(.browser-default):disabled + label,
            .mosaic-input-field input[type=datetime-local]:not(.browser-default)[readonly=readonly] + label,
            .mosaic-input-field input[type=tel]:not(.browser-default):disabled + label,
            .mosaic-input-field input[type=tel]:not(.browser-default)[readonly=readonly] + label,
            .mosaic-input-field input[type=number]:not(.browser-default):disabled + label,
            .mosaic-input-field input[type=number]:not(.browser-default)[readonly=readonly] + label,
            .mosaic-input-field input[type=search]:not(.browser-default):disabled + label,
            .mosaic-input-field input[type=search]:not(.browser-default)[readonly=readonly] + label,
            .mosaic-input-field textarea.materialize-textarea:disabled + label,
            .mosaic-input-field textarea.materialize-textarea[readonly=readonly] + label {
                color: rgba(0, 0, 0, 0.42);
            }

        .mosaic-input-field input:not([type]):focus:not([readonly]),
        .mosaic-input-field input[type=text]:not(.browser-default):focus:not([readonly]),
        .mosaic-input-field input[type=password]:not(.browser-default):focus:not([readonly]),
        .mosaic-input-field input[type=email]:not(.browser-default):focus:not([readonly]),
        .mosaic-input-field input[type=url]:not(.browser-default):focus:not([readonly]),
        .mosaic-input-field input[type=time]:not(.browser-default):focus:not([readonly]),
        .mosaic-input-field input[type=date]:not(.browser-default):focus:not([readonly]),
        .mosaic-input-field input[type=datetime]:not(.browser-default):focus:not([readonly]),
        .mosaic-input-field input[type=datetime-local]:not(.browser-default):focus:not([readonly]),
        .mosaic-input-field input[type=tel]:not(.browser-default):focus:not([readonly]),
        .mosaic-input-field input[type=number]:not(.browser-default):focus:not([readonly]),
        .mosaic-input-field input[type=search]:not(.browser-default):focus:not([readonly]),
        .mosaic-input-field textarea.materialize-textarea:focus:not([readonly]) {
            border-color: #015fff;
            border-bottom-width: 2px;
        }

            .mosaic-input-field input:not([type]):focus:not([readonly]) + label,
            .mosaic-input-field input[type=text]:not(.browser-default):focus:not([readonly]) + label,
            .mosaic-input-field input[type=password]:not(.browser-default):focus:not([readonly]) + label,
            .mosaic-input-field input[type=email]:not(.browser-default):focus:not([readonly]) + label,
            .mosaic-input-field input[type=url]:not(.browser-default):focus:not([readonly]) + label,
            .mosaic-input-field input[type=time]:not(.browser-default):focus:not([readonly]) + label,
            .mosaic-input-field input[type=date]:not(.browser-default):focus:not([readonly]) + label,
            .mosaic-input-field input[type=datetime]:not(.browser-default):focus:not([readonly]) + label,
            .mosaic-input-field input[type=datetime-local]:not(.browser-default):focus:not([readonly]) + label,
            .mosaic-input-field input[type=tel]:not(.browser-default):focus:not([readonly]) + label,
            .mosaic-input-field input[type=number]:not(.browser-default):focus:not([readonly]) + label,
            .mosaic-input-field input[type=search]:not(.browser-default):focus:not([readonly]) + label,
            .mosaic-input-field textarea.materialize-textarea:focus:not([readonly]) + label {
                color: #015fff;
            }

        .mosaic-input-field input:not([type]):focus.valid ~ label,
        .mosaic-input-field input[type=text]:not(.browser-default):focus.valid ~ label,
        .mosaic-input-field input[type=password]:not(.browser-default):focus.valid ~ label,
        .mosaic-input-field input[type=email]:not(.browser-default):focus.valid ~ label,
        .mosaic-input-field input[type=url]:not(.browser-default):focus.valid ~ label,
        .mosaic-input-field input[type=time]:not(.browser-default):focus.valid ~ label,
        .mosaic-input-field input[type=date]:not(.browser-default):focus.valid ~ label,
        .mosaic-input-field input[type=datetime]:not(.browser-default):focus.valid ~ label,
        .mosaic-input-field input[type=datetime-local]:not(.browser-default):focus.valid ~ label,
        .mosaic-input-field input[type=tel]:not(.browser-default):focus.valid ~ label,
        .mosaic-input-field input[type=number]:not(.browser-default):focus.valid ~ label,
        .mosaic-input-field input[type=search]:not(.browser-default):focus.valid ~ label,
        .mosaic-input-field textarea.materialize-textarea:focus.valid ~ label {
            color: #015fff;
        }

        .mosaic-input-field input:not([type]):focus.invalid ~ label,
        .mosaic-input-field input[type=text]:not(.browser-default):focus.invalid ~ label,
        .mosaic-input-field input[type=password]:not(.browser-default):focus.invalid ~ label,
        .mosaic-input-field input[type=email]:not(.browser-default):focus.invalid ~ label,
        .mosaic-input-field input[type=url]:not(.browser-default):focus.invalid ~ label,
        .mosaic-input-field input[type=time]:not(.browser-default):focus.invalid ~ label,
        .mosaic-input-field input[type=date]:not(.browser-default):focus.invalid ~ label,
        .mosaic-input-field input[type=datetime]:not(.browser-default):focus.invalid ~ label,
        .mosaic-input-field input[type=datetime-local]:not(.browser-default):focus.invalid ~ label,
        .mosaic-input-field input[type=tel]:not(.browser-default):focus.invalid ~ label,
        .mosaic-input-field input[type=number]:not(.browser-default):focus.invalid ~ label,
        .mosaic-input-field input[type=search]:not(.browser-default):focus.invalid ~ label,
        .mosaic-input-field textarea.materialize-textarea:focus.invalid ~ label {
            color: #f44336;
        }

        .mosaic-input-field .mosaic-select-wrapper.valid > input.mosaic-select-dropdown, .mosaic-input-field input:not([type]).valid, .mosaic-input-field input:not([type]):focus.valid,
        .mosaic-input-field input[type=text]:not(.browser-default).valid,
        .mosaic-input-field input[type=text]:not(.browser-default):focus.valid,
        .mosaic-input-field input[type=password]:not(.browser-default).valid,
        .mosaic-input-field input[type=password]:not(.browser-default):focus.valid,
        .mosaic-input-field input[type=email]:not(.browser-default).valid,
        .mosaic-input-field input[type=email]:not(.browser-default):focus.valid,
        .mosaic-input-field input[type=url]:not(.browser-default).valid,
        .mosaic-input-field input[type=url]:not(.browser-default):focus.valid,
        .mosaic-input-field input[type=time]:not(.browser-default).valid,
        .mosaic-input-field input[type=time]:not(.browser-default):focus.valid,
        .mosaic-input-field input[type=date]:not(.browser-default).valid,
        .mosaic-input-field input[type=date]:not(.browser-default):focus.valid,
        .mosaic-input-field input[type=datetime]:not(.browser-default).valid,
        .mosaic-input-field input[type=datetime]:not(.browser-default):focus.valid,
        .mosaic-input-field input[type=datetime-local]:not(.browser-default).valid,
        .mosaic-input-field input[type=datetime-local]:not(.browser-default):focus.valid,
        .mosaic-input-field input[type=tel]:not(.browser-default).valid,
        .mosaic-input-field input[type=tel]:not(.browser-default):focus.valid,
        .mosaic-input-field input[type=number]:not(.browser-default).valid,
        .mosaic-input-field input[type=number]:not(.browser-default):focus.valid,
        .mosaic-input-field input[type=search]:not(.browser-default).valid,
        .mosaic-input-field input[type=search]:not(.browser-default):focus.valid,
        .mosaic-input-field textarea.materialize-textarea.valid,
        .mosaic-input-field textarea.materialize-textarea:focus.valid {
            border-color: #015fff;
        }

        .mosaic-input-field .mosaic-select-wrapper.invalid > input.mosaic-select-dropdown, .mosaic-input-field .mosaic-select-wrapper.invalid > input.mosaic-select-dropdown:focus, .mosaic-input-field input:not([type]).invalid, .mosaic-input-field input:not([type]):focus.invalid,
        .mosaic-input-field input[type=text]:not(.browser-default).invalid,
        .mosaic-input-field input[type=text]:not(.browser-default):focus.invalid,
        .mosaic-input-field input[type=password]:not(.browser-default).invalid,
        .mosaic-input-field input[type=password]:not(.browser-default):focus.invalid,
        .mosaic-input-field input[type=email]:not(.browser-default).invalid,
        .mosaic-input-field input[type=email]:not(.browser-default):focus.invalid,
        .mosaic-input-field input[type=url]:not(.browser-default).invalid,
        .mosaic-input-field input[type=url]:not(.browser-default):focus.invalid,
        .mosaic-input-field input[type=time]:not(.browser-default).invalid,
        .mosaic-input-field input[type=time]:not(.browser-default):focus.invalid,
        .mosaic-input-field input[type=date]:not(.browser-default).invalid,
        .mosaic-input-field input[type=date]:not(.browser-default):focus.invalid,
        .mosaic-input-field input[type=datetime]:not(.browser-default).invalid,
        .mosaic-input-field input[type=datetime]:not(.browser-default):focus.invalid,
        .mosaic-input-field input[type=datetime-local]:not(.browser-default).invalid,
        .mosaic-input-field input[type=datetime-local]:not(.browser-default):focus.invalid,
        .mosaic-input-field input[type=tel]:not(.browser-default).invalid,
        .mosaic-input-field input[type=tel]:not(.browser-default):focus.invalid,
        .mosaic-input-field input[type=number]:not(.browser-default).invalid,
        .mosaic-input-field input[type=number]:not(.browser-default):focus.invalid,
        .mosaic-input-field input[type=search]:not(.browser-default).invalid,
        .mosaic-input-field input[type=search]:not(.browser-default):focus.invalid,
        .mosaic-input-field textarea.materialize-textarea.invalid,
        .mosaic-input-field textarea.materialize-textarea:focus.invalid {
            border-color: #f44336;
        }

            .mosaic-input-field .mosaic-select-wrapper.valid .helper-text[data-success], .mosaic-select-wrapper.valid .mosaic-input-field .helper-text[data-success], .mosaic-input-field .mosaic-select-wrapper.invalid ~ .helper-text[data-error], .mosaic-input-field input:not([type]).valid ~ .helper-text[data-success], .mosaic-input-field input:not([type]):focus.valid ~ .helper-text[data-success], .mosaic-input-field input:not([type]).invalid ~ .helper-text[data-error], .mosaic-input-field input:not([type]):focus.invalid ~ .helper-text[data-error],
            .mosaic-input-field input[type=text]:not(.browser-default).valid ~ .helper-text[data-success],
            .mosaic-input-field input[type=text]:not(.browser-default).invalid ~ .helper-text[data-error],
            .mosaic-input-field input[type=password]:not(.browser-default).valid ~ .helper-text[data-success],
            .mosaic-input-field input[type=password]:not(.browser-default).invalid ~ .helper-text[data-error],
            .mosaic-input-field input[type=email]:not(.browser-default).valid ~ .helper-text[data-success],
            .mosaic-input-field input[type=email]:not(.browser-default).invalid ~ .helper-text[data-error],
            .mosaic-input-field input[type=url]:not(.browser-default).valid ~ .helper-text[data-success],
            .mosaic-input-field input[type=url]:not(.browser-default).invalid ~ .helper-text[data-error],
            .mosaic-input-field input[type=time]:not(.browser-default).valid ~ .helper-text[data-success],
            .mosaic-input-field input[type=time]:not(.browser-default).invalid ~ .helper-text[data-error],
            .mosaic-input-field input[type=date]:not(.browser-default).valid ~ .helper-text[data-success],
            .mosaic-input-field input[type=date]:not(.browser-default).invalid ~ .helper-text[data-error],
            .mosaic-input-field input[type=datetime]:not(.browser-default).valid ~ .helper-text[data-success],
            .mosaic-input-field input[type=datetime]:not(.browser-default).invalid ~ .helper-text[data-error],
            .mosaic-input-field input[type=datetime-local]:not(.browser-default).valid ~ .helper-text[data-success],
            .mosaic-input-field input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text[data-error],
            .mosaic-input-field input[type=tel]:not(.browser-default).valid ~ .helper-text[data-success],
            .mosaic-input-field input[type=tel]:not(.browser-default).invalid ~ .helper-text[data-error],
            .mosaic-input-field input[type=number]:not(.browser-default).valid ~ .helper-text[data-success],
            .mosaic-input-field input[type=number]:not(.browser-default).invalid ~ .helper-text[data-error],
            .mosaic-input-field input[type=search]:not(.browser-default).valid ~ .helper-text[data-success],
            .mosaic-input-field input[type=search]:not(.browser-default).invalid ~ .helper-text[data-error],
            .mosaic-input-field textarea.materialize-textarea.valid ~ .helper-text[data-success],
            .mosaic-input-field textarea.materialize-textarea:focus.valid ~ .helper-text[data-success],
            .mosaic-input-field textarea.materialize-textarea.invalid ~ .helper-text[data-error],
            .mosaic-input-field textarea.materialize-textarea:focus.invalid ~ .helper-text[data-error] {
                color: transparent;
                -webkit-user-select: none;
                -moz-user-select: none;
                -ms-user-select: none;
                user-select: none;
                pointer-events: none;
            }

        .mosaic-input-field .mosaic-select-wrapper.valid ~ .helper-text:after, .mosaic-input-field input:not([type]).valid ~ .helper-text:after, .mosaic-input-field input:not([type]):focus.valid ~ .helper-text:after,
        .mosaic-input-field input[type=text]:not(.browser-default).valid ~ .helper-text:after,
        .mosaic-input-field input[type=text]:not(.browser-default):focus.valid ~ .helper-text:after,
        .mosaic-input-field input[type=password]:not(.browser-default).valid ~ .helper-text:after,
        .mosaic-input-field input[type=password]:not(.browser-default):focus.valid ~ .helper-text:after,
        .mosaic-input-field input[type=email]:not(.browser-default).valid ~ .helper-text:after,
        .mosaic-input-field input[type=email]:not(.browser-default):focus.valid ~ .helper-text:after,
        .mosaic-input-field input[type=url]:not(.browser-default).valid ~ .helper-text:after,
        .mosaic-input-field input[type=url]:not(.browser-default):focus.valid ~ .helper-text:after,
        .mosaic-input-field input[type=time]:not(.browser-default).valid ~ .helper-text:after,
        .mosaic-input-field input[type=time]:not(.browser-default):focus.valid ~ .helper-text:after,
        .mosaic-input-field input[type=date]:not(.browser-default).valid ~ .helper-text:after,
        .mosaic-input-field input[type=date]:not(.browser-default):focus.valid ~ .helper-text:after,
        .mosaic-input-field input[type=datetime]:not(.browser-default).valid ~ .helper-text:after,
        .mosaic-input-field input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text:after,
        .mosaic-input-field input[type=datetime-local]:not(.browser-default).valid ~ .helper-text:after,
        .mosaic-input-field input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text:after,
        .mosaic-input-field input[type=tel]:not(.browser-default).valid ~ .helper-text:after,
        .mosaic-input-field input[type=tel]:not(.browser-default):focus.valid ~ .helper-text:after,
        .mosaic-input-field input[type=number]:not(.browser-default).valid ~ .helper-text:after,
        .mosaic-input-field input[type=number]:not(.browser-default):focus.valid ~ .helper-text:after,
        .mosaic-input-field input[type=search]:not(.browser-default).valid ~ .helper-text:after,
        .mosaic-input-field input[type=search]:not(.browser-default):focus.valid ~ .helper-text:after,
        .mosaic-input-field textarea.materialize-textarea.valid ~ .helper-text:after,
        .mosaic-input-field textarea.materialize-textarea:focus.valid ~ .helper-text:after {
            content: attr(data-success);
            color: #015fff;
        }

        .mosaic-input-field .mosaic-select-wrapper.invalid ~ .helper-text:after, .mosaic-input-field input:not([type]).invalid ~ .helper-text:after, .mosaic-input-field input:not([type]):focus.invalid ~ .helper-text:after,
        .mosaic-input-field input[type=text]:not(.browser-default).invalid ~ .helper-text:after,
        .mosaic-input-field input[type=text]:not(.browser-default):focus.invalid ~ .helper-text:after,
        .mosaic-input-field input[type=password]:not(.browser-default).invalid ~ .helper-text:after,
        .mosaic-input-field input[type=password]:not(.browser-default):focus.invalid ~ .helper-text:after,
        .mosaic-input-field input[type=email]:not(.browser-default).invalid ~ .helper-text:after,
        .mosaic-input-field input[type=email]:not(.browser-default):focus.invalid ~ .helper-text:after,
        .mosaic-input-field input[type=url]:not(.browser-default).invalid ~ .helper-text:after,
        .mosaic-input-field input[type=url]:not(.browser-default):focus.invalid ~ .helper-text:after,
        .mosaic-input-field input[type=time]:not(.browser-default).invalid ~ .helper-text:after,
        .mosaic-input-field input[type=time]:not(.browser-default):focus.invalid ~ .helper-text:after,
        .mosaic-input-field input[type=date]:not(.browser-default).invalid ~ .helper-text:after,
        .mosaic-input-field input[type=date]:not(.browser-default):focus.invalid ~ .helper-text:after,
        .mosaic-input-field input[type=datetime]:not(.browser-default).invalid ~ .helper-text:after,
        .mosaic-input-field input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text:after,
        .mosaic-input-field input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text:after,
        .mosaic-input-field input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text:after,
        .mosaic-input-field input[type=tel]:not(.browser-default).invalid ~ .helper-text:after,
        .mosaic-input-field input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text:after,
        .mosaic-input-field input[type=number]:not(.browser-default).invalid ~ .helper-text:after,
        .mosaic-input-field input[type=number]:not(.browser-default):focus.invalid ~ .helper-text:after,
        .mosaic-input-field input[type=search]:not(.browser-default).invalid ~ .helper-text:after,
        .mosaic-input-field input[type=search]:not(.browser-default):focus.invalid ~ .helper-text:after,
        .mosaic-input-field textarea.materialize-textarea.invalid ~ .helper-text:after,
        .mosaic-input-field textarea.materialize-textarea:focus.invalid ~ .helper-text:after {
            content: attr(data-error);
            color: #f44336;
        }

        .mosaic-input-field .mosaic-select-wrapper + label:after, .mosaic-input-field input:not([type]) + label:after,
        .mosaic-input-field input[type=text]:not(.browser-default) + label:after,
        .mosaic-input-field input[type=password]:not(.browser-default) + label:after,
        .mosaic-input-field input[type=email]:not(.browser-default) + label:after,
        .mosaic-input-field input[type=url]:not(.browser-default) + label:after,
        .mosaic-input-field input[type=time]:not(.browser-default) + label:after,
        .mosaic-input-field input[type=date]:not(.browser-default) + label:after,
        .mosaic-input-field input[type=datetime]:not(.browser-default) + label:after,
        .mosaic-input-field input[type=datetime-local]:not(.browser-default) + label:after,
        .mosaic-input-field input[type=tel]:not(.browser-default) + label:after,
        .mosaic-input-field input[type=number]:not(.browser-default) + label:after,
        .mosaic-input-field input[type=search]:not(.browser-default) + label:after,
        .mosaic-input-field textarea.materialize-textarea + label:after {
            display: block;
            content: "";
            position: absolute;
            top: 100%;
            left: 0;
            opacity: 0;
            transition: 0.2s opacity ease-out, 0.2s color ease-out;
        }

    .mosaic-input-field .prefix {
        position: absolute;
        width: 3.5rem;
        font-size: 2rem;
        transition: color 0.2s;
        top: 1.5rem/2;
    }

        .mosaic-input-field .prefix.active {
            color: #015fff;
        }

        .mosaic-input-field .prefix ~ input,
        .mosaic-input-field .prefix ~ textarea,
        .mosaic-input-field .prefix ~ label,
        .mosaic-input-field .prefix ~ .validate ~ label,
        .mosaic-input-field .prefix ~ .helper-text,
        .mosaic-input-field .prefix ~ .autocomplete-content {
            margin-left: 3rem;
            width: 92%;
            width: calc(100% - 3rem);
        }

        .mosaic-input-field .prefix ~ label {
            margin-left: 3rem;
        }

@media only screen and (max-width : 992px) {
    .mosaic-input-field .prefix ~ input {
        width: 86%;
        width: calc(100% - 3rem);
    }
}

@media only screen and (max-width : 600px) {
    .mosaic-input-field .prefix ~ input {
        width: 80%;
        width: calc(100% - 3rem);
    }
}

.mosaic-input-field.filled input[type=text],
.mosaic-input-field.filled input[type=email],
.mosaic-input-field.filled input[type=password] {
    background-color: rgba(115, 144, 207, 0.09);
    border-radius: 8px 8px 0 0;
}

    .mosaic-input-field.filled input[type=text]:hover,
    .mosaic-input-field.filled input[type=email]:hover,
    .mosaic-input-field.filled input[type=password]:hover {
        background-color: rgba(115, 144, 207, 0.09);
    }

.mosaic-input-field.outlined input[type=text],
.mosaic-input-field.outlined input[type=email],
.mosaic-input-field.outlined input[type=password] {
    background-color: #ffffff;
    border-radius: 8px;
    border-top-width: 1px;
    border-right-width: 1px;
    border-left-width: 1px;
    padding-top: 0;
}

    .mosaic-input-field.outlined input[type=text]:hover,
    .mosaic-input-field.outlined input[type=email]:hover,
    .mosaic-input-field.outlined input[type=password]:hover {
        background-color: #ffffff;
    }

    .mosaic-input-field.outlined input[type=text]:focus:not([readonly]), .mosaic-input-field.outlined input[type=text]:focus-visible:not([readonly]),
    .mosaic-input-field.outlined input[type=email]:focus:not([readonly]),
    .mosaic-input-field.outlined input[type=email]:focus-visible:not([readonly]),
    .mosaic-input-field.outlined input[type=password]:focus:not([readonly]),
    .mosaic-input-field.outlined input[type=password]:focus-visible:not([readonly]) {
        background-color: #ffffff;
        border-top-width: 2px;
        border-right-width: 2px;
        border-left-width: 2px;
        border-bottom-width: 2px;
    }

.mosaic-input-field.outlined > label:not(.label-icon).active {
    background-color: #ffffff;
    display: block;
    transform: translate(12px, -8px) scale(0.75);
    padding-left: 8px;
    padding-right: 8px;
}

/* Search Field */
.input-field input[type=search] {
    display: block;
    line-height: inherit;
    transition: 0.3s background-color;
}

.nav-wrapper .input-field input[type=search] {
    height: inherit;
    padding-left: 4rem;
    width: calc(100% - 4rem);
    border: 0;
    box-shadow: none;
}

.input-field input[type=search]:focus:not(.browser-default) {
    background-color: #fff;
    border: 0;
    box-shadow: none;
    color: #444;
}

    .input-field input[type=search]:focus:not(.browser-default) + label i, .input-field input[type=search]:focus:not(.browser-default) ~ .mdi-navigation-close, .input-field input[type=search]:focus:not(.browser-default) ~ .material-icons {
        color: #444;
    }

.input-field input[type=search] + .label-icon {
    transform: none;
    left: 1rem;
}

.input-field input[type=search] ~ .mdi-navigation-close, .input-field input[type=search] ~ .material-icons {
    position: absolute;
    top: 0;
    right: 1rem;
    color: transparent;
    cursor: pointer;
    font-size: 2rem;
    transition: 0.3s color;
}

/* Textarea */
textarea {
    width: 100%;
    height: 3.5rem;
    background-color: transparent;
}

    textarea.materialize-textarea {
        line-height: normal;
        overflow-y: hidden;
        /* prevents scroll bar flash */
        padding: 0.8rem 0 0.8rem 0;
        /* prevents text jump on Enter keypress */
        resize: none;
        min-height: 3.5rem;
        box-sizing: border-box;
    }

.hiddendiv {
    visibility: hidden;
    white-space: pre-wrap;
    word-wrap: break-word;
    overflow-wrap: break-word;
    /* future version of deprecated 'word-wrap' */
    padding-top: 1.2rem;
    /* prevents text jump on Enter keypress */
    position: absolute;
    top: 0;
    z-index: -1;
}

/* Autocomplete */
.autocomplete-content li .highlight {
    color: #444;
}

.autocomplete-content li img {
    height: 26px;
    width: 26px;
    margin: 5px 15px;
}

/* Character Counter */
.character-counter {
    min-height: 18px;
}

/* Radio Buttons
   ========================================================================== */
[type=radio]:not(:checked),
[type=radio]:checked {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

    [type=radio]:not(:checked) + span,
    [type=radio]:checked + span {
        position: relative;
        padding-left: 35px;
        cursor: pointer;
        display: inline-block;
        height: 25px;
        line-height: 25px;
        font-size: 1rem;
        transition: 0.28s ease;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }

[type=radio] + span:before,
[type=radio] + span:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    margin: 4px;
    width: 16px;
    height: 16px;
    z-index: 0;
    transition: 0.28s ease;
}

/* Unchecked styles */
[type=radio]:not(:checked) + span:before,
[type=radio]:not(:checked) + span:after,
[type=radio]:checked + span:before,
[type=radio]:checked + span:after,
[type=radio].with-gap:checked + span:before,
[type=radio].with-gap:checked + span:after {
    border-radius: 50%;
}

[type=radio]:not(:checked) + span:before,
[type=radio]:not(:checked) + span:after {
    border: 2px solid #5a5a5a;
}

[type=radio]:not(:checked) + span:after {
    transform: scale(0);
}

/* Checked styles */
[type=radio]:checked + span:before {
    border: 2px solid transparent;
}

[type=radio]:checked + span:after,
[type=radio].with-gap:checked + span:before,
[type=radio].with-gap:checked + span:after {
    border: 2px solid #015fff;
}

[type=radio]:checked + span:after,
[type=radio].with-gap:checked + span:after {
    background-color: #015fff;
}

[type=radio]:checked + span:after {
    transform: scale(1.02);
}

/* Radio With gap */
[type=radio].with-gap:checked + span:after {
    transform: scale(0.5);
}

/* Focused styles */
[type=radio].tabbed:focus + span:before {
    box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1);
}

/* Disabled Radio With gap */
[type=radio].with-gap:disabled:checked + span:before {
    border: 2px solid rgba(0, 0, 0, 0.42);
}

[type=radio].with-gap:disabled:checked + span:after {
    border: none;
    background-color: rgba(0, 0, 0, 0.42);
}

/* Disabled style */
[type=radio]:disabled:not(:checked) + span:before,
[type=radio]:disabled:checked + span:before {
    background-color: transparent;
    border-color: rgba(0, 0, 0, 0.42);
}

[type=radio]:disabled + span {
    color: rgba(0, 0, 0, 0.42);
}

[type=radio]:disabled:not(:checked) + span:before {
    border-color: rgba(0, 0, 0, 0.42);
}

[type=radio]:disabled:checked + span:after {
    background-color: rgba(0, 0, 0, 0.42);
    border-color: #949494;
}

/* Checkboxes
   ========================================================================== */
.mosaic-checkbox-label {
    align-items: center;
    display: inline-flex;
}

    .mosaic-checkbox-label span {
        color: #545e75;
    }

    .mosaic-checkbox-label.disabled span {
        color: #9da2a7;
    }

    .mosaic-checkbox-label.error span {
        color: #f44336;
    }

input[type=checkbox].mosaic-checkbox {
    align-items: center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 50%;
    display: flex;
    height: 40px;
    justify-content: center;
    outline: none;
    position: relative;
    width: 40px;
}

    input[type=checkbox].mosaic-checkbox:hover, input[type=checkbox].mosaic-checkbox:focus, input[type=checkbox].mosaic-checkbox:focus-visible {
        background-color: rgba(7, 35, 70, 0.08);
        cursor: pointer;
    }

    input[type=checkbox].mosaic-checkbox::before {
        background-color: transparent;
        border-color: black;
        border-radius: 3px;
        border-style: solid;
        border-width: 2px;
        box-sizing: border-box;
        content: " ";
        display: block;
        height: 20px;
        width: 20px;
    }

    input[type=checkbox].mosaic-checkbox:checked:hover, input[type=checkbox].mosaic-checkbox:checked:focus, input[type=checkbox].mosaic-checkbox:checked:focus-visible {
        background-color: rgba(1, 95, 255, 0.08);
    }

    input[type=checkbox].mosaic-checkbox:checked::before {
        background-color: #015fff;
        background-image: url(../images/done_black_24dp.svg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: 20px;
        border-color: #015fff;
    }

    input[type=checkbox].mosaic-checkbox.small {
        height: 32px;
        width: 32px;
    }

    input[type=checkbox].mosaic-checkbox:disabled {
        cursor: default;
        pointer-events: none;
    }

        input[type=checkbox].mosaic-checkbox:disabled:hover {
            background-color: transparent;
        }

        input[type=checkbox].mosaic-checkbox:disabled::before {
            background-color: #babdc0;
            border-color: #babdc0;
        }

    input[type=checkbox].mosaic-checkbox.mosaic--indeterminate::before {
        background-color: #015fff;
        border-color: #015fff;
        background-image: none;
    }

    input[type=checkbox].mosaic-checkbox.mosaic--indeterminate::after {
        background-color: white;
        content: " ";
        display: block;
        height: 2px;
        position: absolute;
        width: 12px;
        z-index: 999;
    }

    input[type=checkbox].mosaic-checkbox.error:hover, input[type=checkbox].mosaic-checkbox.error:focus, input[type=checkbox].mosaic-checkbox.error:focus-visible {
        background-color: rgba(244, 67, 54, 0.08);
    }

    input[type=checkbox].mosaic-checkbox.error::before {
        border-color: #f44336;
    }

    input[type=checkbox].mosaic-checkbox.error:checked::before {
        background-color: #f44336;
    }

/* Switch
   ========================================================================== */
.switch,
.switch * {
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

    .switch label {
        cursor: pointer;
    }

        .switch label input[type=checkbox] {
            opacity: 0;
            width: 0;
            height: 0;
        }

            .switch label input[type=checkbox]:checked + .lever {
                background-color: #90b3ef;
            }

                .switch label input[type=checkbox]:checked + .lever:before, .switch label input[type=checkbox]:checked + .lever:after {
                    left: 18px;
                }

                .switch label input[type=checkbox]:checked + .lever:after {
                    background-color: #015fff;
                }

        .switch label .lever {
            content: "";
            display: inline-block;
            position: relative;
            width: 36px;
            height: 14px;
            background-color: rgba(0, 0, 0, 0.38);
            border-radius: 15px;
            margin-right: 10px;
            transition: background 0.3s ease;
            vertical-align: middle;
            margin: 0 16px;
        }

            .switch label .lever:before, .switch label .lever:after {
                content: "";
                position: absolute;
                display: inline-block;
                width: 20px;
                height: 20px;
                border-radius: 50%;
                left: 0;
                top: -3px;
                transition: left 0.3s ease, background 0.3s ease, box-shadow 0.1s ease, transform 0.1s ease;
            }

            .switch label .lever:before {
                background-color: rgba(1, 95, 255, 0.15);
            }

            .switch label .lever:after {
                background-color: #f1f1f1;
                box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
            }

input[type=checkbox]:checked:not(:disabled) ~ .lever:active::before,
input[type=checkbox]:checked:not(:disabled).tabbed:focus ~ .lever::before {
    transform: scale(2.4);
    background-color: rgba(1, 95, 255, 0.15);
}

input[type=checkbox]:not(:disabled) ~ .lever:active:before,
input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before {
    transform: scale(2.4);
    background-color: rgba(0, 0, 0, 0.08);
}

.switch input[type=checkbox][disabled] + .lever {
    cursor: default;
    background-color: rgba(0, 0, 0, 0.12);
}

.switch label input[type=checkbox][disabled] + .lever:after,
.switch label input[type=checkbox][disabled]:checked + .lever:after {
    background-color: #949494;
}

/* Select Field
   ========================================================================== */
select {
    display: none;
}

    select.browser-default {
        display: block;
    }

    select.mosaic-select {
        background-color: rgba(255, 255, 255, 0.9);
        width: 100%;
        padding: 5px;
        border: 1px solid #f2f2f2;
        border-radius: 2px;
        height: 3.5rem;
    }

.select-label {
    position: absolute;
}

.mosaic-select-wrapper {
    position: relative;
}

    .mosaic-select-wrapper.valid + label, .mosaic-select-wrapper.invalid + label {
        width: 100%;
        pointer-events: none;
    }

    .mosaic-select-wrapper input.mosaic-select-dropdown {
        position: relative;
        cursor: pointer;
        background-color: transparent;
        border: none;
        border-bottom: 1px solid #9e9e9e;
        outline: none;
        height: 3.5rem;
        line-height: 3.5rem;
        width: 100%;
        font-size: 14px;
        margin: 0;
        padding: 0;
        display: block;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        z-index: 1;
    }

        .mosaic-select-wrapper input.mosaic-select-dropdown:focus {
            border-bottom: 1px solid #015fff;
        }

    .mosaic-select-wrapper .caret {
        position: absolute;
        right: 8px;
        top: 0;
        bottom: 0;
        margin: auto 0;
        z-index: 0;
        fill: rgba(0, 0, 0, 0.87);
    }

    .mosaic-select-wrapper + label {
        position: absolute;
        top: 4px;
        left: 12px;
        font-size: 0.875rem;
        transform: scale(0.75);
    }

select:disabled {
    color: rgba(0, 0, 0, 0.42);
}

.mosaic-select-wrapper.disabled + label {
    color: rgba(0, 0, 0, 0.42);
}

.mosaic-select-wrapper.disabled .caret {
    fill: rgba(0, 0, 0, 0.42);
}

.mosaic-select-wrapper input.mosaic-select-dropdown:disabled {
    color: rgba(0, 0, 0, 0.42);
    cursor: default;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.mosaic-select-wrapper i {
    color: rgba(0, 0, 0, 0.3);
}

.mosaic-select-dropdown li.disabled,
.mosaic-select-dropdown li.disabled > span,
.mosaic-select-dropdown li.optgroup {
    color: rgba(0, 0, 0, 0.3);
    background-color: transparent;
}

body.keyboard-focused .mosaic-select-dropdown.mosaic-dropdown-content li:focus {
    background-color: rgba(0, 0, 0, 0.08);
}

.mosaic-select-dropdown.mosaic-dropdown-content {
    top: 56px !important;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

    .mosaic-select-dropdown.mosaic-dropdown-content li:hover {
        background-color: rgba(0, 0, 0, 0.08);
    }

    .mosaic-select-dropdown.mosaic-dropdown-content li.selected {
        background-color: rgba(0, 0, 0, 0.03);
    }

.prefix ~ .mosaic-select-wrapper {
    margin-left: 3rem;
    width: 92%;
    width: calc(100% - 3rem);
}

.prefix ~ label {
    margin-left: 3rem;
}

.mosaic-select-dropdown li img {
    height: 26px;
    width: 26px;
    margin: 5px 15px;
    float: right;
}

.mosaic-select-dropdown li.optgroup {
    border-top: 1px solid #eee;
}

    .mosaic-select-dropdown li.optgroup.selected > span {
        color: rgba(0, 0, 0, 0.7);
    }

    .mosaic-select-dropdown li.optgroup > span {
        color: rgba(0, 0, 0, 0.4);
    }

    .mosaic-select-dropdown li.optgroup ~ li.optgroup-option {
        padding-left: 1rem;
    }

/* File Input
   ========================================================================== */
.file-field {
    position: relative;
}

    .file-field .file-path-wrapper {
        overflow: hidden;
        padding-left: 10px;
    }

    .file-field input.file-path {
        width: 100%;
    }

    .file-field .btn {
        float: left;
        height: 3.5rem;
        line-height: 3.5rem;
    }

    .file-field span {
        cursor: pointer;
    }

    .file-field input[type=file] {
        /*position: absolute;*/
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        width: 100%;
        margin: 0;
        padding: 0;
        font-size: 20px;
        cursor: pointer;
        /*opacity: 0;*/
        filter: alpha(opacity=0);
    }

        .file-field input[type=file]::-webkit-file-upload-button {
            display: none;
        }

/* Range
   ========================================================================== */
.range-field {
    position: relative;
}

input[type=range],
input[type=range] + .thumb {
    cursor: pointer;
}

input[type=range] {
    position: relative;
    background-color: transparent;
    border: none;
    outline: none;
    width: 100%;
    margin: 15px 0;
    padding: 0;
}

    input[type=range]:focus {
        outline: none;
    }

    input[type=range] + .thumb {
        position: absolute;
        top: 10px;
        left: 0;
        border: none;
        height: 0;
        width: 0;
        border-radius: 50%;
        background-color: #015fff;
        margin-left: 7px;
        transform-origin: 50% 50%;
        transform: rotate(-45deg);
    }

        input[type=range] + .thumb .value {
            display: block;
            width: 30px;
            text-align: center;
            color: #015fff;
            font-size: 0;
            transform: rotate(45deg);
        }

        input[type=range] + .thumb.active {
            border-radius: 50% 50% 50% 0;
        }

            input[type=range] + .thumb.active .value {
                color: #fff;
                margin-left: -1px;
                margin-top: 8px;
                font-size: 10px;
            }

input[type=range] {
    -webkit-appearance: none;
}

    input[type=range]::-webkit-slider-runnable-track {
        height: 3px;
        background: #c2c0c2;
        border: none;
    }

    input[type=range]::-webkit-slider-thumb {
        border: none;
        height: 14px;
        width: 14px;
        border-radius: 50%;
        background: #015fff;
        -webkit-transition: box-shadow 0.3s;
        transition: box-shadow 0.3s;
        -webkit-appearance: none;
        background-color: #015fff;
        transform-origin: 50% 50%;
        margin: -5px 0 0 0;
    }

.keyboard-focused input[type=range]:focus:not(.active)::-webkit-slider-thumb {
    box-shadow: 0 0 0 10px rgba(1, 95, 255, 0.26);
}

input[type=range] {
    /* fix for FF unable to apply focus style bug  */
    border: 1px solid white;
    /*required for proper track sizing in FF*/
}

    input[type=range]::-moz-range-track {
        height: 3px;
        background: #c2c0c2;
        border: none;
    }

    input[type=range]::-moz-focus-inner {
        border: 0;
    }

    input[type=range]::-moz-range-thumb {
        border: none;
        height: 14px;
        width: 14px;
        border-radius: 50%;
        background: #015fff;
        -moz-transition: box-shadow 0.3s;
        transition: box-shadow 0.3s;
        margin-top: -5px;
    }

    input[type=range]:-moz-focusring {
        outline: 1px solid #fff;
        outline-offset: -1px;
    }

.keyboard-focused input[type=range]:focus:not(.active)::-moz-range-thumb {
    box-shadow: 0 0 0 10px rgba(1, 95, 255, 0.26);
}

input[type=range]::-ms-track {
    height: 3px;
    background: transparent;
    border-color: transparent;
    border-width: 6px 0;
    /*remove default tick marks*/
    color: transparent;
}

input[type=range]::-ms-fill-lower {
    background: #777;
}

input[type=range]::-ms-fill-upper {
    background: #ddd;
}

input[type=range]::-ms-thumb {
    border: none;
    height: 14px;
    width: 14px;
    border-radius: 50%;
    background: #015fff;
    -ms-transition: box-shadow 0.3s;
    transition: box-shadow 0.3s;
}

.keyboard-focused input[type=range]:focus:not(.active)::-ms-thumb {
    box-shadow: 0 0 0 10px rgba(1, 95, 255, 0.26);
}

/***************
    Nav List
***************/
.table-of-contents.fixed {
    position: fixed;
}

.table-of-contents li {
    padding: 2px 0;
}

.table-of-contents a {
    display: inline-block;
    font-weight: 300;
    color: #757575;
    padding-left: 16px;
    height: 1.5rem;
    line-height: 1.5rem;
    letter-spacing: 0.4;
    display: inline-block;
}

    .table-of-contents a:hover {
        color: #a8a8a8;
        padding-left: 15px;
        border-left: 1px solid #015fff;
    }

    .table-of-contents a.active {
        font-weight: 500;
        padding-left: 14px;
        border-left: 2px solid #015fff;
    }

/*
    @license
    Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
    This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
    The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
    The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
    Code distributed by Google as part of the polymer project is also
    subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
 */
/**************************/
/* STYLES FOR THE SPINNER */
/**************************/
/*
 * Constants:
 *      STROKEWIDTH = 3px
 *      ARCSIZE     = 270 degrees (amount of circle the arc takes up)
 *      ARCTIME     = 1333ms (time it takes to expand and contract arc)
 *      ARCSTARTROT = 216 degrees (how much the start location of the arc
 *                                should rotate each time, 216 gives us a
 *                                5 pointed star shape (it's 360/5 * 3).
 *                                For a 7 pointed star, we might do
 *                                360/7 * 3 = 154.286)
 *      CONTAINERWIDTH = 28px
 *      SHRINK_TIME = 400ms
 */
/*.preloader-wrapper {
    display: inline-block;
    position: relative;
    width: 50px;
    height: 50px;
}

    .preloader-wrapper.small {
        width: 36px;
        height: 36px;
    }

    .preloader-wrapper.big {
        width: 64px;
        height: 64px;
    }

    .preloader-wrapper.active {*/
/* duration: 360 * ARCTIME / (ARCSTARTROT + (360-ARCSIZE)) */
/*-webkit-animation: container-rotate 1568ms linear infinite;
        animation: container-rotate 1568ms linear infinite;
    }*/

@-webkit-keyframes container-rotate {
    to {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes container-rotate {
    to {
        transform: rotate(360deg);
    }
}

.spinner-layer {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    border-color: #26a69a;
}

.spinner-blue,
.spinner-blue-only {
    border-color: #4285f4;
}

.spinner-red,
.spinner-red-only {
    border-color: #db4437;
}

.spinner-yellow,
.spinner-yellow-only {
    border-color: #f4b400;
}

.spinner-green,
.spinner-green-only {
    border-color: #0f9d58;
}

/**
 * IMPORTANT NOTE ABOUT CSS ANIMATION PROPERTIES (keanulee):
 *
 * iOS Safari (tested on iOS 8.1) does not handle animation-delay very well - it doesn't
 * guarantee that the animation will start _exactly_ after that value. So we avoid using
 * animation-delay and instead set custom keyframes for each color (as redundant as it
 * seems).
 *
 * We write out each animation in full (instead of separating animation-name,
 * animation-duration, etc.) because under the polyfill, Safari does not recognize those
 * specific properties properly, treats them as -webkit-animation, and overrides the
 * other animation rules. See https://github.com/Polymer/platform/issues/53.
 */
.active .spinner-layer.spinner-blue {
    /* durations: 4 * ARCTIME */
    -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
    animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.active .spinner-layer.spinner-red {
    /* durations: 4 * ARCTIME */
    -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
    animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.active .spinner-layer.spinner-yellow {
    /* durations: 4 * ARCTIME */
    -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
    animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.active .spinner-layer.spinner-green {
    /* durations: 4 * ARCTIME */
    -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
    animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.active .spinner-layer,
.active .spinner-layer.spinner-blue-only,
.active .spinner-layer.spinner-red-only,
.active .spinner-layer.spinner-yellow-only,
.active .spinner-layer.spinner-green-only {
    /* durations: 4 * ARCTIME */
    opacity: 1;
    -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
    animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

@-webkit-keyframes fill-unfill-rotate {
    12.5% {
        -webkit-transform: rotate(135deg);
    }
    /* 0.5 * ARCSIZE */
    25% {
        -webkit-transform: rotate(270deg);
    }
    /* 1   * ARCSIZE */
    37.5% {
        -webkit-transform: rotate(405deg);
    }
    /* 1.5 * ARCSIZE */
    50% {
        -webkit-transform: rotate(540deg);
    }
    /* 2   * ARCSIZE */
    62.5% {
        -webkit-transform: rotate(675deg);
    }
    /* 2.5 * ARCSIZE */
    75% {
        -webkit-transform: rotate(810deg);
    }
    /* 3   * ARCSIZE */
    87.5% {
        -webkit-transform: rotate(945deg);
    }
    /* 3.5 * ARCSIZE */
    to {
        -webkit-transform: rotate(1080deg);
    }
    /* 4   * ARCSIZE */
}

@keyframes fill-unfill-rotate {
    12.5% {
        transform: rotate(135deg);
    }
    /* 0.5 * ARCSIZE */
    25% {
        transform: rotate(270deg);
    }
    /* 1   * ARCSIZE */
    37.5% {
        transform: rotate(405deg);
    }
    /* 1.5 * ARCSIZE */
    50% {
        transform: rotate(540deg);
    }
    /* 2   * ARCSIZE */
    62.5% {
        transform: rotate(675deg);
    }
    /* 2.5 * ARCSIZE */
    75% {
        transform: rotate(810deg);
    }
    /* 3   * ARCSIZE */
    87.5% {
        transform: rotate(945deg);
    }
    /* 3.5 * ARCSIZE */
    to {
        transform: rotate(1080deg);
    }
    /* 4   * ARCSIZE */
}

@-webkit-keyframes blue-fade-in-out {
    from {
        opacity: 1;
    }

    25% {
        opacity: 1;
    }

    26% {
        opacity: 0;
    }

    89% {
        opacity: 0;
    }

    90% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

@keyframes blue-fade-in-out {
    from {
        opacity: 1;
    }

    25% {
        opacity: 1;
    }

    26% {
        opacity: 0;
    }

    89% {
        opacity: 0;
    }

    90% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

@-webkit-keyframes red-fade-in-out {
    from {
        opacity: 0;
    }

    15% {
        opacity: 0;
    }

    25% {
        opacity: 1;
    }

    50% {
        opacity: 1;
    }

    51% {
        opacity: 0;
    }
}

@keyframes red-fade-in-out {
    from {
        opacity: 0;
    }

    15% {
        opacity: 0;
    }

    25% {
        opacity: 1;
    }

    50% {
        opacity: 1;
    }

    51% {
        opacity: 0;
    }
}

@-webkit-keyframes yellow-fade-in-out {
    from {
        opacity: 0;
    }

    40% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    75% {
        opacity: 1;
    }

    76% {
        opacity: 0;
    }
}

@keyframes yellow-fade-in-out {
    from {
        opacity: 0;
    }

    40% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    75% {
        opacity: 1;
    }

    76% {
        opacity: 0;
    }
}

@-webkit-keyframes green-fade-in-out {
    from {
        opacity: 0;
    }

    65% {
        opacity: 0;
    }

    75% {
        opacity: 1;
    }

    90% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes green-fade-in-out {
    from {
        opacity: 0;
    }

    65% {
        opacity: 0;
    }

    75% {
        opacity: 1;
    }

    90% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}
/**
 * Patch the gap that appear between the two adjacent div.circle-clipper while the
 * spinner is rotating (appears on Chrome 38, Safari 7.1, and IE 11).
 */
.gap-patch {
    position: absolute;
    top: 0;
    left: 45%;
    width: 10%;
    height: 100%;
    overflow: hidden;
    border-color: inherit;
}

    .gap-patch .circle {
        width: 1000%;
        left: -450%;
    }

.circle-clipper {
    display: inline-block;
    position: relative;
    width: 50%;
    height: 100%;
    overflow: hidden;
    border-color: inherit;
}

    .circle-clipper .circle {
        width: 200%;
        height: 100%;
        border-width: 3px;
        /* STROKEWIDTH */
        border-style: solid;
        border-color: inherit;
        border-bottom-color: transparent !important;
        border-radius: 50%;
        -webkit-animation: none;
        animation: none;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
    }

    .circle-clipper.left .circle {
        left: 0;
        border-right-color: transparent !important;
        transform: rotate(129deg);
    }

    .circle-clipper.right .circle {
        left: -100%;
        border-left-color: transparent !important;
        transform: rotate(-129deg);
    }

.active .circle-clipper.left .circle {
    /* duration: ARCTIME */
    -webkit-animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
    animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.active .circle-clipper.right .circle {
    /* duration: ARCTIME */
    -webkit-animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
    animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

@-webkit-keyframes left-spin {
    from {
        -webkit-transform: rotate(130deg);
    }

    50% {
        -webkit-transform: rotate(-5deg);
    }

    to {
        -webkit-transform: rotate(130deg);
    }
}

@keyframes left-spin {
    from {
        transform: rotate(130deg);
    }

    50% {
        transform: rotate(-5deg);
    }

    to {
        transform: rotate(130deg);
    }
}

@-webkit-keyframes right-spin {
    from {
        -webkit-transform: rotate(-130deg);
    }

    50% {
        -webkit-transform: rotate(5deg);
    }

    to {
        -webkit-transform: rotate(-130deg);
    }
}

@keyframes right-spin {
    from {
        transform: rotate(-130deg);
    }

    50% {
        transform: rotate(5deg);
    }

    to {
        transform: rotate(-130deg);
    }
}

#spinnerContainer.cooldown {
    /* duration: SHRINK_TIME */
    -webkit-animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);
    animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);
}

@-webkit-keyframes fade-out {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

@keyframes fade-out {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

.slider {
    position: relative;
    height: 400px;
    width: 100%;
}

    .slider.fullscreen {
        height: 100%;
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    }

        .slider.fullscreen ul.slides {
            height: 100%;
        }

        .slider.fullscreen ul.indicators {
            z-index: 2;
            bottom: 30px;
        }

    .slider .slides {
        background-color: #9e9e9e;
        margin: 0;
        height: 400px;
    }

        .slider .slides li {
            opacity: 0;
            position: absolute;
            top: 0;
            left: 0;
            z-index: 1;
            width: 100%;
            height: inherit;
            overflow: hidden;
        }

            .slider .slides li img {
                height: 100%;
                width: 100%;
                background-size: cover;
                background-position: center;
            }

            .slider .slides li .caption {
                color: #fff;
                position: absolute;
                top: 15%;
                left: 15%;
                width: 70%;
                opacity: 0;
            }

                .slider .slides li .caption p {
                    color: #e0e0e0;
                }

            .slider .slides li.active {
                z-index: 2;
            }

    .slider .indicators {
        position: absolute;
        text-align: center;
        left: 0;
        right: 0;
        bottom: 0;
        margin: 0;
    }

        .slider .indicators .indicator-item {
            display: inline-block;
            position: relative;
            cursor: pointer;
            height: 16px;
            width: 16px;
            margin: 0 12px;
            background-color: #e0e0e0;
            transition: background-color 0.3s;
            border-radius: 50%;
        }

            .slider .indicators .indicator-item.active {
                background-color: #4caf50;
            }

.tap-target-wrapper {
    width: 800px;
    height: 800px;
    position: fixed;
    z-index: 1000;
    visibility: hidden;
    transition: visibility 0s 0.3s;
}

    .tap-target-wrapper.open {
        visibility: visible;
        transition: visibility 0s;
    }

        .tap-target-wrapper.open .tap-target {
            transform: scale(1);
            opacity: 0.95;
            transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
        }

        .tap-target-wrapper.open .tap-target-wave::before {
            transform: scale(1);
        }

        .tap-target-wrapper.open .tap-target-wave::after {
            visibility: visible;
            -webkit-animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
            animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
            transition: opacity 0.3s, transform 0.3s, visibility 0s 1s;
        }

.tap-target {
    position: absolute;
    font-size: 1rem;
    border-radius: 50%;
    background-color: #015fff;
    box-shadow: 0 20px 20px 0 rgba(0, 0, 0, 0.14), 0 10px 50px 0 rgba(0, 0, 0, 0.12), 0 30px 10px -20px rgba(0, 0, 0, 0.2);
    width: 100%;
    height: 100%;
    opacity: 0;
    transform: scale(0);
    transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}

.tap-target-content {
    position: relative;
    display: table-cell;
}

.tap-target-wave {
    position: absolute;
    border-radius: 50%;
    z-index: 10001;
}

    .tap-target-wave::before, .tap-target-wave::after {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        border-radius: 50%;
        background-color: #ffffff;
    }

    .tap-target-wave::before {
        transform: scale(0);
        transition: transform 0.3s;
    }

    .tap-target-wave::after {
        visibility: hidden;
        transition: opacity 0.3s, transform 0.3s, visibility 0s;
        z-index: -1;
    }

.tap-target-origin {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10002;
    position: absolute !important;
}

    .tap-target-origin:not(.btn), .tap-target-origin:not(.btn):hover {
        background: none;
    }

@media only screen and (max-width: 600px) {
    .tap-target, .tap-target-wrapper {
        width: 600px;
        height: 600px;
    }
}

.pulse {
    overflow: visible;
    position: relative;
}

    .pulse::before {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background-color: inherit;
        border-radius: inherit;
        transition: opacity 0.3s, transform 0.3s;
        -webkit-animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
        animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
        z-index: -1;
    }

@-webkit-keyframes pulse-animation {
    0% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0;
        transform: scale(1.5);
    }

    100% {
        opacity: 0;
        transform: scale(1.5);
    }
}

@keyframes pulse-animation {
    0% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0;
        transform: scale(1.5);
    }

    100% {
        opacity: 0;
        transform: scale(1.5);
    }
}
/* Modal */
.mosaic-datepicker-modal {
    max-width: 325px;
    min-width: 300px;
    max-height: none;
}

.mosaic-datepicker-container.modal-content {
    display: flex;
    flex-direction: column;
    padding: 0;
}

.mosaic-datepicker-controls {
    display: flex;
    justify-content: space-between;
    width: 280px;
    margin: 0 auto;
}

    .mosaic-datepicker-controls .selects-container {
        display: flex;
    }

    .mosaic-datepicker-controls .select-wrapper input {
        border-bottom: none;
        text-align: center;
        margin: 0;
    }

        .mosaic-datepicker-controls .select-wrapper input:focus {
            border-bottom: none;
        }

    .mosaic-datepicker-controls .select-wrapper .caret {
        display: none;
    }

    .mosaic-datepicker-controls .select-year input {
        width: 50px;
    }

    .mosaic-datepicker-controls .select-month input {
        width: 70px;
    }

.month-prev,
.month-next {
    margin-top: 4px;
    cursor: pointer;
    background-color: transparent;
    border: none;
}

/* Date Display */
.mosaic-datepicker-date-display {
    flex: 1 auto;
    background-color: #26a69a;
    color: #fff;
    padding: 20px 22px;
    font-weight: 500;
}

    .mosaic-datepicker-date-display .year-text {
        display: block;
        font-size: 1.5rem;
        line-height: 25px;
        color: rgba(255, 255, 255, 0.7);
    }

    .mosaic-datepicker-date-display .date-text {
        display: block;
        font-size: 2.8rem;
        line-height: 47px;
        font-weight: 500;
    }

/* Calendar */
.mosaic-datepicker-calendar-container {
    flex: 2.5 auto;
}

.mosaic-datepicker-table {
    width: 280px;
    font-size: 1rem;
    margin: 0 auto;
}

    .mosaic-datepicker-table thead {
        border-bottom: none;
    }

    .mosaic-datepicker-table th {
        padding: 10px 5px;
        text-align: center;
    }

    .mosaic-datepicker-table tr {
        border: none;
    }

    .mosaic-datepicker-table abbr {
        text-decoration: none;
        color: #999;
    }

    .mosaic-datepicker-table td {
        border-radius: 50%;
        padding: 0;
    }

        .mosaic-datepicker-table td.is-today {
            color: #26a69a;
        }

        .mosaic-datepicker-table td.is-selected {
            background-color: #26a69a;
            color: #fff;
        }

        .mosaic-datepicker-table td.is-outside-current-month, .mosaic-datepicker-table td.is-disabled {
            color: rgba(0, 0, 0, 0.3);
            pointer-events: none;
        }

.mosaic-datepicker-day-button {
    background-color: transparent;
    border: none;
    line-height: 38px;
    display: block;
    width: 100%;
    border-radius: 50%;
    padding: 0 5px;
    cursor: pointer;
    color: inherit;
}

    .mosaic-datepicker-day-button:focus {
        background-color: rgba(7, 97, 249, 0.25);
    }

/* Footer */
.mosaic-datepicker-footer {
    width: 280px;
    margin: 0 auto;
    padding-bottom: 5px;
    display: flex;
    justify-content: space-between;
}

.mosaic-datepicker-cancel,
.mosaic-datepicker-clear,
.mosaic-datepicker-today,
.mosaic-datepicker-done {
    color: #26a69a;
    padding: 0 1rem;
}

.mosaic-datepicker-clear {
    color: #f44336;
}

/* Media Queries */
@media only screen and (min-width : 601px) {
    .mosaic-datepicker-modal {
        max-width: 625px;
    }

    .mosaic-datepicker-container.modal-content {
        flex-direction: row;
    }

    .mosaic-datepicker-date-display {
        flex: 0 1 270px;
    }

    .mosaic-datepicker-controls,
    .mosaic-datepicker-table,
    .mosaic-datepicker-footer {
        width: 320px;
    }

    .mosaic-datepicker-day-button {
        line-height: 44px;
    }
}
/* Timepicker Containers */
.timepicker-modal {
    max-width: 325px;
    max-height: none;
}

.timepicker-container.modal-content {
    display: flex;
    flex-direction: column;
    padding: 0;
}

.text-primary {
    color: white;
}

/* Clock Digital Display */
.timepicker-digital-display {
    flex: 1 auto;
    background-color: #26a69a;
    padding: 10px;
    font-weight: 300;
}

.timepicker-text-container {
    font-size: 4rem;
    font-weight: bold;
    text-align: center;
    color: rgba(255, 255, 255, 0.6);
    font-weight: 400;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.timepicker-span-hours,
.timepicker-span-minutes,
.timepicker-span-am-pm div {
    cursor: pointer;
}

.timepicker-span-hours {
    margin-right: 3px;
}

.timepicker-span-minutes {
    margin-left: 3px;
}

.timepicker-display-am-pm {
    font-size: 1.3rem;
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    font-weight: 400;
}

/* Analog Clock Display */
.timepicker-analog-display {
    flex: 2.5 auto;
}

.timepicker-plate {
    background-color: #eee;
    border-radius: 50%;
    width: 270px;
    height: 270px;
    overflow: visible;
    position: relative;
    margin: auto;
    margin-top: 25px;
    margin-bottom: 5px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.timepicker-canvas,
.timepicker-dial {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.timepicker-minutes {
    visibility: hidden;
}

.timepicker-tick {
    border-radius: 50%;
    color: rgba(0, 0, 0, 0.87);
    line-height: 40px;
    text-align: center;
    width: 40px;
    height: 40px;
    position: absolute;
    cursor: pointer;
    font-size: 15px;
}

    .timepicker-tick.active,
    .timepicker-tick:hover {
        background-color: rgba(38, 166, 154, 0.25);
    }

.timepicker-dial {
    transition: transform 350ms, opacity 350ms;
}

.timepicker-dial-out {
    opacity: 0;
}

    .timepicker-dial-out.timepicker-hours {
        transform: scale(1.1, 1.1);
    }

    .timepicker-dial-out.timepicker-minutes {
        transform: scale(0.8, 0.8);
    }

.timepicker-canvas {
    transition: opacity 175ms;
}

    .timepicker-canvas line {
        stroke: #26a69a;
        stroke-width: 4;
        stroke-linecap: round;
    }

.timepicker-canvas-out {
    opacity: 0.25;
}

.timepicker-canvas-bearing {
    stroke: none;
    fill: #26a69a;
}

.timepicker-canvas-bg {
    stroke: none;
    fill: #26a69a;
}

/* Footer */
.timepicker-footer {
    margin: 0 auto;
    padding: 5px 1rem;
    display: flex;
    justify-content: space-between;
}

.timepicker-clear {
    color: #f44336;
}

.timepicker-close {
    color: #26a69a;
}

.timepicker-clear,
.timepicker-close {
    padding: 0 20px;
}

/* Media Queries */
@media only screen and (min-width : 601px) {
    .timepicker-modal {
        max-width: 600px;
    }

    .timepicker-container.modal-content {
        flex-direction: row;
    }

    .timepicker-text-container {
        top: 32%;
    }

    .timepicker-display-am-pm {
        position: relative;
        right: auto;
        bottom: auto;
        text-align: center;
        margin-top: 1.2rem;
    }
}

.mosaic-drawer {
    position: fixed;
    width: 384px;
    left: 0;
    top: 0;
    margin: 0;
    transform: translateX(-100%);
    height: 100%;
    height: calc(100% + 60px);
    padding-bottom: 60px;
    background-color: #fff;
    z-index: 999;
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateX(-105%);
}

    .mosaic-drawer.right-aligned {
        right: 0;
        transform: translateX(105%);
        left: auto;
        transform: translateX(100%);
    }

    .mosaic-drawer .collapsible {
        margin: 0;
    }

    .mosaic-drawer li {
        float: none;
        line-height: 48px;
    }

        .mosaic-drawer li.active {
            background-color: rgba(0, 0, 0, 0.05);
        }

        .mosaic-drawer li > a {
            color: rgba(0, 0, 0, 0.87);
            display: block;
            font-size: 14px;
            font-weight: 500;
            height: 48px;
            line-height: 48px;
            padding: 0 32px;
        }

            .mosaic-drawer li > a:hover {
                background-color: rgba(0, 0, 0, 0.05);
            }

            .mosaic-drawer li > a.btn, .mosaic-drawer li > a.btn-large, .mosaic-drawer li > a.btn-flat, .mosaic-drawer li > a.btn-floating {
                margin: 10px 15px;
            }

            .mosaic-drawer li > a.btn, .mosaic-drawer li > a.btn-large, .mosaic-drawer li > a.btn-floating {
                color: #fff;
            }

            .mosaic-drawer li > a.btn-flat {
                color: #015fff;
            }

            .mosaic-drawer li > a.btn:hover, .mosaic-drawer li > a.btn-large:hover {
                background-color: #1b6fff;
            }

            .mosaic-drawer li > a.btn-floating:hover {
                background-color: #015fff;
            }

            .mosaic-drawer li > a > i, .mosaic-drawer li > a > [class^=mdi-],
            .mosaic-drawer li > a li > a > [class*=mdi-], .mosaic-drawer li > a > i.material-icons {
                float: left;
                height: 48px;
                line-height: 48px;
                margin: 0 32px 0 0;
                width: 24px;
                color: rgba(0, 0, 0, 0.54);
            }

    .mosaic-drawer .divider {
        margin: 8px 0 0 0;
    }

    .mosaic-drawer .subheader {
        cursor: initial;
        pointer-events: none;
        color: rgba(0, 0, 0, 0.54);
        font-size: 14px;
        font-weight: 500;
        line-height: 48px;
    }

        .mosaic-drawer .subheader:hover {
            background-color: transparent;
        }

    .mosaic-drawer .user-view {
        position: relative;
        padding: 32px 32px 0;
        margin-bottom: 8px;
    }

        .mosaic-drawer .user-view > a {
            height: auto;
            padding: 0;
        }

            .mosaic-drawer .user-view > a:hover {
                background-color: transparent;
            }

        .mosaic-drawer .user-view .background {
            overflow: hidden;
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            z-index: -1;
        }

        .mosaic-drawer .user-view .circle,
        .mosaic-drawer .user-view .name,
        .mosaic-drawer .user-view .email {
            display: block;
        }

        .mosaic-drawer .user-view .circle {
            height: 64px;
            width: 64px;
        }

        .mosaic-drawer .user-view .name,
        .mosaic-drawer .user-view .email {
            font-size: 14px;
            line-height: 24px;
        }

        .mosaic-drawer .user-view .name {
            margin-top: 16px;
            font-weight: 500;
        }

        .mosaic-drawer .user-view .email {
            padding-bottom: 16px;
            font-weight: 400;
        }

.drag-target {
    height: 100%;
    width: 10px;
    position: fixed;
    top: 0;
    z-index: 998;
}

    .drag-target.right-aligned {
        right: 0;
    }

.mosaic-drawer-fixed {
    left: 0;
    transform: translateX(0);
    position: fixed;
}

    .mosaic-drawer-fixed.right-aligned {
        right: 0;
        left: auto;
    }

@media only screen and (max-width : 992px) {
    .mosaic-drawer.mosaic-drawer-fixed {
        transform: translateX(-105%);
    }

        .mosaic-drawer.mosaic-drawer-fixed.right-aligned {
            transform: translateX(105%);
        }

    .mosaic-drawer > a {
        padding: 0 16px;
    }

    .mosaic-drawer .user-view {
        padding: 16px 16px 0;
    }
}

.mosaic-drawer .collapsible-body > ul:not(.collapsible) > li.active,
.mosaic-drawer.mosaic-drawer-fixed .collapsible-body > ul:not(.collapsible) > li.active {
    background-color: #015fff;
}

    .mosaic-drawer .collapsible-body > ul:not(.collapsible) > li.active a,
    .mosaic-drawer.mosaic-drawer-fixed .collapsible-body > ul:not(.collapsible) > li.active a {
        color: #fff;
    }

.mosaic-drawer .collapsible-body {
    padding: 0;
}

.mosaic-drawer-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    opacity: 0;
    height: 120vh;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 997;
    display: none;
}

.mosaic-drawer-container {
    height: 100vh;
    display: flex;
    max-width: 100vw;
    flex-direction: column;
}

.mosaic-drawer-header {
    display: flex;
    padding: 0 24px;
    flex-grow: 0;
    flex-wrap: wrap;
    box-sizing: border-box;
    flex-basis: 48px;
    align-items: center;
    flex-shrink: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    justify-content: space-between;
}

.mosaic-drawer-header-title {
    flex: 1 1 auto;
    color: #072448;
    margin: 0;
    padding: 8px 0;
    max-width: 100%;
    line-height: 1.2;
}

.mosaic-drawer-content {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 16px;
}

.mosaic-skip-to-content-link {
    background-color: #0042b4;
    color: #ffffff;
    display: block;
    left: 50%;
    top: 0;
    position: fixed;
    padding: 8px;
    transform: translateY(-100%);
    transition: transform 0.4s;
    z-index: 1000;
}

    .mosaic-skip-to-content-link:focus, .mosaic-skip-to-content-link:focus-visible {
        transform: translateY(0);
    }

/*.mosaic-layout {
    display: grid;
    grid-template-columns: 240px 1fr;
    grid-template-rows: -webkit-min-content 1fr;
    grid-template-rows: min-content 1fr;
    height: 100vh;
    width: 100vw;
}*/

.mosaic-page-header {
    height: auto;
}

/*.mosaic-main-content {
    grid-column: 2/3;
    grid-row: 2/3;
    margin: 0;
    overflow-x: auto;
    overflow-y: auto;
    padding: 0 5px 0 5px;
}*/
/*
.mosaic-content-container, .mosaic-table-container {
    padding: 8px 16px;
}


@media only screen and (min-width : 961px) {
    .mosaic-content-container, .mosaic-table-container {
        padding: 8px 24px;
    }
}


@media only screen and (min-width : 1201px) {
    .mosaic-content-container, .mosaic-table-container {
        padding: 8px 32px;
    }
}
*/

/*.mosaic-two-column-container {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    display: grid;
    grid-template-columns: minmax(-webkit-min-content, 33.333%) auto;
    grid-template-columns: minmax(min-content, 33.333%) auto;
    height: 100%;
}

    .mosaic-two-column-container .column {
        padding: 8px 16px;
        overflow-y: auto;
    }

        .mosaic-two-column-container .column:first-of-type {
            border-right: 1px solid rgba(0, 0, 0, 0.1);
        }

@media only screen and (min-width : 961px) {
    .mosaic-two-column-container .column {
        padding: 8px 24px;
    }
}

@media only screen and (min-width : 1201px) {
    .mosaic-two-column-container .column {
        padding: 8px 32px;
    }
}
*/

.mosaic-login-page {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f0f5fa;
}

.mosaic-login-card {
    padding: 64px 40px;
    width: 530px;
}

.mosaic-login-logo {
    width: 101px;
    height: 24px;
    margin-bottom: 80px;
    background-size: contain;
    background-image: url(../images/SovosLogoSVG_dark.svg);
    background-repeat: no-repeat;
}

.mosaic-login-subtitle {
    margin-bottom: 40px;
}

.mosaic-login-btn-container {
    margin-top: 40px;
}

    .mosaic-login-btn-container button[type=submit] {
        margin-left: auto;
    }

.mosaic-nav {
    grid-column: 1/2;
    grid-row: 1/3;
    height: 100vh;
    outline: none;
    overflow: hidden auto;
}

.mosaic-nav__content {
    height: 100%;
    display: flex;
    flex-grow: 1;
    flex-direction: column;
}

.mosaic-nav__header {
    padding: 24px 0 16px 0;
    background-color: #072a51;
}

.logo-and-product__container {
    display: flex;
    min-height: 44px;
    margin-bottom: 16px;
}

.logo-and-product {
    flex: 0 0 172px;
    display: block;
    margin-left: 20px;
}

.mosaic-nav-branding__logo {
    height: 22px;
    background-size: contain;
    background-image: url(../images/Sovos-Logo-White.png);
    background-repeat: no-repeat;
}

.product-name {
    color: rgba(116, 191, 255, 0.75);
    margin: 2px 8px 0 0;
    font-size: 0.875rem;
    font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 700;
    line-height: 1.4285714286;
    letter-spacing: 0.2px;
    text-transform: none;
}

.mosaic-product-switcher {
    flex: 0 0 40px;
    margin-right: 8px;
}

.mosaic-product-switcher__button {
    width: 40px;
    height: 40px;
    display: flex;
    /*background-image: url(../images/apps.svg), linear-gradient(45deg, #0042b4, #015fff);*/
    background-repeat: no-repeat;
    background-position: center;
    align-items: center;
    margin-right: 0;
    border-radius: 8px !important;
    justify-content: center;
    overflow: hidden;
    text-indent: -999em;
}

.mosaic-product-switcher .mosaic-dropdown-content {
    width: 240px !important;
    left: 248px !important;
}

.mosaic-nav-links__container {
    flex: auto;
    background: linear-gradient(#07335e, #072448);
    overflow-x: hidden;
    overflow-y: auto;
    padding-top: 8px;
}

.mosaic-nav-links__item {
    margin: 2px 8px 0 8px;
    width: auto;
}

    .mosaic-nav-links__item.selected .mosaic-nav-links__link {
        background-color: rgba(116, 191, 255, 0.12);
        color: #ffffff;
    }

        .mosaic-nav-links__item.selected .mosaic-nav-links__link::before {
            background-color: #015fff;
        }

.mosaic-nav-links--nested {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s;
}

    .mosaic-nav-links--nested.open {
        max-height: 1400px;
    }

.mosaic-nav-links__link {
    align-items: center;
    background-color: rgba(78, 143, 255, 0);
    border-radius: 4px;
    color: #e0eaf8;
    display: flex;
    font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    height: 34px;
    line-height: 1.4285714286;
    padding-left: 3px;
    padding-right: 8px;
    position: relative;
    transition: background-color 250ms;
}

    .mosaic-nav-links__link::before {
        content: "";
        background-color: transparent;
        width: 4px;
        height: 24px;
        margin-right: 5px;
        border-radius: 8px;
    }

    .mosaic-nav-links__link span {
        white-space: nowrap;
        text-overflow: ellipsis;
        letter-spacing: -0.1px;
        margin: 0;
        display: inline-block;
        padding: 0;
        overflow: hidden;
        max-width: 100%;
        white-space: nowrap;
        text-overflow: ellipsis;
        vertical-align: middle;
    }

    .mosaic-nav-links__link:hover {
        color: #e0eaf8;
        background-color: rgba(116, 191, 255, 0.08);
    }

    .mosaic-nav-links__link i {
        margin-right: 8px;
    }

    .mosaic-nav-links__link.nested {
        font-size: 0.75rem;
        font-weight: 400;
        letter-spacing: 0;
        line-height: 1.3333333333;
    }

        .mosaic-nav-links__link.nested span {
            padding-left: 39px;
        }

    .mosaic-nav-links__link.nested-nav-trigger {
        padding-right: 24px;
    }

        .mosaic-nav-links__link.nested-nav-trigger::after {
            display: block;
            content: "";
            width: 20px;
            height: 20px;
            background-image: url(../images/arrow_drop_down_white_24dp.svg);
            background-position: center;
            background-repeat: no-repeat;
            background-size: 20px;
            position: absolute;
            right: 8px;
            transition: transform 0.4s;
            transform: rotate(-90deg);
        }

        .mosaic-nav-links__link.nested-nav-trigger.open::after {
            transform: rotate(0deg);
        }

    .mosaic-nav-links__link i.material-icons {
        font-size: 16px;
    }

.mosaic-nav-footer {
    height: 48px;
    display: flex;
    padding: 0 8px;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-end;
    background-color: #031b37;
}

.mosaic-stepper {
    display: flex;
    padding: 24px;
}

.mosaic-stepper__horizontal {
    align-items: center;
    flex-direction: row;
}

.mosaic-stepper-step__horizontal {
    padding-left: 8px;
    padding-right: 8px;
}

.mosaic-stepper-step__completed .step-label .step-label--icon-container .mosaic-stepper-circle {
    background-repeat: no-repeat;
    background-image: url(../images/done_black_24dp.svg);
    background-size: contain;
    border-color: #015fff;
    background-color: #015fff;
}

.step-label {
    display: flex;
    align-items: center;
}

.step-label--label-container {
    width: 100%;
}

.step-label--icon-container {
    display: flex;
    flex-shrink: 0;
    padding-right: 8px;
}

.mosaic-stepper-circle {
    width: 24px;
    height: 24px;
    display: flex;
    box-sizing: border-box;
    align-items: center;
    border-color: #545e75;
    border-style: solid;
    border-width: 2px;
    border-radius: 50%;
    justify-content: center;
    background-color: transparent;
}

.mosaic-stepper-circle__active {
    border-color: #015fff;
}

.step-connector {
    flex: 1 1 auto;
}

.step-connector--line {
    display: block;
    border: 0;
    height: 2px;
    background-color: #545e75;
}

.step-connector__completed .step-connector--line {
    background-color: #015fff;
}

.mosaic-title-bar {
    background-color: #ffffff;
    grid-row: inherit;
    height: 88px;
    padding: 16px 32px;
    overflow: hidden;
    z-index: 20;
}

    .mosaic-title-bar.hasBreadcrumbs {
        height: 88px;
    }

@media only screen and (min-width : 601px) {
    .mosaic-title-bar {
        padding-left: 24px;
        padding-right: 24px;
    }
}
/*

.titleRow {
    display: flex;
    max-width: 100%;
    align-items: center;
    justify-content: space-between;
}

.titleRowTitle {
    margin: 0;
}

.mosaic-title-bar-actions {
    justify-content: flex-start;
    display: flex;
    align-items: center;
}

*/

.mosaic-breadcrumbs .mosaic-breadcrumbs-list {
    margin: 0;
    padding: 0;
    list-style: none;
    white-space: nowrap;
}

    .mosaic-breadcrumbs .mosaic-breadcrumbs-list .mosaic-breadcrumbs-list-item {
        margin: 0;
        display: inline;
        padding: 0;
    }

        .mosaic-breadcrumbs .mosaic-breadcrumbs-list .mosaic-breadcrumbs-list-item a {
            color: #545e75;
            font-size: 0.875rem;
            font-weight: 400;
            line-height: 1.4285714286;
            letter-spacing: -0.1px;
        }

            .mosaic-breadcrumbs .mosaic-breadcrumbs-list .mosaic-breadcrumbs-list-item a:hover {
                text-decoration: underline;
            }

        .mosaic-breadcrumbs .mosaic-breadcrumbs-list .mosaic-breadcrumbs-list-item::after {
            content: "/";
            margin: 0 6px;
        }

        .mosaic-breadcrumbs .mosaic-breadcrumbs-list .mosaic-breadcrumbs-list-item:last-child::after {
            display: none;
        }

.mosaic-table-container {
    padding: 0;
}

/*table.mosaic-table thead tr {
    background-color: #ffffff;
}*/

table.mosaic-table tbody tr {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

    table.mosaic-table tbody tr:hover td, table.mosaic-table tbody tr.selected td {
        background-color: #eaebee;
    }

/*table.mosaic-table td,
table.mosaic-table th {
    box-sizing: border-box;
    color: #545e75;
    font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 400;
    height: 40px;
    letter-spacing: 0;
    line-height: 1.3333333333;
    overflow: visible;
    padding: 0 16px;
    text-align: left;
    white-space: nowrap;
}

table.mosaic-table th {
    height: 32px;
}
*/

pre {
    background: #f0f5fa;
    border-radius: 4px;
    color: #3d4247;
    font-size: 0.875rem;
    line-height: 1.1em;
    margin: 1rem 0;
    max-width: 100%;
    overflow-x: auto;
    padding: 1rem;
}

    pre code {
        font-size: 0.875rem;
        font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
        padding: 0;
        font-size: inherit;
        line-height: inherit;
        background: transparent;
    }

.justify-content-start {
    justify-content: flex-start !important
}

.justify-content-end {
    justify-content: flex-end !important
}

.justify-content-center {
    justify-content: center !important
}

.justify-content-between {
    justify-content: space-between !important
}

.justify-content-around {
    justify-content: space-around !important
}

.justify-content-evenly {
    justify-content: space-evenly !important
}

.align-items-start {
    align-items: flex-start !important
}

.align-items-end {
    align-items: flex-end !important
}

.align-items-center {
    align-items: center !important
}

.align-items-baseline {
    align-items: baseline !important
}

.align-items-stretch {
    align-items: stretch !important
}
