﻿.membership-enrollment {
    color: #333;
    margin: 1rem 0;
    max-width: 900px;
}

    .membership-enrollment [hidden] {
        display: none !important;
    }

    .membership-enrollment h2 {
        margin: .5em 0;
    }

    .membership-enrollment input[type="file"],
    .membership-enrollment__nested-fieldset-options {
        min-height: 27px;
    }

.membership-enrollment__field > textarea {
    min-height: 6rem;
    resize: vertical;
}

.membership-enrollment__member-message {
    margin: .5em 0;
    padding: 0;
}

.membership-enrollment__error,
.field-validation-error,
.validation-summary-errors,
.membership-enrollment__required,
.membership-enrollment__required-label::before,
.pjm-attachments__error {
    color: red;
}

.membership-enrollment__button {
    margin: 0 !important;
    max-width: max-content;
}

a.membership-enrollment__button:hover,
a.membership-enrollment__button:focus {
    text-decoration: none;
}

.membership-enrollment__fieldset {
    border: 0;
    margin: 0;
    min-width: 0;
    padding: 1.25rem 0;
}

    .membership-enrollment__fieldset > legend {
        border: 0;
        float: none;
        line-height: 1.3;
        margin: 0;
        padding: 0;
        width: auto;
    }

.membership-enrollment__fieldset-address {
    padding: 0;
}

.membership-enrollment__grid {
    display: grid;
    align-items: start;
    gap: 1.275rem 1.25rem;
    grid-template-columns: repeat(2, minmax(0,1fr));
    padding: 0.525rem 0;
}

.membership-enrollment__grid-contact > :nth-child(4) {
    grid-column: 1;
}

.membership-enrollment__row-start {
    grid-column: 1;
}

.membership-enrollment__nested-fieldset,
.membership-enrollment__field {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    justify-items: center;
}


.membership-enrollment__stack {
    display: grid;
    gap: 0.375rem 1.25rem;
}

.membership-enrollment__nested-fieldset > legend {
    border: 0;
    float: none;
    font-size: 1.3rem;
    font-weight: inherit;
    line-height: inherit;
    margin: 0;
    padding: 0;
    width: 100%;
    margin-bottom: .5rem;
}

.membership-enrollment__nested-fieldset-options {
    display: flex;
    flex-direction: row;
    gap: 1.25rem;
    align-items: center;
}

.membership-enrollment__field-label {
    display: inline-flex;
    gap: .8rem;
}

    .membership-enrollment__nested-fieldset-options > label,
    .membership-enrollment__field > label,
    .membership-enrollment__field-label > label {
        font-weight: 300 !important;
        border: 0;
        margin: 0;
    }

.membership-enrollment__required-label::before {
    color: red;
    content: "* ";
}

.membership-enrollment__actions {
    display: flex;
    width: 100%;
    justify-content: flex-end;
    gap: 0.5rem;
}

@media screen and (max-width: 460px) {
    .membership-enrollment__grid {
        grid-template-columns: 1fr;
    }
}
