/* ==========================================================================
   Fair Student Fares skin for the NationBuilder "Raise" theme (Bootstrap 4)
   --------------------------------------------------------------------------
   Load this file LAST in layout.html so it sits on top of the theme's own
   stylesheet. It only restyles: no layout, grid or template is changed, so
   removing the <link> line returns the site to exactly how it looked before.
   Palette and type are taken from the Fair Student Fares / Students Vote 2026
   flyers: red, navy, white, black outlines, halftone dots, heavy italic caps.
   ========================================================================== */

:root {
  --fsf-red: #da2128;
  --fsf-red-dark: #b3161c;
  --fsf-navy: #213067;
  --fsf-navy-dark: #161f47;
  --fsf-ink: #120808;
  --fsf-sky: #cfdcee;
  --fsf-grey-dot: #c9cdd8;
  --fsf-white: #fff;
  --fsf-font: "Montserrat", "Lato", "Helvetica Neue", Arial, sans-serif;
  --fsf-shadow: 5px 5px 0 var(--fsf-ink);
  --fsf-shadow-sm: 3px 3px 0 var(--fsf-ink);
  --fsf-dots-dark: radial-gradient(circle, rgba(10, 14, 36, .55) 2.2px, transparent 2.6px);
  --fsf-dots-light: radial-gradient(circle, var(--fsf-grey-dot) 2.2px, transparent 2.6px);
}

/* ---------- Base type ---------- */
html body {
  font-family: var(--fsf-font);
  font-weight: 500;
  color: var(--fsf-ink);
  -webkit-font-smoothing: antialiased;
}

/* Soft grey halftone in the page margins, like the flyer's white areas.
   Sits behind everything and never affects layout. */
html body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: var(--fsf-dots-light);
  background-size: 22px 22px;
  -webkit-mask-image: linear-gradient(90deg, #000 0, transparent 14%, transparent 86%, #000 100%);
          mask-image: linear-gradient(90deg, #000 0, transparent 14%, transparent 86%, #000 100%);
  opacity: .7;
}

html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body .h1, html body .h2, html body .h3, html body .h4, html body .h5, html body .h6 {
  font-family: var(--fsf-font);
  letter-spacing: -.01em;
  line-height: 1.12;
}
html body h1, html body .h1,
html body h2, html body .h2,
html body h3, html body .h3 {
  font-weight: 900;
  font-style: italic;
  text-transform: uppercase;
}
html body h1, html body .h1 { color: var(--fsf-red); }
html body h2, html body .h2 { color: var(--fsf-navy); }
html body h3, html body .h3 { color: var(--fsf-red); }
html body h4, html body h5, html body h6,
html body .h4, html body .h5, html body .h6 { font-weight: 800; color: var(--fsf-navy); }

/* Headings that sit on dark or image backgrounds keep white text */
html body .bg-dark :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3),
html body .bg-primary :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3),
html body .text-white :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3),
html body :is(h1,h2,h3,h4,h5,h6).text-white,
html body [style*="background-image"] :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3) {
  color: var(--fsf-white);
  text-shadow: 3px 3px 0 var(--fsf-ink);
}

/* Links */
html body a { color: var(--fsf-red); text-underline-offset: 2px; }
html body a:hover, html body a:focus { color: var(--fsf-red-dark); }
html body :focus-visible { outline: 3px solid var(--fsf-ink); outline-offset: 2px; }

/* Lists and dividers */
html body ul li::marker { color: var(--fsf-red); }
html body ol li::marker { color: var(--fsf-red); font-weight: 800; }
html body hr {
  border: 0;
  height: 6px;
  margin: 2.25rem 0;
  background-image: radial-gradient(circle, var(--fsf-navy) 2.5px, transparent 3px);
  background-size: 14px 6px;
  background-repeat: repeat-x;
  opacity: 1;
}

html body blockquote {
  margin: 1.5rem 0;
  padding: 1rem 1.25rem;
  background: var(--fsf-sky);
  border: 3px solid var(--fsf-ink);
  border-left: 10px solid var(--fsf-red);
  box-shadow: var(--fsf-shadow-sm);
  color: var(--fsf-navy);
  font-weight: 600;
}

/* ---------- Top navigation ---------- */
html body .navbar {
  background-color: var(--fsf-navy) !important;
  background-image: var(--fsf-dots-dark);
  background-size: 18px 18px;
  border-bottom: 6px solid var(--fsf-red);
  box-shadow: 0 4px 0 var(--fsf-ink);
}
html body .navbar .navbar-brand,
html body .navbar .navbar-brand :is(h1,h2,.h1,.h2) {
  color: var(--fsf-white) !important;
  font-family: var(--fsf-font);
  font-weight: 900;
  font-style: italic;
  text-transform: uppercase;
  text-shadow: 3px 3px 0 var(--fsf-ink);
}
html body .navbar .navbar-brand img {
  max-height: 72px;
  width: auto;
  transform: rotate(-2deg);
  transition: transform .2s;
}
html body .navbar .navbar-brand:hover img { transform: rotate(0) scale(1.04); }
html body .navbar .navbar-nav .nav-link,
html body .navbar .nav-link {
  color: var(--fsf-white) !important;
  font-family: var(--fsf-font);
  font-weight: 800;
  font-style: italic;
  text-transform: uppercase;
  letter-spacing: .01em;
  border-bottom: 4px solid transparent;
}
html body .navbar .navbar-nav .nav-link:hover,
html body .navbar .navbar-nav .nav-link:focus,
html body .navbar .navbar-nav .active > .nav-link,
html body .navbar .navbar-nav .nav-link.active,
html body .navbar .navbar-nav .show > .nav-link {
  color: var(--fsf-white) !important;
  border-bottom-color: var(--fsf-red);
}
html body .navbar .navbar-toggler {
  border: 3px solid var(--fsf-white);
  border-radius: 4px;
}
html body .navbar .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='%23fff' stroke-linecap='round' stroke-width='3' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}
html body .dropdown-menu {
  background-color: var(--fsf-white);
  border: 3px solid var(--fsf-ink);
  border-radius: 0;
  box-shadow: var(--fsf-shadow);
  padding: .25rem 0;
}
html body .dropdown-item {
  font-family: var(--fsf-font);
  font-weight: 700;
  color: var(--fsf-navy);
}
html body .dropdown-item:hover, html body .dropdown-item:focus,
html body .dropdown-item.active, html body .dropdown-item:active {
  background: var(--fsf-red);
  color: var(--fsf-white);
}

