* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html,
body {
    color: #707274;
    font-family: "Gotham SSm A", "Gotham SSm B", Arial, sans-serif;
    margin: 0;
    padding: 0;
}

p {
    margin: 0 0 10pt;
}

/* styles begin at an assumption of 320px phone screen width */

.table {
    border-spacing: 10pt;
    display: table;
    width: 100%;
}

.row {
    display: table-row;
}

.cell {
    display: table-cell;
    vertical-align: top;
}

#mobileHero,
#tabletHero,
#tabletHero img,
#desktopHero,
#desktopHero img {
    display: none;
    width: 100%;
}

body>#mobileHero {
    display: block;
    height: 210px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
}

#mobileHero img.pageOne {
    bottom: 0;
    position: absolute;
    width: 100%;
}

.tablet,
.desktop,
.form-progress-bar,
.section-header-container,
#donor_email_opt_in_Row,
#donor_remember_me_row,
.payment-type-element-container,
.button-container.clearfix,
#level_flexiblegift_type_Row,
input[name="level_flexiblegift_type"],
#level_flexibleduration_row,
#paginator,
input[name="level_flexibleexpanded"],
#pageThreeBack,
div.donation-level-label-input-container,
div.responsive span.field-required,
#level_flexible_row,
.HelpLink,
.pageOne .row.two div.donation-level-container:last-child label,
div.form-row.form-text,
div.form-row.form-selectlist,
input[name="responsive_payment_typepay_typeradio"] {
    display: none;
}

#tabletHero img.current,
#desktopHero img.current {
    display: block;
}

header {
    text-align: center;
}

header img {
    margin-top: 15px;
    width: 90px;
}

#content {
    margin: 170px 0 100px;
    padding: 0;
}

div.donation-form-container.responsive {
    background: transparent;
    border: none;
    border-radius: 0;
    color: #707274;
    font-family: "Gotham SSm A", "Gotham SSm B", Arial, sans-serif;
    padding: 0;
    width: 100%;
}

div.responsive div.ErrorMessage.page-error>span.field-error-text {
    width: 100%;
}

#introduction {
    font-size: 14pt;
    margin: 0 10pt 10pt;
}

.orange {
    color: #f26722;
}

.active {
    background: #f26722 !important;
}

#monthlyOptions {
    border-spacing: 10pt;
}

.designated-giving-recurring-row {
    display: table-cell;
    width: 50%;
}

.designated-giving-recurring-row:first-child {
    padding-right: 5pt;
}

.designated-giving-recurring-row:last-child {
    padding-left: 5pt;
}

.designated-giving-recurring-row label {
    background: #a4a2a2;
    border: none;
    border-radius: 6px;
    color: white;
    display: block;
    font-size: 12pt;
    height: 50px;
    line-height: 50px;
    text-align: center;
    width: 100%;
}

#monthlyPrompt {
    text-align: center;
}

.pageOne .table.fields {
    border-spacing: 10pt;
}

.donation-level-container {
    display: table-cell;
    width: 33%;
}

div.responsive div.form-content,
div.donation-level-input-container.form-input {
    margin: 0;
    padding: 0;
    width: 100%;
}

.donation-level-container label {
    background: #a4a2a2;
    border: none;
    border-radius: 6px;
    color: white;
    cursor: pointer;
    display: block;
    font-size: 12pt;
    height: 50px;
    text-align: center;
    width: 100%;
}

div.donation-level-label-container {
    cursor: pointer;
    line-height: 50px;
}

.donation-level-user-entered label {
    display: none;
}

.pageOne .row.two div.donation-level-container:last-child {
    width: 75%;
}

label+div.donation-level-user-entered {
    margin: 0;
}

div.donation-level-user-entered {
    margin: 0;
    width: 100%;
}

div.responsive div.donation-level-user-entered input[type="text"] {
    background: #F8F5F5;
    border: 1px solid #979797;
    border-radius: 6px;
    box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.50);
    font-size: 12pt;
    height: 50px;
    width: 100%;
}

div.responsive input[type="text"] {
    border: 1px solid #707274;
    border-radius: 0;
    box-shadow: none;
    font-size: 12pt;
    height: 50px;
    width: 100%;
}

.pageTwo label {
    color: #707274;
    font-size: 12pt;
}

div.form-row div.form-content>select,
#responsive_payment_typecc_exp_date_MONTH,
#responsive_payment_typecc_exp_date_YEAR {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: white url("../don2016/select.png") no-repeat right 10pt center;
    border: 1px solid #707274;
    border-radius: 0;
    box-shadow: none;
    font-size: 12pt;
    height: 50px;
    padding: 0 30px 0 4pt;
    width: 100%;
}

