/**
We follow rule of least surprise.

* we don't use very general selectors,
* we don't reuse classes
* we don't use overly specific selectors

This might mean a bit more things need to be done to add new thing
but it makes long term maintainanece much simpler.
*/
/*
http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
@import url("https://actionnetwork.org/css/style-embed-v3.css");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* required styles */
.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
  position: absolute;
  left: 0;
  top: 0;
}

.leaflet-container {
  overflow: hidden;
}

.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}

/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
  background: transparent;
}

/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
  image-rendering: -webkit-optimize-contrast;
}

/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
  width: 1600px;
  height: 1600px;
  -webkit-transform-origin: 0 0;
}

.leaflet-marker-icon,
.leaflet-marker-shadow {
  display: block;
}

/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
  max-width: none !important;
  max-height: none !important;
}

.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
  max-width: none !important;
  max-height: none !important;
  width: auto;
  padding: 0;
}

.leaflet-container img.leaflet-tile {
  /* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
  mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
  -ms-touch-action: pan-x pan-y;
  touch-action: pan-x pan-y;
}

.leaflet-container.leaflet-touch-drag {
  -ms-touch-action: pinch-zoom;
  /* Fallback for FF which doesn't support pinch-zoom */
  touch-action: none;
  touch-action: pinch-zoom;
}

.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
  -ms-touch-action: none;
  touch-action: none;
}

.leaflet-container {
  -webkit-tap-highlight-color: transparent;
}

.leaflet-container a {
  -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}

.leaflet-tile {
  filter: inherit;
  visibility: hidden;
}

.leaflet-tile-loaded {
  visibility: inherit;
}

.leaflet-zoom-box {
  width: 0;
  height: 0;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 800;
}

/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
  -moz-user-select: none;
}

.leaflet-pane {
  z-index: 400;
}

.leaflet-tile-pane {
  z-index: 200;
}

.leaflet-overlay-pane {
  z-index: 400;
}

.leaflet-shadow-pane {
  z-index: 500;
}

.leaflet-marker-pane {
  z-index: 600;
}

.leaflet-tooltip-pane {
  z-index: 650;
}

.leaflet-popup-pane {
  z-index: 700;
}

.leaflet-map-pane canvas {
  z-index: 100;
}

.leaflet-map-pane svg {
  z-index: 200;
}

.leaflet-vml-shape {
  width: 1px;
  height: 1px;
}

.lvml {
  behavior: url(#default#VML);
  display: inline-block;
  position: absolute;
}

/* control positioning */
.leaflet-control {
  position: relative;
  z-index: 800;
  pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
  pointer-events: auto;
}

.leaflet-top,
.leaflet-bottom {
  position: absolute;
  z-index: 1000;
  pointer-events: none;
}

.leaflet-top {
  top: 0;
}

.leaflet-right {
  right: 0;
}

.leaflet-bottom {
  bottom: 0;
}

.leaflet-left {
  left: 0;
}

.leaflet-control {
  float: left;
  clear: both;
}

.leaflet-right .leaflet-control {
  float: right;
}

.leaflet-top .leaflet-control {
  margin-top: 10px;
}

.leaflet-bottom .leaflet-control {
  margin-bottom: 10px;
}

.leaflet-left .leaflet-control {
  margin-left: 10px;
}

.leaflet-right .leaflet-control {
  margin-right: 10px;
}

/* zoom and fade animations */
.leaflet-fade-anim .leaflet-popup {
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  -moz-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}

.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
  opacity: 1;
}

.leaflet-zoom-animated {
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
}

svg.leaflet-zoom-animated {
  will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1);
}

.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
  -webkit-transition: none;
  -moz-transition: none;
  transition: none;
}

.leaflet-zoom-anim .leaflet-zoom-hide {
  visibility: hidden;
}

/* cursors */
.leaflet-interactive {
  cursor: pointer;
}

.leaflet-grab {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}

.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
  cursor: crosshair;
}

.leaflet-popup-pane,
.leaflet-control {
  cursor: auto;
}

.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
  pointer-events: none;
}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
  pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
  pointer-events: auto;
}

/* visual tweaks */
.leaflet-container {
  background: #ddd;
  outline-offset: 1px;
}

.leaflet-container a {
  color: #0078A8;
}

.leaflet-zoom-box {
  border: 2px dotted #38f;
  background: rgba(255, 255, 255, 0.5);
}

/* general typography */
.leaflet-container {
  font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
}

/* general toolbar styles */
.leaflet-bar {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
  border-radius: 4px;
}

.leaflet-bar a {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  width: 26px;
  height: 26px;
  line-height: 26px;
  display: block;
  text-align: center;
  text-decoration: none;
  color: black;
}

.leaflet-bar a,
.leaflet-control-layers-toggle {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  display: block;
}

.leaflet-bar a:hover,
.leaflet-bar a:focus {
  background-color: #f4f4f4;
}

.leaflet-bar a:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.leaflet-bar a:last-child {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  border-bottom: none;
}

.leaflet-bar a.leaflet-disabled {
  cursor: default;
  background-color: #f4f4f4;
  color: #bbb;
}

.leaflet-touch .leaflet-bar a {
  width: 30px;
  height: 30px;
  line-height: 30px;
}

.leaflet-touch .leaflet-bar a:first-child {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}

.leaflet-touch .leaflet-bar a:last-child {
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
}

/* zoom control */
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
  font: bold 18px "Lucida Console", Monaco, monospace;
  text-indent: 1px;
}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
  font-size: 22px;
}

/* layers control */
.leaflet-control-layers {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
  background: #fff;
  border-radius: 5px;
}

.leaflet-control-layers-toggle {
  background-image: url(images/layers.png);
  width: 36px;
  height: 36px;
}

.leaflet-retina .leaflet-control-layers-toggle {
  background-image: url(images/layers-2x.png);
  background-size: 26px 26px;
}

.leaflet-touch .leaflet-control-layers-toggle {
  width: 44px;
  height: 44px;
}

.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
  display: none;
}

.leaflet-control-layers-expanded .leaflet-control-layers-list {
  display: block;
  position: relative;
}

.leaflet-control-layers-expanded {
  padding: 6px 10px 6px 6px;
  color: #333;
  background: #fff;
}

.leaflet-control-layers-scrollbar {
  overflow-y: scroll;
  overflow-x: hidden;
  padding-right: 5px;
}

.leaflet-control-layers-selector {
  margin-top: 2px;
  position: relative;
  top: 1px;
}

.leaflet-control-layers label {
  display: block;
  font-size: 13px;
  font-size: 1.08333em;
}

.leaflet-control-layers-separator {
  height: 0;
  border-top: 1px solid #ddd;
  margin: 5px -10px 5px -6px;
}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
  background-image: url(images/marker-icon.png);
}

/* attribution and scale controls */
.leaflet-container .leaflet-control-attribution {
  background: #fff;
  background: rgba(255, 255, 255, 0.8);
  margin: 0;
}

.leaflet-control-attribution,
.leaflet-control-scale-line {
  padding: 0 5px;
  color: #333;
  line-height: 1.4;
}

.leaflet-control-attribution a {
  text-decoration: none;
}

.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
  text-decoration: underline;
}

.leaflet-attribution-flag {
  display: inline !important;
  vertical-align: baseline !important;
  width: 1em;
  height: 0.6669em;
}

.leaflet-left .leaflet-control-scale {
  margin-left: 5px;
}

.leaflet-bottom .leaflet-control-scale {
  margin-bottom: 5px;
}

.leaflet-control-scale-line {
  border: 2px solid #777;
  border-top: none;
  line-height: 1.1;
  padding: 2px 5px 1px;
  white-space: nowrap;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.8);
  text-shadow: 1px 1px #fff;
}

.leaflet-control-scale-line:not(:first-child) {
  border-top: 2px solid #777;
  border-bottom: none;
  margin-top: -2px;
}

.leaflet-control-scale-line:not(:first-child):not(:last-child) {
  border-bottom: 2px solid #777;
}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  box-shadow: none;
}

.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  border: 2px solid rgba(0, 0, 0, 0.2);
  background-clip: padding-box;
}

/* popup */
.leaflet-popup {
  position: absolute;
  text-align: center;
  margin-bottom: 20px;
}

.leaflet-popup-content-wrapper {
  padding: 1px;
  text-align: left;
  border-radius: 12px;
}

.leaflet-popup-content {
  margin: 13px 24px 13px 20px;
  line-height: 1.3;
  font-size: 13px;
  font-size: 1.08333em;
  min-height: 1px;
}

.leaflet-popup-content p {
  margin: 17px 0;
  margin: 1.3em 0;
}

.leaflet-popup-tip-container {
  width: 40px;
  height: 20px;
  position: absolute;
  left: 50%;
  margin-top: -1px;
  margin-left: -20px;
  overflow: hidden;
  pointer-events: none;
}

.leaflet-popup-tip {
  width: 17px;
  height: 17px;
  padding: 1px;
  margin: -10px auto 0;
  pointer-events: auto;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
  background: white;
  color: #333;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4);
}

.leaflet-container a.leaflet-popup-close-button {
  position: absolute;
  top: 0;
  right: 0;
  border: none;
  text-align: center;
  width: 24px;
  height: 24px;
  font: 16px/24px Tahoma, Verdana, sans-serif;
  color: #757575;
  text-decoration: none;
  background: transparent;
}

.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
  color: #585858;
}

.leaflet-popup-scrolled {
  overflow: auto;
}

.leaflet-oldie .leaflet-popup-content-wrapper {
  -ms-zoom: 1;
}

.leaflet-oldie .leaflet-popup-tip {
  width: 24px;
  margin: 0 auto;
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
  filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
  border: 1px solid #999;
}

/* div icon */
.leaflet-div-icon {
  background: #fff;
  border: 1px solid #666;
}

/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
  position: absolute;
  padding: 6px;
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 3px;
  color: #222;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

.leaflet-tooltip.leaflet-interactive {
  cursor: pointer;
  pointer-events: auto;
}

.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
  position: absolute;
  pointer-events: none;
  border: 6px solid transparent;
  background: transparent;
  content: "";
}

/* Directions */
.leaflet-tooltip-bottom {
  margin-top: 6px;
}

.leaflet-tooltip-top {
  margin-top: -6px;
}

.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
  left: 50%;
  margin-left: -6px;
}

.leaflet-tooltip-top:before {
  bottom: 0;
  margin-bottom: -12px;
  border-top-color: #fff;
}

.leaflet-tooltip-bottom:before {
  top: 0;
  margin-top: -12px;
  margin-left: -6px;
  border-bottom-color: #fff;
}

.leaflet-tooltip-left {
  margin-left: -6px;
}

.leaflet-tooltip-right {
  margin-left: 6px;
}

.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
  top: 50%;
  margin-top: -6px;
}

.leaflet-tooltip-left:before {
  right: 0;
  margin-right: -12px;
  border-left-color: #fff;
}