/* ---------- Buttons ---------- */
html body .btn,
html body input[type="submit"],
html body button[type="submit"] {
  font-family: var(--fsf-font);
  font-weight: 900;
  font-style: italic;
  text-transform: uppercase;
  letter-spacing: .01em;
  border: 3px solid var(--fsf-ink);
  border-radius: 4px;
  box-shadow: var(--fsf-shadow-sm);
  transition: transform .12s, box-shadow .12s, background-color .12s;
}
html body .btn:hover,
html body input[type="submit"]:hover,
html body button[type="submit"]:hover {
  transform: translate(-2px, -2px);
  box-shadow: 5px 5px 0 var(--fsf-ink);
}
html body .btn:active,
html body input[type="submit"]:active,
html body button[type="submit"]:active {
  transform: translate(2px, 2px);
  box-shadow: 1px 1px 0 var(--fsf-ink);
}
html body .btn-primary,
html body input[type="submit"],
html body button[type="submit"]:not(.btn) {
  background-color: var(--fsf-red);
  border-color: var(--fsf-ink);
  color: var(--fsf-white);
}
html body .btn-primary:hover, html body .btn-primary:focus,
html body input[type="submit"]:hover {
  background-color: var(--fsf-red-dark);
  border-color: var(--fsf-ink);
  color: var(--fsf-white);
}
html body .btn-secondary, html body .btn-dark, html body .btn-info {
  background-color: var(--fsf-navy);
  border-color: var(--fsf-ink);
  color: var(--fsf-white);
}
html body .btn-secondary:hover, html body .btn-dark:hover, html body .btn-info:hover {
  background-color: var(--fsf-navy-dark);
  color: var(--fsf-white);
}
html body .btn-light, html body [class*="btn-outline-"] {
  background-color: var(--fsf-white);
  border-color: var(--fsf-ink);
  color: var(--fsf-navy);
}
html body .btn-light:hover, html body [class*="btn-outline-"]:hover {
  background-color: var(--fsf-sky);
  color: var(--fsf-navy);
}
html body .btn-link { border: 0; box-shadow: none; color: var(--fsf-red); }
html body .btn-link:hover { transform: none; box-shadow: none; }

/* Bootstrap colour utilities follow the campaign palette */
html body .bg-primary { background-color: var(--fsf-red) !important; }
html body .text-primary { color: var(--fsf-red) !important; }
html body .border-primary { border-color: var(--fsf-red) !important; }
html body .badge-primary { background-color: var(--fsf-red); }
html body .bg-dark { background-color: var(--fsf-navy) !important; }
html body .progress { border: 2px solid var(--fsf-ink); border-radius: 4px; height: 1.25rem; }
html body .progress-bar { background-color: var(--fsf-red); }
html body .page-item.active .page-link { background-color: var(--fsf-navy); border-color: var(--fsf-navy); }
html body .page-link { color: var(--fsf-navy); font-weight: 700; }

/* ---------- Forms ---------- */
html body label {
  font-family: var(--fsf-font);
  font-weight: 700;
  color: var(--fsf-navy);
}
html body .form-control,
html body input[type="text"], html body input[type="email"], html body input[type="tel"],
html body input[type="number"], html body input[type="password"], html body select, html body textarea {
  border: 2px solid var(--fsf-navy);
  border-radius: 4px;
  font-family: var(--fsf-font);
  font-weight: 500;
}
html body .form-control:focus,
html body input:focus, html body select:focus, html body textarea:focus {
  border-color: var(--fsf-red);
  box-shadow: 0 0 0 3px rgba(218, 33, 40, .25);
  outline: 0;
}
html body .custom-control-input:checked ~ .custom-control-label::before {
  background-color: var(--fsf-red);
  border-color: var(--fsf-red);
}
html body input[type="checkbox"], html body input[type="radio"] { accent-color: var(--fsf-red); }

/* ---------- Cards, alerts, tables ---------- */
html body .card {
  border: 3px solid var(--fsf-ink);
  border-radius: 4px;
  box-shadow: var(--fsf-shadow);
}
html body .card-header { background: var(--fsf-navy); color: var(--fsf-white); border-bottom: 3px solid var(--fsf-ink); }
html body .card-header :is(h1,h2,h3,h4,h5,h6) { color: var(--fsf-white); }
html body .alert { border: 3px solid var(--fsf-ink); border-radius: 4px; box-shadow: var(--fsf-shadow-sm); font-weight: 600; }
html body .alert-info, html body .alert-primary { background: var(--fsf-sky); color: var(--fsf-navy); }
html body .table thead th { background: var(--fsf-navy); color: var(--fsf-white); border-color: var(--fsf-navy); font-weight: 800; }

