/* ==== MODAL START ==== */

:root {
    --flash-success-clr: #175b66;
    --flash-error-clr: #c1272d;
}

.flash-modal-overlay {
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, .7);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    backdrop-filter: blur(4px);
    opacity: 0;
    pointer-events: none;
}


.flash-modal-overlay.show {
    opacity: 1;
    pointer-events: all;
}

.flash-modal {
    position: relative;
    max-width: 95%;
    max-height: 70vh;
    background: rgba(255, 255, 255, 1);
    border-radius: 12px;
    padding: 25px;
    transform: translateY(50px);
    scale: 0.7;
    transition: .4s ease;
}

.flash-modal-overlay.show .flash-modal {
    transform: translateY(0px);
    scale: 1;
}

.flash-modal p {
    color: #000;
    font-family: var(--font);
    text-align: center;
    margin-top: 2.2rem;
    font-family: sans-serif;
    & * {
        font-family: sans-serif;
    }
}

.flash-modal .close_modal_btn {
    position: absolute;
    top: 15px;
    right: 15px;
    appearance: none;
    background: transparent;
    outline: none;
    border: none;
    width: 22px;
    height: 22px;
    cursor: pointer;
}

.flash-modal .close_modal_btn svg {
    width: 14px;
    fill: #000;
}



/* ==== CHECKMARK START ==== */
.flash-modal .checkmark {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: block;
    margin: 0 auto;
    stroke-width: 2;
    stroke: #efefef;
    stroke-miterlimit: 10;
    box-shadow: inset 0px 0px 0px var(--flash-success-clr);
}

.flash-modal .checkmark__circle {
    stroke-dasharray: 166;
    stroke-dashoffset: 166;
    stroke-width: 2;
    stroke-miterlimit: 10;
    stroke: var(--flash-success-clr);
    fill: none;
}

.flash-modal .checkmark__check {
    transform-origin: 50% 50%;
    stroke-dasharray: 48;
    stroke-dashoffset: 48;
}

.flash-modal-overlay.show .flash-modal .checkmark {
    animation: fill__green 0.4s ease-in-out 0.4s forwards, scale 0.3s ease-in-out 0.9s both;
}

.flash-modal-overlay.show .flash-modal .checkmark__circle {
    animation: check__stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

.flash-modal-overlay.show .flash-modal .checkmark__check {
    animation: check__stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
}

@keyframes check__stroke {
    100% {
        stroke-dashoffset: 0;
    }
}

@keyframes scale {

    0%,
    100% {
        transform: none;
    }

    50% {
        transform: scale3d(1.1, 1.1, 1);
    }
}

@keyframes fill__green {
    100% {
        box-shadow: inset 0px 0px 0px 30px var(--flash-success-clr);
    }
}

/*  ==== CHECKMARK END ==== */




/* ====  CROOSMARK START ==== */

.flash-modal-overlay.show .crossmark__circle {
    stroke-dasharray: 166;
    stroke-dashoffset: 166;
    stroke-width: 2;
    stroke-miterlimit: 10;
    stroke: var(--flash-error-clr);
    fill: none;
    animation: cross__stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

.flash-modal-overlay.show .crossmark {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: block;
    stroke-width: 2;
    stroke: var(--flash-error-clr);
    stroke-miterlimit: 10;
    margin: 10% auto;
    box-shadow: inset 0px 0px 0px var(--flash-error-clr);
    animation: fill__red .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
}

.flash-modal-overlay.show .crossmark__check {
    transform-origin: 50% 50%;
    stroke-dasharray: 48;
    stroke-dashoffset: 48;
    animation: cross__stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
}

.flash-modal-overlay.show .cross__path {
    stroke: #efefef;
    stroke-dasharray: 48;
    stroke-dashoffset: 48;
    transform-origin: 50% 50% 0;
}

.flash-modal-overlay.show .cross__path--right {
    animation: 0.3s ease 0.8s normal forwards 1 running cross__stroke;
}

.flash-modal-overlay.show .cross__path--left {
    animation: 1s ease 0.8s normal forwards 1 running cross__stroke;
}

@keyframes cross__stroke {
    100% {
        stroke-dashoffset: 0;
    }
}

@keyframes fill__red {
    100% {
        box-shadow: inset 0px 0px 0px 30px var(--flash-error-clr);
    }

}

/* ====  CROOSMARK START ==== */
