:root {
  --vis-navy: #082650;
  --vis-red: #c92323;
  --vis-blue: #7fa6b3;
  --vis-teal: #7fa6b3;
  --vis-yellow: #f2b62d;
  --vis-cream: #f5f9fa;
}

.vis-online-pledge {
  position: relative;
  display: block;
  max-width: 980px;
  margin: 2rem auto;
  overflow: hidden;
  color: var(--vis-navy);
  background:
    radial-gradient(ellipse at 8% 5%, rgba(127, 166, 179, .16) 0 7%, transparent 7.5%),
    radial-gradient(ellipse at 93% 18%, rgba(127, 166, 179, .12) 0 9%, transparent 9.5%),
    var(--vis-cream);
  border: 2px solid var(--vis-navy);
  box-shadow: 0 16px 44px rgba(8, 38, 80, .16);
  font-family: Arial, Helvetica, sans-serif;
}

.vis-pledge-main { padding: clamp(1.5rem, 4vw, 3.5rem); }
.vis-campaign-logo { display: block; width: 220px; height: 112px; margin: -1rem 0 .4rem; object-fit: cover; object-position: center; }
.vis-brush-title {
  width: fit-content;
  margin: 0 auto 1rem;
  padding: .3rem 3rem .45rem;
  color: #fff;
  background: var(--vis-navy);
  transform: rotate(-1deg);
  font-family: "Brush Script MT", "Segoe Script", cursive;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1;
}
.vis-intro { text-align: center; margin: 0 0 1.75rem; }