/* ---------- Footer ---------- */
html body footer.footer,
html body .footer {
  position: relative;
  background-color: var(--fsf-navy) !important;
  color: var(--fsf-white);
  border-top: 10px solid var(--fsf-red);
  box-shadow: inset 0 4px 0 var(--fsf-ink);
  padding-top: 2.5rem;
  padding-bottom: 2rem;
}
html body footer.footer::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: var(--fsf-dots-dark);
  background-size: 18px 18px;
  -webkit-mask-image: linear-gradient(90deg, #000 0, transparent 30%, transparent 70%, #000 100%);
          mask-image: linear-gradient(90deg, #000 0, transparent 30%, transparent 70%, #000 100%);
}
html body footer.footer > * { position: relative; z-index: 1; }
/* Students Vote 2026 badge above the footer heading */
html body footer.footer h5::before {
  content: "";
  display: block;
  width: 110px;
  height: 117px;
  margin: 0 auto 1rem;
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM4AAADcCAMAAAAP325mAAAAwFBMVEXipqEZFRzUXlqUGBpYJjHNJyju1tIXEhVGLEBiXV6hnZ+BfH3swrsSFRKBfoDcg3wlLlvBvsDMQTwWEhUAAH8/QEJ5foC9vMD7+vrJIicAAAALCAojMWgcI1EWEhazIygiLmQYGC4jKFRNSkrs6OhNGBlramsrFBZ0HB2TIiY5NTcpJinLyMlaVljY1tcaHkaKh4iqp6i4tbaYlZZ4dXYRCg9vISwPCw6gHSINCg5oIB7EFRjv2NQOCQ0QCw4sDA6XRoqsAAAAQHRSTlP55fn6+fz6gvj5+ff6DPv6+fj2dAL8+fz+/gD8/fz7+/z4+fv7+fX59Pb3+vj4+Pv4+ff4+mr5pv5J7fz7Lob8ianUqgAAIIBJREFUeNrVXQtj4rbShQRoyO52t73fA6IgY2wwYAM2ENI0JPn//+pKo9foYUOymzbR7c0CBuOjmTnz0Mi0bj7geLp7fn540ydbHwjFt6enh7vn+zbho/2Z4WgglFIi4PzPp4QjcAAQIgfN2cPnzyYdpFkayHK1323XRU7IJ7IdBsTFkXdmZVWkAxhb9srNJ4AjBUKNYpFsmezLaj3A43dC2x8ajm/qXCD9crdNB/5ICH3+oHAAx71t6suEa1YvhISPY/utpvOecDRnEaRZqy/M1OtwDIzpPH0oOA/3jq1LUz8BRIySmc63jwTnAXNWMts5pn5ivN103gnOPeAAzToOXjtS+mbTeR8435iizYreeVd/DJhO++kjwXlisinOlEVreOEYFPM6998+Epw7QpbnonnsPjp4krcGbO8Fh5nO7Dw0vWF3OLTxpNnbTed94DDTqc5D030cDjmeX2Q67wKH0TQ9j5kvAI2NZ0/Im03nXeCcbToKzXDY/f5LTOc94Hy7p2R/Hg0oNEg8af4TpvMecBhNk+3r0HSHx19iOu8Bh5lOOz2T1BSar8jrkPubjwTnmZLkjGCgi1St9Wu8zrvAaVNSvoYGLDTrnzKdd4DDTad4FRrH65CbjwTngZI8fROpiVznjQXD94LDTKf/ZjSD1dtznfeBwyKc3fmk9ti18ghmOvThI8E5IzlIDakhh/MrTOfXw7mjZJmeHdsMW16Z4P5DwQkkB62L1hkUrUzn7kPB8Uynd/HY7aZhGnDR/FzA9g5w3OQgbQ0fretuIRq4cNWweHuF7X3gPBNyZekZyKJ7YWKbBjRgOt8+EJxvzHRQcvD9sWurVWoMxy0R/ArT+dVwnqy8+qsnCYSmG6jA/azp/Go4dnJwHJrRs2mgOwyU4YqfynXeAQ4znSTIySCeVr3DUQHb/c0HgsPz6tKKZvT1M93CsU0IDTMdcvdPwfn29HBy3DGirXGZjy0U24TRcK/zLE709Orx7VVwnu7uyVkjtwMCRAYXTRQNbyY/Mdr3D2fD+XbXPu+klKxq47PHE2i46fzUeD4TzgMHk03nf58Yc+olB62hN0IOR5nO9O9XjSkahBveGXCeQM3m0fDkiKifHKCA05DCoMZ06BlfUv/dLI89CefpmYOZnvU9l4HkoOXACTocletkb0YzB3V7OAUHjCZbnHfOaWjlwBZPt9uqXxIl07eKhqsa+/9d6www83PPmoVWDmzxPNai4QHb/G1oFhmf8ugEnIezjabedBzxNKDpvdl05sIaFo1wBANMz/+GboeSJH1N2cYaf7zRdEDRuFgb4dyR841mcfj778Pf84yEVw60eJrQcNPJDhYNHxbn0Q/JYM7r4Qi3mV2erblqVE1VtVqHo0zHc8pnsY8ikFo4rzEakLWOcIKLbpCzdcMZjhWwueMkM0RsJqma9Bo4rzGaaG5NaVJX9HxkcLqNjQaFHzCd1LW5VLToENXCAbeZnccAncy+grqVg+PxmPaaq287V9dOzqfmgGG0qJPOW41GmU7omtVrTQ1GqWs68/OcjXp2OATggNGc68ymgeygs3zrsMGcptS5JcBoMvHgvM7TXJL3G2cpmjXtkedGn1/nNqPpu42Tun6ZSfNeHKSmObbz7VWx5r88jLPpTCLQtGhoSefhdbHmvzrA2ch5F5wW2VHB0ytjzX91zE1U0+H/HDocEAuIFJy7V8aa/6popobEhaZdCX3TRP0sjKb7GdBYzkbomP4r4NyBq7mcf7BxGRg8ZldqdJCaxkXTQczWJp9qKLrqTBaS09jfKx2zQY8wfev4x9FcDsOapuA8c/G9fVz+9U8N9k1TBedw5WhadCWpoP0T1aB/fGTSewKcSDIbEPWkI+CQzwcnkv9F6j/EbG8vbv1bcA6cBKSArkDfrgyzfVY4MlrjcBaTzieG42haZDHbJ4Mzh2TggEgANG2hmM2FEy0Wh8Nh8TEiuCjypAPFNwnnSnIa17cgnIXOmLNOFE7Q2PzwMedOWT4+zOUDCEXMVDgxymLB/hMjEhNXO6A8M315IS/ZfHFC2ZS++XAYmHxW7nblbMkAZc0OejGse4MMEqOGD0eQttSv4i0OsAWIb4hFSaWhgqhzFWHRBGyHfUF+raotRZ+QdrW1RlXuEvL7jo8yZ0nHS17Ckz2h4kG5Z2OVyytYkGRvxmzVTwhd8dHvsC+NSHvV50/a4kU0ZjmhhM62x3SQrtlX6uxFwhGadgrOlKxw6Wib534BaUbEW1IuPlUmbNkLvGnFroB9w8FdWSzUalaakUWkllGTPPAtJDEF1Wqp6n5K2aIzlO3gFjGvA3ASKi5onfG6mPzAtbfnoGR4unNybb9a6cW5GaEHBSdfBurV1opxmpADpgKVshnR+FQQEerUkFeBjRFqKtcQTPdVBTPxi5pkMXcr8OZ9f/BFbrnckPul4E7m7lASxQEG5wp86JUm6jo4HXc1Iw2VnJdLXFLeK1n4a4h7TiXOVoQv5owdA4f2/fJ76S79CHUDZdNBWmT/teFM3WbundsjgKeyAji/q0vfh1cECtckVrgkXcpZ8+ai6KydqaHiMgFOx6RsUjQ/fCqIjDlvK9gJnYR2fOUrDKdUl1kGl5/cTUl9c0aOVnzoSL54cGapqmqncoUewYG4IBJ/O4caZtNEw2mF5DuuTquCD3nqNX+8pTNc8N8p1ZYPquvrSjO97nZPd9fsADu0RBO0V2tbBSnT1FTj+eNKzk6RtJflEbqRRVat8h0rCRX6Nly8YDgLpTB8Ltil9lci6yZZYVbHqG6IKgGOsI30Sl5Zyj9ypUSyVPKujHs0gmBot7KdIE+Wy6X89h17mOQ73QbCZnY7k45XwxElAkMCEFTz92DpqJmrcrx9XWtMIp7uNNNq22A+aKv4wbA3e8tS8biuLJSYjAsMdmZUQ39JCV0+YqVkirJRmVBDorAQfynpXxPyHwQnsdyg7hlS+yOW4swVWsmUSNe5vLKttUC6V2dErUPX2AmtEVjFKn24o4FCjS7kUsNZIB2TmsYU7QufTMRsL7lljFo8S3vtstCewMChMlS4ttbgSmWNxa66LvdfWFyEHVG6LJSHQh+C8yKiLPbie0VYwOEoTQOnMwIxtQmtYDItoracXrGELqmpgrOWEeMayUoKriB0gK9MO9eZt9MdO6LdGstO6FfK/RElHeRF05nWNcxsnQUkOwu4coiIGJznFlrHtoMAvlkj6g6VxhR81g4vEo6QlYSzVTZfCn1MFJy924drNYVINtvDtCky4ec9TG3/+7skAsNsC8Ai04wX+T02HAZy5kRYNDL8DXaxeKFi+TmF2mlHh2J68zd/eaVigNJr8CpCQS27BOXD+V4xEkVO41Wiqk2KCkDHhKZNQdEkEf2G4ESMHVJ7NjNDeJWAI9uKRciWOKGYoDtl1TMnoF63SXttrf1qNp5mZG3Ou+Dqk9qtYR0LjpALj0bVO1t/HtlnMRwWUpNsX+B5o5eR0hgJxwrZZo7NryxmWzkR6FqzZLW1N8AzODQ15434Vea71G/cAyo4IE17IbMe7D/58/KrA2cuGD7Rfp03mF0qjeFm/rJQctjiCFSHbEtBQtq8pJeFpG5fMrBSh0oc2/IPTV8knD8EnEXGicZM7Qr5HZEXRKMON3emaK1LaNFucev+zUoQlhLQ0fgLnbOUkOXacHbKV5S6594Eyi2q7MG4nY4619qGM3/BAQQ0QsKVqHSSebnM+B0lHca6a1Dd1oUkq98ws83SlYhrKoRAkQyPajPtayEqlDOaqpAtBctRVlwat6TXG7RfLa19BwzO0uhAxi6lnBHsT7nTxkEO5HAZ+b9BenHsHRmcY+vowJnyhu5qiRqF9jCjW+2uWcquvnZQUc0ojI2uNRyqg+Er0u653TYrZZRmKyZw5MEAZZM2nDL+3OWWGVIICxCzMUO/bn09XhwvhuxcvccLG04k2bbYaRtMUFwGZ5wOlY6zy1CRNlcQRZVb/SJXRxVQl2LsVoo7Vqg/GbhMJ9olTBo8S6v9vkIRycFiNq5oKWxkuPhz0EsHX7/acLw6xaBH7QiUw5kG9rqvghvgE7fhHSWtCbqhAciuo45wlZ4u3KQc3qPg8EiAM9rxKAif/RGb0Sw4GVkHm84zXblhX9RdBFLH4L0j+DQvPYf5xUxNhbZWvhyUkXCVPkzbR/9kAOeFXeziKmKMtuNcptsZPSqIvOuUMWeOns05/a19MfhwKhTsIDGWZmoS807y0sERqBudyBDE2M6ciOg1bXHYPYDlEPXBO0diBdQQgR54gSQZeHm8t8d6hw0fAa8MLaqdJODP5ooblzjJxXGDSd8Yo/VTkEfrEmyH/+09Xg6wG2WJdlIE0OgIVJRx+Rn7NhofzrovMqWZB2eroh0cUkAEujVAM65K6Er6QunlCsIC0IKm9UA6R/jrutEFJ1kFKC1ldsMLnSk3t62Cw1xcR1v+tiMkaNoi0+J6RWXit8fBWSrCBPaPCM55OMqfaDipAjpn4clShSZptUQL8Bm7oFxeZKsHWNKBBOf4Hejiz1eMUfdXKnfL5oS2Mzba8MpfEjfJZ7vr691MdaOK95j3eS+rQ/CKeM8UPWFwMnPkEjqi8oST+0p1PaiYTQcKPRbbpFLfukM5S79ZCYI3OvYiQYR2L5wczQsQGV5AmC7slYnA4sJc0q+xRxBJvXQEHqv5YW6DVD31U1Ea0e+bhgBOm1c8Mnx4arUuLmSPF76Uqcp39qkgsq+a2Y4hZgv0qooG5Yh6cBz5TAOChebYqBHOcIHPMLd1IJoHO1cYnNYlw3B8VJqWMmZjL6TDx4Gb78DqW6bNJnJ7PqeofToziiI75vR4yaaL4Sm1nOPDwqUYoO5XRGa5an/8rtWrB2zQqpWOKC0u5vN5By2O6oYV+30d3td0iJz32O+rb36xDvtP5DJtx74SBofTew/uqgOaloLtHHsh2zFbhs7qbeue+b6fGc5XCDjDx55gtsHgu2C2xyNitujTDAEHsrUUlKx1Afp2gULQTzVmIkT72tO3RRT1rV5Pwclnn2awwOnCZja+O+grKKBittXg04wlmYFipd9bJlq7gL/flXSSTwWHKxYo2RFWsoS+HRGz/RI4abGtrnfXVcu7YW56YvDmgaP90toeLhzYenqEG258h32bf2JmM3CqvT3sHHfn9DKYr2mVSa7vy7ycXaMLWK8a94XkbCTFKrdHO0aD5oUDR+gbVAtbf7ZcZktq92vR1E4w7bFVyQQP4V+mzOMxrwdRRW6g7nxyerEGez9LaDL5JNADlKEqFoOTGk0bIE07Hn3p9MkCs3yHrKz7wDkuYM9zkvQLX4W1GqwWvJz6Rad3p3ZpzEnWuC3swLKWQtfkZhd8B91xCNkoaNpF9ysooGK2BOXE1nkX+CaFBZ26x5jkq5wl+n6z2OJFpvODGTnVSjbVmUf98ZmRzgWv2vTAcFpDoW9HUf3w4BR2wBNRdAvJmQ0V4sNkRmR3SWBOxdJUQs7Y2Szywlo45iYIwnZSnqwNeqnjST1lS5cv7jepg8f4xRNO45a/BUjWPWMYTuPGwQxVHQQcISDY79wCH3oB9xHzidpRjamuZLp6OFXZasPuB14NWLdPwiHNrc+QeygyuBJwOJEdBbNdCE0Lw6nsDYELU9NdWkAX5+weXLC5KE52mkakuRsV0sdK09GM10tSWVNJrcUvH87atvdI17y29qVPz9oLyZnx5JsWJ+D8hXwCh3PxaJjtUcRsPVDAUFRgWy4X9EqxtCeckx2+vHuRngNnfmoDZIHgdF04cI9UBmftw/nimcgyQHlTQs7q9Z/jLR1hxPCezgm47TVStp5UME4H6gH8F5COo1RzWX+2WTpCVapT4jl1R4XuXJYj67ZvZmgFDDdxHcGHtmAj90UwyIE4J3MlzenWZulpyHB4hcHrvmY+42C6ia1KgxqZPTOLUM6WDHw4PeFD4UYovGwYjqhX1qxzWtnzOrInHMdVqLKLsyFw4RSwarYER9j9Nt1KCLfYIVoTGUPAdpwrF440XZITwpmi6qbHsqFN4XO7IlpzQGfUCA5Ez70LE7N9vzhqov6PC8c3+tzxRgHLmcpZJLCy6cVCcvxdC6dhXzrNs3ZeDcJE3TVEDXvqoYnFTt/yF8d4aGHHCnOPpOfh3Wnu1V3WXbVdt+T7AvQgV+u0WCM/sk9xvSMVRQ9QNb6Yce/BmbnGQ2ftqac/HU9c7Dy7bbVLfEovt1W1q2zPxQOxhL1eVduy3oF1I9JOdpZbDAY5rYvB/+ckDsGpbC+QEZtIpSgiX9UqFQ25ggtlCi+6UZep97zR6eA1W4CTQnItyzg82Um7rYqS0SgEJ/WnN3MjQst4hbhUx6hz2VMdJlnS4UJXcKq6HEPyHF7aE9JJvdJHScgkDMeJZzqO0s99bbfvKGN73KkKh+1MAceVu4Z8dc5QX9nKhgoFvQtZcp8ROhqNgsrmxDmXjigyD87cXtX1pbMXTQodZwpUb1vZEF9MnfVvYDZO1JddvdTbaiWEaRoXTgiOHeew6w/4i4770h/ID7uqufcdwBz1X8xOwOnbcITLhKWQwVcIBhgJxKNa6fTsiCZzGCkIJ0dRkqdUpYBzcD9zDCm3n4nuPWYTiztC346MBJjZjDZxje04cc7UUyx6ReeOfq9qEsBL3SZWeSal2lcb0m8ewloNLQCnB3cYb11+52XqPgG7GRFSB8eOc3DkKCynY1/ywuoguPJd7tY/KS5nWOKcU7zYnRHnBy+QdMTCaJ8pGmgapXVw6hNiETju7DdEOKgqbSeS6dzLdTu6VTG1EuDA6nnhMFtrYNaqOwSwjDYjIaEQnPrqSya6jdd5x3FNM40mc5Nz6TcsDcbljJY1N/5iN7Xh9Luc2b7C0hvzNkI0hGxqqaCeay5VO/rSTcHbhdz9l/mhqTh94jHELmBs3to9JXkvIB1YECkJncT0NJzrmowYvot3Hjt4ucWuZv0lddIdES+UPuEtzO4S24v+1ZAcINv5KvuIJyMzNnXK5tZzbPdfAl4nzOq86DV5z0mtRXurm7wZL2pxjVOPz+zuKclsvGclYYoGlkNBNPXMNhj8L6kVDjg/J9mWy+ihCppy6oXnjNu64TRqrG0lVSCiBt85wnBoA5xg2X+Buor7J9cFJHwqu163vhdNQ14uVG/fWXCgh4D5zlgT2kbpWx2cbShmn6LO0OKMstQc7/7ZeclbMgglFE31dgGn2wVKm2wAUCxIgI4aqID5gqxROOeIZ+FsxnJDJV1FfxmeqLfvXWYDElCaFp9ktmAchYUDVZPoNBoTDq9qvWjeOVGoc5QNSGBka9pm06hsbj1HZ9AzROaNqxiqIvVHqFhsAlNefuk019spjnISsl9zElCaFhtNow1w/Dhn6nrofROeuXvrxqXndqoGM7X9UIHhLDkaBoRqOET+bYBje72AcEB/6m5OJ9vikBGv6UtNFb0ptZZCLuzNMSOjXo6+1cLx4hxPOKKrNnQXNHPfU7OlqPC9aO90ai3r7VatgEuFCh07m9m4aRxQM5oUjtPtUvC20+mlHdeYu2vgDVJbfDrL7XArre+Qmjq98onQNOJpWjOz8T03OO+gXqg+EGkttNkeLi/hdlOX86lulrA1syLUOduVVgP0euCOXG6tAEQC6iXoTaTV4nE9HLnZxYptA/4pkVtuiX0zMH4ZVqy1TtzTrfQtK15z6/5EZmsbX9PiJtsJtWuEfgexzAlxbrcKwFbFwO/txxepZbdeEtoIx64VUMlpFPnQGCTTDMfraAm/bS133eJd2mS1DWmvNb40zJs97KKuUDShb1jTTklnsLO1OK/7ubC0WlnIkzL4zhm+p53M97R4Gu5nlxee7Uhm25i/8Qlmg++xRtrY/XU9W62S1apfbmt/Brb2bG6/V8P31jKbhtP+TN2GiNlcTdPMliWfZayoYjb4G8ebgO18shFrZiNBZotv2Zjcwl/5D/wd4ycfYzCalpoWO5pmpBPfjscsjhvf3vJAjn2IHWVPxqMRRwJHxrcSLXtNYrW+Zjwei+MTcXhsHVZP5MHAcM9mHo5G8Enxz63wNEFN08wWCwTiw2P8ZCKf8BcnMRL3xLqEsX2ctq3D/OgPc9T9sHz8g+WXfLTlfMgjEzaZ7ARsTuE8NJgdbIisfgg44wnMP//L/vOejOW1ZsvVbDZbQRdrPLEu50cM+6HY8b5zWCPNltyYr9wPiwsfURwptX+40hkHpEPrpDPaTNhZtYpZ+jaSl7Pca4+SFmWHXTy6ohyO60Ysfguy2Ggo+3RHfzr9oxRHzeBvoMm+2vL78FRfEg1YGq/QvbGQjm07IWaLAwjUE25LE7zp39x8JtaXQ83OO7PFj0qdavsxzzYRR8Ub+FzssOtf75aETLS2YwuA1gVP00aa2dpG2cZBZePXQ68HoWC6LdEQsvdChpTFNKD7MVluQ/E6HUvjiEleeZ3kO0rUZGo4m5GQTpPfaTdSAX8S4xu/WesMZCLQ0Coco7VBcLM0fDQG0bC5CL2B30fDVbbJ+ASzbTQcRdTcimyijmtjoC1oxMS+WYwFN7+t/8XrnF3vmKPZhdEqdwj6ditm1mI24jEbMdIZG4Gw/5lztBt2KIAF1P8c/JaQht/vLpmyc+EF0Yh9siM9zZPRBsHZ4FoB5G5UMRvAmQB2SYYj/GTS9Lu7sFrU8KvJSc3P8eh99Ld1nxY/wNF22QDgiBqO70ON7YCTcphtM+LknTdtH6kCv1rn5LPX9TlFHtqVjW8kQifcdriuKKJqYLYYMZvDA2g+xjGuLlUWn4rfBLQYdrtNbZVBFYNtVThbcZyt52lVlmWV6rtYjMYbNL/ighSzSU0DGVFdPFC2Y+hZzIehbKYPyzXaLT5z7vGAn/PNFZjlID0v0ZZ061Y+S3uNPd2LWmM2W4utKDTEs9TNdza1zAaf2WiK5084OJHeivtW2fWPrV1InHkLzTDL3HxaubcwyLEmFg+q/dFUvHkCccD41vxjMxsNeFLf70zcJ4x9aEvdvcBiotJpkBdvKN3bJqzSLZXFmsQuhVR2tdbJapDOS7rWcEy9Xa4kUsxsSL9w4DmW4Scl7Ty0yr9yFsa8S56JqU4ycciy/Ipg0mRRwrK/L8v9TN6dgAoNAUZS6qJDULtmaKhOE/XEjdnG+skYh/74gpjnRvf4kDfDiXENlpcexxP/toIei6fJXpU40mImhTPG0hnr9A2JBvlQi9kEUWMimWxMCMr5TRXQUuuuaYlzsxTm+TCcFZjARN1cAitXYZth6tSKRfwqEMkESBE1RSs7poyzIdSEoNJzihhMJJ/iCRwBfiPKrLHnRs+B95gVqttIGTgCj40G7pSTNvikXM/lBNOTXuHdgL5t1MKIWn1TVDDBrmeC4wMxYuL+Mmpi8YK4vRQTBW4/uwJ5gbYyfmw5FeNZvQOGcFBREaZrRAVoVVQwG08B26hWMBbcLNRuLGZHJbkMT751ipqYF7ZSOBMMMRdwxrc/qB2Wb2nDj6rpcHAsNMPQdYDZgnCcyNUJY0XCuFx7CwxoH+aOSMVCFgGBJJ+eH3bdnN/qjNaHriochPgGKw2Lebx2ArwKp7LRsY6jxzpEGul46dbPSlLhUVCMAkzA8wnEXpWGaGdEFaCxl/K2OyuA2hKVjxpeYtMLMZvjdFTMRvmj57oQFCXXHI2lGWvpHHIsHQpSxiEpMC4PY+1qfen/vCLctBPfKZgLdoQDyNswnBjDifmP2+oQdOL7HcEnbcdsKuVJHOmA6VRW3MJei+07qvdW/q9FrnM3gOJ3OYtVyQOlpNqNjuz2FRUU3EgqUDYnAoExigp+xHbomJp1OQSnkjS9TB12cARrFtsQnFLuxthb0omt4qUQUIAKwOmIdQXydHOqbDhxcrC1Xj9kUXpqEXV8S3GCs4dLbG8dRRMfjtvttRMf4ZBjSwwcVZitSa43AhlH83BzY9UKxjpSGsuIuu2Y8c6ELCwTLVyL2Nvr9MTm59QEmjGmAoAT43yhFOkb6AwKClSCYMK2WD7mJP10o+BoChvdmidsQtpq67RCk+d6a76zzned5FY9bef1VRQdkudZG4YVT/O30phcpVZ2zT2PCVTEVVHZ/an0TWoaF839042EY9UKJjgydyOR1E4I+nUHpXB+t4+vzf0VckuScHtlJEjwWBSFkSqstplNatomFr8Pr+DYKqaImv/TEIlUzuaN0Ep1UbuwSIm1VaKw3Q58OPYsegzKtvE0DX4d3sAJV3KgqLdvcNyU1Jdxtm5C4M9FfVgg6lK8DqdZFhP1hloldypIwMCRijlW4TTEB7yuO2koO0HQVhcViwvKm4o8DUUgWfqwM+NxiNkYMiJJAMMZIzLDiVz4h57Rd4alJ/3isikmI7Vlq77KRye4boGkE1uL7+Qe/QJso9+J6xUCbqrIuDoUF29lNp00iJaLhxb1aHgkeetSrl4QESWpDSYBBMdE4nzpyYTlMa015l4OcUBg9UCFDbSBR7gDioPF+paMBwmE9jIfHZu1UcxskCTf3bhwJnUxW5ytG4qyIl1z1nbWZR5sPwmIlq/szOz5KlT9CxIL49XdpV6QDlSiHm48OIFagXhCvR/6UaN/JaN/7hCXs92W+5T1tlxluoeKpUh1n06oCPHYh+lqJ+7Dm66rEkUNt4GylLYdbTaIBAwcleIgZRXkFp9Y4ufvaavdt3ludT5NJic/LGoQ7KPLTmeZU2Kar2IZQ+tk9PbWXRBxScCiAisBlYgmPMhp+ilLCl8xCvYyiJJH06cnqqZi9cFpNFb1wobD/Q71zMZiNouoTVG3UT6xWap1Bnw+DNQSrVqzdgqgY/eKkO2IbNrynT6zBSo58GTS1DqnKiO3IwsQjdUiYHx6Lm7HberI1WLo8cTu+iAqt/HMBkvnFud8+h9RtasdeDF9pG9xpbsgxo0fRp+etGNhRLxL4owmFhNA18L5qTFufHrWhzny8clPUyWb55ubN8EZNwy/Kcd6dPanx+PQwzo4NSQg4bR/gXSsK3/DByyQ+Ik7A/LHeB5uauE8Cx76FGMsWnaeburhPInlh485bOEIj3B/0zBaNw+fq9nw+VsznJuH+88Dpv1wc3MCzs3N09NDzbh7/Xh+/bg/bzw/nwBzc/NfH1dPabG9wukAAAAASUVORK5CYII=") center / contain no-repeat;
  transform: rotate(-3deg);
}
html body footer.footer h5 {
  color: var(--fsf-white);
  font-weight: 900;
  font-style: italic;
  text-transform: uppercase;
  font-size: 1.6rem;
  text-shadow: 3px 3px 0 var(--fsf-ink);
}
html body footer.footer,
html body footer.footer a,
html body footer.footer a:hover { color: var(--fsf-white); }
html body footer.footer a { font-weight: 700; }
html body footer.footer .fas, html body footer.footer .fa { color: var(--fsf-red); }
html body footer.footer .text-muted,
html body footer.footer .footer-fineprint,
html body footer.footer .footer-fineprint a { color: rgba(255, 255, 255, .75) !important; font-size: .9rem; }


/* ==========================================================================
   Raise-specific pieces (matched to the theme's own templates)
   ========================================================================== */

/* Phone menu buttons in the top bar */
html body #header .navbar-toggler { padding: .35rem .6rem; }
html body #header .navbar-toggler i { color: var(--fsf-white) !important; font-size: 1.25rem; }
html body #header .navbar-supporter-nav-link {
  background: transparent;
  border: 3px solid var(--fsf-white);
  border-radius: 4px;
  color: var(--fsf-white) !important;
  padding: .35rem .6rem;
}
/* The "Log in" button keeps its sticker look on the navy bar */
html body #navbar-toolbar .btn { padding: .4rem 1.1rem; }

