.shadow-sm {
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075) !important;
}

span.lead p {
    font-size: 1.25rem !important;
}

.wrap-login100 {
    width: 512px !important;
}

.snackbar {
    visibility: hidden;
    min-width: 250px;
    background-color: #424242;
    color: #fff;
    text-align: center;
    border-radius: 5px;
    padding: 16px;
    position: fixed;
    transform: translateX(-50%);
    z-index: 1;
    left: 50%;
    bottom: 30px;
    font-size: 16px;
    display: flex;
    align-items: center;
}

.snackbar.info {
    background-color: #2196f3;
    color: #e3f2fd;
}

.snackbar.error {
    background-color: #ef5350;
    color: #ffebee;
}

.snackbar.success {
    background-color: #66bb6a;
    color: #e8f5e9;
}

.snackbar.show {
    visibility: visible;
    -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
    animation: fadein 0.5s, fadeout 0.5s 2.5s;
}

@-webkit-keyframes fadein {
    from {bottom: 0; opacity: 0;}
    to {bottom: 30px; opacity: 1;}
}

@keyframes fadein {
    from {bottom: 0; opacity: 0;}
    to {bottom: 30px; opacity: 1;}
}

@-webkit-keyframes fadeout {
    from {bottom: 30px; opacity: 1;}
    to {bottom: 0; opacity: 0;}
}

@keyframes fadeout {
    from {bottom: 30px; opacity: 1;}
    to {bottom: 0; opacity: 0;}
}

@media only screen and (min-width: 300px) {
    .user-data {
        min-width: 85% !important;
    }
}

@media only screen and (min-width: 996px) {
    .user-data {
        min-width: 30% !important;
    }
}

.user-data {
    --transition-duration: 500ms;
    position: absolute;
    top: 20%;
    left: 50%;
    opacity: 0;
    transition: transform var(--transition-duration) cubic-bezier(.22,.61,.36,1), opacity var(--transition-duration) ease-in;
    transform: translate3d(calc(-50%), calc(-50% - 100px), 0);
    z-index: 999;
}

.user-data.show {
    transform: translate3d(-50%, -50%, 0);
    opacity: 1;
}

.user-data .avatar {
    width: 96px;
    height: auto;
    background-color: #fff;
    border-radius: 50%;
}

.blur-effect {
    --transition-duration: 500ms;
    filter: blur(0px);
    transition: filter var(--transition-duration) ease;
    -webkit-transition: filter var(--transition-duration) ease;
    -o-transition: filter var(--transition-duration) ease;
}

.blur-background {
    filter: blur(100px);
}

.text-secondary {
    color: #616161 !important;
}

.flip-card {
    perspective: 1000px;
}

.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.8s cubic-bezier(0.86,0,0.07,1);
    transform-style: preserve-3d;
}

.flip-card-inner.rotate {
    transform: rotateY(180deg);
}

.flip-card-inner.rotate .flip-card-front {
    opacity: 0;
}

.flip-card-front {
    opacity: 1;
    transition: opacity 0.8s cubic-bezier(0.86,0,0.07,1);
}

.flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    height: auto;
    backface-visibility: hidden;
    background-color: rgba(255,255,255,0.5);
    border-radius: 10px;
    box-shadow: 0 2px 3px rgba(0,0,0,0.1);
}

.flip-card-back {
    transform: rotateY(180deg);
}

.card-container {
    position: relative;
    width: 100%;
}

.icon {
    color: #616161;
}