*, *:before, *:after {box-sizing:border-box;}

body {
  background-color:#fff;
  color:#212323;
  font-family:Lato, sans-serif;
  font-size:16px;
  font-weight:400;
  line-height:1.5em;
  margin:0;
  padding:0;
}

/* ----- Header ---------------------- */

header.theme-header {
  background-color:#212323;
  padding:20px;
}

header.theme-header .header-container {
  margin:0 auto;
  max-width:700px;
}

.container .logo a {
  display:block;
  font-size:0;
}

.header-container .logo {
  max-width:300px;
  width:100%;
}


/* ----- Main ------------------------ */

main.main-section {padding:40px 10px;}

h1 {font-size:30px;}
h2 {font-size:24px;}

main article {
  margin:0 auto;
  max-width:720px;
}

a {
  color:#0064b8;
  font-weight:700;
  text-decoration:underline;
}

a:hover,
a:visited {color:#0064b8;}

main.main-section header.at-markup blockquote {
  background-color:#484247;
  border:0;
  color:#fff;
  font-family:"Heebo", sans-serif;
  font-size:16px;
  font-weight:400;
  line-height:1.4em;
  padding:20px;
}

main.main-section header.at-markup blockquote p {
  font-size:1.25em;
  line-height:1.4em;
}

main.main-section header.at-markup blockquote p.quoter {
  font-size:1em;
  font-style:italic;
  line-height:1.4em;
  padding-left:100px;
  text-align:right;
}

figure {
  background:none;
  margin:0 0 30px;
  padding:10px;
  width:100%;
}

main article header.at-title {
  font-family:Lato, sans-serif;
  font-size:24px;
  font-weight:700;
  line-height:30px;
  margin:0 0 30px;
  padding:0 10px;
  text-align:left;
}

main article header.at-markup,
main article .multistep-layout header.at-markup {
  font-family:Lato, sans-serif;
  margin:0 0 30px;
  padding:0 10px;
}

main article p,
main article ol,
main article ul {margin:0 0 20px;}



/* ----- FastAction ------------------ */

.at.ngp-form .FastAction {padding:0;}
.at.ngp-form .FastAction .fastAction {padding:0 10px;}
.at.ngp-form .fastAction .profile-link {border-radius:0;}


/* ----- Form Steps ------------------ */

.at.ngp-form ol.at-steps {
  border-radius:0;
  margin:10px;
}

.at.ngp-form ol.at-steps .at-step.active {border-bottom-color:#f27a22;}
.at.ngp-form ol.at-steps li.at-step  {font-family:Lato,sans-serif;}



/* ----- Form Elements --------------- */

.at.ngp-form fieldset {
  margin:0;
  padding:10px 0;
}

.at.ngp-form.multistep-layout fieldset.ContributionInformation {padding-top:10px !important;}
.at.ngp-form fieldset.PaymentInformation {padding-bottom:20px;}

.at.ngp-form  fieldset legend {
  color:#212323;
  font-family:Lato, sans-serif;
  padding:10px 10px 0;
  margin:0;
  width:100%;
}

.at.ngp-form input[type="text"],
.at.ngp-form input[type="password"],
.at.ngp-form input[type="date"],
.at.ngp-form input[type="datetime"],
.at.ngp-form input[type="datetime-local"],
.at.ngp-form input[type="month"],
.at.ngp-form input[type="week"],
.at.ngp-form input[type="email"],
.at.ngp-form input[type="number"],
.at.ngp-form input[type="search"],
.at.ngp-form input[type="tel"],
.at.ngp-form input[type="time"],
.at.ngp-form input[type="url"],
.at.ngp-form input[type="color"],
.at.ngp-form select,
.at.ngp-form textarea {
  border-radius:0;
  margin-top:2px;
}


.at.ngp-form form .label-amount > a,
.at.ngp-form input[type="checkbox"] + span::before {border-radius:0;}

.at.ngp-form input[type="checkbox"] + span::before,
.at.ngp-form input[type="checkbox"] + span:hover::before,
.at.ngp-form input[type="checkbox"]:checked + span::before,
.at.ngp-form input[type="checkbox"]:checked + span:hover::before {border-color:#484247;}


.at.ngp-form input[type="checkbox"]:checked + span::before {background-color:#484247;}

.at.ngp-form input[type="checkbox"] + span::after {transition:none;}

/* ----- Form Pages Buttons ---------- */

.at.ngp-form fieldset.ContributionInformation .at-fields {padding:0;}
.at.ngp-form fieldset.ContributionInformation .form-type-radios,
.at.ngp-form fieldset.ContributionInformation .at-radio,
.at.ngp-form fieldset.ContributionInformation .at-radios {margin:0;}

.at.ngp-form fieldset.ContributionInformation .at-radios {
  margin:0;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  padding:0 2.5px 10px;
  margin:0;
}

.at.ngp-form fieldset.ContributionInformation .at-radios:before,
.at.ngp-form fieldset.ContributionInformation .at-radios:after {display:none;}

.at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount {
  float:none !important;
  margin:0 0 15px;
  width:50% !important;
  align-self:flex-start;
}

.at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount:not(.label-otheramount) {
  font-family:Lato, sans-serif;
  font-size:1.3125em;
  font-weight:700;
  line-height:50px;
  padding:0;
}

.at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount:not(.label-otheramount) a {
  background-color:#484247;
  border:0;
  border-radius:0;
  margin:0 7.5px;
  text-shadow:none;
}

.at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount input[type="radio"]:checked + a {background-color:#f27a22;}

.at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount.label-otheramount {
  background-color:#484247;
  margin:0 7.5px 0;
  padding:10px 10px 10px 35px;
  width:100% !important;
}

.at.ngp-form fieldset.ContributionInformation .at-radios label.label-otheramount input.edit-otheramount {
  background:#fff;
  border:0;
  border-radius:0;
  color:#005581;
  font-size:18px;
  font-weight:700;
  height:30px;
  line-height:30px;
  margin-top:0;
  padding:0 6px;
}

.at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount.label-otheramount.current {background-color:#f27a22;}
.at.ngp-form fieldset.ContributionInformation .at-radios label.label-otheramount input.edit-otheramount::placeholder {color:#212323;}
.at.ngp-form fieldset.ContributionInformation .at-radios label.label-otheramount.current input.edit-otheramount,
.at.ngp-form fieldset.ContributionInformation .at-radios label.label-otheramount.current input.edit-otheramount::placeholder {color:#f27a22;}

.at.ngp-form .at-form-submit {
  margin:0 0 10px;
  padding:0 10px;
}

.at.ngp-form .at-form-submit .step-prevNext {
  display:flex;
  justify-content:space-between;
  padding:0;
}

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

.at.ngp-form .at-form-submit .at-submit,
.at.ngp-form .at-form-submit .step-prevNext .prevNext .btn-at {
  background:#f27a22;
  border-radius:0;
  font-family:Lato, sans-serif;
  font-size:16px;
  font-weight:700;
  height:50px;
  line-height:50px;
  margin:0;
  padding:0 30px;
  text-transform:uppercase;
}

.at.ngp-form .at-form-submit .step-prevNext .prevNext.prev .btn-at {
  background:#484247;
  color:#fff;
}


.at.ngp-form footer.at-markup {
  color:#666;
  font-family:Lato, sans-serif;
  font-size:14px;
  font-weight:500;
  line-height:20px;
  padding:10px 10px 0;
}

.at.ngp-form footer.at-markup > *:last-child {margin-bottom:0;}

/* ----- Thanks Content -------------- */

main article .content.thankYou {
  font-family:Lato, sans-serif;
  padding:0 10px;
}


/* ----- Footer ---------------------- */

footer.theme-footer {
  background-color:#484247;
  border-top:5px solid #212323;
  color:#fff;
  padding:40px 20px 20px;
}

footer .footer-container {
  display:flex;
  flex-direction:column;
  margin:0 auto;
  max-width:700px;
}

footer .footer-logo {padding-top:5px;}

footer .footer-logo a,
footer .footer-logo img {
  height:25px;
  width:260px;
}

footer .footer-logo {margin-bottom:35px;}

footer .footer-address {
  font-size:14px;
  font-weight:500;
  line-height:20px;
  margin-bottom:30px;
}

footer .footer-description {margin:0;}
footer .footer-description strong {color:#9f9f9d;}


/* ----- Media Queries --------------- */


@media (min-width:600px) {
 
/* ----- Form Pages Buttons ---------- */

  .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount {width:25% !important;}
  .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount.label-otheramount {width:calc(50% - 15px) !important;}
  
}


@media (min-width:760px) {
 
/* ----- Form Pages Buttons ---------- */

  .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount {width:12.5% !important;}
  .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount.label-otheramount {width:calc(25% - 15px) !important;}
  
}


@media (min-width:768px) {
  
  footer .footer-container {flex-direction:row;}
  footer .footer-address {margin-bottom:0;}
  
  footer .footer-description {
    padding-left:50px;
    width:480px;
  }  
  
}