/* Page banners at the top of inner pages: navy, halftone edges, red base */
html body .hero-container:not(.hero-homepage) {
  position: relative;
  background-color: var(--fsf-navy);
  border-bottom: 10px solid var(--fsf-red);
  box-shadow: 0 4px 0 var(--fsf-ink);
  margin-bottom: 2.5rem !important;
}
html body .hero-container:not(.hero-homepage)::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: var(--fsf-dots-dark);
  background-size: 20px 20px;
  -webkit-mask-image: linear-gradient(90deg, #000 0, transparent 35%, transparent 65%, #000 100%);
          mask-image: linear-gradient(90deg, #000 0, transparent 35%, transparent 65%, #000 100%);
}
html body .hero-container > .container { position: relative; z-index: 1; }
html body .hero-overlay { background-color: rgba(33, 48, 103, .75); }
html body .hero-content .headline { font-size: clamp(2.2rem, 5vw, 3.6rem); }
html body .hero-content .breadcrumb-item,
html body .hero-content .breadcrumb-item a { font-family: var(--fsf-font); font-weight: 700; text-transform: uppercase; font-size: .85rem; }

/* Homepage: Raise puts the homepage text inside the hero. Give it the flyer's
   white page with grey halftone instead of a dark block. */
html body .hero-container.hero-homepage {
  position: relative;
  background-color: var(--fsf-white);
  color: var(--fsf-ink);
  margin-bottom: 0 !important;
  padding-top: 2.5rem;
  padding-bottom: 3.5rem;
}
html body .hero-container.hero-homepage::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: var(--fsf-dots-light);
  background-size: 22px 22px;
  -webkit-mask-image: linear-gradient(90deg, #000 0, transparent 18%, transparent 82%, #000 100%);
          mask-image: linear-gradient(90deg, #000 0, transparent 18%, transparent 82%, #000 100%);
}
html body .hero-container.hero-homepage .hero-page-content,
html body .hero-container.hero-homepage .hero-page-content :is(p, li, td, th, table, strong, em, span, div) { color: var(--fsf-ink); }
html body .hero-container.hero-homepage .hero-page-content a { color: var(--fsf-red); }
html body .hero-container.hero-homepage .hero-page-content :is(h1, .h1, h3, .h3) { color: var(--fsf-red); text-shadow: none; }
html body .hero-container.hero-homepage .hero-page-content :is(h2, .h2, h4, .h4, h5, .h5, h6, .h6) { color: var(--fsf-navy); text-shadow: none; }
html body .hero-container.hero-homepage .hero-page-content :is(h1, h2, h3) { margin-top: 2rem; margin-bottom: .75rem; }
html body .hero-container.hero-homepage hr { border: 0; }
/* Page headline becomes the navy "VOTING INFORMATION" label */
html body .hero-container.hero-homepage .hero-page-content .headline {
  display: inline-block;
  margin: 0 0 1rem;
  padding: .5rem 1.6rem .55rem;
  background: var(--fsf-navy);
  color: var(--fsf-white);
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  transform: skewX(-8deg) rotate(-1.5deg);
  box-shadow: var(--fsf-shadow);
}

/* Dotted divider above each main section, like the flyer */
html body #intro > h1 ~ h1 {
  margin-top: 2.5rem;
  padding-top: 2.25rem;
  background-image: radial-gradient(circle, var(--fsf-navy) 2.5px, transparent 3px);
  background-size: 14px 6px;
  background-repeat: repeat-x;
  background-position: left top;
}

/* Homepage banner (added in _hero.html): big logo, badge, red election strip */
.fsf-home-banner {
  position: relative;
  overflow: hidden;
  background-color: var(--fsf-navy);
}
.fsf-home-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, rgba(10, 14, 36, .7) 4px, transparent 4.6px);
  background-size: 30px 30px;
  -webkit-mask-image: linear-gradient(90deg, #000 0, transparent 30%, transparent 70%, #000 100%);
          mask-image: linear-gradient(90deg, #000 0, transparent 30%, transparent 70%, #000 100%);
}
.fsf-home-banner-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  padding-top: 2.5rem;
  padding-bottom: 2.75rem;
}
.fsf-home-banner-inner::before,
.fsf-home-banner-inner::after {
  content: "";
  position: absolute;
  width: 56px;
  height: 56px;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3e%3cg stroke='%23fff' stroke-width='6' stroke-linecap='round'%3e%3cpath d='M30 26 L22 4'/%3e%3cpath d='M24 32 L6 18'/%3e%3cpath d='M22 40 L2 40'/%3e%3c/g%3e%3c/svg%3e") center / contain no-repeat;
}
.fsf-home-banner-inner::before { left: 8%; top: 1.25rem; }
.fsf-home-banner-inner::after { right: 8%; bottom: 1.25rem; transform: rotate(180deg); }
.fsf-home-banner-logo {
  width: min(600px, 66%);
  height: auto;
  transform: rotate(-3deg);
}
.fsf-home-banner-badge {
  width: min(200px, 24%);
  height: auto;
  align-self: flex-start;
  transform: rotate(4deg);
}
.fsf-home-strip {
  position: relative;
  background: var(--fsf-red);
  border-top: 4px solid var(--fsf-ink);
  border-bottom: 4px solid var(--fsf-ink);
}
.fsf-home-strip-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  padding-top: 1.1rem;
  padding-bottom: 1.2rem;
}
.fsf-home-strip-icon {
  flex: none;
  font-size: 3rem;
  color: var(--fsf-navy);
  transform: rotate(-14deg);
  filter: drop-shadow(3px 3px 0 var(--fsf-ink));
}
html body .fsf-home-strip-text {
  margin: 0;
  color: var(--fsf-white);
  font-family: var(--fsf-font);
  text-transform: uppercase;
  line-height: 1;
}
.fsf-home-strip-kicker {
  display: block;
  margin-bottom: .3rem;
  font-size: clamp(1rem, 2.4vw, 1.9rem);
  font-weight: 800;
}
.fsf-home-strip-date {
  display: block;
  font-size: clamp(2.1rem, 6.4vw, 4.6rem);
  font-weight: 900;
  letter-spacing: -.01em;
  text-shadow: 4px 4px 0 var(--fsf-ink);
}

