* {box-sizing:border-box;}

/* Body */

body {
  background:#1c1d4c;
  color:#333;
  font-family:brother-1816, 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 a {color:#233f94;}


/* Header */

header .header-container {
  align-items:center;
  background:#233f94;
  display:flex;
  flex-direction:column;v
  justify-content:center;
  height:100%;
  padding:20px 0;
  width:100%;
}

header figure {margin:0;}

header figure.branding {
  margin:0 0 20px;
  width:320px;
}

header figure.custom-logo {
  margin:0 auto;
  max-width:280px;
  width:100%;
}

header figure.branding a {
  color:#fff;
  display:block;
  line-height:0;
  text-decoration:none;
  padding:20px;
}

header figure.branding img {
  width:280px;
  height:50px;
}

header figure.custom-logo img {width:100%;}


/* Main */

main {
	background:linear-gradient(180deg, rgba(35,63,148,1) 0%, rgba(35,63,148,1) 50%, rgba(28,29,76,1) 100%);
  margin:0 auto;
  padding:0 20px;
  width:100%;
}

main article {
  align-items:center;
  background:#f7f6f2;
  border-radius:2px;
  display:flex;
  flex-direction:column;
  max-width:840px;
  margin:0 auto;
  padding:20px 0;
  width:100%;
}


/* Form */

article .at.ngp-form header.at-title {
  color:#233f94;
  font-size:30px;
  font-weight:800;
  padding:0 20px;
}

main section.at-inner {background:none;}

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

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

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

article .at.ngp-form .thankYou .contributions p {margin:0 0 15px;}
article .at.ngp-form .content.thankYou table {width:100%;}


/* FastAction */

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

article .at.ngp-form .FastAction {
  color:#393c43;
  margin:0 20px;
  padding:0;
}

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

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


/* Form Steps */

article .at.ngp-form ol.at-steps {
  background:none;
  display:flex;
  padding:10px 20px;
}

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-color:#233f94;}

article .at.ngp-form ol.at-steps li.at-step a {
  align-items:center;
  color:#233f94;
  display:flex;
  flex-direction:column;
  font-size:16px;
  font-weight:700;
  letter-spacing:0;
  line-height:20px;
  justify-content: center;
  padding:10px;
}

article .at.ngp-form ol.at-steps li.at-step a:before {
  border:0;
  font-size:12px;
  font-weight:700;
  left:unset;
  line-height:20px;
  margin:0 0 5px;
  position:relative;
  right:unset;
  top:0;
  transform:none;
}

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;}
article .at.ngp-form legend.at-legend {padding:20px 0 10px;}

article .at.ngp-form .at-row label,
article .at.ngp-form fieldset.TicketInformation label {
  color:#393c43;
  font-size:12px;
  font-weight:700;
  margin:0 10px;
  text-transform:uppercase;
}

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

article .at.ngp-form .at-row label input[type="text"],
article .at.ngp-form .at-row label input[type="tel"],
article .at.ngp-form .at-row label input[type="email"],
article .at.ngp-form .at-row label select,
article .at.ngp-form .at-recurring 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,
article .at.ngp-form fieldset.TicketInformation input,
article .at.ngp-form fieldset.TicketInformation select {
  border:3px solid #d8dad9;
  border-radius:2px;
  color:#141b4d;
  font-family:brother-1816, sans-serif;
  font-weight:700;
  font-size:16px;
  height:46px;
  margin:2px 0 20px;
}

article .at.ngp-form .at-row label .intl-tel-input {margin:2px 0 20px;}
article .at.ngp-form .at-row label select {padding:0 5px}

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 {text-transform:none;}

article .at.ngp-form .at-row label textarea {
  height:auto;
  min-height:100px;
}

article .at.ngp-form .at-row label input::placeholder {color:#999;}


/* Checkboxes */

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

article .at.ngp-form .at-check.YesSignMeUpForUpdatesForBinder {
  margin:0 10px 20px;
  position:relative;
}

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 {
  border:2px solid #d8dad9;
  border-radius:1px;
  height:20px;
  left:0;
  top:0;
  width:20px;
}

article .at.ngp-form label.at-check .at-checkbox-title-container:before,
article .at.ngp-form .UpdateMyProfile 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 {
  background-color:#233f94;
  background-image:url(https://nvlupin.blob.core.windows.net/images/van/NGP/NGP17/1/73229/images/themes/check-mark.svg);
  border:3px solid #233f94;
  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 {
  font-size:14px;
  line-height:20px;
  margin:0;
  padding-left:30px;
  text-transform:none;
}

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 {
  color:#333;
  font-weight:400;
}

article .at.ngp-form label.at-check .at-cover-costs-info {
  color:#333;
}



/* Form Control Buttons */

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


article .at.ngp-form .at-form-submit .step-prevNext {
  display:flex;
  justify-content:space-between;
  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 {
  background-color:#e10600;
  border:0;
  border-radius:2px;
  color:#fff;
  display:block;
  float:none;
  font-size:1em;
  font-weight:700;
  height:50px;
  line-height:20px;
  margin:0;
  padding:0 30px;
  white-space:normal;
  width:100%;
}

article .at.ngp-form .at-form-submit .step-prevNext .btn-at {
  align-items:center;
  display:flex;
  padding:0 10px;
}

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


/* 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 10px;
}

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

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-color:#233f94;
  border:0;
  border-radius:2px;
  transition:all .25s ease-out;
}

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

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

article .at.ngp-form fieldset.ContributionInformation input.edit-otheramount,
article .at.ngp-form fieldset.ContributionInformation input.edit-otheramount:required::selection {
  background:none;
  border:3px solid #d8dad9;
  border-radius:2px;
  height:50px;
  line-height:44px;
  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:#999;
  font-size:20px;
  font-weight:700;
}

article .at.ngp-form fieldset.ContributionInformation input:checked + input.edit-otheramount {
  background-color:#e10600;
  border-color:#e10600;
  color:#fff;
  font-size:20px;
  font-weight:700;
  letter-spacing:unset;
  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:#d8dad9;
  display:block;
  font-size:20px;
  font-weight:700;
  height:50px;
  line-height:50px;
  padding:0 0 0 10px;
}

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

article .at.ngp-form fieldset.ContributionInformation .at-recurring,
article .at.ngp-form fieldset.ContributionInformation .CoverCostsAmount {
  line-height:20px;
  margin:0 10px 10px;
}

article .at.ngp-form fieldset.ContributionInformation .at-recurring label,
article .at.ngp-form fieldset.ContributionInformation .at-recurring label span.select-collapse {
  font-size:14px;
  line-height:36px;
}

article .at.ngp-form fieldset.ContributionInformation .at-recurring label.IsRecurring {padding-right:5px;}


/* Employer / Occupation Stuff */

article .at.ngp-form .LegalHeaderHtml p,
article .at.ngp-form .LegalDescription p {
  color:#333;
  font-size:14px;
  margin:0 0 10px;
}


/* Tickets */


article .at.ngp-form fieldset.TicketInformation .at-fields {padding:0 10px;}

article .at.ngp-form fieldset.TicketInformation table {
  border:0;
  border-collapse:collapse;
}

article .at.ngp-form table thead,
article .at.ngp-form table tr.even,
article .at.ngp-form table tr.alt,
article .at.ngp-form table tr:nth-of-type(2n) {background:#f7f6f2;}
article .at.ngp-form table th {font-size:16px;}


/* Footer */

article .disclaimer {
  border:1px solid #1c1d4c;
  font-size:.7222em;
  font-weight:700;
  line-height:1.3846em;
  margin:0 20px;
  max-width:500px;
  padding:20px;
  text-align:center;
  width:auto;
}

footer.theme-footer {
  margin:0;
  padding:0;
}

footer.theme-footer section.footer-container {
  margin:0 auto;
  max-width:840px;
  padding:20px 20px 15px;
  width:100%;
}

footer.theme-footer p,
footer.theme-footer li {
  color:#fff;
  font-size:13px;
  font-weight:700;
  line-height:18px;
}

footer.theme-footer p {margin:0 0 15px;}

footer.theme-footer p.powered-by {
  align-items:center;
  display:flex;
  justify-content:center;
  text-align:center;
  margin:40px auto 0;
  padding:0;
}

footer.theme-footer p.powered-by img.powered-by-logo {
  height:20px;
  margin-right:5px;
  width:20px;
}

footer.theme-footer p.powered-by a {
  color:#fff;
  padding-left:3px;
  text-decoration:none;
}


/* Fonts */

article .at.ngp-form header.at-title,
article .at.ngp-form header.HeaderHtml,
article .at.ngp-form .FastAction,
article .at.ngp-form ol.at-steps li.at-step a,
article .at.ngp-form label.label-amount,
article .at.ngp-form .at-recurring label,
article .at.ngp-form .at-check .at-checkbox-title,
article .at.ngp-form legend,
article .at.ngp-form .at-markup,
article .at.ngp-form .at-row label,
article .at.ngp-form .at-form-submit .at-submit,
article .at.ngp-form .at-form-submit .step-prevNext .prevNext .btn-at,
article .at.ngp-form .content.thankYou,
article .at.ngp-form fieldset.TicketInformation {font-family:brother-1816, sans-serif;}


@media (min-width:500px) {

  header section.header-container {padding:40px 0;}

  header figure.branding {
    margin:0 0 40px;
    width:440px;
  }

  header figure.branding img {
    width:400px;
    height:70px;
  }

  header figure.custom-logo {max-width:400px;}

  article .at.ngp-form ol.at-steps li.at-step a {flex-direction:row;}
  article .at.ngp-form ol.at-steps li.at-step a:before {margin:0 10px 0 0;}
  article .at.ngp-form .at-form-submit {justify-content:flex-end;}
  
  article .at.ngp-form .at-form-submit .at-submit {
    min-width:200px;
    width:auto;
  }

  article .at.ngp-form fieldset.ContributionInformation .at-radios {margin:0;}
  article .at.ngp-form fieldset.ContributionInformation .at-radios:before,
  article .at.ngp-form fieldset.ContributionInformation .at-radios:after {display:none;}
  
  article .at.ngp-form fieldset.ContributionInformation label.label-amount {
    margin:0 10px 20px;
    width:calc(50% - 20px) !important;
  }
  
  article .at.ngp-form fieldset.ContributionInformation label.label-otheramount {width:100% !important;}
  article .at.ngp-form .at-form-submit .step-prevNext .btn-at {padding:0 30px;}

}


@media (min-width:768px) {

  header section.header-container {padding:60px 0;}
  article .at.ngp-form fieldset.ContributionInformation label.label-amount {width:calc(25% - 20px) !important;}
  article .at.ngp-form fieldset.ContributionInformation label.label-otheramount {width:calc(50% - 20px) !important;}


}