body.legacy-home-body {
    background: white url(../img/homebanner.png);
    background-repeat: repeat-x;
}

.legacy-banner {
    overflow: auto;
}

.legacy-banner-copy {
    float: left;
}

.legacy-register .control-group {
    margin-bottom: 15px;
}

.legacy-register .controls input,
.legacy-register .controls select {
    width: 100%;
    max-width: 320px;
    box-sizing: border-box;
}

.legacy-member-card {
    margin-top: 25px;
}

.legacy-member-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.legacy-logout-form {
    margin: 0;
}

@media (max-width: 1100px) {
    .mainholder,
    .footer {
        width: auto;
        margin-left: 0;
        margin-right: 0;
        padding: 0 16px 24px;
    }

    .mainholder {
        display: flex;
        flex-direction: column;
    }

    .leftcolumn,
    .centercolumn,
    .rightcolumn {
        float: none;
        width: auto;
        margin: 0 0 20px;
    }

    .leftcolumn {
        order: 1;
    }

    .rightcolumn {
        order: 2;
    }

    .centercolumn {
        order: 3;
    }

    .homelogo {
        margin-top: 24px;
    }

    .homebanner {
        margin-top: 24px;
    }

    .footertext {
        width: auto;
        margin: 10px 0 20px;
    }

    .login {
        width: auto;
        margin-top: 0;
    }

    .login fieldset label {
        float: none;
        width: auto;
        margin-top: 10px;
    }

    .login .span2,
    .legacy-register .controls input,
    .legacy-register .controls select {
        width: 100%;
        max-width: none;
    }

    .legacy-register .control-label {
        float: none;
        width: auto;
        text-align: left;
        margin-bottom: 6px;
    }

    .legacy-register .controls {
        margin-left: 0;
    }
}

@media (max-width: 640px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    body.legacy-home-body {
        background-size: auto 190px;
    }

    .mainholder,
    .footer {
        padding-left: 12px;
        padding-right: 12px;
    }

    .leftcolumn {
        display: flex;
        align-items: flex-start;
        gap: 14px;
        margin-bottom: 12px;
        padding-top: 12px;
    }

    .leftcolumn,
    .centercolumn,
    .rightcolumn {
        box-sizing: border-box;
        min-width: 0;
    }

    .homelogo,
    .homelogo a {
        width: 80px;
        height: 80px;
    }

    .homelogo {
        flex: 0 0 80px;
        margin-top: 0;
        background-size: contain;
    }

    .leftcolumn ul {
        flex: 1;
        width: auto;
        margin-top: 2px;
    }

    .leftcolumn ul li a {
        padding: 10px 8px;
        font-size: 16px;
        line-height: 1.25;
    }

    .rightcolumn {
        margin-bottom: 14px;
    }

    .login {
        box-sizing: border-box;
        margin-top: 0;
        padding: 4px;
        width: 100%;
    }

    .login fieldset {
        box-sizing: border-box;
        margin: 0;
        padding: 14px !important;
    }

    .login fieldset label {
        margin: 0 0 6px;
        font-size: 18px;
        line-height: 1.3;
    }

    .login .span2 {
        box-sizing: border-box;
        display: block;
        min-height: 42px;
        margin-bottom: 14px;
        max-width: 100%;
        font-size: 18px;
        width: 100% !important;
    }

    .login .btn {
        font-size: 18px;
        line-height: 1.3;
        padding: 9px 18px;
    }

    .homebanner {
        display: none;
    }

    .centertext {
        text-align: left;
        font-size: 17px;
        line-height: 1.45;
        overflow-wrap: break-word;
    }

    .centertext h1 {
        font-size: 28px;
        line-height: 1.2;
        margin-top: 8px;
        margin-bottom: 12px;
    }

    .centertext p {
        margin-bottom: 16px;
    }

    .centertext img {
        height: auto;
        max-width: 100%;
    }

    .centertext .well {
        margin-top: 22px !important;
        padding: 16px;
    }

    .legacy-register .control-group {
        margin-bottom: 18px;
    }

    .legacy-register .control-label {
        font-size: 18px;
        line-height: 1.3;
    }

    .legacy-register .controls input,
    .legacy-register .controls select {
        min-height: 42px;
        font-size: 18px;
    }

    .legacy-register .btn {
        font-size: 18px;
        line-height: 1.3;
        padding: 9px 18px;
    }

    label.error {
        display: block;
        height: auto;
        margin-left: 0;
        margin-top: 6px;
        padding: 0;
        font-size: 15px;
    }

    .cf-turnstile {
        max-width: 100%;
        overflow: hidden;
    }

    .footertext {
        font-size: 14px;
    }
}
