.typedArea {
    color: #b455ff;
    font-weight: 600;
    display: inline-block;
    min-width: 20ch;
    white-space: nowrap;
    position: relative;
}

.typedArea::after {
    content: "";
    display: inline-block;
    width: 2px;
    height: 1.1em;
    background-color: currentColor;
    margin-left: 4px;
    vertical-align: -0.1em;
    animation: type-caret-blink 1s steps(1) infinite;
}

#emailSubscribeForm {
    width: 100%;
}

#emailSubscribeForm input {
    height: 50px;
}

.home-hero {
    min-height: 500px;
    padding-top: 5.15rem;
    width: 100%;
    background:
        radial-gradient(52rem 30rem at 8% 18%, rgba(180, 85, 255, 0.18), transparent 68%),
        radial-gradient(56rem 32rem at 92% 16%, rgba(170, 238, 255, 0.22), transparent 66%),
        radial-gradient(36rem 20rem at 50% 10%, rgba(255, 255, 255, 0.84), transparent 74%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.88) 24%, rgba(255, 255, 255, 0.62) 56%, rgba(255, 255, 255, 0.12) 100%);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% 700px;
}

.subscribe-form .form-control {
    border-radius: 0.5rem;
    border-color: #ececf6;
    box-shadow: none;
    margin-bottom: 0;
}

.subscribe-form .form-control:focus {
    border-color: rgba(180, 85, 255, 0.55);
    box-shadow: 0 0 0 0.15rem rgba(180, 85, 255, 0.12);
}

.subscribe-button {
    min-width: 140px;
    border-radius: 0.5rem;
    min-height: 50px;
    height: 50px;
    margin-bottom: 0;
    box-shadow: none;
}

@media (min-width: 992px) {
    .subscribe-form .form-row {
        margin-left: 0;
        margin-right: 0;
    }

    .subscribe-form .col-lg {
        padding-right: 0;
    }

    .subscribe-form .col-lg-auto {
        padding-left: 0;
        margin-top: 0 !important;
    }

    .subscribe-form .form-control {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }

    .subscribe-button {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        width: 100%;
    }
}

@media (max-width: 991.98px) {
    .home-hero {
        min-height: 460px;
        padding-top: 4.8rem;
        background-size: 100% 560px;
    }
}

@keyframes type-caret-blink {
    0%, 49% {
        opacity: 1;
    }
    50%, 100% {
        opacity: 0;
    }
}