.leaflet-tooltip-right:before {
  left: 0;
  margin-left: -12px;
  border-right-color: #fff;
}

/* Printing */
@media print {
  /* Prevent printers from removing background-images of controls. */
  .leaflet-control {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
.datepicker {
  width: min-content;
}
.datepicker:not(.active) {
  display: none;
}

.datepicker-dropdown {
  position: absolute;
  z-index: 20;
  padding-top: 4px;
}
.datepicker-dropdown.datepicker-orient-top {
  padding-top: 0;
  padding-bottom: 4px;
}

.datepicker-picker {
  display: flex;
  flex-direction: column;
  border-radius: 4px;
  background-color: hsl(0, 0%, 100%);
}
.datepicker-dropdown .datepicker-picker {
  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
}

.datepicker-main {
  flex: auto;
  padding: 2px;
}

.datepicker-footer {
  box-shadow: inset 0 1px 1px rgba(10, 10, 10, 0.1);
  background-color: hsl(0, 0%, 96%);
}

.datepicker-title {
  box-shadow: inset 0 -1px 1px rgba(10, 10, 10, 0.1);
  background-color: hsl(0, 0%, 96%);
  padding: 0.375rem 0.75rem;
  text-align: center;
  font-weight: 700;
}

.datepicker-controls {
  display: flex;
}
.datepicker-header .datepicker-controls {
  padding: 2px 2px 0;
}
.datepicker-controls .button {
  display: inline-flex;
  position: relative;
  align-items: center;
  justify-content: center;
  margin: 0;
  border: 1px solid gainsboro;
  border-radius: 4px;
  box-shadow: none;
  background-color: hsl(0, 0%, 100%);
  cursor: pointer;
  padding: calc(0.375em - 1px) 0.75em;
  height: 2.25em;
  vertical-align: top;
  text-align: center;
  line-height: 1.5;
  white-space: nowrap;
  color: hsl(0, 0%, 21%);
  font-size: 1rem;
}
.datepicker-controls .button:focus, .datepicker-controls .button:active {
  outline: none;
}
.datepicker-controls .button:hover {
  border-color: #b8b8b8;
  color: hsl(0, 0%, 21%);
}
.datepicker-controls .button:focus {
  border-color: hsl(217, 71%, 53%);
  color: hsl(0, 0%, 21%);
}
.datepicker-controls .button:focus:not(:active) {
  box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
}
.datepicker-controls .button:active {
  border-color: #474747;
  color: hsl(0, 0%, 21%);
}
.datepicker-controls .button[disabled] {
  cursor: not-allowed;
}
.datepicker-header .datepicker-controls .button {
  border-color: transparent;
  font-weight: bold;
}
.datepicker-header .datepicker-controls .button:hover {
  background-color: #f9f9f9;
}
.datepicker-header .datepicker-controls .button:active {
  background-color: #f2f2f2;
}
.datepicker-footer .datepicker-controls .button {
  flex: auto;
  margin: calc(0.375rem - 1px) 0.375rem;
  border-radius: 2px;
  font-size: 0.75rem;
}
.datepicker-controls .view-switch {
  flex: auto;
}
.datepicker-controls .prev-button,
.datepicker-controls .next-button {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
  flex: 0 0 14.2857142857%;
}
.datepicker-controls .prev-button.disabled,
.datepicker-controls .next-button.disabled {
  visibility: hidden;
}

.datepicker-view,
.datepicker-grid {
  display: flex;
}

.datepicker-view {
  align-items: stretch;
  width: 15.75rem;
}

.datepicker-grid {
  flex-wrap: wrap;
  flex: auto;
}

.datepicker .days {
  display: flex;
  flex-direction: column;
  flex: auto;
}
.datepicker .days-of-week {
  display: flex;
}
.datepicker .week-numbers {
  display: flex;
  flex-direction: column;
  flex: 0 0 9.6774193548%;
}
.datepicker .weeks {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex: auto;
}
.datepicker span {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  cursor: default;
  -webkit-touch-callout: none;
  user-select: none;
}
.datepicker .dow {
  height: 1.5rem;
  font-size: 0.875rem;
  font-weight: 700;
}
.datepicker .week {
  flex: auto;
  color: #b8b8b8;
  font-size: 0.75rem;
}

.datepicker-cell, .datepicker .days .dow {
  flex-basis: 14.2857142857%;
}

.datepicker-cell {
  height: 2.25rem;
}
.datepicker-cell:not(.day) {
  flex-basis: 25%;
  height: 4.5rem;
}
.datepicker-cell:not(.disabled):hover {
  background-color: #f9f9f9;
  cursor: pointer;
}
.datepicker-cell.focused:not(.selected) {
  background-color: #e9e9e9;
}
.datepicker-cell.selected, .datepicker-cell.selected:hover {
  background-color: hsl(217, 71%, 53%);
  color: #fff;
  font-weight: 600;
}
.datepicker-cell.disabled {
  color: gainsboro;
}
.datepicker-cell.prev:not(.disabled), .datepicker-cell.next:not(.disabled) {
  color: hsl(0, 0%, 48%);
}
.datepicker-cell.prev.selected, .datepicker-cell.next.selected {
  color: #e6e6e6;
}
.datepicker-cell.highlighted:not(.selected):not(.range):not(.today) {
  border-radius: 0;
  background-color: hsl(0, 0%, 96%);
}
.datepicker-cell.highlighted:not(.selected):not(.range):not(.today):not(.disabled):hover {
  background-color: #efefef;
}
.datepicker-cell.highlighted:not(.selected):not(.range):not(.today).focused {
  background-color: #e9e9e9;
}
.datepicker-cell.today:not(.selected) {
  background-color: hsl(171, 100%, 41%);
}
.datepicker-cell.today:not(.selected):not(.disabled) {
  color: #fff;
}
.datepicker-cell.today.focused:not(.selected) {
  background-color: #00ccad;
}
.datepicker-cell.range-end:not(.selected), .datepicker-cell.range-start:not(.selected) {
  background-color: #b8b8b8;
  color: #fff;
}
.datepicker-cell.range-end.focused:not(.selected), .datepicker-cell.range-start.focused:not(.selected) {
  background-color: #b3b3b3;
}
.datepicker-cell.range-start:not(.range-end) {
  border-radius: 4px 0 0 4px;
}
.datepicker-cell.range-end:not(.range-start) {
  border-radius: 0 4px 4px 0;
}
.datepicker-cell.range {
  border-radius: 0;
  background-color: gainsboro;
}
.datepicker-cell.range:not(.disabled):not(.focused):not(.today):hover {
  background-color: #d7d7d7;
}
.datepicker-cell.range.disabled {
  color: #c6c6c6;
}
.datepicker-cell.range.focused {
  background-color: #d1d1d1;
}

.datepicker-input.in-edit {
  border-color: #276bda;
}
.datepicker-input.in-edit:focus, .datepicker-input.in-edit:active {
  box-shadow: 0 0 0.25em 0.25em rgba(39, 107, 218, 0.2);
}

@font-face {
  font-family: "icons8";
  src: url("/font/icons/icons8.eot"); /* IE9 Compat Modes */
  src: url("/font/icons/icons8.eot?#iefix") format("embedded-opentype"), url("/font/icons/icons8.woff2") format("woff2"), url("/font/icons/icons8.woff") format("woff"), url("/font/icons/icons8.ttf") format("truetype"), url("/font/icons/icons8.svg#icons8") format("svg"); /* Legacy iOS */
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.icon {
  font-family: "icons8";
  line-height: inherit;
  color: inherit;
}
.icon.rss::before {
  content: "r";
}
.icon.bird_site::before {
  content: "t";
}
.icon.facebook::before {
  content: "f";
}
.icon.job_site::before {
  content: "i";
}
.icon.github::before {
  content: "<";
}
.icon.video_site::before {
  content: "y";
}
.icon.mastodon::before {
  content: "]";
}
.icon.photo_site::before {
  content: "c";
}

@font-face {
  font-family: "Abril Fatface";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/font/AbrilFatface/abrilfatface-regular-webfont.eot"); /* ie9 compat modes */
  src: url("/font/AbrilFatface/abrilfatface-regular-webfont.eot?#iefix") format("embedded-opentype"), url("/font/AbrilFatface/abrilfatface-regular-webfont.woff2") format("woff2"), url("/font/AbrilFatface/abrilfatface-regular-webfont.woff") format("woff"), url("/font/AbrilFatface/abrilfatface-regular-webfont.ttf") format("truetype"), url("/font/AbrilFatface/abrilfatface-regular-webfont.svg#abrilfatface-regular-webfont") format("svg"); /* legacy ios */
  unicode-range: U+0001-FB04;
}
@font-face {
  font-family: "Merriweather Sans";
  src: url("/font/MerriweatherSans/Merriweather Sans Bold.eot");
  src: url("/font/MerriweatherSans/Merriweather Sans Bold.eot?#iefix") format("embedded-opentype"), url("/font/MerriweatherSans/Merriweather Sans Bold.woff2") format("woff2"), url("/font/MerriweatherSans/Merriweather Sans Bold.woff") format("woff"), url("/font/MerriweatherSans/Merriweather Sans Bold.svg#Merriweather Sans Bold") format("svg");
  font-weight: 700;
  font-style: normal;
  font-stretch: normal;
  unicode-range: U+0001-FB04;
}
@font-face {
  font-family: "Merriweather Sans";
  src: url("/font/MerriweatherSans/Merriweather Sans Bold Italic.eot");
  src: url("/font/MerriweatherSans/Merriweather Sans Bold Italic.eot?#iefix") format("embedded-opentype"), url("/font/MerriweatherSans/Merriweather Sans Bold Italic.woff2") format("woff2"), url("/font/MerriweatherSans/Merriweather Sans Bold Italic.woff") format("woff"), url("/font/MerriweatherSans/Merriweather Sans Bold Italic.svg#Merriweather Sans Bold Italic") format("svg");
  font-weight: 700;
  font-style: italic;
  font-stretch: normal;
  unicode-range: U+0001-FB04;
}
@font-face {
  font-family: "Merriweather Sans";
  src: url("/font/MerriweatherSans/Merriweather Sans ExtraBold.eot");
  src: url("/font/MerriweatherSans/Merriweather Sans ExtraBold.eot?#iefix") format("embedded-opentype"), url("/font/MerriweatherSans/Merriweather Sans ExtraBold.woff2") format("woff2"), url("/font/MerriweatherSans/Merriweather Sans ExtraBold.woff") format("woff"), url("/font/MerriweatherSans/Merriweather Sans ExtraBold.svg#Merriweather Sans ExtraBold") format("svg");
  font-weight: 800;
  font-style: normal;
  font-stretch: normal;
  unicode-range: U+0001-FB04;
}
@font-face {
  font-family: "Merriweather Sans";
  src: url("/font/MerriweatherSans/Merriweather Sans ExtraBold Italic.eot");
  src: url("/font/MerriweatherSans/Merriweather Sans ExtraBold Italic.eot?#iefix") format("embedded-opentype"), url("/font/MerriweatherSans/Merriweather Sans ExtraBold Italic.woff2") format("woff2"), url("/font/MerriweatherSans/Merriweather Sans ExtraBold Italic.woff") format("woff"), url("/font/MerriweatherSans/Merriweather Sans ExtraBold Italic.svg#Merriweather Sans ExtraBold Italic") format("svg");
  font-weight: 800;
  font-style: italic;
  font-stretch: normal;
  unicode-range: U+0001-FB04;
}
@font-face {
  font-family: "Merriweather Sans";
  src: url("/font/MerriweatherSans/Merriweather Sans Italic.eot");
  src: url("/font/MerriweatherSans/Merriweather Sans Italic.eot?#iefix") format("embedded-opentype"), url("/font/MerriweatherSans/Merriweather Sans Italic.woff2") format("woff2"), url("/font/MerriweatherSans/Merriweather Sans Italic.woff") format("woff"), url("/font/MerriweatherSans/Merriweather Sans Italic.svg#Merriweather Sans Italic") format("svg");
  font-weight: 400;
  font-style: italic;
  font-stretch: normal;
  unicode-range: U+0001-FB04;
}
@font-face {
  font-family: "Merriweather Sans";
  src: url("/font/MerriweatherSans/Merriweather Sans Light.eot");
  src: url("/font/MerriweatherSans/Merriweather Sans Light.eot?#iefix") format("embedded-opentype"), url("/font/MerriweatherSans/Merriweather Sans Light.woff2") format("woff2"), url("/font/MerriweatherSans/Merriweather Sans Light.woff") format("woff"), url("/font/MerriweatherSans/Merriweather Sans Light.svg#Merriweather Sans Light") format("svg");
  font-weight: 300;
  font-style: normal;
  font-stretch: normal;
  unicode-range: U+0001-FB04;
}
@font-face {
  font-family: "Merriweather Sans";
  src: url("/font/MerriweatherSans/Merriweather Sans Light Italic.eot");
  src: url("/font/MerriweatherSans/Merriweather Sans Light Italic.eot?#iefix") format("embedded-opentype"), url("/font/MerriweatherSans/Merriweather Sans Light Italic.woff2") format("woff2"), url("/font/MerriweatherSans/Merriweather Sans Light Italic.woff") format("woff"), url("/font/MerriweatherSans/Merriweather Sans Light Italic.svg#Merriweather Sans Light Italic") format("svg");
  font-weight: 300;
  font-style: italic;
  font-stretch: normal;
  unicode-range: U+0001-FB04;
}
@font-face {
  font-family: "Merriweather Sans";
  src: url("/font/MerriweatherSans/Merriweather Sans Regular.eot");
  src: url("/font/MerriweatherSans/Merriweather Sans Regular.eot?#iefix") format("embedded-opentype"), url("/font/MerriweatherSans/Merriweather Sans Regular.woff2") format("woff2"), url("/font/MerriweatherSans/Merriweather Sans Regular.woff") format("woff"), url("/font/MerriweatherSans/Merriweather Sans Regular.svg#Merriweather Sans Regular") format("svg");
  font-weight: 400;
  font-style: normal;
  font-stretch: normal;
  unicode-range: U+0001-FB04;
}
body, html {
  font-family: "Merriweather Sans", sans-serif;
  height: 100%;
  padding: 0;
  margin: 0;
  font-size: 18px;
}

*, *::before, *::after {
  box-sizing: border-box;
}

/** To fix footer at the bottom of the page
    which is something most pages donesn't do
    we flex display body and flex-end the footer
*/
body {
  display: flex;
  flex-direction: column;
}

.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 32px;
  line-height: 72px;
}
@media screen and (max-width: 850px) {
  .site-header {
    flex-direction: column;
  }
}

.site-title, .site-title:visited, .site-title:active {
  display: flex;
  font-size: 22px;
  gap: 6px;
  justify-content: center;
  font-weight: 300;
  color: #000000;
  text-decoration: none;
  white-space: nowrap;
}
.site-title strong, .site-title:visited strong, .site-title:active strong {
  font-size: 24px;
}

.site-header-logo {
  width: 25px;
}

.site-title:hover {
  color: #000000;
  background: transparent;
}

.site-title strong {
  font-family: "Abril Fatface", serif;
  font-weight: 600;
}

.site-nav {
  line-height: 1.6em;
  font-size: 17px;
  font-weight: 400;
  display: flex;
  gap: 48px;
}
.site-nav a {
  color: #2a3439;
  text-decoration: underline;
  white-space: nowrap;
}
.site-nav a:hover {
  border-bottom: 5px solid #237fa8;
  background: transparent;
  color: #2a3439;
  text-decoration: none;
}
@media screen and (max-width: 1000px) {
  .site-nav {
    gap: 20px;
    margin: 12px 0;
  }
}
@media screen and (max-width: 590px) {
  .site-nav {
    display: flex;
    flex-direction: column;
    gap: 20px;
    text-align: center;
  }
}

.site-nav-ul {
  list-style: none;
  display: flex;
  gap: 48px;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 1000px) {
  .site-nav-ul {
    gap: 20px;
  }
}
@media screen and (max-width: 590px) {
  .site-nav-ul {
    justify-content: center;
    flex-wrap: wrap;
    line-height: 1.5em;
    align-items: center;
    gap: 6px;
  }
}

.language-selector {
  font-family: "Merriweather Sans", sans-serif;
  padding: 4px;
  background: #dcdcdc;
  border: 2px solid #dcdcdc;
  border-radius: 3px;
  outline: #2a3439;
}
@media screen and (max-width: 590px) {
  .language-selector {
    margin-bottom: 24px;
    font-size: 12px;
  }
}
.language-selector:focus {
  border-color: #237fa8;
}

.site-footer {
  display: flex;
  flex-direction: column;
  gap: 24px;
  background: #3d3d41;
  padding: 56px 0;
  color: #ffffff;
  line-height: 2em;
}
.site-footer a {
  color: #ffffff;
  font-size: 16px;
}
.site-footer a:hover {
  color: #ffc832;
}

.site-footer-col-container {
  display: flex;
  gap: 75px;
}
@media screen and (max-width: 1000px) {
  .site-footer-col-container {
    gap: 16px;
  }
}
@media screen and (max-width: 850px) {
  .site-footer-col-container {
    flex-direction: column;
    gap: 32px;
  }
}

.site-footer-column {
  flex-grow: 1;
  flex-shrink: 0;
  flex: 1 1 0px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media screen and (max-width: 1000px) {
  .site-footer-column {
    gap: 32px;
  }
}

.site-footer-title {
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 12px;
}

.site-footer-page-body {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
}

.site-after-footer {
  background: #2a3439;
  padding: 24px 0;
}

.site-footer-nav-ul {
  list-style: none;
  padding: 0;
  margin: 0;
  line-height: 2em;
  font-weight: 400;
}

.site-footer-social-links {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.site-footer-social-links a {
  font-size: 32px;
  text-decoration: none;
}
.site-footer-social-links a:hover {
  color: #ffc832;
}

.site-footer-contancts-ul {
  line-height: 1.5em;
  font-size: 16px;
}
.site-footer-contancts-ul a {
  text-decoration: none;
  color: #ffc832;
}
.site-footer-contancts-ul a:hover {
  text-decoration: underline;
}
.site-footer-contancts-ul strong {
  font-weight: 700;
}

.site-footer-partners-ul {
  line-height: 1.5em;
}
.site-footer-partners-ul a {
  text-decoration: none;
  color: #ffc832;
}
.site-footer-partners-ul a:hover {
  text-decoration: underline;
}

.site-footer-legal-info {
  font-size: 16px;
  line-height: 1.6em;
}
.site-footer-legal-info a {
  color: #ffc832;
  text-decoration: none;
}
.site-footer-legal-info a:hover {
  text-decoration: underline;
}

.site-licensing-note {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  font-size: 14px;
  color: #dcdcdc;
  line-height: 1.5em;
  text-align: center;
}
.site-licensing-note a {
  color: #ffc832;
}

.home-page-body {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
}

.home-header {
  padding: 32px 0;
}

.home-header-content {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  padding-top: 72px;
  padding-bottom: 48px;
}
@media screen and (max-width: 850px) {
  .home-header-content {
    flex-direction: column;
    gap: 24px;
    padding-top: 32px;
    padding-bottom: 0;
    align-items: stretch;
  }
}

.home-header-tag {
  line-height: 1em;
  flex-grow: 1;
}
@media screen and (max-width: 1000px) {
  .home-header-tag {
    max-width: 100%;
  }
}

.home-header-headline {
  font-size: 120px;
  font-weight: 300;
  line-height: 52px;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 850px) {
  .home-header-headline {
    text-align: center;
  }
}
.home-header-headline strong {
  font-family: "Abril Fatface", serif;
  font-weight: 900;
  display: block;
}
.home-header-headline small {
  font-weight: 300;
  font-size: 32px;
  color: #2a3439;
  letter-spacing: 6px;
}

.home-header-tag-line {
  display: block;
  font-size: 26px;
  font-weight: 400;
  line-height: 1.1em;
  margin: 12px 0;
  color: #000000;
  text-decoration: none;
  padding: 6px 12px;
  line-height: 32px;
  transform: translate(-12px, -6px);
}
@media screen and (max-width: 850px) {
  .home-header-tag-line {
    text-align: center;
    transform: translate(0, 0);
    min-height: 110px;
  }
}
.home-header-tag-line:hover {
  background: #000000;
  border-radius: 6px;
  color: #ffffff;
  font-family: monospace;
  font-size: 22px;
  text-transform: lowercase;
}
.home-header-tag-line:hover::before {
  content: "$";
}
.home-header-tag-line:hover .home-header-tag-line-occupation {
  color: #ffc832;
}

@keyframes blinkTextCursor {
  from {
    color: #dcdcdc;
  }
  to {
    color: transparent;
  }
}
.home-header-tag-line-we-are {
  font-weight: 600;
}

.home-header-tag-line-occupation {
  display: inline-block;
  color: #237fa8;
  font-weight: 400;
}
.home-header-tag-line-occupation::after {
  content: "▁";
}
@media not (prefers-reduced-motion) {
  .home-header-tag-line-occupation::after {
    animation: blinkTextCursor 800ms steps(44) infinite normal;
  }
}
@media (prefers-reduced-motion) {
  .home-header-tag-line-occupation::after {
    color: #dcdcdc;
  }
}
@media screen and (max-width: 850px) {
  .home-header-tag-line-occupation {
    display: block;
  }
}

@media not (prefers-reduced-motion) {
  .has-js .home-header-tag-line-default {
    display: none;
  }
}

.home-header-join-us-cta {
  display: flex;
  flex-direction: column;
  font-size: 24px;
  max-width: 450px;
  color: #2a3439;
}
@media screen and (max-width: 1000px) {
  .home-header-join-us-cta {
    max-width: 270px;
  }
}
@media screen and (max-width: 850px) {
  .home-header-join-us-cta {
    display: block;
    max-width: 100%;
  }
}

.home-header-join-us-text {
  line-height: 1.5em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  font-size: 20px;
  margin: 12px 0;
}
.home-header-join-us-text a, .home-header-join-us-text a:visited {
  color: #237fa8;
}
.home-header-join-us-text a:hover, .home-header-join-us-text a:active {
  background: #237fa8;
  color: #ffffff;
}

.home-header-join-us-cta-btn {
  position: relative;
  border-radius: 3px;
  background: #ffc832;
  color: #000000;
  font-family: "Fira Sans", sans-serif;
  font-size: 28px;
  border: none;
  padding: 24px 82px;
  font-weight: 700;
  cursor: pointer;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  font-size: 20px;
  display: inline-block;
  padding: 24px;
  margin-bottom: 24px;
}
.home-header-join-us-cta-btn:hover {
  background: #E8B322;
}
.home-header-join-us-cta-btn.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.home-header-join-us-cta-btn:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 1000px) {
  .home-header-join-us-cta-btn {
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 590px) {
  .home-header-join-us-cta-btn {
    font-size: 16px;
    font-stretch: condensed;
  }
}

.home-participate {
  background: #237fa8;
  color: #ffffff;
  padding: 64px 0;
}

.home-participate-title {
  display: inline-block;
  font-size: 48px;
  letter-spacing: -2px;
  font-weight: 800;
  line-height: 0.9em;
  padding: 0;
  margin: 0;
  border-bottom: solid 10px #ffc832;
}
@media screen and (max-width: 1000px) {
  .home-participate-title {
    line-height: 1.1em;
  }
}

.home-participate-container {
  display: flex;
  gap: 75px;
  padding-top: 32px;
}
@media screen and (max-width: 1000px) {
  .home-participate-container {
    flex-direction: column;
    gap: 24px;
  }
}

.home-participate-item {
  flex: 1 1 0px;
}

.home-participate-content {
  font-size: 17px;
  line-height: 1.6em;
}
.home-participate-content p {
  margin: 12px 0;
}
.home-participate-content strong {
  font-weight: 700;
}
.home-participate-content em {
  font-style: italic;
}
.home-participate-content a, .home-participate-content a:visited {
  color: #ffc832;
  font-weight: 600;
}
.home-participate-content a:hover, .home-participate-content a:active, .home-participate-content a:visited:hover, .home-participate-content a:visited:active {
  background: #ffc832;
  color: #237fa8;
}
.home-participate-content ul {
  margin-left: 28px;
  list-style-type: "👍 ";
}
.home-participate-content ul li {
  margin: 6px 0;
}

.home-participate-item-title {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  margin: 32px 0;
}

.home-membership {
  background: #ffc832;
  padding: 64px 0;
}
.home-membership p {
  margin: 6px 0;
}

.home-membership-container {
  display: flex;
  gap: 75px;
}
@media screen and (max-width: 1000px) {
  .home-membership-container {
    flex-direction: column;
    gap: 24px;
  }
}

.home-membership-description {
  line-height: 1.5em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  font-size: 20px;
}
.home-membership-description strong {
  font-weight: 600;
}
.home-membership-description a, .home-membership-description a:visited, .home-membership-description a:active {
  color: #237fa8;
  font-weight: 700;
}
.home-membership-description a:hover {
  color: #ffc832;
  background: #237fa8;
}

.home-membership-title {
  display: inline-block;
  font-size: 48px;
  letter-spacing: -2px;
  font-weight: 800;
  line-height: 0.9em;
  padding: 0;
  margin: 0;
  border-bottom: solid 10px #000000;
}
@media screen and (max-width: 1000px) {
  .home-membership-title {
    line-height: 1.1em;
  }
}

.home-membership-item {
  flex: 1 1 0px;
}
.home-membership-item p {
  font-size: 17px;
  line-height: 1.6em;
}

.home-membership-item-title {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  margin: 52px 0;
}
@media screen and (max-width: 1000px) {
  .home-membership-item-title {
    margin: 24px 0;
  }
}

.home-events {
  padding: 48px 0;
}

.home-events-title {
  display: inline-block;
  font-size: 48px;
  letter-spacing: -2px;
  font-weight: 800;
  line-height: 0.9em;
  padding: 0;
  margin: 0;
  border-bottom: solid 10px #ffc832;
}
@media screen and (max-width: 1000px) {
  .home-events-title {
    line-height: 1.1em;
  }
}

.home-events-description {
  line-height: 1.5em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  font-size: 19px;
}
.home-events-description strong {
  font-weight: 600;
}
.home-events-description a, .home-events-description a:visited, .home-events-description a:active {
  color: #237fa8;
}
.home-events-description a:hover {
  color: #ffffff;
  background: #237fa8;
}

.home-event-title {
  font-weight: 600;
  font-size: 32px;
  display: inline-block;
}
.home-event-title:hover {
  text-decoration: underline;
}

.home-event-link {
  color: #000000;
  text-decoration: none;
}

.home-event-description {
  line-height: 1.5em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  font-size: 17px;
  line-height: 1.6em;
}

.home-event-list {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 64px 0 32px 0;
}

.home-events-empty {
  background: rgba(35, 127, 168, 0.2);
  padding: 12px;
  border: 2px solid #237fa8;
}
.home-events-empty a, .home-events-empty a:visited, .home-events-empty a:active {
  color: #237fa8;
}
.home-events-empty a:hover {
  color: #ffffff;
  background: #237fa8;
}
.home-events-empty p {
  line-height: 1.5em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin: 20px 0;
  text-align: justify;
}
@media screen and (max-width: 590px) {
  .home-events-empty p {
    text-align: left;
  }
}
.home-events-empty strong {
  font-weight: 700;
}
.home-events-empty em {
  font-style: italic;
}
.home-events-empty h2 {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  margin: 36px 0 0 0;
  font-weight: 800;
}
.home-events-empty h3 {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  margin: 36px 0 0 0;
  line-height: 1.2em;
}
.home-events-empty h4 {
  font-size: 22px;
  font-weight: 800;
  margin: 36px 0 0 0;
}
.home-events-empty ul {
  list-style-type: disclosure-closed;
  margin: 24px 0 24px 32px;
  font-weight: 500;
  text-align: left;
}
.home-events-empty ul li {
  margin: 6px 0;
  line-height: 1.5em;
}
.home-events-empty ol {
  list-style-type: numeric;
  line-height: 1.5em;
  padding: 12px 0 12px 22px;
  text-align: justify;
}
@media screen and (max-width: 590px) {
  .home-events-empty ol {
    text-align: left;
  }
}
.home-events-empty ol li {
  padding: 8px 0;
}
.home-events-empty ol ol {
  list-style-type: lower-alpha;
  padding: 8px 0 0 42px;
}
.home-events-empty ol ol li {
  padding: 3px 0;
}
.home-events-empty img {
  max-width: 100%;
}
.home-events-empty blockquote {
  background: rgba(35, 127, 168, 0.2);
  border-left: 8px solid #237fa8;
  padding: 6px 32px;
  text-align: left;
}
.home-events-empty blockquote p {
  text-align: left;
}

.home-more-events {
  color: #237fa8;
  font-weight: 700;
  font-size: 20px;
  text-align: center;
  padding: 12px;
  border: 2px solid transparent;
  border-radius: 3px;
}
.home-more-events:hover {
  border-color: #237fa8;
  background: rgba(35, 127, 168, 0.2);
  text-decoration: none;
}

.home-events-body {
  display: flex;
  flex-direction: column;
}

.single-page-header {
  background: #237fa8;
  color: #ffffff;
  padding-top: 72px;
  padding-bottom: 32px;
}

.about-page-header {
  background: #237fa8;
  color: #ffffff;
  padding-top: 72px;
}

.single-page-sub-nav {
  flex: 1;
  display: flex;
  overflow: auto;
  gap: 6px;
}
.single-page-sub-nav a {
  color: #ffffff;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: 12px 24px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  font-weight: 300;
  border-bottom: 0;
}
.single-page-sub-nav a:hover {
  background: rgba(255, 255, 255, 0.25);
}
.single-page-sub-nav a.active {
  background: #ffffff;
  color: #237fa8;
  border-color: #ffffff;
  font-weight: 600;
}
@media screen and (max-width: 590px) {
  .single-page-sub-nav a {
    font-size: 16px;
    padding: 12px;
  }
}

.single-page-header-content {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.single-page-title {
  font-weight: 800;
  letter-spacing: -2px;
  font-size: 68px;
  border-bottom: solid 10px #ffc832;
  align-self: flex-start;
  justify-self: flex-start;
}
@media screen and (max-width: 590px) {
  .single-page-title {
    font-size: 48px;
  }
}

.single-page-sub-title {
  font-weight: 400;
  font-size: 27px;
  line-height: 1.4em;
}

.single-page-description {
  display: flex;
  flex-direction: column;
  line-height: 1.7em;
  font-weight: 600;
  font-size: 18px;
  padding-top: 16px;
}
.single-page-description p {
  margin: 12px 0;
  text-align: justify;
}
@media screen and (max-width: 590px) {
  .single-page-description p {
    text-align: left;
  }
}
.single-page-description em {
  font-style: italic;
  font-weight: 300;
}
.single-page-description .contact-list {
  margin: 0 0 12px 0;
}

.single-page-body {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  padding-top: 32px;
  padding-bottom: 32px;
  flex-grow: 1;
  font-size: 16px;
}
.single-page-body a, .single-page-body a:visited, .single-page-body a:active {
  color: #237fa8;
}
.single-page-body a:hover {
  color: #ffffff;
  background: #237fa8;
}
.single-page-body p {
  line-height: 1.5em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin: 20px 0;
  text-align: justify;
}
@media screen and (max-width: 590px) {
  .single-page-body p {
    text-align: left;
  }
}
.single-page-body strong {
  font-weight: 700;
}
.single-page-body em {
  font-style: italic;
}
.single-page-body h2 {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  margin: 36px 0 0 0;
  font-weight: 800;
}
.single-page-body h3 {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  margin: 36px 0 0 0;
  line-height: 1.2em;
}
.single-page-body h4 {
  font-size: 22px;
  font-weight: 800;
  margin: 36px 0 0 0;
}
.single-page-body ul {
  list-style-type: disclosure-closed;
  margin: 24px 0 24px 32px;
  font-weight: 500;
  text-align: left;
}
.single-page-body ul li {
  margin: 6px 0;
  line-height: 1.5em;
}
.single-page-body ol {
  list-style-type: numeric;
  line-height: 1.5em;
  padding: 12px 0 12px 22px;
  text-align: justify;
}
@media screen and (max-width: 590px) {
  .single-page-body ol {
    text-align: left;
  }
}
.single-page-body ol li {
  padding: 8px 0;
}
.single-page-body ol ol {
  list-style-type: lower-alpha;
  padding: 8px 0 0 42px;
}
.single-page-body ol ol li {
  padding: 3px 0;
}
.single-page-body img {
  max-width: 100%;
}
.single-page-body blockquote {
  background: rgba(35, 127, 168, 0.2);
  border-left: 8px solid #237fa8;
  padding: 6px 32px;
  text-align: left;
}
.single-page-body blockquote p {
  text-align: left;
}

.about-page-body {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  padding-top: 32px;
  padding-bottom: 32px;
  flex-grow: 1;
}

.about-page-right {
  float: right;
  flex-grow: 0;
  flex-shrink: 0;
  width: 400px;
  margin-left: 32px;
}
@media screen and (max-width: 1000px) {
  .about-page-right {
    float: none;
    width: 100%;
    text-align: center;
    margin-left: 0;
  }
  .about-page-right > img {
    max-width: 300px;
  }
}

.about-page-left {
  flex-grow: 1;
  flex-shrink: 1;
  font-size: 16px;
}
.about-page-left a, .about-page-left a:visited, .about-page-left a:active {
  color: #237fa8;
}
.about-page-left a:hover {
  color: #ffffff;
  background: #237fa8;
}
.about-page-left p {
  line-height: 1.5em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin: 20px 0;
  text-align: justify;
}
@media screen and (max-width: 590px) {
  .about-page-left p {
    text-align: left;
  }
}
.about-page-left strong {
  font-weight: 700;
}
.about-page-left em {
  font-style: italic;
}
.about-page-left h2 {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  margin: 36px 0 0 0;
  font-weight: 800;
}
.about-page-left h3 {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  margin: 36px 0 0 0;
  line-height: 1.2em;
}
.about-page-left h4 {
  font-size: 22px;
  font-weight: 800;
  margin: 36px 0 0 0;
}
.about-page-left ul {
  list-style-type: disclosure-closed;
  margin: 24px 0 24px 32px;
  font-weight: 500;
  text-align: left;
}
.about-page-left ul li {
  margin: 6px 0;
  line-height: 1.5em;
}
.about-page-left ol {
  list-style-type: numeric;
  line-height: 1.5em;
  padding: 12px 0 12px 22px;
  text-align: justify;
}
@media screen and (max-width: 590px) {
  .about-page-left ol {
    text-align: left;
  }
}
.about-page-left ol li {
  padding: 8px 0;
}
.about-page-left ol ol {
  list-style-type: lower-alpha;
  padding: 8px 0 0 42px;
}
.about-page-left ol ol li {
  padding: 3px 0;
}
.about-page-left img {
  max-width: 100%;
}
.about-page-left blockquote {
  background: rgba(35, 127, 168, 0.2);
  border-left: 8px solid #237fa8;
  padding: 6px 32px;
  text-align: left;
}
.about-page-left blockquote p {
  text-align: left;
}

.single-page-header-download {
  color: rgba(255, 255, 255, 0.7);
  font-size: 16px;
}

.single-page-header-sub-description {
  line-height: 1.7em;
  font-size: 16px;
  padding-top: 8px;
}
.single-page-header-sub-description p {
  margin: 12px 0;
}
.single-page-header-sub-description a {
  color: #ffc832;
}

.single-page-header-download-link {
  color: #ffc832;
}

.register-page-header {
  background: #ffc832;
  border-top: 6px solid #237fa8;
  padding-top: 72px;
  padding-bottom: 32px;
}

.register-page-done {
  display: flex;
  flex-direction: column;
  background: #ffc832;
  border-top: 6px solid #237fa8;
  padding-top: 72px;
  padding-bottom: 32px;
  align-items: center;
  justify-content: center;
  flex-grow: 1;
}

.register-done-home-link {
  display: inline-block;
  border: 4px solid #000000;
  font-weight: 800;
  color: #000000;
  font-size: 26px;
  padding: 12px 32px;
  border-radius: 32px;
  text-decoration: none;
  margin-top: 32px;
  text-align: center;
}
.register-done-home-link:hover {
  background: #237fa8;
  color: #ffffff;
}
@media screen and (max-width: 1000px) {
  .register-done-home-link {
    width: 100%;
  }
}

.register-page-header-content {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
}

.register-page-title {
  display: inline-block;
  font-weight: 800;
  letter-spacing: -2px;
  font-size: 68px;
  border-bottom: solid 10px #000000;
}
@media screen and (max-width: 915px) {
  .register-page-title {
    font-size: 42px;
  }
}

.register-page-description {
  padding-top: 24px;
  line-height: 1.7em;
  font-weight: 600;
  font-size: 18px;
}
.register-page-description a, .register-page-description a:visited, .register-page-description a:active {
  color: #237fa8;
}
.register-page-description a:hover {
  color: #ffffff;
  background: #237fa8;
}
.register-page-description p {
  margin: 12px 0;
}
.register-page-description em {
  font-style: italic;
  font-weight: 300;
}

.register-page-body {
  background: #237fa8;
  color: #ffffff;
  padding: 48px 0;
  font-weight: 800;
  flex-grow: 1;
}

.register-page-content {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
}

.register-form-width-container {
  display: flex;
  flex-direction: column;
  gap: 48px;
  max-width: 865px;
}

.register-form-footer {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  padding-top: 32px;
  padding-bottom: 32px;
}

.register-form-footer-content {
  display: flex;
  gap: 64px;
}
@media screen and (max-width: 915px) {
  .register-form-footer-content {
    flex-direction: column;
  }
}

.register-form-footer-left {
  font-weight: 600;
  width: 400px;
  gap: 6px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.register-form-footer-left > img {
  /* width: 250px; */
  max-width: 100%;
}
@media screen and (max-width: 915px) {
  .register-form-footer-left {
    display: none;
  }
}

.register-form-footer-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding-top: 32px;
}
.register-form-footer-right .error-message {
  color: #ef1f1f;
  text-align: center;
  width: 100%;
  margin-top: 6px;
  text-transform: uppercase;
}

.register-signature-wrapper {
  display: flex;
  flex-direction: column;
  width: 500px;
  max-width: 100%;
  text-align: center;
  gap: 6px;
}
@media screen and (max-width: 915px) {
  .register-signature-wrapper {
    width: 100%;
  }
}

.register-signature {
  position: relative;
  display: flex;
  align-items: center;
  position: relative;
  border: 4px solid #237fa8;
  border-radius: 8px;
  background: #ffffff;
  height: 200px;
  flex-grow: 1;
  z-index: 2;
}
.error .register-signature {
  border-color: #ef1f1f;
}
.register-signature.done .register-signature-default {
  display: none;
}
.register-signature.done .register-signature-clear-btn {
  display: block;
}
.register-signature.done:not(.active):hover .register-signature-default {
  display: flex;
}
.register-signature.drag .register-signature-drag {
  display: flex;
}
.register-signature.drag .register-signature-default {
  display: none;
}
.register-signature.active .register-signature-default {
  display: none;
}
.register-signature.active .register-signature-signing {
  display: flex;
}
.register-signature button {
  position: relative;
}
.register-signature img {
  margin: 0 auto;
  max-width: 100%;
  max-height: 100%;
}

.register-signature-default {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: center;
  align-items: center;
  gap: 6px;
  background: rgba(35, 127, 168, 0.2);
  z-index: 1;
}
.register-signature-default button {
  font-family: "Merriweather Sans", sans-serif;
  background: #ffc832;
  color: #000000;
  width: 140px;
  border: 2px solid #237fa8;
  font-weight: 600;
  font-size: 20px;
  padding: 6px 18px;
  border-radius: 3px;
  cursor: pointer;
  background: transparent;
  border: 4px solid #ffc832;
}
.register-signature-default button:hover {
  background: #ffc832;
}
.register-signature-default button.register-signature-clear-btn {
  border-color: #2a3439;
}
.register-signature-default button.register-signature-clear-btn:hover {
  background: #2a3439;
  color: #ffffff;
}

.register-signature-default-btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}

.register-signature-clear-btn {
  display: none;
}

.register-signature-drag-info {
  color: #2a3439;
  font-weight: 600;
  font-size: 16px;
  text-shadow: 1px 1px 2px #ffffff;
}

.register-signature-drag {
  display: none;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  flex-grow: 1;
  text-align: center;
  color: #ffffff;
  background: #237fa8;
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -1px;
}

.register-signature-signing {
  display: none;
  position: absolute;
  top: -28px;
  right: 5px;
  justify-content: flex-end;
  gap: 6px;
}
.register-signature-signing button {
  font-family: "Merriweather Sans", sans-serif;
  font-size: 16px;
  display: block;
  border: none;
  background: #dcdcdc;
  padding: 2px 6px;
  font-weight: 600;
  cursor: pointer;
  border-top-right-radius: 8px;
  border-top-left-radius: 8px;
}
.register-signature-signing button.register-signature-confirm-btn {
  color: #000000;
  background: #237fa8;
  color: #ffffff;
}
.register-signature-signing button:hover {
  background: #ffc832;
  color: #000000;
}

.x-sign-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(42, 52, 57, 0.6);
  z-index: 1;
}

.registration-signature-label {
  color: #237fa8;
  font-weight: 600;
  text-transform: uppercase;
}

.registration-submit-wrapper {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-self: flex-end;
}
.registration-submit-wrapper noscript {
  color: #ef1f1f;
  font-weight: 600;
}
@media screen and (max-width: 1000px) {
  .registration-submit-wrapper {
    align-self: stretch;
  }
}

.registration-submit-btn {
  position: relative;
  border-radius: 3px;
  background: #ffc832;
  color: #000000;
  font-family: "Fira Sans", sans-serif;
  font-size: 28px;
  border: none;
  padding: 24px 82px;
  font-weight: 700;
  cursor: pointer;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  align-self: flex-end;
}
.registration-submit-btn:hover {
  background: #E8B322;
}
.registration-submit-btn.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
@media screen and (max-width: 1000px) {
  .registration-submit-btn {
    align-self: stretch;
  }
}
.registration-submit-btn:disabled {
  opacity: 0.5;
}

.registration-approve-notify {
  color: #ef1f1f;
  font-weight: 600;
  line-height: 1.4em;
}

.register-form-fields {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.register-fieldset {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.register-form-field {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 400px;
  max-width: 100%;
}
@media screen and (max-width: 915px) {
  .register-form-field {
    width: auto;
    max-width: 400px;
  }
}
.register-form-field.small {
  width: 170px;
}
.register-form-field .error-message {
  color: #ef1f1f;
}

.register-form-label {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.register-form-input {
  font-family: "Merriweather Sans", sans-serif;
  background: transparent;
  border: 4px solid #ffc832;
  border-radius: 8px;
  padding: 6px 12px;
  color: #ffffff;
  font-size: 20px;
  outline: none;
  width: 100%;
}
.register-form-input:focus {
  background: rgba(255, 255, 255, 0.4);
  color: #000000;
}
.register-form-input:focus::placeholder {
  color: #000000;
}
.register-form-input::placeholder {
  color: #ffffff;
  opacity: 0.5;
}
.register-form-input.error {
  border-color: #ef1f1f;
}

.register-field-row {
  display: flex;
  gap: 64px;
}
@media screen and (max-width: 915px) {
  .register-field-row {
    flex-direction: column;
    gap: 32px;
  }
}

.register-form-confirmation {
  max-width: 965px;
  display: flex;
  gap: 32px;
  flex-direction: column;
  align-items: center;
}

.register-approve {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.6em;
}
.register-approve a, .register-approve a:visited, .register-approve a:active {
  color: #237fa8;
}
.register-approve a:hover {
  color: #ffffff;
  background: #237fa8;
}
.register-approve input {
  width: 18px;
  height: 18px;
}

.datepicker-picker {
  color: #000000;
}
.datepicker-picker .datepicker-grid {
  background: #dcdcdc;
}
.datepicker-picker .datepicker-cell.day.selected {
  background: #237fa8;
}

#register-member-form .form-error {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  background-color: #ef1f1f;
  color: #ffffff;
  padding-top: 32px;
  padding-bottom: 32px;
  font-weight: 800;
  text-align: center;
  margin-bottom: 32px;
}

.registration-complete-notice {
  background: rgba(35, 127, 168, 0.2);
  width: 100%;
  padding: 32px 64px;
  border: 4px solid #237fa8;
  font-weight: 600;
  text-align: center;
  line-height: 1.6em;
}

.events-header {
  border-bottom: 6px solid #237fa8;
  border-top: 6px solid #237fa8;
  background: #dcdcdc;
}

.events-header-content {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  padding-top: 72px;
  padding-bottom: 32px;
}

.events-title {
  display: inline-block;
  font-size: 48px;
  letter-spacing: -2px;
  font-weight: 800;
  line-height: 0.9em;
  padding: 0;
  margin: 0;
  border-bottom: solid 10px #237fa8;
  font-size: 68px;
  line-height: 1.1em;
}
@media screen and (max-width: 1000px) {
  .events-title {
    line-height: 1.1em;
  }
}
@media screen and (max-width: 590px) {
  .events-title {
    font-size: 52px;
  }
}

.events-sub-title {
  font-weight: 400;
  font-size: 27px;
  color: #2a3439;
  margin-top: 24px;
}

.events-meta-content a, .events-meta-content a:visited, .events-meta-content a:active {
  color: #237fa8;
}
.events-meta-content a:hover {
  color: #ffffff;
  background: #237fa8;
}
.events-meta-content p {
  line-height: 1.5em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin: 20px 0;
  text-align: justify;
}
@media screen and (max-width: 590px) {
  .events-meta-content p {
    text-align: left;
  }
}
.events-meta-content strong {
  font-weight: 700;
}
.events-meta-content em {
  font-style: italic;
}
.events-meta-content h2 {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  margin: 36px 0 0 0;
  font-weight: 800;
}
.events-meta-content h3 {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  margin: 36px 0 0 0;
  line-height: 1.2em;
}
.events-meta-content h4 {
  font-size: 22px;
  font-weight: 800;
  margin: 36px 0 0 0;
}
.events-meta-content ul {
  list-style-type: disclosure-closed;
  margin: 24px 0 24px 32px;
  font-weight: 500;
  text-align: left;
}
.events-meta-content ul li {
  margin: 6px 0;
  line-height: 1.5em;
}
.events-meta-content ol {
  list-style-type: numeric;
  line-height: 1.5em;
  padding: 12px 0 12px 22px;
  text-align: justify;
}
@media screen and (max-width: 590px) {
  .events-meta-content ol {
    text-align: left;
  }
}
.events-meta-content ol li {
  padding: 8px 0;
}
.events-meta-content ol ol {
  list-style-type: lower-alpha;
  padding: 8px 0 0 42px;
}
.events-meta-content ol ol li {
  padding: 3px 0;
}
.events-meta-content img {
  max-width: 100%;
}
.events-meta-content blockquote {
  background: rgba(35, 127, 168, 0.2);
  border-left: 8px solid #237fa8;
  padding: 6px 32px;
  text-align: left;
}
.events-meta-content blockquote p {
  text-align: left;
}

.events-event-poster {
  display: flex;
  justify-content: flex-start;
  flex-shrink: 0;
  flex-grow: 0;
}

.events-content {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding-top: 64px;
  padding-bottom: 64px;
}

.events-list {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.events-list.past {
  opacity: 0.7;
}

.events-event-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.events-event-head {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.events-event-title {
  font-weight: 600;
  font-size: 32px;
  display: inline-block;
}

.events-event-link {
  color: #000000;
  text-decoration: none;
}
.events-event-link:hover {
  text-decoration: underline;
}

.events-event-description {
  line-height: 1.5em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  font-size: 17px;
  line-height: 1.6em;
}

.events-past {
  font-size: 32px;
  font-weight: 300;
  border-bottom: 4px solid #dcdcdc;
  padding-bottom: 12px;
  margin: 32px 0;
}

.events-event-item {
  display: flex;
  gap: 32px;
  padding-bottom: 24px;
  border-bottom: 2px solid #dcdcdc;
  align-items: center;
}
.events-event-item:last-child {
  border-bottom: none;
}

.events-event-body {
  flex-grow: 1;
  flex-shrink: 1;
}

.events-event-date-dash {
  font-family: "Abril Fatface", serif;
  color: #237fa8;
  font-weight: 600;
  padding: 20px 4px;
  text-align: center;
  display: block;
  width: 16px;
  flex-shrink: 0;
  flex-grow: 0;
}

.events-event-date {
  font-family: "Abril Fatface", serif;
  border: 2px solid #237fa8;
  border-top-width: 12px;
  color: #237fa8;
  font-weight: 600;
  padding: 4px 4px;
  border-radius: 3px;
  text-align: center;
  display: block;
  width: 80px;
  flex-shrink: 0;
  flex-grow: 0;
}

.events-event-place {
  font-weight: 600;
  color: #237fa8;
}

.event-detail-header-content {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  gap: 64px;
  justify-content: space-between;
  padding-top: 72px;
  padding-bottom: 32px;
}
@media screen and (max-width: 1000px) {
  .event-detail-header-content {
    flex-direction: column;
    gap: 24px;
  }
}

.event-detail-meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.event-detail-header-left {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
}
@media screen and (max-width: 1000px) {
  .event-detail-header-left {
    align-items: stretch;
  }
}

.event-detail-sub-title {
  font-weight: 400;
  font-size: 27px;
  line-height: 1.4em;
  color: #2a3439;
}

.event-detail-header-register-cta {
  position: relative;
  border-radius: 3px;
  background: #ffc832;
  color: #000000;
  font-family: "Fira Sans", sans-serif;
  font-size: 28px;
  border: none;
  padding: 24px 82px;
  font-weight: 700;
  cursor: pointer;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  padding: 18px 48px;
}
.event-detail-header-register-cta:hover {
  background: #E8B322;
}
.event-detail-header-register-cta.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.event-detail-header-poster {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  height: 350px;
  align-self: center;
  flex-grow: 0;
}
@media screen and (max-width: 1000px) {
  .event-detail-header-poster {
    align-items: center;
    justify-content: center;
  }
}
.event-detail-header-poster img {
  display: block;
}

.event-detail-header-date {
  font-weight: 800;
  font-size: 28px;
}

.event-detail-header-place {
  font-size: 32px;
  font-weight: 500;
  color: #237fa8;
}

.event-detail-page-body {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  gap: 64px;
  padding-top: 32px;
  padding-bottom: 32px;
  flex-grow: 1;
  font-size: 16px;
}
@media screen and (max-width: 1000px) {
  .event-detail-page-body {
    flex-direction: column;
    gap: 32px;
  }
}

.event-detail-content {
  flex-grow: 1;
  flex-shrink: 1;
}

.event-detail-content-post a, .event-detail-content-post a:visited, .event-detail-content-post a:active {
  color: #237fa8;
}
.event-detail-content-post a:hover {
  color: #ffffff;
  background: #237fa8;
}
.event-detail-content-post p {
  line-height: 1.5em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin: 20px 0;
  text-align: justify;
}
@media screen and (max-width: 590px) {
  .event-detail-content-post p {
    text-align: left;
  }
}
.event-detail-content-post strong {
  font-weight: 700;
}
.event-detail-content-post em {
  font-style: italic;
}
.event-detail-content-post h2 {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  margin: 36px 0 0 0;
  font-weight: 800;
}
.event-detail-content-post h3 {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  margin: 36px 0 0 0;
  line-height: 1.2em;
}
.event-detail-content-post h4 {
  font-size: 22px;
  font-weight: 800;
  margin: 36px 0 0 0;
}
.event-detail-content-post ul {
  list-style-type: disclosure-closed;
  margin: 24px 0 24px 32px;
  font-weight: 500;
  text-align: left;
}
.event-detail-content-post ul li {
  margin: 6px 0;
  line-height: 1.5em;
}
.event-detail-content-post ol {
  list-style-type: numeric;
  line-height: 1.5em;
  padding: 12px 0 12px 22px;
  text-align: justify;
}
@media screen and (max-width: 590px) {
  .event-detail-content-post ol {
    text-align: left;
  }
}
.event-detail-content-post ol li {
  padding: 8px 0;
}
.event-detail-content-post ol ol {
  list-style-type: lower-alpha;
  padding: 8px 0 0 42px;
}
.event-detail-content-post ol ol li {
  padding: 3px 0;
}
.event-detail-content-post img {
  max-width: 100%;
}
.event-detail-content-post blockquote {
  background: rgba(35, 127, 168, 0.2);
  border-left: 8px solid #237fa8;
  padding: 6px 32px;
  text-align: left;
}
.event-detail-content-post blockquote p {
  text-align: left;
}

.event-detail-info {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 400px;
  flex-shrink: 0;
  flex-grow: 0;
}
@media screen and (max-width: 1000px) {
  .event-detail-info {
    width: auto;
  }
}

.event-detail-info-box {
  display: flex;
  flex-direction: column;
  padding: 20px 0;
  gap: 24px;
}

.event-detail-info-title {
  font-size: 38px;
  font-weight: 800;
  letter-spacing: -2px;
  margin-bottom: -18px;
  color: #778185;
}

.event-detail-info-table {
  width: 100%;
  color: #2a3439;
}
.event-detail-info-table a, .event-detail-info-table a:visited, .event-detail-info-table a:active {
  color: #237fa8;
}
.event-detail-info-table a:hover {
  color: #ffffff;
  background: #237fa8;
}
.event-detail-info-table td {
  padding: 4px 0;
  font-weight: 600;
}
.event-detail-info-table td:last-child {
  width: 65%;
  font-weight: 400;
}

.event-detail-register-cta {
  position: relative;
  border-radius: 3px;
  background: #ffc832;
  color: #000000;
  font-family: "Fira Sans", sans-serif;
  font-size: 28px;
  border: none;
  padding: 24px 82px;
  font-weight: 700;
  cursor: pointer;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  font-size: 20px;
}
.event-detail-register-cta:hover {
  background: #E8B322;
}
.event-detail-register-cta.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.event-detail-qr {
  display: flex;
  justify-content: center;
  align-items: center;
}

.event-detail-info-share {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.event-detail-info-share a, .event-detail-info-share a:visited, .event-detail-info-share a:active {
  color: #237fa8;
}
.event-detail-info-share a:hover {
  color: #ffffff;
  background: #237fa8;
}
.event-detail-info-share a {
  width: auto;
  padding: 2px 0;
}

.event-detail-info-map {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.event-detail-info-coords {
  color: #3d3d41;
  font-size: 14px;
  line-height: 1.3em;
}

.event-detail-info-map-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.event-detail-info-map-links a, .event-detail-info-map-links a:visited, .event-detail-info-map-links a:active {
  color: #237fa8;
}
.event-detail-info-map-links a:hover {
  color: #ffffff;
  background: #237fa8;
}

.event-detail-map {
  display: block;
  height: 300px;
}

.map-marker-title {
  font-weight: 700;
  font-size: 20px;
  margin-bottom: 6px;
}

a.event-detail-content-register-cta {
  position: relative;
  border-radius: 3px;
  background: #ffc832;
  color: #000000;
  font-family: "Fira Sans", sans-serif;
  font-size: 28px;
  border: none;
  padding: 24px 82px;
  font-weight: 700;
  cursor: pointer;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  margin: 64px 0;
  color: #000000;
}
a.event-detail-content-register-cta:hover {
  background: #E8B322;
}
a.event-detail-content-register-cta.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
a.event-detail-content-register-cta:visited {
  color: #000000;
}

.events-event-detail-link {
  color: #237fa8;
  font-weight: 700;
}
.events-event-detail-link:hover {
  background: #237fa8;
  color: #ffffff;
}

.events-cookie-consent {
  display: flex;
  flex-direction: column;
  gap: 24px;
  border: 2px solid #237fa8;
  border-radius: 4px;
  padding: 12px;
}

.events-cookie-consent-text {
  margin: 0;
  color: #237fa8;
  font-weight: 500;
  font-size: 21px;
}

.events-cookie-consent-accept-btn {
  position: relative;
  border-radius: 3px;
  background: #ffc832;
  color: #000000;
  font-family: "Fira Sans", sans-serif;
  font-size: 28px;
  border: none;
  padding: 24px 82px;
  font-weight: 700;
  cursor: pointer;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  padding: 18px 48px;
}
.events-cookie-consent-accept-btn:hover {
  background: #E8B322;
}
.events-cookie-consent-accept-btn.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.event-detail-petition-embed {
  width: 100%;
}

.event-detail-petition-container {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.faq-header {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  padding-top: 72px;
  padding-bottom: 16px;
}

.faq-title {
  font-size: 120px;
  font-weight: 300;
  padding: 0;
  font-weight: 800;
  letter-spacing: -8px;
  margin: 0;
}

.faq-sub-title {
  margin-top: 24px;
  font-weight: 800;
  font-size: 32px;
}

.faq-meta-content a, .faq-meta-content a:visited, .faq-meta-content a:active {
  color: #237fa8;
}
.faq-meta-content a:hover {
  color: #ffffff;
  background: #237fa8;
}
.faq-meta-content p {
  line-height: 1.5em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin: 20px 0;
  text-align: justify;
}
@media screen and (max-width: 590px) {
  .faq-meta-content p {
    text-align: left;
  }
}
.faq-meta-content strong {
  font-weight: 700;
}
.faq-meta-content em {
  font-style: italic;
}
.faq-meta-content h2 {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  margin: 36px 0 0 0;
  font-weight: 800;
}
.faq-meta-content h3 {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  margin: 36px 0 0 0;
  line-height: 1.2em;
}
.faq-meta-content h4 {
  font-size: 22px;
  font-weight: 800;
  margin: 36px 0 0 0;
}
.faq-meta-content ul {
  list-style-type: disclosure-closed;
  margin: 24px 0 24px 32px;
  font-weight: 500;
  text-align: left;
}
.faq-meta-content ul li {
  margin: 6px 0;
  line-height: 1.5em;
}
.faq-meta-content ol {
  list-style-type: numeric;
  line-height: 1.5em;
  padding: 12px 0 12px 22px;
  text-align: justify;
}
@media screen and (max-width: 590px) {
  .faq-meta-content ol {
    text-align: left;
  }
}
.faq-meta-content ol li {
  padding: 8px 0;
}
.faq-meta-content ol ol {
  list-style-type: lower-alpha;
  padding: 8px 0 0 42px;
}
.faq-meta-content ol ol li {
  padding: 3px 0;
}
.faq-meta-content img {
  max-width: 100%;
}
.faq-meta-content blockquote {
  background: rgba(35, 127, 168, 0.2);
  border-left: 8px solid #237fa8;
  padding: 6px 32px;
  text-align: left;
}
.faq-meta-content blockquote p {
  text-align: left;
}

.faq-content {
  flex-grow: 1;
}

.faq-item {
  background: #ffffff;
  color: #000000;
  padding: 24px 0;
}
.faq-item.first {
  background: #237fa8;
  color: #ffffff;
}
.faq-item.third {
  background: #ffc832;
  color: #000000;
}
.faq-item.third .faq-question-text {
  border-color: #000000;
}

.faq-question {
  font-weight: 800;
  font-size: 32px;
  margin: 12px 0;
}

.faq-question-title {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: flex-start;
  line-height: 1.3em;
}

.faq-question-text {
  border-bottom: 6px solid #ffc832;
  letter-spacing: -1px;
}

.faq-question-link {
  color: inherit;
  text-decoration: none;
}

.faq-answer {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  line-height: 1.6em;
  font-size: 16px;
}
.faq-answer a, .faq-answer a:visited, .faq-answer a:active {
  color: #237fa8;
}
.faq-answer a:hover {
  color: #ffffff;
  background: #237fa8;
}
.faq-answer a {
  font-weight: 600;
}
.faq-answer p {
  line-height: 1.5em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin: 12px 0;
  text-align: justify;
}
@media screen and (max-width: 590px) {
  .faq-answer p {
    text-align: left;
  }
}
.faq-answer strong {
  font-weight: 700;
}
.faq-answer em {
  font-style: italic;
}
.faq-answer ul {
  list-style-type: "👍 ";
  padding: 0 0 0 28px;
  font-weight: 600;
  max-width: 700px;
  text-align: left;
}
.faq-answer ul li {
  margin: 6px 0;
}
.third .faq-answer ul {
  list-style-type: "💙 ";
}
.faq-answer ul.occupations-list {
  max-width: 100%;
}
.first .faq-answer a {
  color: #ffc832;
}

.statements-content {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding-top: 64px;
  padding-bottom: 32px;
}

.statements-item {
  padding-bottom: 32px;
  border-bottom: 2px solid #dcdcdc;
}
.statements-item:last-child {
  border-bottom: none;
}

.statements-item-title {
  margin-bottom: 18px;
  font-weight: 600;
  font-size: 32px;
}

.statements-item-date {
  color: #2a3439;
  font-weight: 300;
  font-size: 16px;
}

.statements-item-author {
  color: #2a3439;
  font-weight: 300;
  font-size: 16px;
}

.statements-item-author-anonymous {
  font-style: italic;
}

.statements-item-description {
  line-height: 1.5em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  font-size: 17px;
  line-height: 1.6em;
}

.statements-read-more {
  color: #237fa8;
  font-weight: 700;
}
.statements-read-more:hover {
  background: #237fa8;
  color: #ffffff;
}

.statements-logo {
  width: 250px;
  align-self: center;
}

.statements-header {
  background: #237fa8;
  color: #ffffff;
  padding-top: 32px;
  padding-bottom: 32px;
}

.statements-body {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  padding-top: 32px;
  padding-bottom: 32px;
  flex-grow: 1;
  display: flex;
  gap: 64px;
}
@media screen and (max-width: 1000px) {
  .statements-body {
    flex-direction: column;
  }
}

.statements-right {
  flex-grow: 0;
  flex-shrink: 0;
  width: 400px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  border-radius: 3px;
}
@media screen and (max-width: 1000px) {
  .statements-right {
    width: 100%;
    text-align: center;
    margin-left: 0;
    align-items: center;
    margin-top: 32px;
  }
  .statements-right > img {
    max-width: 260px;
  }
}

.statements-right-title {
  font-size: 38px;
  font-weight: 800;
  letter-spacing: -2px;
  margin-bottom: -18px;
  color: #778185;
}

.statements-left {
  flex-grow: 1;
  flex-shrink: 1;
  font-size: 16px;
}
.statements-left a, .statements-left a:visited, .statements-left a:active {
  color: #237fa8;
}
.statements-left a:hover {
  color: #ffffff;
  background: #237fa8;
}
.statements-left p {
  line-height: 1.5em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin: 20px 0;
  text-align: justify;
}
@media screen and (max-width: 590px) {
  .statements-left p {
    text-align: left;
  }
}
.statements-left strong {
  font-weight: 700;
}
.statements-left em {
  font-style: italic;
}
.statements-left h2 {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  margin: 36px 0 0 0;
  font-weight: 800;
}
.statements-left h3 {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  margin: 36px 0 0 0;
  line-height: 1.2em;
}
.statements-left h4 {
  font-size: 22px;
  font-weight: 800;
  margin: 36px 0 0 0;
}
.statements-left ul {
  list-style-type: disclosure-closed;
  margin: 24px 0 24px 32px;
  font-weight: 500;
  text-align: left;
}
.statements-left ul li {
  margin: 6px 0;
  line-height: 1.5em;
}
.statements-left ol {
  list-style-type: numeric;
  line-height: 1.5em;
  padding: 12px 0 12px 22px;
  text-align: justify;
}
@media screen and (max-width: 590px) {
  .statements-left ol {
    text-align: left;
  }
}
.statements-left ol li {
  padding: 8px 0;
}
.statements-left ol ol {
  list-style-type: lower-alpha;
  padding: 8px 0 0 42px;
}
.statements-left ol ol li {
  padding: 3px 0;
}
.statements-left img {
  max-width: 100%;
}
.statements-left blockquote {
  background: rgba(35, 127, 168, 0.2);
  border-left: 8px solid #237fa8;
  padding: 6px 32px;
  text-align: left;
}
.statements-left blockquote p {
  text-align: left;
}

.statements-title {
  font-weight: 600;
  letter-spacing: -1px;
  font-size: 48px;
  align-self: flex-start;
  justify-self: flex-start;
}

.statement-header-meta {
  color: #ffffff;
  line-height: 1.6em;
}

.statement-header-date {
  font-weight: 600;
}

.statements-share {
  display: flex;
  flex-direction: column;
  line-height: 1.6em;
  font-size: 16px;
  align-items: flex-start;
}
.statements-share a {
  color: #237fa8;
}
.statements-share a:hover {
  background: #237fa8;
  color: #ffffff;
}

.statements-header-all-btn {
  position: relative;
  border-radius: 3px;
  color: #ffffff;
  font-family: "Fira Sans", sans-serif;
  font-size: 18px;
  border: none;
  padding: 12px 24px;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  border: 1px solid rgba(255, 255, 255, 0.5);
  align-self: flex-start;
  margin-bottom: 32px;
}
.statements-header-all-btn:hover {
  background: rgba(255, 255, 255, 0.25);
}

.statements-author-info {
  position: relative;
  background: #dcdcdc;
  color: #2a3439;
  border-radius: 3px;
  padding: 32px;
  font-style: italic;
  margin-top: 64px;
}

.statements-end-cta {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 32px;
  margin-bottom: 64px;
}
.statements-end-cta a {
  display: block;
  padding: 12px 32px;
  color: #237fa8;
  font-size: 18px;
  text-decoration: none;
  border: 1px solid rgba(35, 127, 168, 0.5);
  border-radius: 3px;
}
.statements-end-cta a:hover {
  background: rgba(35, 127, 168, 0.25);
}
@media screen and (max-width: 1000px) {
  .statements-end-cta {
    flex-direction: column;
    align-items: center;
  }
}

a.statements-end-all-btn {
  background: #237fa8;
  color: #ffffff;
}
a.statements-end-all-btn:hover {
  color: #237fa8;
  background: #ffc832;
}

.statutes-content {
  max-width: 750px;
}

.declaration-content {
  max-width: 750px;
}

.workplaces-header {
  border-bottom: 6px solid #237fa8;
  border-top: 6px solid #237fa8;
  background: #dcdcdc;
}

.workplaces-header-content {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  padding-top: 72px;
  padding-bottom: 32px;
}

.workplaces-title {
  display: inline-block;
  font-size: 48px;
  letter-spacing: -2px;
  font-weight: 800;
  line-height: 0.9em;
  padding: 0;
  margin: 0;
  border-bottom: solid 10px #237fa8;
  font-size: 68px;
}
@media screen and (max-width: 1000px) {
  .workplaces-title {
    line-height: 1.1em;
  }
}
@media screen and (max-width: 590px) {
  .workplaces-title {
    font-size: 52px;
  }
}

.workplaces-sub-title {
  font-weight: 400;
  font-size: 27px;
  color: #2a3439;
  margin-top: 24px;
}

.workplaces-meta-content a, .workplaces-meta-content a:visited, .workplaces-meta-content a:active {
  color: #237fa8;
}
.workplaces-meta-content a:hover {
  color: #ffffff;
  background: #237fa8;
}
.workplaces-meta-content p {
  line-height: 1.5em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin: 20px 0;
  text-align: justify;
}
@media screen and (max-width: 590px) {
  .workplaces-meta-content p {
    text-align: left;
  }
}
.workplaces-meta-content strong {
  font-weight: 700;
}
.workplaces-meta-content em {
  font-style: italic;
}
.workplaces-meta-content h2 {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  margin: 36px 0 0 0;
  font-weight: 800;
}
.workplaces-meta-content h3 {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  margin: 36px 0 0 0;
  line-height: 1.2em;
}
.workplaces-meta-content h4 {
  font-size: 22px;
  font-weight: 800;
  margin: 36px 0 0 0;
}
.workplaces-meta-content ul {
  list-style-type: disclosure-closed;
  margin: 24px 0 24px 32px;
  font-weight: 500;
  text-align: left;
}
.workplaces-meta-content ul li {
  margin: 6px 0;
  line-height: 1.5em;
}
.workplaces-meta-content ol {
  list-style-type: numeric;
  line-height: 1.5em;
  padding: 12px 0 12px 22px;
  text-align: justify;
}
@media screen and (max-width: 590px) {
  .workplaces-meta-content ol {
    text-align: left;
  }
}
.workplaces-meta-content ol li {
  padding: 8px 0;
}
.workplaces-meta-content ol ol {
  list-style-type: lower-alpha;
  padding: 8px 0 0 42px;
}
.workplaces-meta-content ol ol li {
  padding: 3px 0;
}
.workplaces-meta-content img {
  max-width: 100%;
}
.workplaces-meta-content blockquote {
  background: rgba(35, 127, 168, 0.2);
  border-left: 8px solid #237fa8;
  padding: 6px 32px;
  text-align: left;
}
.workplaces-meta-content blockquote p {
  text-align: left;
}

.workplaces-workplace-logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: center;
  flex-grow: 0;
  background: #ffffff;
}
@media screen and (max-width: 1000px) {
  .workplaces-workplace-logo {
    align-items: center;
    justify-content: center;
  }
}
.workplaces-workplace-logo img {
  display: block;
}

.workplaces-content {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  align-items: center;
  padding-top: 64px;
  padding-bottom: 64px;
}

.workplaces-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, 325px);
  grid-gap: 60px;
  justify-content: space-around;
  width: 100%;
}

.workplaces-workplace-title {
  font-weight: 600;
  font-size: 52px;
  text-align: center;
  display: inline-block;
}

.workplaces-workplace-link {
  text-decoration: none;
  color: inherit;
}
.workplaces-workplace-link:hover {
  text-decoration: underline;
}

.workplaces-workplace-item {
  display: flex;
  gap: 32px;
  width: 325px;
  align-items: center;
}
.workplaces-workplace-item:nth-child(3n) {
  background: #237fa8;
  color: #ffffff;
}
.workplaces-workplace-item:nth-child(3n+1) {
  background: #ffc832;
}
.workplaces-workplace-item:nth-child(3n+2) {
  background: #dcdcdc;
}

.workplaces-workplace-body {
  display: flex;
  flex-grow: 1;
  flex-shrink: 1;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 325px;
}
.workplaces-workplace-body.logo {
  background: #ffffff;
}

ul.occupations-list {
  columns: 4;
  column-gap: 32px;
  text-align: left;
}
@media screen and (max-width: 1000px) {
  ul.occupations-list {
    columns: 2;
  }
}
@media screen and (max-width: 590px) {
  ul.occupations-list {
    columns: 1;
  }
}

ul.contact-list {
  background: #ffc832;
  color: #000000;
  padding: 6px 12px;
  border-radius: 3px;
  align-self: flex-start;
  font-size: 16px;
  margin: 0;
  font-weight: 400;
  width: max-content;
  list-style: none;
}
ul.contact-list a {
  color: #237fa8;
  font-weight: 600;
}
ul.contact-list a:hover {
  background: #237fa8;
  color: #ffc832;
}
ul.contact-list strong {
  font-weight: 700;
}
ul.contact-list small {
  font-size: 12px;
}
ul.contact-list li {
  margin: 0;
  line-height: 1.7em;
}

.site-footer-nav-ul {
  list-style: none;
  padding: 0;
  margin: 0;
  line-height: 2em;
  font-weight: 400;
}

.career-content {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding-top: 64px;
  padding-bottom: 32px;
}

.career-logo {
  width: 250px;
  align-self: center;
}

.career-header {
  background: #237fa8;
  color: #ffffff;
  padding-top: 32px;
  padding-bottom: 32px;
}

.career-body {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  padding-top: 32px;
  padding-bottom: 32px;
  flex-grow: 1;
  display: flex;
  gap: 64px;
}
@media screen and (max-width: 1000px) {
  .career-body {
    flex-direction: column;
  }
}

.career-right {
  flex-grow: 0;
  flex-shrink: 0;
  width: 400px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  border-radius: 3px;
}
@media screen and (max-width: 1000px) {
  .career-right {
    width: 100%;
    text-align: center;
    margin-left: 0;
    align-items: center;
    margin-top: 32px;
  }
  .career-right > img {
    max-width: 260px;
  }
}

.career-right-title {
  font-size: 38px;
  font-weight: 800;
  letter-spacing: -2px;
  margin-bottom: -18px;
  color: #778185;
}

.career-left {
  flex-grow: 1;
  flex-shrink: 1;
  font-size: 16px;
}
.career-left a, .career-left a:visited, .career-left a:active {
  color: #237fa8;
}
.career-left a:hover {
  color: #ffffff;
  background: #237fa8;
}
.career-left p {
  line-height: 1.5em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin: 20px 0;
  text-align: justify;
}
@media screen and (max-width: 590px) {
  .career-left p {
    text-align: left;
  }
}
.career-left strong {
  font-weight: 700;
}
.career-left em {
  font-style: italic;
}
.career-left h2 {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  margin: 36px 0 0 0;
  font-weight: 800;
}
.career-left h3 {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  margin: 36px 0 0 0;
  line-height: 1.2em;
}
.career-left h4 {
  font-size: 22px;
  font-weight: 800;
  margin: 36px 0 0 0;
}
.career-left ul {
  list-style-type: disclosure-closed;
  margin: 24px 0 24px 32px;
  font-weight: 500;
  text-align: left;
}
.career-left ul li {
  margin: 6px 0;
  line-height: 1.5em;
}
.career-left ol {
  list-style-type: numeric;
  line-height: 1.5em;
  padding: 12px 0 12px 22px;
  text-align: justify;
}
@media screen and (max-width: 590px) {
  .career-left ol {
    text-align: left;
  }
}
.career-left ol li {
  padding: 8px 0;
}
.career-left ol ol {
  list-style-type: lower-alpha;
  padding: 8px 0 0 42px;
}
.career-left ol ol li {
  padding: 3px 0;
}
.career-left img {
  max-width: 100%;
}
.career-left blockquote {
  background: rgba(35, 127, 168, 0.2);
  border-left: 8px solid #237fa8;
  padding: 6px 32px;
  text-align: left;
}
.career-left blockquote p {
  text-align: left;
}

.career-title {
  font-weight: 600;
  letter-spacing: -1px;
  font-size: 48px;
  align-self: flex-start;
  justify-self: flex-start;
}

.career-header-meta {
  color: #ffffff;
  line-height: 1.6em;
}

.career-header-date {
  font-weight: 600;
  margin-bottom: 16px;
}

.career-header-who {
  font-weight: 600;
}

.career-header-where {
  font-weight: 600;
}

.career-header-contract {
  font-weight: 600;
}

.career-share {
  display: flex;
  flex-direction: column;
  line-height: 1.6em;
  font-size: 16px;
  align-items: flex-start;
}
.career-share a {
  color: #237fa8;
}
.career-share a:hover {
  background: #237fa8;
  color: #ffffff;
}

.career-end-cta {
  width: 100%;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 32px;
  margin-bottom: 64px;
}
.career-end-cta a {
  display: block;
  padding: 12px 32px;
  color: #237fa8;
  font-size: 18px;
  text-decoration: none;
  border: 1px solid rgba(35, 127, 168, 0.5);
  border-radius: 3px;
}
.career-end-cta a:hover {
  background: rgba(35, 127, 168, 0.25);
}
@media screen and (max-width: 1000px) {
  .career-end-cta {
    flex-direction: column;
    align-items: center;
  }
}