/*#responsive_payment_typecc_exp_date_MONTH,
#responsive_payment_typecc_exp_date_YEAR {
	margin-top: 3pt;
	width: 43%;
}

#responsive_payment_typecc_exp_date_MONTH {
	margin-right: 20pt;
}*/

.date-input-container.table {
    border-spacing: 0;
    font-size: 1px;
}

.cardExpGroup .cell:first-child {
    padding-right: 20pt;
}

#responsive_payment_typecc_cvv_row {
    margin: 0;
    padding: 3pt 20pt 0 10pt;
    width: 36%;
}

#responsive_payment_typecc_cvvname {
    margin-bottom: 1px;
}

#responsive_payment_typecc_exp_date_row {
    margin: 0;
    padding: 3pt 10pt 0 0;
}

/* for IE */
select::-ms-expand {
    display: none;
}

option {
    padding: 2pt 4pt;
}

h2 {
    color: black;
    font: normal 14pt/1 "Gotham SSm A", "Gotham SSm B", Arial, sans-serif;
    margin: 10pt;
}

#employer_street_row input,
#billing_addr_street1_row input,
#billing_addr_street2_row input,
#billing_addr_street3_row input,
#billing_addr_country_row input.ui-autocomplete-input,
#donor_addr_street1_row input,
#donor_addr_street2_row input,
#donor_addr_street3_row input,
#donor_addr_country_row input.ui-autocomplete-input,
#shipping_addr_street1_row input,
#shipping_addr_street2_row input,
#shipping_addr_street3_row input,
#shipping_addr_country_row input.ui-autocomplete-input,
#tribute_notify_recip_street1_row input,
#tribute_notify_recip_street2_row input,
#tribute_notify_recip_street3_row input,
#tribute_notify_recip_country_row input.ui-autocomplete-input,
#tribute_signature_row input,
#tribute_message_closing_row input,
div.employer-address-container input#employer_street {
    width: 100%;
}

div.form-row.form-text,
div.form-row.form-selectlist {
    margin: 0;
    padding: 5pt 10pt;
    width: 100%;
}

.table.fields {
    border-spacing: 0;
}

div.pageOne>div.form-row.form-text,
div.pageOne>div.form-row.form-selectlist,
div.pageTwo>div.form-row.form-text,
div.pageTwo>div.form-row.form-selectlist,
div.pageThree>div.form-row.form-text,
div.pageThree>div.form-row.form-selectlist {
    display: block;
}

div.pageOne .table.fields .row div.form-row.form-text,
div.pageOne .table.fields .row div.form-row.form-selectlist,
div.pageTwo .table.fields .row div.form-row.form-text,
div.pageTwo .table.fields .row div.form-row.form-selectlist,
div.pageThree .table.fields .row div.form-row.form-text,
div.pageThree .table.fields .row div.form-row.form-selectlist,
div.pageThree .table.fields .row div.form-row.form-date {
    display: table-cell;
    vertical-align: top;
}

div.pageTwo .table.fields .row #billing_addr_zip_row,
div.pageTwo .table.fields .row #billing_addr_state_row {
    width: 100px;
}

#billing_addr_zipname,
#billing_addr_state {
    width: 100px;
}

#responsive_payment_typepay_typeradio_row .form-content {
    display: table;
}

#responsive_payment_typepay_typeradio_payment_types {
    display: table-row;
}

#responsive_payment_typepay_typeradio_payment_types .internal-payment,
#responsive_payment_typepay_typeradio_payment_types .external-payment {
    display: table-cell;
    padding: 0 10pt 10pt;
    width: 50%;
}

#responsive_payment_typepay_typeradio_payment_types label {
    background: #707274;
    border: none;
    border-radius: 6px;
    color: white;
    display: block;
    font-size: 12pt;
    height: 55px;
    line-height: 55px;
    max-width: 100%;
    text-align: center;
    width: 100%;
}

#responsive_payment_typepay_typeradio_payment_types .payment-type-option.selected label {
    background: #f26722;
}

#responsive_payment_typepay_typeradio_payment_types label img {
    vertical-align: middle;
}

/*label[for="responsive_payment_typecc_exp_date_MONTH"] {
	display: inline-block;
	margin-right: 10pt;
	width: 48%;
}*/

.cardExpGroup.row {
    margin: 0;
    padding: 0;
}

.cardExpGroup label {
    display: inline-block;
    font-size: 12pt;
    padding: 0 0 3px 0;
}