.vis-online-pledge .gform_wrapper .gform_fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.15rem 1.5rem !important;
}
.vis-online-pledge .gform_wrapper .gfield { grid-column: 1 / -1; }
.vis-online-pledge .gform_wrapper .vis-half { grid-column: span 1; }
.vis-online-pledge .gform_wrapper .vis-full,
.vis-online-pledge .gform_wrapper .vis-commitment { grid-column: 1 / -1; }
.vis-online-pledge .gform_wrapper .gfield_label {
  color: var(--vis-navy) !important;
  font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-size: 1rem !important;
  font-weight: 800 !important;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.vis-online-pledge .gform_wrapper input[type="text"],
.vis-online-pledge .gform_wrapper input[type="email"],
.vis-online-pledge .gform_wrapper input[type="tel"] {
  width: 100% !important;
  min-height: 46px;
  padding: .5rem .2rem !important;
  color: var(--vis-navy) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid var(--vis-navy) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.vis-online-pledge .gform_wrapper .vis-commitment {
  position: relative;
  margin-top: .3rem;
  padding: 1rem 1rem 1rem 4.25rem;
  border: 1px solid rgba(8, 38, 80, .16);
  cursor: pointer;
}
.vis-online-pledge .gform_wrapper .vis-commitment .gfield_label {
  color: var(--vis-red) !important;
  font-size: 1.18rem !important;
}
.vis-online-pledge .gform_wrapper .vis-commitment .ginput_container_checkbox {
  position: absolute;
  top: .9rem;
  left: 1rem;
}
.vis-online-pledge .gform_wrapper .vis-commitment .gchoice { position: static; }
.vis-online-pledge .gform_wrapper .vis-commitment .gchoice label {
  position: absolute !important;
  z-index: 1;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;
  color: transparent !important;
  font-size: 0 !important;
  cursor: pointer;
}
.vis-online-pledge .gform_wrapper input[type="checkbox"] {
  position: relative;
  z-index: 2;
  width: 30px !important;
  height: 30px !important;
  accent-color: var(--vis-red);
}
.vis-online-pledge .gform_wrapper .gfield_description { color: var(--vis-navy); font-size: .95rem; }
.vis-online-pledge .gform_wrapper .gform_footer { justify-content: center; margin-top: 1.5rem; }
.vis-online-pledge .gform_wrapper .gform_button {
  min-height: 50px !important;
  padding: .75rem 2rem !important;
  color: #fff !important;
  background: var(--vis-red) !important;
  border: 2px solid var(--vis-red) !important;
  border-radius: 0 !important;
  font-family: "Arial Narrow", Arial, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.vis-online-pledge .gform_wrapper .gform_button:hover,
.vis-online-pledge .gform_wrapper .gform_button:focus { background: var(--vis-navy) !important; border-color: var(--vis-navy) !important; }
.vis-confirmation { padding: 1.5rem; text-align: center; color: var(--vis-navy); border: 3px solid var(--vis-teal); }
.vis-confirmation strong { color: var(--vis-red); font-size: 1.5rem; }

.vis-share { margin-top: 2.25rem; padding: 1.4rem; color: var(--vis-navy); background: #fff; border-top: 7px solid var(--vis-blue); }
.vis-share h3 { margin: 0 0 .55rem; color: var(--vis-navy); font-family: "Arial Narrow", Arial, sans-serif; font-size: 1.35rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.vis-share p { margin: 0 0 1rem; line-height: 1.55; }
.vis-share-links { display: flex; flex-wrap: wrap; gap: .65rem; }
.vis-share-links a,.vis-share-links button { min-height: 42px; padding: .6rem 1rem; display: inline-flex; align-items: center; justify-content: center; color: #fff !important; background: var(--vis-navy); border: 0; border-radius: 0; font: 800 .85rem/1 Arial,sans-serif; letter-spacing: .05em; text-decoration: none !important; text-transform: uppercase; cursor: pointer; }
.vis-share-links a:nth-child(1) { background: #c92323; }
.vis-share-links button { color: var(--vis-navy) !important; background: var(--vis-yellow); }
.vis-share-links a:nth-child(3) { background: var(--vis-navy); }
.vis-share-links a:nth-child(4) { background: var(--vis-blue); }
.vis-share-status { display: block; min-height: 1.2em; margin-top: .7rem; color: var(--vis-navy); font-size: .85rem; font-weight: 700; }

.vis-paid-for { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2.5rem; font-size: .82rem; }
.vis-paid-for img { width: 180px; height: auto; }
.vis-reminder {
  padding: clamp(1.5rem, 3vw, 2.5rem) 1.5rem;
  text-align: center;
  background: #fff8eb;
  border-left: 2px dashed var(--vis-navy);
}
.vis-small-caps, .vis-election-label { margin: 0; font-family: "Arial Narrow", Arial, sans-serif; font-size: 1.35rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.vis-vote { margin: .35rem 0 0; color: var(--vis-red); font-family: Georgia, serif; font-size: clamp(3.5rem, 7vw, 5.8rem); font-weight: 900; line-height: .9; }
.vis-star { margin: .6rem 0 1rem; color: var(--vis-navy); font-size: 2.25rem; border-bottom: 8px solid var(--vis-navy); line-height: .35; }
.vis-election-date { margin: .35rem 0 1.25rem; color: var(--vis-red); font-family: "Arial Narrow", Arial, sans-serif; font-size: 1.75rem; font-weight: 900; line-height: 1.05; text-transform: uppercase; }
.vis-dots { height: 5px; margin: 1.25rem 0; background: radial-gradient(circle, var(--vis-teal) 2px, transparent 3px) 0 0/14px 5px repeat-x; }
.vis-reminder h3 { margin: .75rem 0 1rem; font-family: "Arial Narrow", Arial, sans-serif; font-size: 1.25rem; letter-spacing: .04em; text-transform: uppercase; }
.vis-reminder dl { margin: 0; text-align: left; }
.vis-reminder dl div { margin: 0 0 1rem; padding-left: 1rem; border-left: 4px solid var(--vis-red); }
.vis-reminder dt { color: var(--vis-red); font-weight: 900; text-transform: uppercase; }
.vis-reminder dd { margin: .2rem 0 0; line-height: 1.3; }
.vis-fridge { margin: 1.75rem 0 0; color: var(--vis-teal); font-family: "Brush Script MT", "Segoe Script", cursive; font-size: 1.6rem; transform: rotate(-3deg); }
.vis-gf-status { padding: 1rem; color: var(--vis-navy); background: var(--vis-cream); border: 2px solid var(--vis-red); }

@media (max-width: 560px) {
  .vis-online-pledge .gform_wrapper .gform_fields { grid-template-columns: 1fr; }
  .vis-online-pledge .gform_wrapper .vis-half { grid-column: 1; }
  .vis-brush-title { padding-inline: 1.5rem; }
  .vis-campaign-logo { width: 170px; height: 88px; margin-top: -.6rem; }
  .vis-paid-for { flex-direction: column; }
}
