.public-hero {
    background-image: var(--category-hero-bg, none);
    background-size: cover;
    background-position: center;
    background-color: var(--category-primary, #5e72e4);
    color: #fff;
    padding: 4rem 0 6rem;
    text-align: center;
}

.public-hero::before {
    content: "";
}

.public-hero h1 {
    color: #fff;
    font-weight: 600;
}

.public-hero p {
    color: rgba(255, 255, 255, .85);
    max-width: 640px;
    margin: 0 auto;
}

.public-wrapper {
    max-width: 720px;
    margin: -4rem auto 3rem;
    padding: 0 1rem;
}

.public-form {
    background: #fff;
    border-radius: .375rem;
    padding: 2rem;
    box-shadow: 0 0 2rem 0 rgba(136, 152, 170, .15);
}

.public-form .btn-primary,
.public-mode-toggle .btn.active {
    background-color: var(--category-primary, #5e72e4);
    border-color: var(--category-primary, #5e72e4);
    color: #fff;
}

.public-mode-toggle .btn {
    border-color: var(--category-secondary, #324cdd);
    color: var(--category-secondary, #324cdd);
}

.public-thankyou {
    max-width: 560px;
    margin: 6rem auto;
    text-align: center;
    padding: 0 1rem;
}

.thankyou-icon {
    width: 96px;
    height: 96px;
    margin: -5.5rem auto 0;
    border-radius: 50%;
    background-color: var(--category-primary, #2dce89);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, .15);
}