/* buttons */
.table.buttons .cell:first-child {
    /*display: none;*/
}

div.responsive button.step-button,
#pageOneContinue,
#pageTwoContinue {
    background: #f26722;
    border: none;
    border-radius: 6px;
    color: white;
    font-size: 12pt;
    height: 70px;
    max-width: 100%;
    text-align: center;
    width: 100%;
}

div.responsive button.step-button:hover {
    background: #f26722;
}

footer {
    background: #333;
    color: #d8d8d8;
    font-size: 8pt;
}

#footerInner {
    padding: 36px 30px;
}

footer a,
footer a:link {
    color: #D8D8D8 !important;
    text-decoration: none;
}

footer a:hover {
    text-decoration: underline;
}

#trustseals {
    float: right;
    margin: 0 0 36px 36px;
    text-align: center;
    width: 50px;
}

#bbblogo {
    margin: 0 0 20px;
    width: 35px;
}

#cnlogo {
    width: 50px;
}

footer p {
    margin: 0 0 10pt;
}

#thawteseal {
    margin: 20pt 0 10pt 0;
}

#pitch {
    padding: 10pt;
}

.floatLeft {
    float: left;
    margin: 0 10pt 0 0;
}

.floatRight {
    float: right;
    margin: 0 0 0 10pt;
}

@media screen and (min-width: 360px) {
    body>#mobileHero {
        height: 225px;
    }

    #content {
        margin-top: 185px;
    }
}

@media screen and (min-width: 412px) {
    body>#mobileHero {
        height: 245px;
    }

    #content {
        margin-top: 200px;
    }
}

@media screen and (min-width: 700px) {
    body {
        text-align: center;
    }

    .donation-level-container {
        width: 20%;
    }

    .mobile,
    #mobileHero,
    #desktopHero {
        display: none;
    }

    .tablet {
        display: initial;
    }

    body>#mobileHero {
        display: none;
    }

    body>#tabletHero {
        display: block;
        width: 100%;
    }

    #tabletHero img {
        width: 100%;
    }

    header {
        position: absolute;
        top: 0;
    }

    header a {
        display: block;
        background: white;
        margin: 0 0 0 50px;
        width: 170px;
    }

    header img {
        margin-top: 24px;
        width: 120px;
    }

    #content {
        margin: 20px auto 100px;
        max-width: 500px;
        text-align: left;
    }

    #colLeft .pageTwo,
    #colLeft .pageThree {
        display: none;
    }

    #paginator {
        display: block;
    }

    #pitch.tablet {
        display: block;
    }

    #monthlyPrompt img.tablet {
        max-width: 460px;
    }

    .pageOne .table.buttons,
    .pageTwo .table.buttons,
    .pageThree .table.buttons {
        display: table;
    }

    h2 {
        display: none;
    }

    .table.buttons .cell:first-child {
        display: table-cell;
        vertical-align: bottom;
        width: 50%;
    }

    .table.buttons .cell:last-child {
        text-align: right;
        vertical-align: bottom;
        width: 50%;
    }

    div.responsive button.step-button,
    div.responsive button.step-button:hover,
    #pageOneContinue,
    #pageTwoContinue {
        background: #f26722 url("../don2016/forward.png") no-repeat right 20% center;
        margin: 0;
        max-width: 230px;
    }

    #pageOneContinue,
    #pageTwoContinue {
        cursor: pointer;
        display: inline-block;
        line-height: 70px;
    }

    #pageTwoBack,
    #pageThreeBack {
        background: #707274 url("../don2016/back.png") no-repeat left 20% center;
        border: none;
        border-radius: 6px;
        color: white;
        cursor: pointer;
        display: inline-block;
        font-size: 12pt;
        height: 70px;
        line-height: 70px;
        max-width: 230px;
        text-align: center;
        width: 100%;
    }

    footer {
        min-width: 700px;
        text-align: left;
    }

    #trustseals {
        width: 180px;
    }

    #bbblogo {
        margin: 0 20px 0 0;
        height: 80px;
        width: auto;
    }

    #cnlogo {
        height: 80px;
        width: auto;
    }

    /* paginator */
    #paginator {
        text-align: center;
        margin: 0 10pt 20pt;
    }

    #paginator .table {
        border-spacing: 0;
    }

    #paginator .cell {
        width: 33%;
    }

    .pageTitle {
        cursor: pointer;
        font-size: 10pt;
        padding-bottom: 10pt;
    }

    .pageTitle.current,
    .pageTitle.past {
        color: #f26722;
    }

    .pageIndicator {
        background: #707274 url("../don2016/progressRightFuture.gif") no-repeat right center;
        color: white;
        cursor: pointer;
        font-size: 10pt;
        height: 32px;
        line-height: 32px;
    }

    .pageIndicator.current {
        background: #f26722 url("../don2016/progressRightCurrent.gif") no-repeat right center;
    }

    .pageIndicator.past {
        background: #f26722 url("../don2016/progressRightPast.gif") no-repeat right center;
    }

    #pageOneIndicator {
        border-top-left-radius: 6px;
    }

    #pageThreeIndicator {
        background-image: none !important;
        border-top-right-radius: 6px;
    }

    /* form fields */
    .table.fields .row.one div.form-row.form-text,
    .table.fields .row.two div.form-row.form-text,
    .table.fields .row.four div.form-row.form-text,
    .table.fields .row.four div.form-row.form-selectlist {
        width: 50%;
        vertical-align: bottom;
    }

    .table.fields .row.three div.form-row.form-text,
    .table.fields .row.three div.form-row.form-selectlist {
        width: 33%;
        vertical-align: bottom;
    }

    #billing_addr_zipname,
    #billing_addr_state {
        width: 100%;
    }

    #responsive_payment_typecc_cvv_row,
    #responsive_payment_typecc_exp_date_row {
        margin: 0;
        padding: 10pt;
        vertical-align: bottom;
    }

    #responsive_payment_typepay_typeradio_payment_types label {
        height: 70px;
        line-height: 70px;
    }

    /*#responsive_payment_typecc_exp_date_MONTH,
	#responsive_payment_typecc_exp_date_YEAR {
		width: 44%;
	}

	#responsive_payment_typecc_exp_date_MONTH {
		margin-right: 20pt;
	}*/
}

