* {box-sizing:border-box;}

/* Body */

body {
  background:#0f2446;
  color:#3c3c3c;
  font-family:"Montserrat", sans-serif;
  font-size:16px;
  -moz-osx-font-smoothing:grayscale;
  -webkit-font-smoothing:antialiased;
  font-weight:400;
  line-height:1.5em;
  margin:0;
  text-rendering:optimizelegibility;
}

a {
  color:#00aef3;
  text-decoration:none;
}
  
a:hover {text-decoration:underline;}

/* Header */

header.theme-header {
  align-items:center;
  background:#00aef3;
  display:flex;
  height:100px;
  justify-content:center;
  width:100%;
}

.branding,
.branding a {
  align-items:center;
  display:flex;
  justify-content:center;
}

.branding {
  height:100%;
  line-height:0;
}

.branding img {
  height:50px;
  width:50px;
}


/* Content */

main.main-section {
  display:flex;
  flex-direction:column;
  margin:0 auto 20px;
  padding:0;
}

main.main-section section.form {
  background:#fff;
  margin:0 auto;
  max-width:700px;
  padding:40px 0 20px;
  position:relative;
  width:100%;
}


/* Form */

section.form section.at-inner {
  display:flex;
  flex-direction:column;
}

section.form .at.ngp-form header.at-title {
  color:#0f2446;
  font-family:Montserrat, sans-serif;
  font-weight:700;
  font-size:2em;
  line-height:1.25em;
  margin:0 auto 12px;
  padding:0 20px;
}

section.form .at.ngp-form header.at-markup {
  margin:0 auto 20px;
  padding:0 20px;
  text-align:center;
}

section.form .at.ngp-form header.at-markup h2 {
  color:#0f2446;
  font-weight:700;
  font-size:1.5em;
  line-height:1.25em;
  margin:0 auto 20px;
}

section.form .at.ngp-form .at-markup p {
  margin:0 0 12px;
  padding:0;
}

section.form .at.ngp-form p.prominent {font-size:1.25em;}
section.form .at.ngp-form .at-markup.LegalHeaderHtml,
section.form .at.ngp-form .at-markup.LegalDescription {font-size:.875em;}

section.form .at.ngp-form .ancillary {font-size:.875em;}

section.form .FastAction {
  margin:0 auto 20px;
  max-width:660px;
  padding:0;
}

section.form .fastAction {
  background:#f1f3f5;
  color:#444;
  padding:15px 20px;
}

section.form .at.ngp-form .fastAction p {margin-bottom:0;}

