h3 { font-size: 36px; text-align: center; margin-top: 50px; font-family: Copperplate; }
.radios > .radio { margin-bottom: 40px; display: flex; align-items: center; cursor: pointer; }
    .radios > .radio > .chk { background-image: url(/res/img/radio-off@2x.png); background-size: contain; width: 28px; height: 28px; }
    .radios > .radio > .lbl { margin-left: 20px; flex: 1; }
        .radios > .radio > .lbl > h4 { font-weight: normal; margin: 0; font-size: 21px; }
        .radios > .radio > .lbl > p { margin-top: 10px; font-size: 18px; }
    .radios > .radio.on > .chk { background-image: url(/res/img/radio-on@2x.png); }
    .radios > .radio.no-click { cursor: default; }

.form-ctrl { border: solid 1px #BABABC; border-radius: 5px; background: #F4F4F7; box-sizing: border-box; padding: 0 10px; font-size: 17px; }
    .form-ctrl:not(textarea) { height: 44px; }
    .form-ctrl.err { background: rgba(219, 70, 74, 0.1); border-color: #DB464A; }
.field-line { display: flex; margin-bottom: 20px; }
.field { margin: 0 6px; }
    .field > label { font-size: 14px; height: 16px; display: block; text-align: left; margin-bottom: 4px; }
    .field > .form-ctrl { width: 100%; }
.gold-line { width: 760px; height: 1px; background: #B48432; margin: 0 auto; }
.err-msg { text-align: center; color: red; }
    .err-msg:not(:empty) { margin-bottom: 40px; }
.select2-container--default .select2-selection--single { background: #F4F4F7; }
#support-levels { width: 760px; margin: 0 auto; }
    #support-levels > .levels { width: 640px; margin: 0 auto; }
        #support-levels > .levels > .level { align-items: flex-start; }
            #support-levels > .levels > .level > .num { width: 66px; text-align: center; margin-left: -38px; margin-top: 5px; }

#discount-w { font-size: 18px; }
#discount-code { width: 66px; margin-left: -38px; }
#discount-apply { padding: 14px 30px; margin-left: 20px; }
#discount-summary { margin-top: 10px; }

#seating { margin: 0 auto 30px; text-align: center; width: 780px; }
    #seating > .num-w { font-size: 21px; text-align: left; margin-left: 56px; }
    #seating > .guests > .guest { margin-bottom: 35px; }
    #seating > .guests { margin-top: 60px; }
#meal-seating-pref { text-align: center; }
    #meal-seating-pref > x-info { max-width: 720px; display: block; margin: 30px auto 25px; font-size: 20px; }
    #meal-seating-pref > textarea { width: 635px; height: 135px; margin: 0 auto 48px; display: inline-block; background: #F7F7FA; border: solid 1px #BABABC; border-radius: 10px; font-size: 20px; padding: 10px 20px; }

#grand-total { padding: 30px; font-size: 28px; text-align: center; }

#journal-ads-w { display: none; }
#journal-ads { width: 700px; margin: 0 auto 50px; }
    #journal-ads > .info { text-align: center; letter-spacing: -.05em; margin-bottom: 50px; }
    #journal-ads > .send-w { text-align: center; }

#contact-info { width: 760px; margin: 0 auto 40px; }

#payment { width: 780px; margin: 0 auto 40px; }
    #payment > .methods { display: flex; justify-content: center; margin-bottom: 40px; }
        #payment > .methods > .method { margin: 0 30px; }
            #payment > .methods > .method > .lbl { margin-left: 10px; }

#opt-info, #q-comments { width: 635px; margin: 0 auto 30px; }
    #opt-info > .send-tribute { display: flex; align-items: center; margin: 30px 0px; justify-content: center; }
        #opt-info > .send-tribute > .radios { display: flex; margin-left: 25px; }
            #opt-info > .send-tribute > .radios > .radio { margin: 0 15px; }
#q-comments { margin-top: 30px; }
#don-end { text-align: center; margin-top: 55px; margin-bottom: 80px; }
    #don-end > .process-w { margin-bottom: 50px; }
        #don-end > .process-w > .err-msg:not(:empty) { margin-top: 10px; }
    #don-end > p { font-size: 15px; }

#num-seats { width: 66px; margin-right: 10px; margin-left: -5px; }
#check-fields { text-align: center; }

#donation-w { text-align: center; margin-bottom: 60px; padding: 0 20px; }
    #donation-w > h3 { margin-bottom: 0; }
    #donation-w > .appr { font-size: 20px; }
    #donation-w > .amount-w { max-width: 410px; margin: 40px auto 10px; }
        #donation-w > .amount-w > .amounts > .row { display: flex; margin-bottom: 10px; }
            #donation-w > .amount-w > .amounts > .row > .amount-btn { flex: 1; }
                #donation-w > .amount-w > .amounts > .row > .amount-btn:not(:last-child) { margin-right: 10px; }
        #donation-w > .amount-w .amount-btn { height: 50px; background: #E8E8E8; border: solid 1px #C1C1C1; display: flex; justify-content: center; align-items: center; font-size: 19px; border-radius: 5px; box-sizing: border-box; font-weight: bold; color: #707070; cursor: pointer; }
            #donation-w > .amount-w .amount-btn.active { background: #58BE5B; color: white; border-color: #58BE5B; }
        #donation-w > .amount-w > .other-amount { display: none; margin-top: 10px; width: 100%; box-sizing: border-box; font-size: 19px; padding: 10px 0; text-align: center; border: solid 1px #C1C1C1; border-radius: 5px; height: 50px; }

#pledge-w { text-align: center; max-width: 800px; margin: 30px auto 0; padding: 0 20px; }
    #pledge-w > h3 { margin: 70px 0 20px; text-transform: uppercase; }
    #pledge-w > .subtitle { font-size: 20px; border-bottom: dotted 1px #B48432; padding-bottom: 45px; }
    #pledge-w > .opportunities { font-size: 20px; margin-top: 40px; border-top: dotted 1px #B48432; padding-top: 40px; }
        #pledge-w > .opportunities > ol { max-width: 450px; margin: 20px auto; text-align: left; }
    #pledge-w .kits { max-width: 550px; margin: 40px auto; }
        #pledge-w .kits > .kit { display: flex; align-items: center; margin-bottom: 20px; }
            #pledge-w .kits > .kit > .t { text-align: left; }
    #pledge-w .amount-btn { background: #E8E8E8; border: solid 1px #C1C1C1; width: 126px; height: 50px; display: flex; align-items: center; justify-content: center; font-size: 19px; font-weight: bold; border-radius: 5px; margin-right: 15px; flex: none; box-sizing: border-box; cursor: pointer; padding-top: 5px; }
        #pledge-w .amount-btn.active { background: #58BE5B; color: white; border-color: #58BE5B; }
    #pledge-w > .opportunities > .h { font-size: 24px; }
    #pledge-w .alma-mater { display: none; width: 100%; background: #E8E8E8; border: solid 1px #C1C1C1; font-size: 19px; font-weight: bold; padding: 0px 20px; border-radius: 5px; margin-bottom: 20px; height: 50px; box-sizing: border-box; }
    #pledge-w .amounts { display: flex; justify-content: center; }
        #pledge-w .amounts > .amount { width: 126px; }
            #pledge-w .amounts > .amount > .amount-btn { }
            #pledge-w .amounts > .amount > .t { font-size: 14px; margin-top: 5px; }
    #pledge-w > .other-ways { margin-top: 40px; margin-bottom: 50px; }
        #pledge-w > .other-ways > .h { font-size: 24px; font-weight: 500; margin-bottom: 30px; }
        #pledge-w > .other-ways > .other-amount-w { margin: 20px auto 0; max-width: 420px; }
            #pledge-w > .other-ways > .other-amount-w > .other-amount { width: 100%; background: #E8E8E8; border: solid 1px #C1C1C1; font-size: 19px; font-weight: bold; padding: 0px 20px; border-radius: 5px; height: 50px; box-sizing: border-box; text-align: center; }
    #pledge-w > .note { font-size: 20px; margin-bottom: 35px; }

@media(min-width:768px) {
    #pledge-w .amounts > .amount:not(:last-child) { margin-right: 20px; }
}

@media(max-width:767px) {
    h3 { font-size: 21px; margin-top: 35px; }
    .radios > .radio > .lbl { margin-left: 20px; font-size: 15px; }
        .radios > .radio > .lbl > h4 { font-size: 15px; }
        .radios > .radio > .lbl > p { font-size: 13px; }
    .field-line { display: block; }
    .field { margin: 0 0 15px; }
        .field > label { height: auto; }
            .field > label:empty { display: none; }
    .btn { padding-left: 30px; padding-right: 30px; }
    .select2-container { max-width: 100%; }
    .gold-line { width: 100%; }

    #reserve-info { padding: 0 20px; }
        #reserve-info > p { font-size: 14px; }
    #support-levels { width: 300px; }
        #support-levels > .levels { width: 275px; }
            #support-levels > .levels > .level { margin-bottom: 15px; }
                #support-levels > .levels > .level > .num { width: 40px; margin-left: -12px; }
                #support-levels > .levels > .level > .lbl > ul { margin-left: -40px; }
    #donation-w > .appr { font-size: 16px; }
    #promo-w { font-size: 14px; margin-top: -20px; width: auto; }

    #seating { width: auto; padding: 0 20px; }
        #seating > .num-w { font-size: 14px; display: flex; margin: 0; align-items: center; }
    #grand-total { font-size: 21px; padding: 30px 15px; }
    #seat-pref { width: auto; padding: 0 30px 30px; }
    #journal-ads { width: auto; padding: 0 30px; }
        #journal-ads > .info { font-size: 14px; }
    #contact-info { width: auto; padding: 0 30px; }
    #payment { width: auto; padding: 0 30px; }
        #payment > .methods { display: block; }
            #payment > .methods > .method { margin: 0 0 20px; }
    #opt-info { width: auto; padding: 0 30px; }
        #opt-info > .send-tribute { display: block; }
            #opt-info > .send-tribute > .radios { margin: 10px 0 0; }
                #opt-info > .send-tribute > .radios > .radio { margin: 0; }
                    #opt-info > .send-tribute > .radios > .radio:first-child { margin-right: 10px; }
    #don-end { padding: 0 30px; text-align: left; margin-top: 40px; margin-bottom: 40px; }
        #don-end > p { font-size: 11px; }
        #don-end > .process-w { margin-bottom: 40px; text-align: center; }

    #q-comments { width: auto; padding: 0 30px; }

    #pledge-w > .opportunities { font-size: 18px; }
    #pledge-w .amounts { flex-direction: column; align-items: center; }
        #pledge-w .amounts > .amount { margin: 0 0 20px; }
    #pledge-w .amount-btn { font-size: 17px; width: 110px; height: 45px; }
    #pledge-w .alma-mater { font-size: 15px; }
}
