* {box-sizing:border-box;}

/* Body */

body {
  background:#fff;
  background-repeat:no-repeat;
  color:#1e242b;
  font-family:"Open Sans", sans-serif;
  font-size:18px;
  -moz-osx-font-smoothing:grayscale;
  -webkit-font-smoothing:antialiased;
  font-weight:300;
  line-height:1.5em;
  margin:0;
  text-rendering:optimizelegibility;
}

body article a {color:#0096aa;}

/* Main */

main {
  margin:0 auto;
  width:100%;
}

main header.theme-header {
  background-color:#fff;
  border-bottom:1px solid #ccc;
  margin:0;
  width:100%;
}

header.theme-header .logo-container {
  margin:0 auto;
  padding:0;
  width:100%;
}

figure.branding {
  align-items:center;
  display:flex;
  justify-content:center;
  line-height:0;
  margin:0;
  width:100%;
}

figure.branding a {padding:20px;}

figure.branding img {
  height:80px;
  width:275px;
}

body section.header-image {
  height:100%;
  width:100%;
}

section.header-image figure.main-image {
  background-size:cover;
  background-position:50% 33%;
  margin:0;
}

body.has-main-image section.header-image figure.main-image {
  height:250px;
  width:100%;
}

main article section.article-content {
  background:#fff;
  padding:0 0 40px;
  width:100%;
}

article figure.branding {display:none;}

article figure.main-image {
  display:none;
  line-height:0;
}

header.article-header figure.main-image {display:none;}

article figure.main-image img {
  height:auto;
  width:100%;
}

/* Form */

main section.at-inner {background:none;}
article .at.ngp-form .at-form * {color:#1e242b;}
article .at.ngp-form figure.main-image {display:none;}

article .at.ngp-form header.at-title,
article .at.ngp-form .content.thankYou h1 {
  font-size:30px;
  font-weight:700;
  letter-spacing:1px;
  line-height:36px;
  margin:20px;
  padding:0;
  text-align:left;
}

article figure.branding figcaption {margin:0;}

article .at.ngp-form header.HeaderHtml {
  padding:0 20px 20px;
  margin:0;
}

article .at.ngp-form header.HeaderHtml h2,
article .at.ngp-form header.HeaderHtml h3 {
  font-size:24px;
  font-weight:700;
  margin:20px 0;
}

article .at.ngp-form header.HeaderHtml h3 {font-size:20px;}

article .at.ngp-form header.HeaderHtml p {
  font-size:1em;
  line-height:1.5em;
  margin:0 0 15px;
  padding:0;
}

article .at.ngp-form header.HeaderHtml p:last-child {margin:0;}
article .at.ngp-form .at-markup a {font-weight:700;}

article .at.ngp-form .content.thankYou {
  margin:0 auto;
  padding:0 20px;
  width:100%;
}

article .at.ngp-form .content.thankYou h2 {
  font-size:24px;
  font-weight:700;
  margin:0 0 20px;
}

article .at.ngp-form .content.thankYou p {margin:0 0 15px;}

article .at.ngp-form .content.thankYou button.btn-social {
  color:#fff;
  font-weight:500;
  margin:0 15px 0 0;
}


/* Progress Meter Stuff */

article .at.ngp-form header.MeterHtml {
  margin:0;
  padding:0 20px;
  width:100%;
}

article .at.ngp-form header.MeterHtml iframe {display:none;}

article .at.ngp-form figure.progress-meter {
  margin:0;
  padding:0;
}

article .at.ngp-form figure.progress-meter progress {
  appearance:none;
  background:#aaa;
  border:0;
  border-radius:4px;
  display:block;
  height:30px;
  margin:0 0 10px;
  padding:0;
  position:relative;
  -webkit-appearance:none;
  width:100%;
  box-shadow:unset;
  z-index:3;
}

article .at.ngp-form figure.progress-meter progress::-webkit-progress-bar {
  background:#aaa;
  border:0;
  border-radius:4px;
}
  
article .at.ngp-form figure.progress-meter progress::-moz-progress-bar {
  background-color:#0096aa;
  border-radius:4px 0 0 4px;
}

article .at.ngp-form figure.progress-meter progress::-webkit-progress-value {
  background-color:#0096aa;
  border-radius:4px 0 0 4px;
}

article .at.ngp-form figure.progress-meter p.progress-meter-details {
  display:flex;
  font-size:1em;
  font-weight:400;
  justify-content:space-between;
  line-height:24px;
  margin:0 0 15px;
}

article .at.ngp-form figure.progress-meter progress[value="100"]::-moz-progress-bar {border-radius:4px;}
article .at.ngp-form figure.progress-meter progress[value="100"]::-webkit-progress-value {border-radius:4px;}

article .at.ngp-form figure.progress-meter p.progress-meter-details span.progress-meter-goal {
  padding-left:10px;
  text-align:right;
}


/* FastAction */

article .at.ngp-form {
  max-width:unset;
  width:100%;
}

article .at.ngp-form.multistep-layout {min-width:unset;}

article .at.ngp-form .FastAction {
  margin:0;
  padding:0;
}

article .at.ngp-form .FastAction .fastAction {
  background:#eee;
  padding:10px 20px;
}

article .at.ngp-form .FastAction p {font-size:12px;}
article .at.ngp-form .FastAction .profile-link {background:#fff;}

article .at.ngp-form .FastAction .fa-cta span a {
  color:#fff;
  text-decoration:none;
}


/* Form Steps */

article .at.ngp-form ol.at-steps {
  background:#f8f8f8;
  border-radius:0;
  display:flex;
  margin:0;
  padding:0;
}

article .at.ngp-form ol.at-steps li.at-step {
  margin:unset;
  padding:0;
}

article .at.ngp-form ol.at-steps li.at-step.active {border-bottom:2px solid #0096aa;}

article .at.ngp-form ol.at-steps li.at-step a,
article .at.ngp-form ol.at-steps li.at-step b {
  align-items:center;
  display:flex;
  flex-direction:column;
  font-size:.9375em;
  font-weight:400;
  letter-spacing:0;
  line-height:20px;
  justify-content: center;
  padding:15px 10px;
}

article .at.ngp-form ol.at-steps li.at-step a:before,
article .at.ngp-form ol.at-steps li.at-step b:before {
  background:#777;
  border:0;
  font-size:14px;
  font-weight:700;
  height:24px;
  left:unset;
  line-height:24px;
  margin:0 0 5px;
  position:relative;
  right:unset;
  top:0;
  transform:none;
  width:24px;
}

article .at.ngp-form ol.at-steps li.at-step a span.step-title {display:block;}


/* Form Elements */

article .at.ngp-form fieldset.at-fieldset {
   padding:0 10px;
   min-width:unset;
}

article .at.ngp-form fieldset.AdditionalInformation.hide-additional-information legend {display:none;}
article .at.ngp-form fieldset.ContributionInformation {padding-top:20px !important;}

article .at.ngp-form legend.at-legend {
  font-size:24px;
  font-weight:700;
  line-height:1em;
  padding:20px 0;
}

article .at.ngp-form fieldset.ContributionInformation legend.at-legend {padding-bottom:0;}

article .at.ngp-form .at-row label,
article .at.ngp-form fieldset.TicketInformation label {
  font-size:15px;
  font-weight:400;
  line-height:20px;
  margin:0 10px;
}

article .at.ngp-form .AdditionalInformation .at-row label {font-weight:500;}

article .at.ngp-form fieldset.TicketInformation label {margin:0;}

article .at.ngp-form .at-row label input,
article .at.ngp-form .at-row label select,
article .at.ngp-form .at-row label .select2-selection,
article .at.ngp-form .at-row label textarea,
article .at.ngp-form .at-row label .vgs-input-container iframe {
  border:1px solid #999;
  border-radius:0;
  color:#000;
  font-family:"Open Sans", sans-serif;
  font-weight:600;
  font-size:1em;
  height:40px;
  line-height:40px;
  margin:5px 0 15px;
  padding:7px 10px;
}

article .at.ngp-form .at-row label .intl-tel-input {margin:5px 0 15px;}
article .at.ngp-form .at-row label .intl-tel-input input {padding-left:46px;}

article .at.ngp-form .at-row label select {padding:0 10px;}

article .at.ngp-form .at-recurring label select {
  border-width:2px;
  height:36px;
  margin:0 5px 0 0;
  padding:0 20px 0 5px;
}

article .at.ngp-form .at-row label .select2-selection {
  color:#000;
  font-weight:600;
  padding-top:10px;
  text-transform:none;
}

article .at.ngp-form .at-row label .select2-selection__rendered {color:#000;}

article .at.ngp-form .at-row label textarea {
  height:auto;
  line-height:1.5em;
  min-height:200px;
}

article .at.ngp-form .at-row label small,
article .at.ngp-form .at-row label a.at-whatsthis {
  font-size:10px;
  line-height:1em;
}

article .at.ngp-form .at-row.SmsLegalDisclaimer {
  margin:0 0;
  padding:0;
}

article .at.ngp-form .at-markup.at-legal p {
  font-size:12px;
  margin:0 0 10px;
}

article .at.ngp-form .at-row.PostalCode.City.StateProvince label {
  flex:1 120px;
  min-width:120px;
}

article .at.ngp-form .at-row.EmailAddress.HomePhone.MobilePhone label {
  flex:1 175px;
  min-width:175px;
}

article .at.ngp-form input::placeholder {opacity:.5;}



/* Toggle */

article .at.ngp-form .form-item-selectedfrequency .radios {
  display:flex;
  flex-wrap:wrap;
  margin:0 0 10px;
}

article .at.ngp-form .form-item-selectedfrequency .radios label {
  display:block;
  font-size:16px;
  font-weight:600;
  line-height:1.5em;
  height:34px;
  margin:0 0 0 10px;
  padding:5px 10px 5px 30px;
  position:relative;
  text-decoration:none;
}

article .at.ngp-form .form-item-selectedfrequency .radio-description {
  display:block;
  font-size:16px;
  font-weight:400;
  line-height:20px;
  margin:10px 10px 0;
  padding:0;
  width:100%;
}

article .at.ngp-form .form-item-selectedfrequency .radio-description-value-0 {
  background-image:url(https://nvlupin.blob.core.windows.net/images/van/EA/EA005/1/77570/images/themes/blue-arrow.svg);
  background-repeat:no-repeat;
  background-size:30px 35px;
  padding:20px 0 0 35px;
}


/* Checkboxes */

article .at.ngp-form label.at-check {margin:5px 10px;}
article .at.ngp-form .at-recipient-msg label.at-check.NotificationSendCopy {margin:5px 0 10px;}

article .at.ngp-form .at-check.YesSignMeUpForUpdatesForBinder {position:relative;}
article .at.ngp-form .at-row.UpdateMyProfile {margin:5px 0;}
article .at.ngp-form .updateMyProfileSection > label {margin:0;}

article .at.ngp-form label.at-check .at-checkbox-title-container:before,
article .at.ngp-form label.at-check .at-checkbox-title-container:after,
article .at.ngp-form .UpdateMyProfile label > span:before,
article .at.ngp-form .UpdateMyProfile label > span:after,
article .at.ngp-form label.at-check.authorize-payment-label > span:before,
article .at.ngp-form label.at-check.authorize-payment-label > span:after {
  border:1px solid #999;
  border-radius:2px;
  height:24px;
  left:0;
  top:0;
  width:24px;
}

article .at.ngp-form label.at-check .at-checkbox-title-container:before,
article .at.ngp-form .UpdateMyProfile label > span:before,
article .at.ngp-form label.at-check.authorize-payment-label > span:before {background:none;}

article .at.ngp-form label.at-check .at-checkbox-title-container:after,
article .at.ngp-form .UpdateMyProfile label > span:after,
article .at.ngp-form label.at-check.authorize-payment-label > span:after {
  background-color:#0096aa;
  background-image:url(https://nvlupin.blob.core.windows.net/images/van/EA/EA005/1/77570/images/themes/check-mark.svg);
  background-position:center;
  background-repeat:no-repeat;
  background-size:16px 16px;
  border:1px solid #0096aa;
  content:"";
  font-size:16px;
  line-height:16px;
  text-align:center;
}

article .at.ngp-form label.at-check .at-checkbox-title-container,
article .at.ngp-form .UpdateMyProfile label > span,
article .at.ngp-form fieldset.ContributionInformation label.at-select.SelectedFrequency span.at-select,
article .at.ngp-form label.at-check.authorize-payment-label > span {
  display:block;
  font-size:16px;
  line-height:24px;
  margin:0;
  padding-left:32px;
  text-transform:none;
}

article .at.ngp-form fieldset.ContributionInformation label.at-select.SelectedFrequency span.at-select {padding-left:0;}

article .at.ngp-form label.at-check .at-checkbox-title,
article .at.ngp-form label.at-check .at-cover-costs-info,
article .at.ngp-form label.at-select .select-collapse,
article .at.ngp-form .UpdateMyProfile label > span {
  font-weight:400;
  line-height:24px;
}

article .at.ngp-form .at-row label.multi-select .select2-selection {
  height:auto;
  line-height:30px;
  min-height:40px;
  padding:0;
}

article .at.ngp-form .at-row label.multi-select .select2-container--default .select2-selection--multiple {margin:0;}

article .at.ngp-form .select2-container--default .select2-selection--multiple .select2-selection__choice {
  line-height:30px;
  white-space:normal;
}

article .at.ngp-form .at-row label.multi-select .select2-container--default li.select2-search--inline input {
  border:0;
  height:30px;
  margin:0;
  padding:0;
}

article .at.ngp-form fieldset.ContributionInformation label.at-check {
  line-height:24px;
  margin:5px 10px;
}

article .at.ngp-form fieldset.ContributionInformation label.at-select.SelectedFrequency,
article .at.ngp-form fieldset.ContributionInformation label.at-select.SelectedDuration {margin:5px 0 5px 4px;}

article .at.ngp-form fieldset.ContributionInformation .at-recurring {
  display:flex;
  flex-wrap:wrap;
  font-size:15px;
  line-height:24px;
  margin:0;
}

article .at.ngp-form .at-recurring label {line-height:24px;}

article .at.ngp-form .at-recurring label.IsRecurring {
  display:flex;
  margin:5px 0 5px 10px;
}

article .at.ngp-form .at-recurring label.IsRecurring span {
  display:block;
  font-size:16px;
  line-height:24px;
}

article .at.ngp-form .at-recurring label select {
  border:1px solid #999;
  border-radius:0;
  color:#181b18;
  font-size:15px;
  height:24px;
  line-height:22px;
  margin:0 5px 0 0;
  padding:0 20px 0 5px;
}

article .at.ngp-form fieldset.ContributionInformation .at-recurring .at-check {
   display:block;
   margin-right:0;
}

article .at.ngp-form fieldset.AdditionalInformation .other-option > label.at-text {
  margin:-1px 10px 0 0;
  flex-grow:1;
  flex-basis:unset;
}

article .at.ngp-form fieldset.AdditionalInformation .other-option label.at-text input {
  height:34px;
  line-height:34px;
  margin:0;
}


/* Radio Buttons */

article .at.ngp-form .radios label input[type="radio"] {
  -moz-appearance:none;
  -webkit-appearance:none;
  border:2px solid #999;
  border-radius:50%;
  content:"";
  display:block;
  height:24px;
  left:0;
  margin:0;
  outline:none;
  position:absolute;
  width:24px;
}

article .at.ngp-form .radios label input[type="radio"]:checked {
  background-color:#0096aa;
  border:2px solid #0096aa;
}


/* Form Control Buttons */

article .at.ngp-form .at-form-submit {
  display:flex;
  justify-content:center;
  padding:0;
  margin:20px 10px 0;
}

article .at.ngp-form .at-form-submit .step-prevNext {
  display:flex;
  justify-content:center;
  padding:10px 0 0;
  width:100%;
}

article .at.ngp-form .at-form-submit .step-prevNext:before,
article .at.ngp-form .at-form-submit .step-prevNext:after {display:none;}
article .at.ngp-form .at-form-submit .step-prevNext .next {order:2;}
article .at.ngp-form .at-form-submit .step-prevNext .prev {order:1;}

article .at.ngp-form .at-form-submit .at-submit,
article .at.ngp-form .at-form-submit .step-prevNext .btn-at,
article .at.ngp-form legend.at-legend-with-submit input,
.lightbox-modal.at-modal button.lightbox-accept-button {
  align-items:center;
  background-color:#ff9012;
  border:0;
  border-radius:4px;
  color:#fff;
  display:flex;
  float:none;
  font-family:Cabin, sans-serif;
  font-size:20px;
  font-weight:700;
  justify-content:center;
  line-height:24px;
  margin:0 10px;
  min-height:50px;
  order:2;
  padding:8px 10px;
  text-align:center;
  text-transform:uppercase;
  white-space:normal;
}

.lightbox-modal.at-modal button.lightbox-accept-button {
  margin:0;
  font-size:18px;
}

body.button-color-blue article .at.ngp-form .at-form-submit .at-submit,
body.button-color-blue article .at.ngp-form .at-form-submit .step-prevNext .btn-at {background-color:#ff9012;}

article .at.ngp-form .at-form-submit .step-prevNext .btn-at {
  align-items:center;
  display:flex;
  justify-content:center;
}

article .at.ngp-form .at-form-submit .step-prevNext .prev .btn-at {background:#999;}

article .at.ngp-form .at-form-submit .back-link.at-submit {
  background-color:#ccc;
  order:1;
}


/* Contribution Buttons */

article .at.ngp-form fieldset.ContributionInformation .at-radio {margin:0;}

article .at.ngp-form fieldset.ContributionInformation .at-radios {
  display:flex;
  flex-wrap:wrap;
  margin:0 0 5px;
}

article .at.ngp-form fieldset.ContributionInformation label.label-amount {
  border-radius:4px;
  color:#fff;
  float:none;
  font-size:24px;
  font-weight:700;
  height:50px;
  letter-spacing:unset;
  line-height:24px;
  margin:10px;
  padding:13px 20px;
  text-shadow:unset;
  width:100% !important;
}

article .at.ngp-form fieldset.ContributionInformation label.label-amount.incrediblyLong,
article .at.ngp-form fieldset.ContributionInformation label.label-amount.tooLong {
  align-items:center;
  display:flex;
  font-size:18px;
  justify-content:center;
  line-height:20px;
  padding:3px 20px;
  white-space:normal;
}

article .at.ngp-form fieldset.ContributionInformation label.label-amount input[name="SelectAmount"] {width:1px !important;}

article .at.ngp-form fieldset.ContributionInformation label.label-amount a,
article .at.ngp-form fieldset.ContributionInformation label.label-amount a:hover,
article .at.ngp-form fieldset.ContributionInformation label.label-amount:hover a {
  background:#0096aa;
  border:0;
  border-radius:4px;
  transition:all .25s ease-out;
}

article .at.ngp-form fieldset.ContributionInformation label.label-amount input:checked + a {background-color:#ff9012;}

article .at.ngp-form fieldset.ContributionInformation label.label-otheramount {
  background:transparent;
  font-size:0;
  height:auto;
  line-height:50px;
  margin-bottom:10px;
  padding:0;
  position:relative;
}

article .at.ngp-form fieldset.ContributionInformation .at-radios.recurring-options label.label-otheramount:after {
   content:"";
   font-size:0;
}

article .at.ngp-form fieldset.ContributionInformation input.edit-otheramount,
article .at.ngp-form fieldset.ContributionInformation input.edit-otheramount:required::selection {
  background:none;
  border:1px solid #0096aa;
  border-radius:4px;
  color:#545759;
  font-size:24px;
  font-weight:700;
  height:50px;
  letter-spacing:unset;
  line-height:50px;
  margin:0;
  padding:0 20px 0 25px;
  position:absolute;
  top:0;
  transition:background-color .25s ease-in-out, border-color .25s ease-in-out;
  width:100%;
}

article .at.ngp-form fieldset.ContributionInformation input.edit-otheramount::placeholder {
  color:#0096aa;
  font-size:24px;
  font-weight:500;
}

article .at.ngp-form fieldset.ContributionInformation input:checked + input.edit-otheramount {
  background-color:#ff9012;
  border-color:#ff9012;
  color:#fff;
  padding:0 20px 0 25px;
}

article .at.ngp-form fieldset.ContributionInformation input:checked + input.edit-otheramount::placeholder {color:#fff;}

article .at.ngp-form fieldset.ContributionInformation label.label-otheramount span,
article .at.ngp-form fieldset.ContributionInformation input.edit-otheramount:required + span {
  border:0;
  color:#0096aa;
  display:block;
  font-size:24px;
  height:50px;
  line-height:50px;
  padding:0 0 0 10px;
}

article .at.ngp-form fieldset.ContributionInformation input.edit-otheramount:required + span {
  color:#fff;
  font-weight:700;
}

article .at.ngp-form fieldset.ContributionInformation label.label-otheramount .error {
  display:block;
  font-size:14px;
  line-height:18px;
  margin:0;
  padding:5px 0 0;
}


/* In Honor / Memory of */

article .at.ngp-form fieldset.at-fieldset.TributeGift {padding:0 20px !important;}
article .at.ngp-form fieldset.TributeGift label.EnableTributeGift {margin:5px 0;}

article .at.ngp-form .at-tribute-gift,
article .at.ngp-form .at-tribute-gift label {
  font-size:16px;
  line-height:24px;
  margin:0;
}

article .at.ngp-form .at-tribute-gift label.HonoreeName {font-weight:400;}
article .at.ngp-form .at-check.IncludeRecipient {margin:5px 10px;}
article .at.ngp-form fieldset.RecipientInformation {padding:0 10px !important;}
article .at.ngp-form .form-item-inhonororinmemoryof {margin:5px 0;}

article .at.ngp-form .form-item-inhonororinmemoryof > label {
  display:none;
  font-weight:500;
  margin:10px 0;
  width:100%;
}

article .at.ngp-form fieldset .radios {
  display:flex;
  flex-wrap:wrap;
  margin:0;
}

article .at.ngp-form fieldset.ContactInformation .radios,
article .at.ngp-form fieldset.AdditionalInformation .radios {padding:10px;}
article .at.ngp-form fieldset.AdditionalInformation .radios {flex-direction:column;}

article .at.ngp-form .radios label {
  display:block;
  flex-wrap:wrap;
  font-weight:400;
  line-height:24px;
  margin:5px 10px 5px 0;
  padding-left:34px;
}


article .at.ngp-form .form-item-inhonororinmemoryof .radios label label,
article .at.ngp-form fieldset.ContactInformation .radios label,
article .at.ngp-form fieldset.AdditionalInformation .radios label {
  flex:unset;
  min-width:50px;
  padding-right:0;
}

article .at.ngp-form.form-item-inhonororinmemoryof .radios label label input {
  flex:unset;
  margin:0;
  min-width:30px;
}

article .at.ngp-form fieldset.RecipientInformation .at-recipient-info .at-title {
  font-weight:500;
  margin:10px 10px 0;
}

article .at.ngp-form fieldset.RecipientInformation .at-markup.RecipientInfoHeaderHtml {
  font-size:.9375em;
  margin:10px;
}

article .at.ngp-form fieldset.RecipientInformation label.notificationsenddate,
article .at.ngp-form fieldset.RecipientInformation label.NotificationMessage {margin:0;}


/* Interests */

article .at.ngp-form .at-fields.interests-fields {margin:0;}
article .at.ngp-form footer.FooterHtml {display:none;}


/* Additional Information */

article .at.ngp-form fieldset.AdditionalInformation .at-row-full > label.at-text,
article .at.ngp-form fieldset.AdditionalInformation .at-row-full > label.at-check,
article .at.ngp-form fieldset.AdditionalInformation .at-row-full > div > label.checkbox-list-label,
article .at.ngp-form fieldset.AdditionalInformation .at-row-full > .form-unit-radio {
  font-weight:700;
  margin-top:10px;
}

article .at.ngp-form fieldset.AdditionalInformation .radios label {margin:5px 15px 5px 0;}

article .at.ngp-form fieldset.AdditionalInformation .radios label[title="Other"],
article .at.ngp-form fieldset.AdditionalInformation .other-option label.at-check {
  display:flex;
  margin-right:0;
}

article .at.ngp-form fieldset.AdditionalInformation .radios label[title="Other"] label.at-text,
article .at.ngp-form fieldset.AdditionalInformation div.other-option label.at-text {
  margin-top:0;
  padding-left:10px;
  flex-grow:1;
}

article .at.ngp-form fieldset.AdditionalInformation .radios label[title="Other"] label.at-text {margin:-5px 0;}

article .at.ngp-form fieldset.AdditionalInformation .radios label[title="Other"] label.at-text input,
article .at.ngp-form fieldset.AdditionalInformation div.other-option label.at-text input {
  height:34px;
  line-height:34px;
  margin:0;
}


/* Advocacy Styles */

article .at.ngp-form.faux-multistep-layout ol.at-steps li.at-step {width:auto;}
article .at.ngp-form fieldset.AdvocacyFields {border:0;}
article .at.ngp-form fieldset.AdvocacyFields legend.at-legend {padding:0;}

article .at.ngp-form fieldset.AdvocacyFields .at-fields {
  background:#ccc;
  color:#000;
  margin:20px -10px 0;
  padding:20px 10px 10px;
}

article .at.ngp-form fieldset.AdvocacyFields .at-fields * {color:#000;}

article .at.ngp-form fieldset.AdvocacyFields legend.at-legend-with-submit {
  display:flex;
  flex-direction:column;
  font-size:20px;
  margin:0;
  padding:20px 10px;
  width:100%;
}

article .at.ngp-form legend.at-legend-with-submit input {
  float:none;
  margin:0 0 20px;
  width:100%;
}

article .at.ngp-form fieldset.AdvocacyFields .Subject0 .Subject {
  color:#e74a24;
  font-size:20px;
}

article .at.ngp-form .Targets0 .at-targets,
article .at.ngp-form .Targets .at-targets {
  background:none;
  margin-bottom:10px !important;
  padding:0;
}

article .at.ngp-form .at-targets .at-targets-have-images figure {margin:10px 0;}
article .at.ngp-form .at-targets figure b,
article .at.ngp-form .Subject0 .Subject {font-weight:500;}
article .at.ngp-form .AdvocacyFields .at-row.Outro0 {margin:0 0 20px;}


/* EFT Section */

article .at.ngp-form fieldset.PaymentInformation .at-eft-accepted-here {
  display:flex;
  flex-wrap:wrap;
  margin:0;
}

article .at.ngp-form fieldset.PaymentInformation .at-eft-accepted-here > label,
article .at.ngp-form fieldset.PaymentInformation .at-eft-accepted-here > label.authorize-payment-label {width:100%;}

article .at.ngp-form fieldset.PaymentInformation .at-eft-accepted-here select.eft-input {width:100% !important;}
article .at.ngp-form .at-row label a.at-whatsthis {line-height:20px;}


/* Error States */

article .at.ngp-form label small.error {
  font-size:14px;
  font-weight:500;
  line-height:20px;
  margin-bottom:10px;
  padding:0;
}


/* Lightbox */

.lightbox-modal.at-modal .at-modal-inner header > div {
  font-size:30px;
  font-weight:700;
  line-height:36px;
  text-align:center;
}

.lightbox-modal.at-modal .at-lightbox-content-wrapper p {font-size:16px;}


/* P2P Stuff */

article .at.ngp-form .at-personalization-container {
  display:flex;
  width:100%;
}

article .at.ngp-form .at-personalization-container .at-personal-image-container {
  order:1;
  margin:0 auto 20px;
  max-width:unset;
  width:100%;
}

article .at.ngp-form .at-personalization-container .at-personal-description {order:2;}

article .at.ngp-form header.HeaderHtml .p2p-share-icons {
  display:flex;
  justify-content:flex-end;
  width:100%;
}

article .at.ngp-form .p2p-share-icons span {
  display:block;
  margin:0 0 0 10px;
}

article .at.ngp-form .p2p-share-icons span.share-title {
  color:#0096aa;
  font-family:Cabin, sans-serif;
  font-size:18px;
  font-weight:700;
  text-transform:uppercase;
}

article .at.ngp-form .p2p-share-icons span a,
article .at.ngp-form .p2p-share-icons span a::before {
  display:block;
  height:24px;
  width:24px;
}

article .at.ngp-form .p2p-share-icons span a {
  color:#0096aa;
  font-size:20px;
  line-height:24px;
  overflow:hidden;
  text-align:center;
}

article .at.ngp-form .p2p-share-icons span a::before {font-family:"Font Awesome 5 Brands";}


/* Footer */

footer.theme-footer {
  background:#fff;
  border-top:1px solid #ccc;
  margin:0;
  padding:0 20px;
  width:100%;
}

footer.theme-footer .footer-container {
  margin:0 auto;
  max-width:760px;
  padding:30px 0;
  width:100%;
}

footer.theme-footer p {
  color:#1e242b;
  font-size:14px;
  font-weight:400;
  line-height:1.5em;
  margin:0 auto 20px;
  text-align:center;
  max-width:600px;
}

footer.theme-footer p.secure-gift {font-size:16px;}

footer.theme-footer p a {
  color:#0096aa;
  font-weight:700;
  text-decoration:none;
}

footer.theme-footer .accreditation-logos {
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  margin:20px 0;
}

footer.theme-footer .accreditation-logos figure.accreditation-logo {
  font-size:0;
  line-height:0;
  margin:0;
}

footer.theme-footer .accreditation-logos figure.accreditation-logo a {
  display:block;
  padding:10px;
}

footer.theme-footer .accreditation-logos figure.accreditation-logo img {height:60px;}
footer.theme-footer .accreditation-logos figure.accreditation-logo.guidestar img,
footer.theme-footer .accreditation-logos figure.accreditation-logo.charity-watch img {height:100px;}

footer.theme-footer p.disclaimer {font-size:12px;}

/* Fonts */

article .at.ngp-form .at-form *,
footer.theme-footer p,
.lightbox-modal.at-modal * {font-family:"Open Sans", sans-serif;}

article .at.ngp-form header.at-title,
article .at.ngp-form fieldset.ContributionInformation label.label-amount,
article .at.ngp-form fieldset.ContributionInformation label.label-amount span,
article .at.ngp-form fieldset.ContributionInformation label.label-amount input,
article .at.ngp-form legend.at-legend,
article .at.ngp-form .content.thankYou h1,
.lightbox-modal.at-modal .at-modal-inner header > div {font-family:Cabin, sans-serif;}


@media (min-width:400px) {
  
  body.has-main-image section.header-image figure.main-image {height:300px;}
  article .at.ngp-form fieldset.ContributionInformation label.label-amount,
  article .at.ngp-form fieldset.ContributionInformation label.label-amount.tooLong,
  article .at.ngp-form fieldset.ContributionInformation label.label-amount.incrediblyLong {width:calc(50% - 20px) !important;}
  article .at.ngp-form fieldset.ContributionInformation label.label-amount.label-otheramount {width:100% !important;}
  article .at.ngp-form .at-form-submit .at-submit,
  article .at.ngp-form .at-form-submit .step-prevNext .btn-at {padding:6px 30px;}

}


@media (min-width:500px) {
  
  body.has-main-image section.header-image figure.main-image {height:350px;} 
  article .at.ngp-form ol.at-steps li.at-step a,
  article .at.ngp-form ol.at-steps li.at-step b {flex-direction:row;}
  article .at.ngp-form ol.at-steps li.at-step a:before,
  article .at.ngp-form ol.at-steps li.at-step b:before {margin:0 10px 0 0;}
  article .at.ngp-form .at-form-submit .step-prevNext .btn-at {padding:0 30px;}
  article .at.ngp-form fieldset.ContributionInformation label.label-amount {width:calc((100% / 3) - 20px) !important;}

  
  /* EFT Section */

  article .at.ngp-form fieldset.PaymentInformation .at-eft-accepted-here > label {width:calc(50% - 20px);}  
  
}


@media (min-width:768px) {
  
  main {
    background-attachment:fixed;
    background-position:50% 33%;
    background-repeat:no-repeat;
    background-size:cover;
  }
  
  body.no-main-image main {
    background-image:url(https://nvlupin.blob.core.windows.net/images/van/EA/EA005/1/77570/images/themes/background-gradient.png);
    background-position:center;
    background-repeat:repeat-x;
    background-size:contain;
  }
  
  header.theme-header section.logo-container {width:740px;}
  body.has-main-image section.logo-container figure.branding {justify-content:flex-start;}
  header.theme-header section.header-image {display:none;}

  main article {
    background:none;
    display:flex;
    justify-content:flex-start;
    margin:0 auto;
    width:700px;
  }
  
  body.no-main-image main article {
    max-width:700px;
    width:100%;
  }

  main article section.article-content {
    background:#fff;
    box-shadow:0 2px 4px 0 rgba(0,0,0,.5);
    margin:70px 0;
    padding:20px 0;
    width:450px;
  }
  
  body.no-main-image main article section.article-content {width:100%;}
    
  article .at.ngp-form header.at-title {margin-top:0;}
  article .at.ngp-form .FastAction {margin:0 20px;}
  article .at.ngp-form ol.at-steps {margin:20px 20px 0;}

  article .at.ngp-form.multistep-layout header.HeaderHtml,
  article .at.ngp-form.multistep-layout form {
    float:none;
    width:100%;
  }
    
  article .at.ngp-form fieldset.ContributionInformation label.label-amount {width:calc(50% - 20px) !important;}
  article .at.ngp-form .at-form-submit .step-prevNext {justify-content:space-between;}
  article .at.ngp-form .at-form-submit {justify-content:flex-end;}

  footer.theme-footer {border:0;}
  
  footer.theme-footer p span.divider {
    display:inline;
    font-size:1em;
    line-height:1.5em;
    padding:0 5px;
  }
  
}


@media (min-width:960px) {

  header.theme-header section.logo-container {width:940px;}
  main article {width:900px;}
  body.no-main-image main article {max-width:800px;}
  
  main article section.article-content {
    padding:30px 10px;
    width:550px;
  }

  article .at.ngp-form fieldset.ContributionInformation label.label-amount {width:calc((100% / 3) - 20px) !important;}
  article .at.ngp-form fieldset.AdvocacyFields .at-fields {margin:20px 10px 10px;}
  article .at.ngp-form .Targets0 .at-targets,
  article .at.ngp-form .at-row.Message0 label.Message0 {margin:0 10px 20px;}
  
}