section.form .fastAction span.fa-lead,
section.form .fastAction span.fa-lead a {color:#444;}
section.form .fastAction .profile-link {background-color:#fff;}

section.form .at.ngp-form fieldset.at-fieldset {padding:20px 10px;}

section.form .at.ngp-form fieldset.at-fieldset.TicketInformation {
  padding-left:0;
  padding-right:0;
}

section.form .at.ngp-form fieldset.at-fieldset legend {
  color:#0bbab4;
  font-size:1.3125em;
  font-weight:700;
  line-height:1em;
  margin:0;
  padding:20px 10px 0;
  width:100%;
}

section.form .at.ngp-form fieldset.at-fieldset.TicketInformation legend {padding:20px 20px 0;}
section.form .at.ngp-form fieldset.at-fieldset .at-row label {color:#3c3c3c;}

section.form .at.ngp-form fieldset.at-fieldset .at-row label u {text-decoration:none;}
section.form .at.ngp-form fieldset.at-fieldset .at-row label textarea {min-height:60px;}
section.form .at.ngp-form label > .intl-tel-input {margin-bottom:1rem;}
section.form .at.ngp-form input:focus::selection {background:rgba(238,54,36,1);}

section.form .at.ngp-form input[type="text"],
section.form .at.ngp-form input[type="password"],
section.form .at.ngp-form input[type="date"],
section.form .at.ngp-form input[type="datetime"],
section.form .at.ngp-form input[type="datetime-local"],
section.form .at.ngp-form input[type="month"],
section.form .at.ngp-form input[type="week"],
section.form .at.ngp-form input[type="email"],
section.form .at.ngp-form input[type="number"],
section.form .at.ngp-form input[type="search"],
section.form .at.ngp-form input[type="tel"],
section.form .at.ngp-form input[type="time"],
section.form .at.ngp-form input[type="url"],
section.form .at.ngp-form input[type="color"],
section.form .at.ngp-form select,
section.form .at.ngp-form textarea,
section.form .at.ngp-form .vgs-input-container iframe {
  border:1px solid #999;
  border-radius:0;
  font-size:1em;
}

section.form .at.ngp-form .at-row.UpdateMyProfile .UpdateMyProfile {
  margin:0;
  padding:0 10px;
}

section.form .at.ngp-form input[type="checkbox"] + span:before {
  height:20px;
  width:20px;
}

section.form .at.ngp-form input[type="checkbox"] + span {margin-bottom:0;}

section.form .at.ngp-form input[type="checkbox"] + span:before {border-radius:0;}

/* fix for ios check mark color issue! */
section.form .at.ngp-form input[type="checkbox"]:checked + span::after {
  content:"\2714\fe0e";
  color:#fff;
  font-size:16px;
  left:3px;
  top:4px;
}

section.form .at.ngp-form .at-recurring input[type="checkbox"]:checked + span::after {top:2px;}


/* Form Buttons */

section.form .at.ngp-form .at-form-submit {
  display:flex;
  justify-content:flex-end;
  margin:0;
  padding:0 20px;
  text-align:center;
}

section.form .at.ngp-form .at-form-submit .step-prevNext,
section.form .at.ngp-form .at-fieldset.AdvocacyFields ~ .at-form-submit {
  display:flex;
  justify-content:space-between;
  margin:0;
  padding:0;
}

section.form .at.ngp-form .at-fieldset.AdvocacyFields ~ .at-form-submit {padding:10px;}

section.form .at.ngp-form .at-form-submit .step-prevNext:before,
section.form .at.ngp-form .at-form-submit .step-prevNext:after,
section.form .at.ngp-form .at-fieldset.AdvocacyFields ~ .at-form-submit:before,
section.form .at.ngp-form .at-fieldset.AdvocacyFields ~ .at-form-submit:after {display:none;}
section.form .at.ngp-form .at-form-submit .step-prevNext .prevNext {float:none;}
section.form .at.ngp-form .at-form-submit .step-prevNext .prevNext.prev {order:1;}
section.form .at.ngp-form .at-form-submit .step-prevNext .prevNext.next {order:2;}

section.form .at.ngp-form .at-form-submit .step-prevNext .btn-at {
  border:0;
  line-height:20px;
  margin-bottom:0;
  padding:15px;
}

section.form .at.ngp-form .at-form-submit .at-submit,
section.form .at.ngp-form .at-form-submit .step-prevNext .btn-at,
section.form .toggle-links-block .toggle-link,
section.form .at.ngp-form .AdvocacyFields .at-secondary-submit {
  background-color:rgba(11,186,180,1);
  border:0;
  border-radius:4px;
  color:#fff;
  display:block;
  float:none;
  font-size:1em;
  font-weight:700;
  letter-spacing:1px;
  line-height:24px;
  margin:unset;
  padding:15px 30px;
  text-align:center;
  text-transform:uppercase;
}

section.form .at.ngp-form .at-fieldset.AdvocacyFields ~ .at-form-submit .at-submit {width:auto;}


section.form .at.ngp-form .at-form-submit .step-prevNext .btn-at {
  min-width:100px;
  width:auto;
}




/* Tickets Tables */

section.form .at.ngp-form table th,
section.form .at.ngp-form table td {font-size:1em;}

section.form .at.ngp-form table span.ticket-name {
  font-weight:700;
  bottom:50px;
}

section.form .at.ngp-form table small.ticket-description {
  color:unset;
  display:block;
  font-size:.875em;
  line-height:1.5em;
  padding:5px 0 0;
}


main footer.legalese {
  background:#fff;
  margin-top:20px;
  padding:0 20px;
}

main footer.legalese li,
main footer.legalese p {font-size:.875em;}
main footer.legalese p a {font-weight:700;}

main footer.legalese section.other-ways p:last-of-type {margin-bottom:0;}







/* Steps */

section.form .at.ngp-form ol.at-steps {
  border-radius:0;
  margin:0 20px;
  padding-right:15px;
  padding-left:15px;
}

section.form .at.ngp-form ol.at-steps li.at-step {
  color:#373d3f;
  font-size:1em;
}

section.form .at.ngp-form ol.at-steps li.at-step > :before {
  font-size:12px;
  font-weight:700;
  line-height:18px;
}

section.form .at.ngp-form ol.at-steps li.at-step.active {border-bottom-color:#00aef3;}



/* Form Pages Buttons */

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

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

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

section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount {
  align-items:center;
  border:0;
  color:#fff;
  display:flex;
  float:none !important;
  font-size:24px;
  font-weight:700;
  height:60px;
  justify-content:center;
  line-height:25px;
  margin:0 0 10px;
  padding:5px 10px;
  white-space:normal;
  width:100% !important;
}

section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount.hidden {display:none;}

section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount:not(.label-otheramount) a {
  background-color:rgba(0,174,243,1);
  border-radius:0;
  height:60px;
  text-shadow:none;
}

section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount:not(.label-otheramount):hover a {background-color:rgba(0,174,243,.9);}
section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount input[type="radio"]:checked + a {background-color:rgba(15,36,70,1);}
section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount:hover input[type="radio"]:checked + a {background-color:rgba(15,36,70,.9);}

section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount.label-otheramount {
  font-size:0;
  padding:0 10px 0 30px;
  position:relative;
  width:100% !important;
}

section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount.label-otheramount span {
  background-color:rgba(255,255,255,1);
  border:2px solid rgb(0,174,243);
  border-radius:0;
  display:block;
  height:60px;
  padding:0 0 0 10px;
  text-align:left;
  text-shadow:none;  
  width:100%;
  z-index:10;
  color:red;
}

section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount.label-otheramount span:before {content:"\00a0";}

section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount.label-otheramount input[type="radio"]:checked ~ span {
  border:2px solid rgb(15,36,70);
  background-color:rgba(15,36,70,1);
}

section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount.label-otheramount input {
  background:#fff;
  border:0;
  border-radius:0;
  color:#373d3f;
  display:block;
  font-size:20px;
  font-weight:700;
  height:40px;
  padding:0 10px;
  z-index:11;
}

section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount.label-otheramount input::placeholder {color:#373d3f;}
section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount.label-otheramount input[type="radio"]:checked + input.edit-otheramount {color:rgb(15,36,70);}

section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount.label-otheramount > span {
  color:#00aef3;
  line-height:55px;
  padding:0;
  top:0;
}

section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount.label-otheramount input[type="radio"]:checked ~ span {color:#fff;}
section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount.label-otheramount.error > small.error {display:none;}
section.form .at.ngp-form .at-error-console {margin:0 20px;}

section.form .at.ngp-form fieldset.ContributionInformation .at-recurring {margin:0 10px;}
section.form .at.ngp-form fieldset.ContributionInformation .at-recurring label {line-height:20px;}

/* Advocacy Stuff */

section.form .at.ngp-form fieldset.AdvocacyFields legend.at-legend-with-submit .at-submit {display:none;}







/* Thanks Section */

section.form .at.ngp-form .content.thankYou {padding:10px 20px;}
section.form .at.ngp-form .content.thankYou table {width:100%;}

section.form .at.ngp-form .content.thankYou table th,
section.form .at.ngp-form .content.thankYou table td {
  line-height:1.5em;
  padding:15px 10px;
}


/* Footer */

footer.theme-footer {padding:20px;}

footer.theme-footer .footer-container {
  margin:0 auto;
  max-width:700px;
  text-align:center;
  width:100%;
}

footer.theme-footer p {
  color:#fff;
  font-size:.875em;
  font-weight:400;
  line-height:1.5em;
  margin:0 0 20px;
}

footer.theme-footer p.footer-links a {font-weight:700;}

footer.theme-footer p.specific-details {font-size:.75em;}

footer.theme-footer span.the-dnc {
  font-weight:700;
  text-transform:uppercase;
}

footer.theme-footer p.copyright {
  font-size:.75em;
  font-weight:700;
  margin:40px auto 0;
}

footer.theme-footer p a {color:#fff;}



/* Fonts */

section.form .at.ngp-form header.at-title,
section.form .at.ngp-form .at-markup,
section.form .at.ngp-form fieldset.at-fieldset .at-row label,
section.form .at.ngp-form fieldset.at-fieldset legend,
section.form .at.ngp-form th,
section.form .at.ngp-form .at-form-submit .at-submit {font-family:Montserrat, sans-serif;}


/* Colors */

section.form .at.ngp-form fieldset.at-fieldset legend {color:#00aef3;}

section.form .at.ngp-form input[type="checkbox"]:checked + span:before,
section.form .at.ngp-form table label span:after {background-color:#00aef3;}



section.form .at.ngp-form .at-form-submit .at-submit,
section.form .at.ngp-form .at-form-submit .step-prevNext .btn-at,
section.form .at.ngp-form .AdvocacyFields .at-secondary-submit {background-color:rgba(15,36,70,1);}

section.form .at.ngp-form .at-form-submit .at-submit:hover,
section.form .at.ngp-form .at-form-submit .step-prevNext .btn-at:hover,
section.form .at.ngp-form .AdvocacyFields .at-secondary-submit:hover {background-color:rgba(15,36,70,.9);}


section.form .at.ngp-form input[type="checkbox"] + span:before,
section.form .at.ngp-form input[type="checkbox"]:checked + span:before {border:1px solid #00aef3;}



@media (min-width:480px) {

  header.theme-header {height:200px;}
  
  .branding img {
    width:100px;
    height:100px;
  }
  
  section.form .at.ngp-form.faux-multistep-layout .at-fieldset.AdvocacyFields ~ .at-form-submit {flex-direction:row;}
  section.form .at.ngp-form.faux-multistep-layout .at-fieldset.AdvocacyFields ~ .at-form-submit a.back-link {margin-bottom:unset;}
  section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount {width:calc(50% - 5px) !important;}
    
}


@media (min-width:768px) {
  
  header.theme-header {
    align-items:flex-start;
    background:linear-gradient(180deg, rgba(0,174,243,1) 0%, rgba(0,174,243,1) 40%, rgba(15,36,70,1) 100%);
    height:500px;
  }
  
  .branding {height:200px;}
  
  .branding img {
    width:100px;
    height:100px;
  } 
  
  main.main-section {margin-bottom:40px}
    
  main.main-section section.form {
    box-shadow:0 2px 4px rgba(0,0,0,0.5);
    margin-top:-300px;
    padding:40px 20px;
  }
  
  section.form .first-line {display:block;}
  section.form .FastAction {max-width:620px;}
  
  section.form .at.ngp-form fieldset.at-fieldset.TicketInformation {padding:20px;}
  section.form .at.ngp-form fieldset.at-fieldset.TicketInformation legend {padding:20px 0 0;}

  section.form .at.ngp-form table th,
  section.form .at.ngp-form table td {padding:20px 10px;}
  section.form .at.ngp-form table.TicketLevels tr#ticket-level-1838 td:first-of-type {padding-left:0;}
  section.form .at.ngp-form table.TicketLevels tr#ticket-level-1838 td:last-of-type {padding-right:0;}
  section.form .at.ngp-form table.TicketLevels tr#ticket-level-1838 td:first-of-type label {padding-left:10px;}
  section.form .at.ngp-form table.TicketLevels tr#ticket-level-1838 td:last-of-type label {padding-right:10px;}
  section.form .at.ngp-form label span.ticket-name:after {padding-top:0;}

  section.form .at.ngp-form .content.thankYou table th,
  section.form .at.ngp-form .content.thankYou table td {padding:20px;}
  
  
  section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount {
    padding:0 10px;
    width:calc(25% - 7.5px) !important;
  }
  
  section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount.label-otheramount {width:calc(50% - 5px) !important;}
  
}

