.noty_layout {
    --noty-spacer-y: 0.25rem;
    --noty-gutter-y: 1.25rem;
    --noty-gutter-x: 1.25rem;
    --noty-padding-y: calc(1.25rem * 0.8);
    --noty-padding-x: 1.25rem;
    --noty-width: 20rem;
    --noty-bg: #000;
    --noty-color: #fff;
    --noty-border-width: 1px;
    --noty-border-color: transparent;
    --noty-progress-height: 0.1875rem;
    --noty-progress-bg: rgba(0,0,0, 0.25);
    --noty-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    --noty-border-radius: 0.375rem;
}

.noty_layout[data-color-theme=dark], [data-color-theme=dark] .noty_layout:not([data-color-theme]), html[data-color-theme=dark] .noty_layout {
    color-scheme: dark;
    --noty-bg: #494c55
}

.noty_bar {
    position: relative;
    border: var(--noty-border-width) solid var(--noty-border-color);
    -webkit-backface-visibility: hidden;
    background-color: var(--noty-bg);
    color: var(--noty-color);
    -webkit-transform: translate(0, 0) scale(1, 1);
    transform: translate(0, 0) scale(1, 1);
    -webkit-font-smoothing: subpixel-antialiased;
    box-shadow: var(--noty-shadow);
    border-radius: var(--noty-border-radius)
}

.noty_body {
    padding: var(--noty-padding-y) var(--noty-padding-x)
}

.noty_close_with_button .noty_body {
    padding-right: calc(var(--noty-padding-x) * 2)
}

.noty_buttons {
    padding: var(--noty-padding-y) var(--noty-padding-x);
    padding-top: 0;
    text-align: right
}

#noty_layout__bottom, #noty_layout__bottomCenter, #noty_layout__bottomLeft, #noty_layout__bottomRight, #noty_layout__center, #noty_layout__centerLeft, #noty_layout__centerRight, #noty_layout__top, #noty_layout__topCenter, #noty_layout__topLeft, #noty_layout__topRight, .noty_layout_mixin {
    position: fixed;
    margin: 0;
    padding: 0;
    z-index: 1055;
    -webkit-transform: translateZ(0) scale(1, 1);
    transform: translateZ(0) scale(1, 1);
    -webkit-filter: blur(0);
    filter: blur(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-font-smoothing: subpixel-antialiased;
    max-width: 90%
}

#noty_layout__top {
    top: 0;
    left: 5%;
    width: 90%
}

#noty_layout__top .noty_bar:first-child {
    margin-top: var(--noty-gutter-y)
}

#noty_layout__topLeft {
    top: var(--noty-gutter-y);
    left: var(--noty-gutter-x);
    width: var(--noty-width)
}

#noty_layout__topCenter {
    top: 5%;
    left: 50%;
    width: var(--noty-width);
    -webkit-transform: translate(-50%) translateZ(0) scale(1, 1);
    transform: translate(-50%) translateZ(0) scale(1, 1)
}

#noty_layout__topRight {
    top: var(--noty-gutter-y);
    right: var(--noty-gutter-x);
    width: var(--noty-width)
}

#noty_layout__center {
    top: 50%;
    left: 50%;
    width: var(--noty-width);
    -webkit-transform: translate(-50%, -50%) translateZ(0) scale(1, 1);
    transform: translate(-50%, -50%) translateZ(0) scale(1, 1)
}

#noty_layout__centerLeft {
    top: 50%;
    left: var(--noty-gutter-x);
    width: var(--noty-width);
    -webkit-transform: translate(0, -50%) translateZ(0) scale(1, 1);
    transform: translate(0, -50%) translateZ(0) scale(1, 1)
}

#noty_layout__centerRight {
    top: 50%;
    right: var(--noty-gutter-x);
    width: var(--noty-width);
    -webkit-transform: translate(0, -50%) translateZ(0) scale(1, 1);
    transform: translate(0, -50%) translateZ(0) scale(1, 1)
}

#noty_layout__bottom {
    bottom: 0;
    left: 5%;
    width: 90%
}

#noty_layout__bottom .noty_bar:last-child {
    margin-bottom: var(--noty-gutter-y)
}

#noty_layout__bottomLeft {
    bottom: var(--noty-gutter-y);
    left: var(--noty-gutter-x);
    width: var(--noty-width)
}

#noty_layout__bottomCenter {
    bottom: 5%;
    left: 50%;
    width: var(--noty-width);
    -webkit-transform: translate(calc(-50% - var(--noty-border-width))) translateZ(0) scale(1, 1);
    transform: translate(calc(-50% - var(--noty-border-width))) translateZ(0) scale(1, 1)
}

