.ann {
    margin-bottom: 1.5em;
}
.ann-sep {
    font-family: "jubilat", serif;
    font-weight: 400;
    color: #f2c63d;
}

.resend-email,
.resend-submit {
    width: 100%;
    text-align: center;
}
.resend-email {
    margin-bottom: 1em;
}
.resend-email input {
    font-size: 1.5em;
    width: 100%;
}

.rsvp {
    text-align: center;
}
.rsvp button {
    margin: 1em auto;
    display: block;
}
.rsvp .rsvp-yes {
    font-size: 1.5em;
    margin-top: 1.3333em;
    margin-bottom: 1.3333em;
    width: 100%;
}
.rsvp .rsvp-no {
    width: 100%;
}

.inv {
    background: #fff;
    border: 1px solid #e5e5df;
    border-left: 0;
    border-right: 0;
}
.inv-header {
    margin-bottom: 0;
    padding-bottom: 1em;
    border-bottom: 1px solid #e5e5df;
}
.inv-status,
.inv-ctrls {
    vertical-align: middle;
}
.inv-status {
    /*font-weight: 700;*/
    width: 66.6667%;
    padding-right: 1em;
}
.inv-ctrls {
    width: 33.3333%;
    text-align: right;
}
.inv-guests {
    margin-left: -0.5em;
    margin-right: -0.5em;
}
.inv-address,
.inv-address-val,
.guest {
    width: 100%;
}
.inv-address,
.inv-address-val {
    margin-left: auto;
    margin-right: auto;
    margin-top: 1em;
}
.inv-address address {
    white-space: pre;
    margin-top: 0;
}
.inv-address-val label {
    font-weight: 700;
}
.inv-address-val textarea {
    width: 100%;
    margin: 0 auto 1em;
}

.guest {
    margin-bottom: 1em;
    color: #b0afa6;
}
.is-guest-attending {
    color: inherit;
}
.guest h2 {
    margin-bottom: 0;
}
.guest-salutation {
    width: 100%;
    position: relative;
}
.guest-salutation:before {
    content: none;
}
.guest-salutation:after {
    content: "n";
    display: inline-block;
    *display: inline;
    zoom: 1;
    vertical-align: middle;
    font-size: 1.3333em;
    line-height: 0.5;
    padding: 0.125em 0 0 0.25em;
}
.is-guest-attending .guest-salutation:after {
    content: "y";
    color: #75AB81;
}
.guest-attending {
    font-weight: 700;
}
.guest-title-val {
    width: 25%;
    padding-right: 0.5em;
}
.guest-name-val {
    width: 75%;
}
.guest-title-val input,
.guest-name-val input {
    width: 100%;
}
.guest-meal {
    margin-top: 0;
}
/*.guest-meal-val label {
    width: 33%;
}*/
.guest-meal-val-label {
    margin-right: 1em;
}
.guest-meal-val label:last-child .guest-meal-val-label {
    margin-right: 0;
}

.guest-title-val,
.guest-name-val,
.guest-attending-val,
.guest-meal-val,
.inv-address-val,
.inv-done {
    display: none;
}

.guest-ctrls {
    width: 100%;
    margin: 1em auto;
    text-align: center;
}

.guest-ctrls,
.guest-available .guest-details {
    display: none;
}
.guest-available .guest-ctrls {
    display: block;
}

.is-inv-editing .guest-title-val,
.is-inv-editing .guest-name-val,
.is-inv-editing .inv-done {
    display: inline-block;
    *display: inline;
    zoom: 1;
}
.is-inv-editing .inv-address-val,
.is-inv-editing .guest-attending-val,
.is-inv-editing .guest-meal-val {
    display: block;
}
.is-inv-editing .inv-address,
.is-inv-editing .guest-salutation,
.is-inv-editing .guest-attending,
.is-inv-editing .guest-meal,
.is-inv-editing .inv-edit {
    display: none;
}
.is-inv-editing .guest {
    color: inherit;
}

/* 480px */
@media screen and (min-width: 30em) {
    .rsvp .rsvp-no {
        width: 62%;
    }
}

/* 576px */
@media screen and (min-width: 36em) {
    .resend-email input {
        width: 75%;
    }

    .rsvp .rsvp-yes {
        font-size: 2em;
        margin-top: 1em;
        margin-bottom: 1em;
    }

    .inv-status {
        /*font-weight: 700;*/
        width: 75%;
        padding-right: 1em;
    }
    .inv-ctrls {
        width: 25%;
    }

    .inv-guests {
        margin-left: -1em;
        margin-right: -1em;
    }

    .inv-address,
    .inv-address-val,
    .guest {
        width: 50%;
    }

    .inv-address,
    .inv-address-val {
        text-align: center;
    }
}

/* 768px */
@media screen and (min-width: 48em) {
    .resend-email input {
        width: 62%;
    }

    .rsvp .rsvp-yes {
        width: 62%;
    }
    .rsvp .rsvp-no {
        width: 38%;
    }
}

/* 770px */
@media screen and (min-width: 48.125em) {
    .inv {
        border: 1px solid #e5e5df;
    }
}