/* ==========================================================================
   Optional content blocks for page content (HTML source view of the editor)
   ========================================================================== */

/* Navy skewed label, like "VOTING INFORMATION" on the flyer */
.fsf-tag {
  display: inline-block;
  margin: 0 0 1.25rem;
  padding: .45rem 1.5rem .5rem;
  background: var(--fsf-navy);
  color: var(--fsf-white) !important;
  font-family: var(--fsf-font);
  font-size: 1.5rem;
  font-weight: 900;
  font-style: italic;
  text-transform: uppercase;
  line-height: 1.1;
  transform: skewX(-8deg) rotate(-1.5deg);
  box-shadow: var(--fsf-shadow);
}

/* Red election banner, like "TORONTO MUNICIPAL ELECTIONS: OCTOBER 26, 2026" */
.fsf-banner {
  margin: 1.5rem 0 2rem;
  padding: 1.25rem 1.75rem;
  background: var(--fsf-red);
  border: 3px solid var(--fsf-ink);
  box-shadow: 6px 6px 0 var(--fsf-ink);
  color: var(--fsf-white);
  font-family: var(--fsf-font);
  text-transform: uppercase;
}
.fsf-banner p { margin: 0; line-height: 1.05; }
.fsf-banner-kicker { font-size: clamp(1rem, 2.4vw, 1.6rem); font-weight: 800; }
.fsf-banner-date { font-size: clamp(2rem, 6vw, 3.6rem); font-weight: 900; text-shadow: 3px 3px 0 var(--fsf-ink); }