#noty_layout__bottomRight {
    bottom: var(--noty-gutter-y);
    right: var(--noty-gutter-x);
    width: var(--noty-width)
}

.noty_progressbar {
    display: none
}

.noty_has_timeout.noty_has_progressbar .noty_progressbar {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    height: var(--noty-progress-height);
    width: 100%;
    background-color: var(--noty-progress-bg)
}

.noty_effects_open {
    opacity: 0;
    -webkit-transform: translate(50%);
    transform: translate(50%);
    -webkit-animation: noty_anim_in .5s cubic-bezier(.68, -.55, .265, 1.55);
    animation: noty_anim_in .5s cubic-bezier(.68, -.55, .265, 1.55);
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

.noty_effects_close {
    -webkit-animation: noty_anim_out .5s cubic-bezier(.68, -.55, .265, 1.55);
    animation: noty_anim_out .5s cubic-bezier(.68, -.55, .265, 1.55);
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

.noty_fix_effects_height {
    -webkit-animation: noty_anim_height 75ms ease-out;
    animation: noty_anim_height 75ms ease-out
}

.noty_close_with_click {
    cursor: pointer
}

.noty_close_button {
    position: absolute;
    top: var(--noty-padding-y);
    right: var(--noty-padding-x);
    font-size: var(--icon-font-size);
    background-color: transparent;
    color: inherit;
    text-align: center;
    line-height: 1;
    cursor: pointer;
    opacity: .75;
    transition: opacity ease-in-out var(--transition-base-timer)
}

@media (prefers-reduced-motion: reduce) {
    .noty_close_button {
        transition: none
    }
}

.noty_close_button:hover {
    opacity: 1
}

.noty_modal {
    --noty-backdrop-bg: var(--black);
    --noty-backdrop-opacity: 0.35;
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: var(--noty-backdrop-bg);
    z-index: 1050;
    opacity: var(--noty-backdrop-opacity);
    left: 0;
    top: 0
}

.noty_modal.noty_modal_open {
    opacity: 0;
    -webkit-animation: noty_modal_in .3s ease-out;
    animation: noty_modal_in .3s ease-out
}

.noty_modal.noty_modal_close {
    -webkit-animation: noty_modal_out .3s ease-out;
    animation: noty_modal_out .3s ease-out;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

@-webkit-keyframes noty_modal_in {
    100% {
        opacity: var(--noty-backdrop-opacity)
    }
}

@keyframes noty_modal_in {
    100% {
        opacity: var(--noty-backdrop-opacity)
    }
}

@-webkit-keyframes noty_modal_out {
    100% {
        opacity: 0
    }
}

@keyframes noty_modal_out {
    100% {
        opacity: 0
    }
}

@-webkit-keyframes noty_anim_in {
    100% {
        -webkit-transform: translate(0);
        transform: translate(0);
        opacity: 1
    }
}

@keyframes noty_anim_in {
    100% {
        -webkit-transform: translate(0);
        transform: translate(0);
        opacity: 1
    }
}

@-webkit-keyframes noty_anim_out {
    100% {
        -webkit-transform: translate(50%);
        transform: translate(50%);
        opacity: 0
    }
}

@keyframes noty_anim_out {
    100% {
        -webkit-transform: translate(50%);
        transform: translate(50%);
        opacity: 0
    }
}

@-webkit-keyframes noty_anim_height {
    100% {
        height: 0
    }
}

@keyframes noty_anim_height {
    100% {
        height: 0
    }
}

.noty_theme__limitless.noty_bar {
    margin: var(--noty-spacer-y) 0;
    position: relative
}

.noty_theme__limitless.noty_type__warning {
    --noty-bg: #F58646FF;
}

.noty_theme__limitless.noty_type__error {
    --noty-bg: #EF4444FF;
}

.noty_theme__limitless.noty_type__info {
    --noty-bg: #0C83FFFF;
}

.noty_theme__limitless.noty_type__success {
    --noty-bg: #059669FF;
}

.noty_theme__limitless.noty_type__confirm {
    --noty-bg: #fff;
    --noty-border-color: rgba(0, 0, 0, 0.125);
    --noty-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    background-clip: padding-box
}

.noty_theme__limitless.noty_type__confirm[data-color-theme=dark], [data-color-theme=dark] .noty_theme__limitless.noty_type__confirm:not([data-color-theme]), html[data-color-theme=dark] .noty_theme__limitless.noty_type__confirm {
    color-scheme: dark;
    --noty-bg: #2c2d33
}