* {box-sizing:border-box;}

/* Body */

body {
  color:#3c3c3c;
  font-family:"proxima-nova", 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,
section.form .at.ngp-form a {
  color:#0bbab4;
  text-decoration:none;
}
  
a:hover {text-decoration:underline;}

/* Header */

header.theme-header {
  background:#0bbab4;
  height:170px;
  width:100%;
}

header.theme-header figure {
  line-height:0;
  margin:0;
  width:100%;
  height:170px;
}

header.theme-header figure .header-image {
  background-position:50%;
  background-size:cover;
  height:100%;
  position:relative;
  width:auto;
}


/* Content */

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

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

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

.branding {
  line-height:0;
  margin-bottom:20px;
}

.branding img {
  height:30px;
  width:240px;
}



/* Form */

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

section.form .at.ngp-form header.at-title {
  color:#3c3c3c;
  font-family:proxima-nova, sans-serif;
  font-weight:500;
  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:#373d3f;
  font-weight:700;
  font-size:1.25em;
  line-height:1.25em;
  margin:0 auto 20px;
}

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

section.form .FastAction {
  margin:0 auto 1px;
  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-cta span a {color:#fff;}
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;
  font-size:1em;
}

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: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;}


/* Steps */

section.form .at.ngp-form ol.at-steps {
  border-radius:0;
  font-family:"proxima-nova", sans-serif;
  margin:0 auto;
  max-width:660px;
  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-family:"proxima-nova", sans-serif;
  font-size:12px;
  font-weight:700;
  line-height:18px;
}

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








/* Contribution 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-radius:4px;
  color:#fff;
  display:flex;
  float:none !important;
  font-size:24px;
  font-weight:400;
  height:50px;
  justify-content:center;
  line-height:40px;
  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(11,186,180,1);
  border:0;
  height:50px;
  text-shadow:none;
}

section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount:not(.label-otheramount):hover a {background-color:rgba(11,186,180,.9);}
section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount input[type="radio"]:checked + a {background-color:rgba(21,98,153,1);}
section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount:hover input[type="radio"]:checked + a {background-color:rgba(21,98,153,.9);}

section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount.label-otheramount {
  font-size:0;
  padding:0 8px 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(11,186,180);
  border-radius:4px;
  display:block;
  height:50px;
  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(21,98,153);
	background-color:rgba(21,98,153,1);
}

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

section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount.label-otheramount input::placeholder {color:rgb(11,186,180)}
section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount.label-otheramount input[type="radio"]:checked + input.edit-otheramount {color:rgba(21,98,153,1);}

section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount.label-otheramount > span {
  color:rgb(11,186,180);
  line-height:45px;
  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;}


/* Tribute Stuff */

section.form .at.ngp-form fieldset.TributeGift,
section.form .at.ngp-form fieldset.RecipientInformation {
  padding:0 10px;
}


/* Advocacy Stuff */

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



/* 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 {
	margin:0 10px;
	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,
section.form .at.ngp-form .at-form-submit .at-submit.back-link {order:1;}
section.form .at.ngp-form .at-form-submit .step-prevNext .prevNext.next,
section.form .at.ngp-form .at-form-submit .at-submit.btn-at-primary {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;
}




/* Thanks Section */

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



/* Footer */

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

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

footer .branding img {
  height:37.5px;
  width:300px;
}

ul.social {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  list-style:none;
  margin:0 0 20px;
}

ul.social li {
  display:flex;
  height:50px;
  padding:9px;
  width:50px;
}

ul.social li a {
  color:#fff;
  display:flex;
  flex-wrap:wrap;
  flex-direction:column;
  font-size:24px;
  line-height:32px;
  overflow:hidden;
}

ul.social li a:hover {text-decoration:none;}

ul.social li a,
ul.social li a:before {
  height:32px;
  width:32px;
}

ul.social li a:before {display:block;}

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

footer.theme-footer p.copyright {
  font-size:.875em;
  margin-bottom: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:"proxima-nova", sans-serif;}


/* Colors */

section.form .at.ngp-form fieldset.at-fieldset legend {color:#0bbab4;}

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


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(11,186,180,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(11,186,180,.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 #0bbab4;}



@media (min-width:480px) {

  header.theme-header,
  header.theme-header figure {height:250px;}
  .branding {margin-bottom:30px;}
  
  .branding img {
    width:400px;
    height:50px;
  }
  
  section.form .at.ngp-form fieldset.ContributionInformation .at-radios label.label-amount {width:calc(50% - 5px) !important;}

}


@media (min-width:768px) {
  
  header.theme-header,
  header.theme-header figure {height:500px;}
  main.main-section {margin-bottom:80px}
    
  main.main-section section.form {
    box-shadow:0 2px 4px rgba(0,0,0,0.5);
    margin-top:-200px;
    padding:40px 20px;
  }
  
  section.form .first-line {display:block;}
  section.form .FastAction,
  section.form .at.ngp-form ol.at-steps {max-width:620px;}
  
  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;}

  
}