@media screen and (max-width: 700px) {

    #pageOneContinue,
    #pageTwoBack,
    #pageTwoContinue {
        display: none;
    }
}

@media screen and (min-width: 1000px) {
    .desktop {
        display: initial;
    }

    body>#tabletHero {
        display: none;
    }

    body>#desktopHero {
        display: block;
        left: 0;
        overflow: hidden;
        position: absolute;
        right: 0;
        top: 0;
        z-index: -1;
    }

    body,
    body.pageOne {
        background: white url("../don2016/heroPage1Desktopv2.jpg") no-repeat top left / cover;
    }

    body.pageTwo {
        background-image: url("../don2016/heroPage2Desktop.jpg");
    }

    body.pageThree {
        background-image: url("../don2016/NKH-Form-Pic-3-Smaller.jpg");
    }

    header {
        background: white;
        margin: 0 0 0 50px;
        max-width: 540px;
        padding: 50px 40px 0;
        position: static;
        text-align: left;
        width: 540px;
    }

    #content {
        background: white;
        /*height: 854px;*/
        margin: 0 0 0 50px;
        max-width: 540px;
        overflow: hidden;
        padding: 50px 0 0;
        width: 540px;
    }

    div.pageOne,
    div.pageTwo,
    div.pageThree {
        padding-bottom: 100px;
    }

    header a {
        margin: 0 auto;
        max-width: 470px;
        width: 100%;
    }

    header img {
        margin: 0;
        width: 161px;
    }

    #introduction {
        font-size: 16pt;
        margin: 0 auto 36px;
        max-width: 470px;
        padding: 0 10pt;
    }

    #paginator {
        margin: 0 0 20pt;
    }

    div.donation-level-general-ask,
    div.html-caption-container {
        max-width: 100%;
    }

    #pageOneIndicator {
        border-radius: 0;
        border-left: 2px solid white;
    }

    #pageThreeIndicator {
        border-radius: 0;
        border-right: 2px solid white;
    }

    #pitch.tablet {
        margin: 0 auto;
        max-width: 470px;
    }

    #monthlyOptions {
        margin: 0 auto;
        max-width: 470px;
    }

    #monthlyPrompt img.tablet {
        max-width: 460px;
    }

    .designated-giving-recurring-row label {
        height: 55px;
        line-height: 55px;
    }

    #responsive_payment_typepay_typeradio_row,
    .table.fields {
        max-width: 470px;
        margin: 0 auto;
    }

    .donation-level-container label {
        height: 55px;
    }

    div.donation-level-label-container {
        line-height: 55px;
    }

    div.responsive div.donation-level-user-entered input[type="text"] {
        height: 55px;
    }

    .table.buttons {
        margin: 0 auto;
        max-width: 470px;
        width: 100%;
    }

    #footerInner {
        padding-left: 70px;
        max-width: 1280px;
        width: 100%;
    }
}