/* Light-blue panel, like the "GET OUT TO VOTE" box */
.fsf-panel {
  margin: 1.5rem 0;
  padding: 1.5rem 1.75rem;
  background: var(--fsf-sky);
  border: 3px solid var(--fsf-ink);
  box-shadow: var(--fsf-shadow);
  color: var(--fsf-ink);
}
.fsf-panel > :last-child { margin-bottom: 0; }

/* Red italic emphasis line, like "You do not need to be registered to vote..." */
.fsf-red-note {
  color: var(--fsf-red);
  font-style: italic;
  font-weight: 700;
}

/* ---------- Phones ---------- */
@media (max-width: 767.98px) {
  html body::before { display: none; }
  html body h1, html body .h1 { font-size: 2rem; }
  .fsf-home-banner-inner { gap: 1rem; padding-top: 1.75rem; padding-bottom: 2rem; }
  .fsf-home-banner-inner::before, .fsf-home-banner-inner::after { width: 34px; height: 34px; }
  .fsf-home-strip-inner { gap: .9rem; justify-content: flex-start; }
  .fsf-home-strip-icon { font-size: 1.9rem; }
  html body .hero-container.hero-homepage { padding-top: 1.75rem; }
  html body .hero-container.hero-homepage::before, html body .hero-container:not(.hero-homepage)::before { display: none; }
  html body h2, html body .h2 { font-size: 1.6rem; }
  html body h3, html body .h3 { font-size: 1.35rem; }
  html body .navbar .navbar-brand img { max-height: 56px; }
  html body .navbar .navbar-collapse { padding-bottom: .75rem; }
  html body footer.footer h5::before { width: 90px; height: 96px; }
  .fsf-tag { font-size: 1.2rem; }
}
