:root {
    --event-blue: #15558f;
    --event-blue-dark: #0e4477;
    --event-blue-light: #e5f1fb;
    --event-text: #26313a;
    --event-muted: #6c757d;
    --event-border: #dbe3ea;
}

body {
    min-height: 100vh;
    color: var(--event-text);
    background:
        linear-gradient(180deg, #f7fbff 0, #ffffff 22rem);
}

.event-header {
    border-bottom: 1px solid var(--event-border);
    padding-bottom: 1.5rem;
}

.event-logo {
    display: inline-flex;
    flex-direction: column;
    line-height: 1;
}

.event-logo__main {
    color: var(--event-blue);
    font-size: clamp(1.65rem, 4vw, 2.8rem);
    font-weight: 800;
    letter-spacing: .01em;
}

.event-logo__sub {
    margin-top: .55rem;
    color: var(--event-text);
    font-size: clamp(.95rem, 2vw, 1.15rem);
    font-weight: 600;
}

.flyer-card {
    overflow: hidden;
    border-radius: 1rem;
    box-shadow: 0 1rem 2.5rem rgba(30, 63, 90, .12);
    background: #fff;
}

.registration-card {
    border-radius: 1rem;
}

.eyebrow {
    color: var(--event-blue);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.required {
    color: #b42318;
}

.optional {
    color: var(--event-muted);
    font-size: .875em;
    font-weight: 400;
}

.form-label {
    font-weight: 600;
}

.form-control {
    min-height: 3rem;
    border-color: var(--event-border);
}

textarea.form-control {
    min-height: 7rem;
}

.form-control:focus,
.form-check-input:focus {
    border-color: var(--event-blue);
    box-shadow: 0 0 0 .25rem rgba(21, 85, 143, .12);
}

.btn-primary {
    --bs-btn-bg: var(--event-blue);
    --bs-btn-border-color: var(--event-blue);
    --bs-btn-hover-bg: var(--event-blue-dark);
    --bs-btn-hover-border-color: var(--event-blue-dark);
    --bs-btn-active-bg: var(--event-blue-dark);
    --bs-btn-active-border-color: var(--event-blue-dark);
}

.btn-outline-primary {
    --bs-btn-color: var(--event-blue);
    --bs-btn-border-color: var(--event-blue);
    --bs-btn-hover-bg: var(--event-blue);
    --bs-btn-hover-border-color: var(--event-blue);
}

.practical-info {
    border-radius: 1rem;
    background: var(--event-blue-light);
}

.partners-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 6rem;
    border: 1px dashed #b8c5d0;
    border-radius: .75rem;
    color: var(--event-muted);
    background: #fff;
}

.hp-field {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}


footer {
    background-color: var(--event-blue);
    color: white;
}

footer a {
    color: white;
}

@media (max-width: 991.98px) {
    .event-header {
        text-align: center;
    }

    .event-logo {
        align-items: center;
    }
}