﻿[contenteditable]:empty:before {
    content: attr(placeholder);
    pointer-events: none;
    display: block;
    color: inherit;
    opacity: .6;
}

.firework {
    position: absolute;
}

.explosion {
    position: absolute;
    left: -2px;
    bottom: 0;
    width: 4px;
    height: 80px;
    transform-origin: 50% 100%;
    overflow: hidden;
}

.explosion:nth-child(1) {
    transform: rotate(0deg) translateY(-15px);
}

.explosion:nth-child(2) {
    transform: rotate(30deg) translateY(-15px);
}

.explosion:nth-child(3) {
    transform: rotate(60deg) translateY(-15px);
}

.explosion:nth-child(4) {
    transform: rotate(90deg) translateY(-15px);
}

.explosion:nth-child(5) {
    transform: rotate(120deg) translateY(-15px);
}

.explosion:nth-child(6) {
    transform: rotate(150deg) translateY(-15px);
}

.explosion:nth-child(7) {
    transform: rotate(180deg) translateY(-15px);
}

.explosion:nth-child(8) {
    transform: rotate(210deg) translateY(-15px);
}

.explosion:nth-child(9) {
    transform: rotate(240deg) translateY(-15px);
}

.explosion:nth-child(10) {
    transform: rotate(270deg) translateY(-15px);
}

.explosion:nth-child(11) {
    transform: rotate(300deg) translateY(-15px);
}

.explosion:nth-child(12) {
    transform: rotate(330deg) translateY(-15px);
}

.explosion::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 40px;
    background-color: var(--color-secondary);
}

@keyframes explosion {
    0% {
        top: 100%;
    }

    33%, 100% {
        top: -50%;
    }
}

.firework:nth-child(1) {
    left: 30%;
    top: 50%;
    transform: scale(1);
}

.firework:nth-child(2) {
    left: 40%;
    top: 35%;
    transform: scale(.7);
}

@media (prefers-reduced-motion) {
    .animate-fireworks {
        display: none;
    }
}

.animate-fireworks .firework:nth-child(2) .explosion::before {
    animation-delay: .6s;
}

.firework:nth-child(3) {
    left: 75%;
    top: 65%;
    transform: scale(.4);
}

.animate-fireworks .firework:nth-child(3) .explosion::before {
    animation-delay: .4s;
}

.animate-fireworks .firework .explosion::before {
    animation-name: explosion;
    animation-duration: 2s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 2;
}

.StripeElement {
    background-color: white;
    padding: 8px 14px;
    border-radius: 4px;
    border: 1px solid #E4E4E4;
}
.StripeElement--focus { 
    border-color: #80BDFF; outline:0; box-shadow: 0 0 0 .2rem rgba(0,123,255,.25); transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; }

.StripeElement--invalid {
    border-color: #FF0033;
}

.no-spin-button::-webkit-outer-spin-button,
.no-spin-button::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.no-spin-button {
    -moz-appearance: textfield;
}