@charset "UTF-8";
:root {
  /* Plugging our brand colors (#f9b234, #629831, #36b3e4) into a palette
   * generator gives us the following, with uniform perceptual lightness across
   * the four colors.
   *
   * https://huetone.ardov.me/?palette=N4IgdghgtgpiBcIBiEBOUCWBnAFgAgAUIAbGAFzLgBoQcBXGLBAbVElgRAHNUIBPEDQDGAe2IjUTeMxABiAGYA2JUsFyYARk2a1soRv37dEAKynTugBwRr13QHYTjx7sUa3b3QBZ7Pn7oAmAE5g4N0NSwiIkABdAF8qNmg4RB4YGDA1UXFJFnUAZnl5IUVdACMg%2BQiTXSCggBMABkVSmll7GDKvLyFXYMt8jW8YSy8A-O8vZQD7XXzFL3kAobbxgJhG%2BXCNDTLGxtiEpI5UsXqssQkpGQUirxhZtqL6sogg3XkgsvGvXXq3%2BybcqWexNA5tIKWRRCZYOIQmb6-NpOLz5ALguT5NGA6hyZbufaHRLgZKcMrEBgXHLXdRCeSWIrldIMrZtNxCGCMtrzMr5GBIuT7IL2IQC2T7ezyPa6faKMqWc5tfb3RSWGWNdZ89W7AKleLE9gpECoGCKkDZK55W7yQoBD7yeoKu1PeQQN6suRFUH2FbqUwLD16CD5IL5CDGGEQAKB%2BxRkwBZ1yLwmXaNM2yNGNIKE%2BIxGhkERgRh5X2JiY0AU1GitECPEBqmjvGgafYHeJAA
   */
  --color-gray--1: #f6f6f6;
  --color-gray--2: #e1e1e1;
  --color-gray--3: #c1c1c1;
  --color-gray--4: #a5a5a5;
  --color-gray--5: #8a8a8a;
  --color-gray--6: #757575;
  --color-gray--7: #616161;
  --color-gray--8: #474747;
  --color-gray--9: #292929;
  --color-gray--10: #181818;
  --color-green--1: #e3ffc6;
  --color-green--2: #b9f185;
  --color-green--3: #99d066;
  --color-green--4: #7eb44c;
  --color-green--5: #629831;
  --color-green--6: #4e8423;
  --color-green--7: #446f27;
  --color-green--8: #364f21;
  --color-green--9: #232e0f;
  --color-green--10: #111b00;
  --color-green: var(--color-green--5);
  --color-gold--1: #fff4e7;
  --color-gold--2: #ffdba9;
  --color-gold--3: #f9b234;
  --color-gold--4: #da970f;
  --color-gold--5: #b87d00;
  --color-gold--6: #986c21;
  --color-gold--7: #7c5b24;
  --color-gold--8: #574320;
  --color-gold--9: #33270e;
  --color-gold--10: #211600;
  --color-gold: var(--color-gold--3);
  --color-blue--1: #ecf8ff;
  --color-blue--2: #bee8ff;
  --color-blue--3: #61ceff;
  --color-blue--4: #36b3e4;
  --color-blue--5: #0097c4;
  --color-blue--6: #007fb0;
  --color-blue--7: #006b8d;
  --color-blue--8: #004e68;
  --color-blue--9: #002e3e;
  --color-blue--10: #001b26;
  --color-blue: var(--color-blue--6);
  --color-red--1: #fff3f2;
  --color-red--2: #ffd8d2;
  --color-red--3: #ffaa9f;
  --color-red--4: #ff7d71;
  --color-red--5: #ea564f;
  --color-red--6: #ca393a;
  --color-red--7: #ac2a2f;
  --color-red--8: #7a2522;
  --color-red--9: #451b0d;
  --color-red-10: #320900;
  --color-red: var(--color-red--6);
  --layer-base: 1;
  --layer-map-controls: 2;
  --layer-header: 5;
  --layer-menu: 10;
  --layer-modal: 20;
  --layer-dialog: 30;
  --main-padding-small: 1rem;
  --main-padding-top-large: 2rem;
  --main-padding-bottom-large: 3rem;
}

/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html,
body {
  background: #fff;
  min-height: 100vh;
  min-height: 100dvh; /* stylelint-disable-line plugin/no-unsupported-browser-features -- this is an enhancement over the previous line */
}

body {
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
:root {
  color: var(--color-gray--8);
  overscroll-behavior: none;
}

a {
  color: var(--color-blue);
  text-decoration: none;
}
a:where(:hover, :focus-visible) {
  text-decoration: underline;
}

details {
  --marker-text: "Show";
}
details[open] {
  --marker-text: "Hide";
}

summary {
  list-style: none;
  position: relative;
}
summary::-webkit-details-marker {
  display: none;
}
summary::after {
  color: var(--color-blue--5);
  content: var(--marker-text);
  font-size: 0.75rem;
  font-weight: 600;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

:root {
  --field-drop-down-indicator: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E') ;
}

button,
.button,
input[type=button],
input[type=reset],
input[type=submit] {
  --background: var(--color-blue);
  --border-color: transparent;
  --color: hsl(0, 0%, 100%);
  --disabled: var(--color-blue--2);
  --hover: var(--color-blue--6);
  align-items: center;
  appearance: none;
  background: var(--background);
  border: solid 2px var(--border-color);
  color: var(--color);
  display: inline-flex;
  font-size: 0.875rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1.286;
  text-align: center;
  text-decoration: none;
}

fieldset {
  border: none;
  margin: 2rem 0;
  padding: 0;
}
fieldset > small,
fieldset > .hint {
  display: block;
  margin-bottom: 1rem;
}
fieldset > fieldset:last-child {
  margin-bottom: 0;
}

label,
legend {
  display: flex;
  justify-content: space-between;
}
label::after,
legend::after {
  color: var(--color-gray--5);
  font-size: 0.875rem;
  font-weight: normal;
}
label.required::after,
legend.required::after {
  content: "(Required)";
}

label,
.label {
  font-size: 0.875rem;
  font-weight: 600;
  grid-column: 1/-1;
}
label + button,
.label + button {
  justify-self: start;
}

legend {
  font-size: 1.125rem;
  font-weight: 500;
  padding-left: 0;
  width: 100%;
}
legend + fieldset,
legend + .field {
  margin-top: 0.25rem;
}

form {
  accent-color: var(--color-green);
  /* width: 100% should be implied, but because fieldsets are weird with
   * sizing, this can go strange if you're resizing the window. Adding the
   * explicit width seems to help.
   */
  width: 100%;
}

input::-webkit-list-button {
  visibility: hidden;
}
input[list]::-webkit-calendar-picker-indicator {
  visibility: hidden;
}
input[list].has-options:focus {
  background-image: var(--field-drop-down-indicator);
  background-position: right 0.5em top 50%;
  background-repeat: no-repeat;
  background-size: 0.65em auto;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: hsl(0, 0%, 100%);
  background-image: var(--field-drop-down-indicator), linear-gradient(to bottom, #fff 0%, #e5e5e5 100%);
  /* arrow icon position (1em from the right, 50% vertical) , then gradient position*/
  background-position: right 0.5em top 50%, 0 0;
  background-repeat: no-repeat, repeat;
  /* icon size, then gradient */
  background-size: 0.65em auto, 100%;
  min-height: 2rem;
  /* Hide arrow icon in IE browsers */
}
select::-ms-expand {
  display: none;
}

input,
select {
  grid-column-start: 1;
  line-height: 1.25;
}

input,
select,
textarea {
  border: solid 1px var(--color-gray--3);
}
input:disabled,
select:disabled,
textarea:disabled {
  background-color: var(--color-gray--3);
  cursor: not-allowed;
}
input[readonly],
select[readonly],
textarea[readonly] {
  background-color: var(--color-gray--1);
  border: none;
  color: var(--color-gray--8);
  cursor: text;
}

input[type=date]::-webkit-datetime-edit {
  display: block;
  padding: 0;
}

input,
select,
textarea,
button,
.button {
  border-radius: 0.25rem;
  padding: 0.25rem 0.5rem;
}
input:disabled,
select:disabled,
textarea:disabled,
button:disabled,
.button:disabled {
  opacity: 0.3;
}

textarea {
  resize: vertical; /* stylelint-disable-line plugin/no-unsupported-browser-features -- Allowing vertical resizing is an enhancement. Also, some browsers allow resizing in both directions by default and we (almost always) want to limit it to vertical. */
}

.button_to {
  /* This could be done with display: contents; but there's an accessibility
   * bug in Safari < 16, so we need to write two rules instead of one.
   */
  display: inline-block;
  text-align: center;
}

button:hover, button:active,
.button:hover,
.button:active,
input[type=button]:hover,
input[type=button]:active,
input[type=reset]:hover,
input[type=reset]:active,
input[type=submit]:hover,
input[type=submit]:active {
  background: var(--hover, var(--background));
}
button.button--disabled, button:disabled,
.button.button--disabled,
.button:disabled,
input[type=button].button--disabled,
input[type=button]:disabled,
input[type=reset].button--disabled,
input[type=reset]:disabled,
input[type=submit].button--disabled,
input[type=submit]:disabled {
  background: var(--disabled, var(--background));
}
button.is-loading > svg,
.button.is-loading > svg,
input[type=button].is-loading > svg,
input[type=reset].is-loading > svg,
input[type=submit].is-loading > svg {
  animation-duration: 1000ms;
  animation-iteration-count: infinite;
  animation-name: spin;
  animation-timing-function: linear;
}
button.button--block,
.button.button--block,
input[type=button].button--block,
input[type=reset].button--block,
input[type=submit].button--block {
  display: flex;
  width: 100%;
}
button.button--block + .button--block,
.button.button--block + .button--block,
input[type=button].button--block + .button--block,
input[type=reset].button--block + .button--block,
input[type=submit].button--block + .button--block {
  margin-top: 1rem;
}
button.button--alert,
.button.button--alert,
input[type=button].button--alert,
input[type=reset].button--alert,
input[type=submit].button--alert {
  --background: var(--color-gold);
  --color: hsl(0, 0%, 100%);
  --border-color: var(--color-gold);
  --hover: hsl(0, 0%, 100%);
}
button.button--alert:hover, button.button--alert:active,
.button.button--alert:hover,
.button.button--alert:active,
input[type=button].button--alert:hover,
input[type=button].button--alert:active,
input[type=reset].button--alert:hover,
input[type=reset].button--alert:active,
input[type=submit].button--alert:hover,
input[type=submit].button--alert:active {
  --color: var(--color-gold);
}
button.button--danger,
.button.button--danger,
input[type=button].button--danger,
input[type=reset].button--danger,
input[type=submit].button--danger {
  --background: var(--color-gray--2);
  --color: var(--color-red);
  --border-color: var(--color-red);
  --hover: var(--color-red);
}
button.button--danger:hover, button.button--danger:active,
.button.button--danger:hover,
.button.button--danger:active,
input[type=button].button--danger:hover,
input[type=button].button--danger:active,
input[type=reset].button--danger:hover,
input[type=reset].button--danger:active,
input[type=submit].button--danger:hover,
input[type=submit].button--danger:active {
  --color: hsl(0, 0%, 100%);
}
button.button--danger:disabled:hover,
.button.button--danger:disabled:hover,
input[type=button].button--danger:disabled:hover,
input[type=reset].button--danger:disabled:hover,
input[type=submit].button--danger:disabled:hover {
  --color: var(--color-red);
}
button.button--green,
.button.button--green,
input[type=button].button--green,
input[type=reset].button--green,
input[type=submit].button--green {
  --background: var(--color-green--4);
  --border-color: var(--color-green--4);
  --color: hsl(0, 0%, 100%);
  --hover: var(--color-green--5);
}
button.button--hollow,
.button.button--hollow,
input[type=button].button--hollow,
input[type=reset].button--hollow,
input[type=submit].button--hollow {
  --background: transparent;
  --border-color: currentColor;
  --color: var(--color-blue);
}
button.button--hollow:hover, button.button--hollow:active,
.button.button--hollow:hover,
.button.button--hollow:active,
input[type=button].button--hollow:hover,
input[type=button].button--hollow:active,
input[type=reset].button--hollow:hover,
input[type=reset].button--hollow:active,
input[type=submit].button--hollow:hover,
input[type=submit].button--hollow:active {
  background: var(--color);
  border-color: var(--color);
  color: hsl(0, 0%, 100%);
}
button.button--hollow-thin,
.button.button--hollow-thin,
input[type=button].button--hollow-thin,
input[type=reset].button--hollow-thin,
input[type=submit].button--hollow-thin {
  --background: hsl(0, 0%, 100%);
  --border-color: var(--color-blue);
  --color: var(--color-blue);
  --hover: var(--color-blue--7);
  border-width: 1px;
  font-size: 0.75rem;
}
button.button--secondary,
.button.button--secondary,
input[type=button].button--secondary,
input[type=reset].button--secondary,
input[type=submit].button--secondary {
  --background: hsl(0, 0%, 100%);
  --border-color: var(--color-gray--3);
  --color: var(--color-blue);
  --disabled: hsl(0, 0%, 100%);
  --hover: var(--color-gray--1);
}
button.button--text,
.button.button--text,
input[type=button].button--text,
input[type=reset].button--text,
input[type=submit].button--text {
  --background: transparent;
  --border-color: transparent;
  --hover: transparent;
  --color: var(--color-blue);
  cursor: pointer;
  font-weight: bold;
}
button.button--text:hover, button.button--text:active,
.button.button--text:hover,
.button.button--text:active,
input[type=button].button--text:hover,
input[type=button].button--text:active,
input[type=reset].button--text:hover,
input[type=reset].button--text:active,
input[type=submit].button--text:hover,
input[type=submit].button--text:active {
  --color: var(--color-blue--7);
}
button.button--with-emphasis,
.button.button--with-emphasis,
input[type=button].button--with-emphasis,
input[type=reset].button--with-emphasis,
input[type=submit].button--with-emphasis {
  font-weight: 600;
}
button.button--with-emphasis > strong,
.button.button--with-emphasis > strong,
input[type=button].button--with-emphasis > strong,
input[type=reset].button--with-emphasis > strong,
input[type=submit].button--with-emphasis > strong {
  font-weight: 800;
}
button.button--l,
.button.button--l,
input[type=button].button--l,
input[type=reset].button--l,
input[type=submit].button--l {
  min-height: 2.5rem;
  padding: 0 1.25rem;
}

/* For those rare occasions when you want a button element to render like text */
.non-button--text {
  --background: transparent;
  --border-color: transparent;
  --hover: transparent;
  --color: var(--color-blue);
  appearance: none;
  border: none;
  font-size: inherit;
  font-weight: 400;
  margin: 0 auto 0 0;
  padding: 0;
  text-align: left;
}

hr + button,
hr + fieldset,
hr + .actions,
hr + .field,
hr + .fieldset,
hr + .two-column-fields,
fieldset + button,
fieldset + fieldset,
fieldset + .actions,
fieldset + .field,
fieldset + .fieldset,
fieldset + .two-column-fields,
.field + button,
.field + fieldset,
.field + .actions,
.field + .field,
.field + .fieldset,
.field + .two-column-fields,
.fields-wrapper + button,
.fields-wrapper + fieldset,
.fields-wrapper + .actions,
.fields-wrapper + .field,
.fields-wrapper + .fieldset,
.fields-wrapper + .two-column-fields,
.fieldset + button,
.fieldset + fieldset,
.fieldset + .actions,
.fieldset + .field,
.fieldset + .fieldset,
.fieldset + .two-column-fields,
.fieldset__liner + button,
.fieldset__liner + fieldset,
.fieldset__liner + .actions,
.fieldset__liner + .field,
.fieldset__liner + .fieldset,
.fieldset__liner + .two-column-fields,
.two-column-fields + button,
.two-column-fields + fieldset,
.two-column-fields + .actions,
.two-column-fields + .field,
.two-column-fields + .fieldset,
.two-column-fields + .two-column-fields {
  margin-top: 1rem;
}
hr + .actions,
fieldset + .actions,
.field + .actions,
.fields-wrapper + .actions,
.fieldset + .actions,
.fieldset__liner + .actions,
.two-column-fields + .actions {
  display: flex;
}
hr + .actions .button--danger,
fieldset + .actions .button--danger,
.field + .actions .button--danger,
.fields-wrapper + .actions .button--danger,
.fieldset + .actions .button--danger,
.fieldset__liner + .actions .button--danger,
.two-column-fields + .actions .button--danger {
  margin-left: auto;
}
hr + fieldset > legend,
fieldset + fieldset > legend,
.field + fieldset > legend,
.fields-wrapper + fieldset > legend,
.fieldset + fieldset > legend,
.fieldset__liner + fieldset > legend,
.two-column-fields + fieldset > legend {
  margin-top: 2rem;
}

.two-column-fields > fieldset + fieldset > legend {
  margin-top: 0;
}

.field {
  align-content: start;
  display: grid;
  grid-gap: 0 0.5rem;
  position: relative;
}
.field.field--with-suffix, .field.field--with-prefix {
  grid-template-columns: 2rem 1fr 2rem;
}
.field.field--with-suffix > label,
.field.field--with-suffix > .label, .field.field--with-prefix > label,
.field.field--with-prefix > .label {
  grid-column: 1/span 3;
}
.field.field--with-suffix > input,
.field.field--with-suffix > select {
  grid-column-end: 3;
}
.field.field--with-suffix .field__suffix {
  overflow-y: hidden; /* stylelint-disable-line plugin/no-unsupported-browser-features -- hidden is supported, clip is not. */
  padding: 0.25rem;
  white-space: nowrap;
}
.field.field--with-suffix .field__suffix > svg {
  height: 1.5em;
  width: 1.5em;
}
.field__prefix > input,
.field__prefix > select {
  grid-column-start: 2;
}
.field > label + br, .field .label + br {
  display: none;
}
.field file-upload,
.field > input,
.field > select,
.field > textarea {
  display: block;
  width: 100%;
}
.field > label {
  display: flex;
  width: 100%;
}
.field > .action,
.field > .hint,
.field > .field__error {
  grid-column: 1/-1;
}
.field > .action,
.field > .hint {
  grid-row: 4;
}
.field > .action--prompt,
.field > .hint--prompt {
  border-radius: 0.25rem;
  color: var(--color-gray--4);
  font: inherit;
  padding: 0.25rem 0.5rem;
  position: absolute;
}
.field > .action--prompt + input,
.field > .action--prompt + textarea,
.field > .hint--prompt + input,
.field > .hint--prompt + textarea {
  position: relative;
}
.field > .action--prompt + :invalid,
.field > .hint--prompt + :invalid {
  background: transparent;
}
.field > .action + br,
.field > .hint + br {
  display: none;
}
.field > .action {
  font-size: 0.75rem;
  justify-self: end;
}
.field > .field__error {
  grid-row: 3;
}
.field .field_with_errors {
  border-color: var(--color-red--6);
}
.field label.field_with_errors {
  color: var(--color-red--6);
}
.field--checkbox {
  align-items: center;
  align-items: first baseline;
  grid-template-columns: 1rem 1fr;
}
.field--checkbox > input[type=checkbox],
.field--checkbox > input[type=radio] {
  grid-column: 1;
  grid-row: 1;
}
.field--checkbox > label {
  color: hsl(0, 0%, 1%);
  font-weight: normal;
  line-height: 1.3571428571;
}
.field--checkbox > label::after {
  content: none;
}
.field--checkbox > label,
.field--checkbox > .hint {
  grid-column: 2/span 1;
}
.field--conditional {
  grid-column: 1/-1;
  margin-top: 0.5rem;
}

form[data-forms-prevent-unchanged-submit-value=true][data-forms-changed-value=false] [data-forms-target=submit] {
  background: var(--disabled);
  cursor: not-allowed;
}

p + .field {
  margin-top: 1.5rem;
}

#error_explanation {
  grid-column: 1/-1;
  margin-bottom: 2rem;
  margin-top: 0;
  padding: 1rem 2rem;
  text-align: left;
  width: 100%;
}

.radiogroup {
  display: grid;
  grid-gap: 0.5rem;
  padding-left: 0;
}
.radiogroup .field + .field {
  margin: 0;
}
.radiogroup--boolean {
  display: grid;
  gap: 0.625rem 2.5rem;
  grid-template-columns: min-content min-content;
  justify-content: start;
  max-width: 100%;
}
.radiogroup--inline {
  display: grid;
  flex-wrap: wrap;
  gap: 0.625rem 2.5rem;
  grid-auto-flow: row;
  grid-auto-rows: auto;
  justify-content: start;
  max-width: 100%;
}
@media (min-width: 27rem) {
  .radiogroup--inline {
    grid-template-columns: repeat(auto-fit, minmax(11rem, 50%));
    grid-template-columns: 1fr 1fr;
  }
}

legend + .radiogroup {
  margin-top: 0.5rem;
}

file-upload input[type=file] {
  display: block;
  width: 100%;
}

.dialog-container,
.dialog-overlay {
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
}

.dialog-container {
  align-items: center;
  display: flex;
  justify-content: center;
  z-index: var(--layer-dialog);
}
.dialog-container[aria-hidden=true] {
  display: none;
}
.dialog-container div[role=document] {
  background: hsl(0, 0%, 100%);
  border-radius: 0.625rem;
  max-width: 80vw;
  min-width: 16rem;
  padding: 1.25rem;
  position: relative;
  z-index: var(--layer-base);
}

.dialog-actions {
  display: flex;
  justify-content: end;
  margin-top: 0.625rem;
}
.dialog-actions > button + button {
  margin-left: 1.25rem;
}

.dialog-overlay {
  background-color: rgba(0, 0, 0, 0.8);
  mix-blend-mode: multiply;
}

.sr-only {
  border: none;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden; /* stylelint-disable-line plugin/no-unsupported-browser-features -- hidden is supported, clip is not. */
  padding: 0;
  position: absolute;
  width: 1px;
}

[hidden],
.hidden {
  display: none !important;
}

:root {
  --font-base: Open Sans, Helvetica, Arial, sans-serif;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-family: var(--font-base);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
}

h1,
.h1 {
  font-size: 1.5rem;
}

h2,
.h2 {
  font-size: 1.125rem;
}

h3,
.h3 {
  font-size: 1.125rem;
}

small,
.hint,
.field__error {
  font-size: 0.75rem;
}

.field__error {
  color: var(--color-red);
}

@media only screen {
  html,
  body {
    min-width: 20rem;
  }
  body {
    display: flex;
    flex-direction: column;
  }
  main {
    flex-grow: 1;
  }
}
body.app-web-sheet {
  display: block;
}

main {
  padding-bottom: 1rem;
  padding-bottom: max(env(safe-area-inset-bottom, 0) + 0.5rem, 1rem);
}
@media (min-width: 48rem) {
  main {
    padding-bottom: var(--main-padding-bottom-large);
  }
  main:not([data-controller~=homes]) {
    padding-top: var(--main-padding-top-large);
  }
}
main h1 {
  margin: 0 0 2rem;
}

.l-container {
  margin: 0 0.5rem;
}
@media (min-width: 48rem) {
  .l-container {
    margin: 0 2rem;
  }
}
@media (min-width: 70.5rem) {
  .l-container {
    margin: 0 auto;
    max-width: 66.5rem;
  }
}

.l-block {
  --background-color: hsl(0, 0%, 100%);
  --border-color: var(--color-gray--4);
  --color: currentColor;
  background: var(--background-color);
  border: solid 1px var(--border-color);
  border-radius: 0.5rem;
  color: var(--color);
  padding: 1rem;
}
.l-block--alert {
  --border-color: var(--color-gold--4);
  --color: currentColor;
}
.l-block--danger {
  --border-color: var(--color-red--7);
  --color: currentColor;
}
.l-block--error {
  --background-color: var(--color-red--3);
  --border-color: var(--color-red--10);
  --color: var(--color-red--10);
}
.l-block--filled {
  --background-color: var(--color-gray--1);
}
.l-block--flat {
  border: none;
}

.flash__wrapper {
  display: grid;
  grid-gap: 1rem;
  justify-items: center;
  left: 50%;
  max-width: 90vw;
  pointer-events: none;
  position: fixed;
  top: 1rem;
  transform: translateX(-50%);
  width: min(100vw - 8rem, 90vw);
  z-index: var(--layer-dialog);
}
@media (min-width: 32rem) {
  .flash__wrapper {
    width: unset;
  }
}

.flash {
  backdrop-filter: blur(6.5px);
  border: solid 1px currentColor;
  border-radius: 0.5rem;
  box-shadow: 0 0.25rem 0.25rem 0.25rem rgba(0, 0, 0, 0.25);
  display: flex;
  max-width: 90vw;
  padding: 0.5rem 3rem 0.5rem 0.75rem;
  pointer-events: auto;
  /* Cool sane browser default: dialog elements are position: absolute.
   * But since we _could_ have more than one flash message, we want the dialogs
   * to be relatively positioned, and the wrapper absolute.
   */
  position: relative;
  z-index: var(--layer-base);
}
.flash .button_to,
.flash > button[data-a11y-dialog-hide] {
  bottom: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 2.5rem;
}
.flash .button_to svg,
.flash > button[data-a11y-dialog-hide] svg {
  height: 1rem;
  margin: auto;
  width: 1rem;
}
.flash .button_to > button,
.flash > button[data-a11y-dialog-hide] {
  background: transparent;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  bottom: 0;
  color: inherit;
  display: flex;
  overflow: hidden;
  padding: 0;
  right: 0;
  top: 0;
  white-space: nowrap;
}
.flash .button_to > button {
  left: 0;
  position: absolute;
}
.flash > .modal__content {
  order: 1;
}
.flash--alert {
  background: var(--color-red--1, #fcc);
  color: var(--color-red--6, #911);
}
.flash--notice {
  background: var(--color-green--1, #cfc);
  color: var(--color-green--7, #119);
}
.flash--attention {
  background: hsl(0, 0%, 100%);
  border-color: var(--color-gold--3, #fb3);
  color: hsl(0, 0%, 1%);
}
.flash--attention a {
  margin-left: 2rem;
}
.flash--attention .button_to > button,
.flash--attention > button[data-a11y-dialog-hide] {
  color: var(--color-gold--3, #fb3);
}

[aria-hidden] > .flash {
  display: none;
}

trix-editor {
  border: 1px solid #bbb;
  border-radius: 3px;
  margin: 0;
  padding: 0.4em 0.6em;
  min-height: 5em;
  outline: none;
}

trix-toolbar * {
  box-sizing: border-box;
}

trix-toolbar .trix-button-row {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  overflow-x: auto;
}

trix-toolbar .trix-button-group {
  display: flex;
  margin-bottom: 10px;
  border: 1px solid #bbb;
  border-top-color: #ccc;
  border-bottom-color: #888;
  border-radius: 3px;
}

trix-toolbar .trix-button-group:not(:first-child) {
  margin-left: 1.5vw;
}

@media (max-width: 768px) {
  trix-toolbar .trix-button-group:not(:first-child) {
    margin-left: 0;
  }
}
trix-toolbar .trix-button-group-spacer {
  flex-grow: 1;
}

@media (max-width: 768px) {
  trix-toolbar .trix-button-group-spacer {
    display: none;
  }
}
trix-toolbar .trix-button {
  position: relative;
  float: left;
  color: rgba(0, 0, 0, 0.6);
  font-size: 0.75em;
  font-weight: 600;
  white-space: nowrap;
  padding: 0 0.5em;
  margin: 0;
  outline: none;
  border: none;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  background: transparent;
}

trix-toolbar .trix-button:not(:first-child) {
  border-left: 1px solid #ccc;
}

trix-toolbar .trix-button.trix-active {
  background: #cbeefa;
  color: rgb(0, 0, 0);
}

trix-toolbar .trix-button:not(:disabled) {
  cursor: pointer;
}

trix-toolbar .trix-button:disabled {
  color: rgba(0, 0, 0, 0.125);
}

@media (max-width: 768px) {
  trix-toolbar .trix-button {
    letter-spacing: -0.01em;
    padding: 0 0.3em;
  }
}
trix-toolbar .trix-button--icon {
  font-size: inherit;
  width: 2.6em;
  height: 1.6em;
  max-width: calc(0.8em + 4vw);
  text-indent: -9999px;
}

@media (max-width: 768px) {
  trix-toolbar .trix-button--icon {
    height: 2em;
    max-width: calc(0.8em + 3.5vw);
  }
}
trix-toolbar .trix-button--icon::before {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.6;
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

@media (max-width: 768px) {
  trix-toolbar .trix-button--icon::before {
    right: 6%;
    left: 6%;
  }
}
trix-toolbar .trix-button--icon.trix-active::before {
  opacity: 1;
}

trix-toolbar .trix-button--icon:disabled::before {
  opacity: 0.125;
}

trix-toolbar .trix-button--icon-attach::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.5%2018V7.5c0-2.25%203-2.25%203%200V18c0%204.125-6%204.125-6%200V7.5c0-6.375%209-6.375%209%200V18%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  top: 8%;
  bottom: 4%;
}

trix-toolbar .trix-button--icon-bold::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.522%2019.242a.5.5%200%200%201-.5-.5V5.35a.5.5%200%200%201%20.5-.5h5.783c1.347%200%202.46.345%203.24.982.783.64%201.216%201.562%201.216%202.683%200%201.13-.587%202.129-1.476%202.71a.35.35%200%200%200%20.049.613c1.259.56%202.101%201.742%202.101%203.22%200%201.282-.483%202.334-1.363%203.063-.876.726-2.132%201.12-3.66%201.12h-5.89ZM9.27%207.347v3.362h1.97c.766%200%201.347-.17%201.733-.464.38-.291.587-.716.587-1.27%200-.53-.183-.928-.513-1.198-.334-.273-.838-.43-1.505-.43H9.27Zm0%205.606v3.791h2.389c.832%200%201.448-.177%201.853-.497.399-.315.614-.786.614-1.423%200-.62-.22-1.077-.63-1.385-.418-.313-1.053-.486-1.905-.486H9.27Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-italic::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9%205h6.5v2h-2.23l-2.31%2010H13v2H6v-2h2.461l2.306-10H9V5Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-link::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M18.948%205.258a4.337%204.337%200%200%200-6.108%200L11.217%206.87a.993.993%200%200%200%200%201.41c.392.39%201.027.39%201.418%200l1.623-1.613a2.323%202.323%200%200%201%203.271%200%202.29%202.29%200%200%201%200%203.251l-2.393%202.38a3.021%203.021%200%200%201-4.255%200l-.05-.049a1.007%201.007%200%200%200-1.418%200%20.993.993%200%200%200%200%201.41l.05.049a5.036%205.036%200%200%200%207.091%200l2.394-2.38a4.275%204.275%200%200%200%200-6.072Zm-13.683%2013.6a4.337%204.337%200%200%200%206.108%200l1.262-1.255a.993.993%200%200%200%200-1.41%201.007%201.007%200%200%200-1.418%200L9.954%2017.45a2.323%202.323%200%200%201-3.27%200%202.29%202.29%200%200%201%200-3.251l2.344-2.331a2.579%202.579%200%200%201%203.631%200c.392.39%201.027.39%201.419%200a.993.993%200%200%200%200-1.41%204.593%204.593%200%200%200-6.468%200l-2.345%202.33a4.275%204.275%200%200%200%200%206.072Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-strike::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6%2014.986c.088%202.647%202.246%204.258%205.635%204.258%203.496%200%205.713-1.728%205.713-4.463%200-.275-.02-.536-.062-.781h-3.461c.398.293.573.654.573%201.123%200%201.035-1.074%201.787-2.646%201.787-1.563%200-2.773-.762-2.91-1.924H6ZM6.432%2010h3.763c-.632-.314-.914-.715-.914-1.273%200-1.045.977-1.739%202.432-1.739%201.475%200%202.52.723%202.617%201.914h2.764c-.05-2.548-2.11-4.238-5.39-4.238-3.145%200-5.392%201.719-5.392%204.316%200%20.363.04.703.12%201.02ZM4%2011a1%201%200%201%200%200%202h15a1%201%200%201%200%200-2H4Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-quote::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4.581%208.471c.44-.5%201.056-.834%201.758-.995C8.074%207.17%209.201%207.822%2010%208.752c1.354%201.578%201.33%203.555.394%205.277-.941%201.731-2.788%203.163-4.988%203.56a.622.622%200%200%201-.653-.317c-.113-.205-.121-.49.16-.764.294-.286.567-.566.791-.835.222-.266.413-.54.524-.815.113-.28.156-.597.026-.908-.128-.303-.39-.524-.72-.69a3.02%203.02%200%200%201-1.674-2.7c0-.905.283-1.59.72-2.088Zm9.419%200c.44-.5%201.055-.834%201.758-.995%201.734-.306%202.862.346%203.66%201.276%201.355%201.578%201.33%203.555.395%205.277-.941%201.731-2.789%203.163-4.988%203.56a.622.622%200%200%201-.653-.317c-.113-.205-.122-.49.16-.764.294-.286.567-.566.791-.835.222-.266.412-.54.523-.815.114-.28.157-.597.026-.908-.127-.303-.39-.524-.72-.69a3.02%203.02%200%200%201-1.672-2.701c0-.905.283-1.59.72-2.088Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-heading-1::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21.5%207.5v-3h-12v3H14v13h3v-13h4.5ZM9%2013.5h3.5v-3h-10v3H6v7h3v-7Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-code::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.293%2011.293a1%201%200%200%200%200%201.414l4%204a1%201%200%201%200%201.414-1.414L5.414%2012l3.293-3.293a1%201%200%200%200-1.414-1.414l-4%204Zm13.414%205.414%204-4a1%201%200%200%200%200-1.414l-4-4a1%201%200%201%200-1.414%201.414L18.586%2012l-3.293%203.293a1%201%200%200%200%201.414%201.414Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-bullet-list::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%207.5a1.5%201.5%200%201%200%200-3%201.5%201.5%200%200%200%200%203ZM8%206a1%201%200%200%201%201-1h11a1%201%200%201%201%200%202H9a1%201%200%200%201-1-1Zm1%205a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm0%206a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm-2.5-5a1.5%201.5%200%201%201-3%200%201.5%201.5%200%200%201%203%200ZM5%2019.5a1.5%201.5%200%201%200%200-3%201.5%201.5%200%200%200%200%203Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-number-list::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3%204h2v4H4V5H3V4Zm5%202a1%201%200%200%201%201-1h11a1%201%200%201%201%200%202H9a1%201%200%200%201-1-1Zm1%205a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm0%206a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm-3.5-7H6v1l-1.5%202H6v1H3v-1l1.667-2H3v-1h2.5ZM3%2017v-1h3v4H3v-1h2v-.5H4v-1h1V17H3Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-undo::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3%2014a1%201%200%200%200%201%201h6a1%201%200%201%200%200-2H6.257c2.247-2.764%205.151-3.668%207.579-3.264%202.589.432%204.739%202.356%205.174%205.405a1%201%200%200%200%201.98-.283c-.564-3.95-3.415-6.526-6.825-7.095C11.084%207.25%207.63%208.377%205%2011.39V8a1%201%200%200%200-2%200v6Zm2-1Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-redo::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21%2014a1%201%200%200%201-1%201h-6a1%201%200%201%201%200-2h3.743c-2.247-2.764-5.151-3.668-7.579-3.264-2.589.432-4.739%202.356-5.174%205.405a1%201%200%200%201-1.98-.283c.564-3.95%203.415-6.526%206.826-7.095%203.08-.513%206.534.614%209.164%203.626V8a1%201%200%201%201%202%200v6Zm-2-1Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-decrease-nesting-level::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%206a1%201%200%200%201%201-1h12a1%201%200%201%201%200%202H6a1%201%200%200%201-1-1Zm4%205a1%201%200%201%200%200%202h9a1%201%200%201%200%200-2H9Zm-3%206a1%201%200%201%200%200%202h12a1%201%200%201%200%200-2H6Zm-3.707-5.707a1%201%200%200%200%200%201.414l2%202a1%201%200%201%200%201.414-1.414L4.414%2012l1.293-1.293a1%201%200%200%200-1.414-1.414l-2%202Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-increase-nesting-level::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%206a1%201%200%200%201%201-1h12a1%201%200%201%201%200%202H6a1%201%200%200%201-1-1Zm4%205a1%201%200%201%200%200%202h9a1%201%200%201%200%200-2H9Zm-3%206a1%201%200%201%200%200%202h12a1%201%200%201%200%200-2H6Zm-2.293-2.293%202-2a1%201%200%200%200%200-1.414l-2-2a1%201%200%201%200-1.414%201.414L3.586%2012l-1.293%201.293a1%201%200%201%200%201.414%201.414Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-dialogs {
  position: relative;
}

trix-toolbar .trix-dialog {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  font-size: 0.75em;
  padding: 15px 10px;
  background: #fff;
  box-shadow: 0 0.3em 1em #ccc;
  border-top: 2px solid #888;
  border-radius: 5px;
  z-index: 5;
}

trix-toolbar .trix-input--dialog {
  font-size: inherit;
  font-weight: normal;
  padding: 0.5em 0.8em;
  margin: 0 10px 0 0;
  border-radius: 3px;
  border: 1px solid #bbb;
  background-color: #fff;
  box-shadow: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

trix-toolbar .trix-input--dialog.validate:invalid {
  box-shadow: #F00 0px 0px 1.5px 1px;
}

trix-toolbar .trix-button--dialog {
  font-size: inherit;
  padding: 0.5em;
  border-bottom: none;
}

trix-toolbar .trix-dialog--link {
  max-width: 600px;
}

trix-toolbar .trix-dialog__link-fields {
  display: flex;
  align-items: baseline;
}

trix-toolbar .trix-dialog__link-fields .trix-input {
  flex: 1;
}

trix-toolbar .trix-dialog__link-fields .trix-button-group {
  flex: 0 0 content;
  margin: 0;
}

trix-editor [data-trix-mutable]:not(.attachment__caption-editor) {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

trix-editor [data-trix-mutable] ::-moz-selection, trix-editor [data-trix-mutable]::-moz-selection,
trix-editor [data-trix-cursor-target]::-moz-selection {
  background: none;
}

trix-editor [data-trix-mutable] ::selection, trix-editor [data-trix-mutable]::selection,
trix-editor [data-trix-cursor-target]::selection {
  background: none;
}

trix-editor [data-trix-mutable].attachment__caption-editor:focus::-moz-selection {
  background: highlight;
}

trix-editor [data-trix-mutable].attachment__caption-editor:focus::selection {
  background: highlight;
}

trix-editor [data-trix-mutable].attachment.attachment--file {
  box-shadow: 0 0 0 2px highlight;
  border-color: transparent;
}

trix-editor [data-trix-mutable].attachment img {
  box-shadow: 0 0 0 2px highlight;
}

trix-editor .attachment {
  position: relative;
}

trix-editor .attachment:hover {
  cursor: default;
}

trix-editor .attachment--preview .attachment__caption:hover {
  cursor: text;
}

trix-editor .attachment__progress {
  position: absolute;
  z-index: 1;
  height: 20px;
  top: calc(50% - 10px);
  left: 5%;
  width: 90%;
  opacity: 0.9;
  transition: opacity 200ms ease-in;
}

trix-editor .attachment__progress[value="100"] {
  opacity: 0;
}

trix-editor .attachment__caption-editor {
  display: inline-block;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
  color: inherit;
  text-align: center;
  vertical-align: top;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

trix-editor .attachment__toolbar {
  position: absolute;
  z-index: 1;
  top: -0.9em;
  left: 0;
  width: 100%;
  text-align: center;
}

trix-editor .trix-button-group {
  display: inline-flex;
}

trix-editor .trix-button {
  position: relative;
  float: left;
  color: #666;
  white-space: nowrap;
  font-size: 80%;
  padding: 0 0.8em;
  margin: 0;
  outline: none;
  border: none;
  border-radius: 0;
  background: transparent;
}

trix-editor .trix-button:not(:first-child) {
  border-left: 1px solid #ccc;
}

trix-editor .trix-button.trix-active {
  background: #cbeefa;
}

trix-editor .trix-button:not(:disabled) {
  cursor: pointer;
}

trix-editor .trix-button--remove {
  text-indent: -9999px;
  display: inline-block;
  padding: 0;
  outline: none;
  width: 1.8em;
  height: 1.8em;
  line-height: 1.8em;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid highlight;
  box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.25);
}

trix-editor .trix-button--remove::before {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.7;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg%20height%3D%2224%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%206.41%2017.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z%22%2F%3E%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 90%;
}

trix-editor .trix-button--remove:hover {
  border-color: #333;
}

trix-editor .trix-button--remove:hover::before {
  opacity: 1;
}

trix-editor .attachment__metadata-container {
  position: relative;
}

trix-editor .attachment__metadata {
  position: absolute;
  left: 50%;
  top: 2em;
  transform: translate(-50%, 0);
  max-width: 90%;
  padding: 0.1em 0.6em;
  font-size: 0.8em;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 3px;
}

trix-editor .attachment__metadata .attachment__name {
  display: inline-block;
  max-width: 100%;
  vertical-align: bottom;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

trix-editor .attachment__metadata .attachment__size {
  margin-left: 0.2em;
  white-space: nowrap;
}

.trix-content {
  line-height: 1.5;
  overflow-wrap: break-word;
  word-break: break-word;
}

.trix-content * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.trix-content h1 {
  font-size: 1.2em;
  line-height: 1.2;
}

.trix-content blockquote {
  border: 0 solid #ccc;
  border-left-width: 0.3em;
  margin-left: 0.3em;
  padding-left: 0.6em;
}

.trix-content [dir=rtl] blockquote,
.trix-content blockquote[dir=rtl] {
  border-width: 0;
  border-right-width: 0.3em;
  margin-right: 0.3em;
  padding-right: 0.6em;
}

.trix-content li {
  margin-left: 1em;
}

.trix-content [dir=rtl] li {
  margin-right: 1em;
}

.trix-content pre {
  display: inline-block;
  width: 100%;
  vertical-align: top;
  font-family: monospace;
  font-size: 0.9em;
  padding: 0.5em;
  white-space: pre;
  background-color: #eee;
  overflow-x: auto;
}

.trix-content img {
  max-width: 100%;
  height: auto;
}

.trix-content .attachment {
  display: inline-block;
  position: relative;
  max-width: 100%;
}

.trix-content .attachment a {
  color: inherit;
  text-decoration: none;
}

.trix-content .attachment a:hover, .trix-content .attachment a:visited:hover {
  color: inherit;
}

.trix-content .attachment__caption {
  text-align: center;
}

.trix-content .attachment__caption .attachment__name + .attachment__size::before {
  content: " •";
}

.trix-content .attachment--preview {
  width: 100%;
  text-align: center;
}

.trix-content .attachment--preview .attachment__caption {
  color: #666;
  font-size: 0.9em;
  line-height: 1.2;
}

.trix-content .attachment--file {
  color: #333;
  line-height: 1;
  margin: 0 2px 2px 2px;
  padding: 0.4em 1em;
  border: 1px solid #bbb;
  border-radius: 5px;
}

.trix-content .attachment-gallery {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

.trix-content .attachment-gallery .attachment {
  flex: 1 0 33%;
  padding: 0 0.5em;
  max-width: 33%;
}

.trix-content .attachment-gallery.attachment-gallery--2 .attachment, .trix-content .attachment-gallery.attachment-gallery--4 .attachment {
  flex-basis: 50%;
  max-width: 50%;
}

/*
 * Provides a drop-in pointer for the default Trix stylesheet that will format the toolbar and
 * the trix-editor content (whether displayed or under editing). Feel free to incorporate this
 * inclusion directly in any other asset bundle and remove this file.
 *
 *= require trix
*/
/*
 * We need to override trix.css’s image gallery styles to accommodate the
 * <action-text-attachment> element we wrap around attachments. Otherwise,
 * images in galleries will be squished by the max-width: 33%; rule.
*/
.trix-content .attachment-gallery > action-text-attachment,
.trix-content .attachment-gallery > .attachment {
  flex: 1 0 33%;
  max-width: 33%;
  padding: 0 0.5em;
}

.trix-content .attachment-gallery.attachment-gallery--2 > action-text-attachment,
.trix-content .attachment-gallery.attachment-gallery--2 > .attachment,
.trix-content .attachment-gallery.attachment-gallery--4 > action-text-attachment,
.trix-content .attachment-gallery.attachment-gallery--4 > .attachment {
  flex-basis: 50%;
  max-width: 50%;
}

.trix-content .tiktok-embed {
  border: none;
  margin-left: 0;
  padding-left: 0;
}
.trix-content .tiktok-embed section a {
  align-items: center;
  background: var(--color-gray--1);
  border: solid 1px var(--color-gray--3);
  border-radius: 5px;
  color: var(--color-gray--7);
  display: flex;
  font-size: 0.75rem;
  justify-content: center;
  min-height: 7.5rem;
  position: relative;
  text-decoration: none;
}
.trix-content .tiktok-embed[id] > section > a {
  display: none;
}

.trix-content action-text-attachment {
  display: block;
  margin: 0 0 2rem;
}

.trix-content iframe {
  border: none;
  display: block;
  margin: 1.3rem 0;
}
.trix-content .attachment {
  display: block;
  max-width: 100% !important;
  padding: 0 !important;
}
.trix-content br + action-text-attachment,
.trix-content br + iframe,
.trix-content br + .attachment,
.trix-content br + .seller__events,
.trix-content br + .seller__items {
  margin-top: 2rem;
}

.trix-content figure.attachment {
  display: block;
}
.trix-content figure.attachment img {
  display: block;
  max-width: 100%;
}

trix-editor {
  min-height: calc(100vh - 250px);
  min-height: calc(100dvh - 250px); /* stylelint-disable-line plugin/no-unsupported-browser-features -- there's a fallback on the previous line */
}
@media (min-width: 64rem) {
  trix-editor {
    min-height: 12em;
  }
}
trix-editor iframe {
  border: none;
  max-width: 100%;
}
trix-editor textarea {
  border-radius: 0;
  min-height: 0;
}
trix-editor .trix-button--remove {
  overflow: hidden; /* stylelint-disable-line plugin/no-unsupported-browser-features -- hidden is supported, clip is not. */
  text-indent: 100%; /* stylelint-disable-line plugin/no-unsupported-browser-features -- It's only unsupported with a second value. The linter should be smarter */
  white-space: nowrap;
}
trix-editor .trix-preview .drag-bar,
trix-editor figure.attachment--preview::before {
  align-items: center;
  background-color: var(--color-gray--2);
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="12" fill="%23cbcbcb"><rect width="20" height="2" rx="1"/><rect width="20" height="2" y="5" rx="1"/><rect width="20" height="2" y="10" rx="1"/></svg>');
  background-position: 0.625rem center;
  background-repeat: no-repeat;
  background-size: 1.25rem auto;
  border-bottom: solid 1px var(--color-gray--3);
  border-radius: 4px 4px 0 0;
  content: "Image";
  display: flex;
  justify-content: center;
  min-height: 1.875rem;
  text-align: center;
}
@media (pointer: fine) {
  trix-editor .trix-preview .drag-bar,
  trix-editor figure.attachment--preview::before {
    cursor: grab; /* stylelint-disable-line plugin/no-unsupported-browser-features -- this is an enhancement */
  }
}
trix-editor .trix-preview .drag-bar h2,
trix-editor figure.attachment--preview::before {
  color: hsl(0, 0%, 1%);
  font-size: 0.875rem;
  text-transform: uppercase;
}
trix-editor .trix-preview,
trix-editor figure.attachment--preview {
  background: var(--color-gray--1);
  border: solid 1px var(--color-gray--3);
  border-radius: 5px;
  color: var(--color-gray--7);
  position: relative;
}
trix-editor .trix-preview .content,
trix-editor figure.attachment--preview .content {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 7.5rem;
  position: relative;
}
trix-editor .trix-preview .trix-preview__label,
trix-editor figure.attachment--preview .trix-preview__label {
  color: hsl(0, 0%, 100%);
  /* Using viewport units in font size is bad (hence the rule against them),
   * but it's OK to use them as part of a calc operation. So we can disable
   * the linter for the next line.
   */
  /* stylelint-disable declaration-property-unit-disallowed-list */
  font-size: max(2rem, min(1.02rem + 4.88vw, 3rem)); /* stylelint-disable-line plugin/no-unsupported-browser-features -- min and max are supported, clamp is not */
  font-size: clamp(2rem, 1.02rem + 4.88vw, 3rem); /* stylelint-disable-line plugin/no-unsupported-browser-features -- The previous line is a supported fallback. */
  /* stylelint-enable declaration-property-unit-disallowed-list */
  font-weight: 700;
  position: relative;
}
trix-editor .trix-preview .trix-preview__overlay,
trix-editor figure.attachment--preview .trix-preview__overlay {
  align-items: center;
  display: flex;
  justify-content: center;
  text-align: center;
}
trix-editor .trix-preview .trix-preview__overlay, trix-editor .trix-preview .trix-preview__overlay::before,
trix-editor figure.attachment--preview .trix-preview__overlay,
trix-editor figure.attachment--preview .trix-preview__overlay::before {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
trix-editor .trix-preview .trix-preview__overlay::before,
trix-editor figure.attachment--preview .trix-preview__overlay::before {
  background: rgba(0, 0, 0, 0.5);
  content: "";
  mix-blend-mode: multiply;
}
trix-editor .trix-preview.trix-preview--listings p {
  font-size: 0.75rem;
  margin: auto 0;
}
trix-editor .trix-preview.trix-preview--instagram .content {
  padding: 0.75rem 0;
}
trix-editor .trix-preview.trix-preview--tiktok .content {
  background: var(--color-gray--1);
  border-radius: 0 0 4px 4px;
}
trix-editor .trix-preview.trix-preview--tiktok .content iframe {
  border-radius: 0 0 4px 4px;
  display: block;
  height: 100%;
  margin: 0 auto;
  position: relative;
  width: 100%;
}
trix-editor .trix-preview.trix-preview--tiktok .content--creator {
  height: 516px;
  max-width: 780px;
  min-width: 288px;
  position: relative;
}
trix-editor .trix-preview.trix-preview--tiktok .content--video {
  height: 765px;
}
trix-editor .trix-preview.trix-preview--tiktok .content--video iframe {
  aspect-ratio: 325/765;
  max-width: 605px;
  min-width: 325px;
}
trix-editor .trix-preview.trix-preview--youtube iframe {
  aspect-ratio: 640/360;
  border-radius: 0 0 4px 4px;
  height: auto;
  margin: 0;
  overflow: hidden; /* stylelint-disable-line plugin/no-unsupported-browser-features -- hidden is supported, clip is not. */
}
trix-editor .trix-preview.trix-preview--youtube img,
trix-editor .trix-preview.trix-preview--youtube .trix-preview__overlay {
  border-radius: 0 0 4px 4px;
  overflow: hidden; /* stylelint-disable-line plugin/no-unsupported-browser-features -- hidden is supported, clip is not. */
}

trix-editor [data-trix-mutable].attachment .trix-preview {
  box-shadow: 0 0 0 2px highlight;
}

trix-toolbar {
  background: linear-gradient(to top, rgba(255, 255, 255, 0), white);
  background-clip: border-box;
  border: solid 0 transparent;
  bottom: 0;
  margin-bottom: 0.5rem;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
  margin-top: 0;
  max-width: 100vw;
  overflow: visible; /* stylelint-disable-line plugin/no-unsupported-browser-features -- visible is supported, clip is not. */
  padding-right: 0.25rem;
  padding-top: 10px;
  position: sticky;
  top: var(--global-header-height, 0);
  width: 100vw;
  z-index: 2;
}
trix-toolbar button {
  background: #fff;
}
trix-toolbar.stuck {
  border-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)) 0 0 10;
}
@media (min-width: 40rem) {
  trix-toolbar {
    background: hsl(0, 0%, 100%);
    background-clip: padding-box;
    border-bottom-width: 10px;
    bottom: unset;
    margin: 0;
    max-width: 100%;
    padding: 0;
    top: var(--global-header-height, 4rem);
    width: unset;
  }
}
@media (min-width: 48rem) {
  trix-toolbar {
    top: var(--global-header-height, 5rem);
  }
}
@media (min-width: 55rem) {
  trix-toolbar {
    padding-top: 0.25rem;
    top: var(--global-header-height, 6.8125rem);
  }
}
trix-toolbar label {
  white-space: normal;
}
trix-toolbar .trix-button--dialog,
trix-toolbar .trix-input--dialog {
  font-size: 1rem;
}
trix-toolbar .trix-button {
  display: block;
}
@media (max-width: 768px) {
  trix-toolbar .trix-button--icon {
    max-width: calc(1em + 3.5vw);
  }
}
trix-toolbar .trix-button--icon-attach::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" fill="%23000"><g transform="scale(0.8) translate(3 2.5)"><path d="M7.65 4.25a1.7 1.7 0 1 0-3.4 0 1.7 1.7 0 0 0 3.4 0Z"/><path  fill-rule="evenodd" d="M2.55 0A2.55 2.55 0 0 0 0 2.55v11.9A2.55 2.55 0 0 0 2.55 17h11.9A2.55 2.55 0 0 0 17 14.45V2.55A2.55 2.55 0 0 0 14.45 0H2.55ZM1.7 2.55c0-.47.38-.85.85-.85h11.9c.47 0 .85.38.85.85v7.721l-1.782-2.293a.852.852 0 0 0-1.327-.018l-2.6 3.158-3.023-3.201a.846.846 0 0 0-1.298.073L1.7 12.75V2.55Z" clip-rule="evenodd"/></g></svg>');
}
trix-toolbar .trix-button--icon-events::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" fill="%23000"><g transform="scale(0.8) translate(3, 2.5)"><path fill-rule="evenodd" d="M9.73 2.429H7.272C7.136 1.045 6.082 0 4.858 0 3.633 0 2.579 1.045 2.444 2.429H1.82A1.821 1.821 0 0 0 0 4.25V15.18A1.82 1.82 0 0 0 1.821 17H15.18A1.821 1.821 0 0 0 17 15.179V4.25a1.82 1.82 0 0 0-1.821-1.821h-.622C14.421 1.045 13.368 0 12.143 0S9.865 1.045 9.73 2.429Zm-.726 6.007a.608.608 0 0 0-1.008 0L7.06 9.829l-1.614.46a.607.607 0 0 0-.31.959l1.034 1.32-.06 1.676a.606.606 0 0 0 .815.593L8.5 14.26l1.576.577a.606.606 0 0 0 .815-.593l-.06-1.676 1.034-1.32a.606.606 0 0 0-.312-.96l-1.613-.46-.936-1.392Zm2.166-4.793c.216.365.563.607.974.607a.608.608 0 0 1 0 1.214c-1.038 0-1.953-.75-2.29-1.821h-5.97c.217.365.564.607.975.607a.608.608 0 0 1 0 1.214c-1.038 0-1.953-.75-2.29-1.821h-.746a.607.607 0 0 0-.607.607v1.822h14.57V4.25a.608.608 0 0 0-.606-.607h-4.01Zm2.164-1.214c-.11-.678-.58-1.215-1.19-1.215s-1.081.537-1.19 1.215h2.38Zm-7.286 0c-.11-.678-.58-1.215-1.19-1.215-.609 0-1.08.537-1.19 1.215h2.38Z" clip-rule="evenodd"/></g></svg>');
}
trix-toolbar .trix-button--icon-youtube::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="21" height="17" fill="%23000"><g transform="scale(0.8) translate(3 2.5)"><path d="M16.775 0H4.225C3.105 0 2.03.453 1.239 1.258A4.326 4.326 0 0 0 0 4.292v8.418a4.331 4.331 0 0 0 1.239 3.032A4.196 4.196 0 0 0 4.225 17h12.55c1.12 0 2.195-.453 2.986-1.258A4.326 4.326 0 0 0 21 12.708V4.29a4.33 4.33 0 0 0-1.239-3.032A4.196 4.196 0 0 0 16.775 0Zm2.355 12.712c-.002 1.32-1.055 2.39-2.355 2.391H4.225c-1.3-.001-2.354-1.071-2.355-2.392V4.289c.001-1.32 1.054-2.39 2.355-2.392h12.55c1.3.002 2.354 1.072 2.355 2.393v8.422Z"/><path d="M7.415 12.667 14.52 8.5 7.415 4.333v8.334Z"/></g></svg>');
}
trix-toolbar .trix-button--icon-instagram::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="17" fill="%23000"><g transform="scale(0.8) translate(2.5 2.5)"><path d="M8.681 4.268c-2.315 0-4.268 1.88-4.268 4.268a4.23 4.23 0 0 0 4.268 4.268 4.23 4.23 0 0 0 4.269-4.268c0-2.387-1.954-4.268-4.269-4.268ZM7.017 6.8a.648.648 0 0 1-.65-.651c0-.362.289-.651.65-.651.362 0 .652.29.652.65 0 .363-.29.652-.652.652Z"/><path d="M16.204 0H1.157C.507 0 0 .506 0 1.085v14.83C0 16.494.506 17 1.085 17h15.047c.579 0 1.085-.506 1.085-1.085V1.085C17.362.506 16.855 0 16.204 0ZM8.681 14.251c-3.11 0-5.715-2.532-5.715-5.715A5.681 5.681 0 0 1 8.68 2.821a5.681 5.681 0 0 1 5.715 5.715c0 3.183-2.604 5.715-5.715 5.715ZM14.83 2.387a.648.648 0 0 1-.651-.65c0-.363.29-.652.65-.652.362 0 .652.29.652.651 0 .362-.217.651-.651.651Z"/></g></svg>');
}
trix-toolbar .trix-button--icon-items::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="16" fill="%23000"><g transform="scale(0.8) translate(2.5 2.5)"><path  d="m20 6-3.143-6H3.143L0 5.999C0 7.265.914 8 2 8c1.086 0 2-.668 2-2.001C4 7.265 4.916 8 6.002 8c1.086 0 2-.668 2-2.001C8.002 7.265 8.917 8 10.003 8c1.086 0 2-.668 2-2.001 0 1.266.915 2.001 2.001 2.001 1.085 0 2-.668 2-2.001 0 1.266.915 2.001 2 2.001C19.087 8 20 7.333 20 6Z"/><path fill-rule="evenodd" d="M3 9.153a4.54 4.54 0 0 1-1.4.21c-.18 0-.42 0-.6-.06V16h17.999L19 9.301c-.18.061-.42.061-.6.061a4.54 4.54 0 0 1-1.4-.209V14H3V9.153Z" clip-rule="evenodd"/></g></svg>');
}
trix-toolbar .trix-button--icon-tiktok::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" fill="%23000"><g transform="scale(0.8) translate(2.5 2.5)"><path fill-rule="evenodd" d="M1 0a1 1 0 0 0-1 1v15a1 1 0 0 0 1 1h15a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1H1Zm11.226 4.873c.077.05.157.097.24.14.535.267 1.058.348 1.315.32v2.078s-.735-.03-1.28-.175a4.842 4.842 0 0 1-1.247-.516s-.339-.224-.364-.239v4.294c0 .239-.063.836-.253 1.334-.166.426-.403.82-.701 1.166 0 0-.468.58-1.288.968-.684.324-1.293.342-1.534.35h-.052s-1.124.046-2.137-.643l-.005-.005v.005a4.253 4.253 0 0 1-.907-.855 4.09 4.09 0 0 1-.568-1.037v-.005c-.08-.241-.25-.825-.225-1.39.04-.993.374-1.605.462-1.757.233-.418.536-.792.897-1.106a3.888 3.888 0 0 1 2.996-.876l-.003 2.131a1.771 1.771 0 0 0-2.31 1.691c0 .983.791 1.778 1.767 1.778.303 0 .602-.079.866-.229a1.778 1.778 0 0 0 .894-1.41v-.005l.001-.018.001-.013.001-.027c.005-.106.005-.213.005-.322V2.406h2.093c-.003 0-.025.2.028.51h-.003c.063.374.235.908.695 1.434.183.198.39.374.616.523Z" clip-rule="evenodd"/></g></svg>');
}
trix-toolbar .trix-button-group {
  border: 1px solid var(--border-color, #bbb);
  border-bottom-color: var(--border-color, #888);
  border-top-color: var(--border-color, #ccc);
}
trix-toolbar .trix-button-row .trix-button-group {
  background: hsl(0, 0%, 100%);
  margin-right: 1.5vw;
}
trix-toolbar .trix-button-row .trix-button-group:first-child {
  margin-left: 0.25rem;
}
trix-toolbar .trix-button-row .trix-button-group:last-child {
  margin-right: auto;
}
trix-toolbar .trix-button-row .trix-button-group:not(:first-child) {
  margin-left: 0;
}
@media (min-width: 40rem) {
  trix-toolbar .trix-button-row {
    flex-wrap: wrap;
  }
  trix-toolbar .trix-button-row .trix-button-group:first-child {
    margin-left: 0;
  }
}
trix-toolbar .trix-dialog {
  --border-color: var(--color-blue--4);
}
trix-toolbar .trix-dialog__link_fields > input {
  display: block;
}
trix-toolbar .trix-dialog .trix-button {
  --color: var(--color-blue);
  color: var(--color, rgba(0, 0, 0, 0.6));
}
trix-toolbar .trix-dialog .trix-button:hover {
  color: var(--color-white, #fff);
}

:root.supports-flexbox-gap trix-toolbar .trix-button-row {
  column-gap: 1.5vw;
}
:root.supports-flexbox-gap trix-toolbar .trix-button-row .trix-button-group {
  margin-right: 0;
}

.webview-embedded {
  padding: 0.5rem;
}
.webview-embedded trix-toolbar {
  top: 0;
}

@font-face {
  font-display: swap;
  font-family: Dosis;
  font-style: normal;
  font-weight: 200 800;
  src: url("/assets/dosis-74f465cb.woff2") format("woff2");
}
body {
  font-family: Helvetica, Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: Dosis, Helvetica, Arial, sans-serif;
}

main.website-main {
  min-height: 60vh;
  padding-block: 0;
}

.website-section__liner {
  margin-inline: auto;
  width: min(90rem, 100% - 2rem);
}

.website-store-badges {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.website-store-badges__apple,
.website-store-badges__google {
  display: block;
  height: 2.5rem;
  width: auto;
}

.website-store-badges--compact {
  gap: 0.5rem;
  margin-top: 0;
}

.website-button,
input.website-button {
  --background: var(--color-green);
  --color: #fff;
  --disabled: var(--color-green--2);
  --hover: var(--color-green--6);
  background: var(--background);
  border-radius: 0.5rem;
  color: var(--color);
  display: inline-block;
  font-weight: 600;
  padding: 0.625rem 1.25rem;
  text-decoration: none;
}
.website-button:hover, .website-button:focus,
input.website-button:hover,
input.website-button:focus {
  background: var(--hover);
}

.website-button--ghost {
  --background: transparent;
  --hover: var(--color-gray--1);
  box-shadow: inset 0 0 0 1px var(--color-gray--3);
  color: var(--color-green--7);
}

.website-button--cta,
input.website-button--cta {
  --hover: var(--color-green--7);
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  padding: 0.75rem 1.75rem;
  text-transform: uppercase;
}

.skip_link {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  margin: 0;
  overflow: hidden; /* stylelint-disable-line plugin/no-unsupported-browser-features -- hidden is supported, clip is not. */
  position: absolute;
  top: 0;
  width: 1px;
}
.skip_link:focus {
  background: #fff;
  clip: auto;
  height: auto;
  padding: 0.5rem;
  width: auto;
  z-index: var(--layer-menu);
}

.website-banner {
  align-items: center;
  background: var(--color-blue--4);
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1rem;
  justify-content: center;
  padding: 0.75rem 1rem;
}

.website-banner__text {
  font-size: 1rem;
  margin: 0;
}
@media (max-width: 40rem) {
  .website-banner__text {
    text-align: center;
  }
  .website-banner__text strong {
    display: block;
  }
}

.website-banner__reg {
  font-size: 0.625em;
  vertical-align: super;
}

.website-header {
  background: #fff;
  border-bottom: 1px solid var(--color-gray--2);
  position: sticky;
  top: 0;
  z-index: var(--layer-header);
}

.website-header__liner {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-inline: auto;
  min-height: 8rem;
  transition: min-height 0.2s ease;
  width: min(90rem, 100% - 2rem);
}

.website-header__brand {
  align-items: center;
  display: inline-flex;
}

.website-header__logo {
  display: block;
  height: 3.75rem;
  transition: height 0.2s ease;
  width: auto;
}

.website-header--condensed .website-header__liner {
  min-height: 4rem;
}

.website-header--condensed .website-header__logo {
  height: 2.5rem;
}

@media (prefers-reduced-motion: reduce) {
  .website-header__liner,
  .website-header__logo {
    transition: none;
  }
}
.website-nav {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 2rem;
  justify-content: flex-end;
  padding-block: 0.5rem;
}

.website-nav__link {
  color: var(--color-green--6);
  font-size: 1.125rem;
  font-weight: 500;
  position: relative;
  text-decoration: none;
  z-index: 0;
}
.website-nav__link:hover, .website-nav__link:focus {
  color: var(--color-green--4);
}

.website-nav__mark {
  color: var(--color-green--1);
  display: block;
  inset: -1.15em -0.9em;
  pointer-events: none;
  position: absolute;
  z-index: -1;
}
.website-nav__mark svg {
  display: block;
  height: 100%;
  width: 100%;
}

.website-header__user {
  align-items: center;
  display: flex;
  gap: 0.375rem;
  margin-left: 2rem;
}

.website-header__prompt {
  color: var(--color-gray--9);
  font-size: 1.125rem;
}

.website-navmenu {
  position: relative;
}

.website-navmenu__toggle {
  color: var(--color-green--6);
  cursor: pointer;
  font-size: 1.125rem;
  font-weight: 500;
  list-style: none;
  position: relative;
  z-index: 0;
}
.website-navmenu__toggle::-webkit-details-marker {
  display: none;
}
.website-navmenu__toggle::after {
  content: none;
}
.website-navmenu__toggle:hover, .website-navmenu__toggle:focus {
  color: var(--color-green--4);
}

.website-navmenu__menu {
  background: #fff;
  border: 1px solid var(--color-gray--2);
  border-radius: 0.75rem;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.12);
  display: grid;
  left: 0;
  min-width: 14rem;
  padding: 0.5rem;
  position: absolute;
  top: calc(100% + 0.5rem);
  z-index: 1;
}
.website-navmenu__menu::after {
  content: "";
  height: 0.5rem;
  left: 0;
  position: absolute;
  right: 0;
  top: -0.5rem;
}

.website-navmenu__option {
  border-radius: 0.5rem;
  color: var(--color-gray--9);
  display: block;
  font-weight: 600;
  padding: 0.625rem 0.75rem;
  text-decoration: none;
}
.website-navmenu__option:hover, .website-navmenu__option:focus {
  background: var(--color-green--1);
  color: var(--color-green--7);
}

.website-signin {
  position: relative;
}

.website-signin__toggle {
  color: var(--color-green--6);
  cursor: pointer;
  font-size: 1.125rem;
  font-weight: 600;
  list-style: none;
}
.website-signin__toggle::-webkit-details-marker {
  display: none;
}
.website-signin__toggle::after {
  content: none;
}
.website-signin__toggle:hover, .website-signin__toggle:focus {
  color: var(--color-green--7);
  text-decoration: underline;
}

.website-signin__menu {
  background: #fff;
  border: 1px solid var(--color-gray--2);
  border-radius: 0.75rem;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.12);
  display: grid;
  min-width: 15rem;
  padding: 0.5rem;
  position: absolute;
  right: 0;
  top: calc(100% + 0.5rem);
  z-index: 1;
}
.website-signin__menu::before {
  background: #fff;
  border-left: 1px solid var(--color-gray--2);
  border-top: 1px solid var(--color-gray--2);
  content: "";
  height: 0.75rem;
  position: absolute;
  right: 1.125rem;
  top: -0.4rem;
  transform: rotate(45deg);
  width: 0.75rem;
}
.website-signin__menu::after {
  content: "";
  height: 0.5rem;
  left: 0;
  position: absolute;
  right: 0;
  top: -0.5rem;
}

.website-burger {
  display: none;
  position: relative;
}
@media (max-width: 52rem) {
  .website-burger {
    display: block;
  }
}

.website-burger__toggle {
  color: var(--color-green--6);
  cursor: pointer;
  display: block;
  list-style: none;
  padding: 0.5rem;
}
.website-burger__toggle::-webkit-details-marker {
  display: none;
}
.website-burger__toggle::after {
  content: none;
}
.website-burger__toggle svg {
  display: block;
}

.website-burger__menu {
  background: #fff;
  border: 1px solid var(--color-gray--2);
  border-radius: 0.75rem;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.12);
  display: grid;
  padding: 0.5rem;
  position: absolute;
  right: 0;
  top: calc(100% + 0.5rem);
  width: min(20rem, 86vw);
  z-index: 1;
}
.website-burger__menu .website-nav__link {
  border-radius: 0.5rem;
  display: block;
  font-size: 1.125rem;
  padding: 0.625rem 0.75rem;
}
.website-burger__menu .website-nav__link:hover, .website-burger__menu .website-nav__link:focus {
  background: var(--color-green--1);
}

.website-burger__prompt {
  border-top: 1px solid var(--color-gray--2);
  color: var(--color-gray--7);
  font-size: 0.875rem;
  margin: 0.5rem 0 0;
  padding: 0.75rem 0.75rem 0;
}

.website-signin__option {
  border-radius: 0.5rem;
  display: grid;
  padding: 0.625rem 0.75rem;
  text-decoration: none;
}
.website-signin__option strong {
  color: var(--color-gray--9);
}
.website-signin__option small {
  color: var(--color-gray--7);
}
.website-signin__option:hover, .website-signin__option:focus {
  background: var(--color-green--1);
}
.website-signin__option:hover strong, .website-signin__option:focus strong {
  color: var(--color-green--7);
}

@media (max-width: 80rem) {
  .website-nav {
    gap: 0.75rem 1.75rem;
  }
  .website-nav__link,
  .website-navmenu__toggle,
  .website-signin__toggle,
  .website-header__prompt {
    font-size: 1rem;
  }
  .website-header__user {
    margin-left: 1rem;
  }
}
@media (max-width: 64rem) {
  .website-nav {
    gap: 0.75rem 1.5rem;
  }
  .website-header__prompt {
    display: none;
  }
  .website-nav .website-nav__extra {
    display: none;
  }
}
@media (max-width: 52rem) {
  .website-nav {
    display: none;
  }
  .website-header__liner {
    min-height: 5rem;
  }
  .website-header__logo {
    height: 3rem;
  }
}
.website-footer {
  background: #224800;
  color: #fff;
  padding-block: 2.5rem;
}

.website-footer__liner {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 3.5rem;
  margin-inline: auto;
  width: min(90rem, 100% - 2rem);
}

.website-footer__mark {
  display: block;
  height: 5.5rem;
  width: auto;
}

.website-footer__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 4rem;
}

.website-footer__col {
  list-style: none;
  margin: 0;
  padding: 0;
}
.website-footer__col a {
  color: #fff;
}
.website-footer__col a:hover, .website-footer__col a:focus {
  text-decoration-thickness: 2px; /* stylelint-disable-line plugin/no-unsupported-browser-features -- hover nicety; unsupporting browsers keep the normal underline. */
}

.website-footer__copy {
  align-self: flex-end;
  font-size: 1.1rem;
  margin: 0 0 0 auto;
}
@media (max-width: 40rem) {
  .website-footer__copy {
    margin-left: 0;
  }
}

.website-footer__reg {
  font-size: 0.7em;
  vertical-align: super;
}

.website-footer__legal {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.75rem;
  margin: 1.5rem 0 0;
}
.website-footer__legal a {
  color: inherit;
}

.website-photo-hero {
  --website-hero-veil: rgb(255 255 255 / 0.75);
  display: grid;
  overflow: clip; /* stylelint-disable-line plugin/no-unsupported-browser-features -- decorative; old Safari shows an unclipped static hero. */
}

@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .website-photo-hero__image {
      animation: website-hero-image-drift linear both;
      animation-timeline: view();
      scale: 1.18;
    }
    .website-photo-hero__card {
      animation: website-hero-card-drift linear both;
      animation-range: exit;
      animation-timeline: view();
    }
  }
}
@keyframes website-hero-image-drift {
  from {
    translate: 0 -7%;
  }
  to {
    translate: 0 7%;
  }
}
@keyframes website-hero-card-drift {
  to {
    translate: 0 -18%;
  }
}
.website-photo-hero__image {
  display: block;
  grid-area: 1/1;
  height: 100%;
  min-height: 26rem;
  object-fit: cover;
  width: 100%;
}

.website-photo-hero__card {
  align-self: center;
  backdrop-filter: blur(8px); /* stylelint-disable-line plugin/no-unsupported-browser-features -- progressive enhancement; the card is opaque enough without it. */
  background: var(--website-hero-veil);
  border-radius: 50px;
  grid-area: 1/1;
  justify-self: center;
  margin: 3rem 1.5rem;
  max-width: 64rem;
  padding: 2.5rem 3rem;
  position: relative;
  text-align: center;
}
.website-photo-hero__card .website-button {
  margin-top: auto;
}

.website-photo-hero__title {
  color: var(--color-gray--9);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 0.75rem;
}

.website-photo-hero__lede {
  color: var(--color-gray--9);
  font-size: 1rem;
  margin: 0 auto 1.5rem;
}

.website-hero-underlined {
  display: inline-block;
  position: relative;
}

.website-hero-underline {
  color: var(--color-green--5);
  display: block;
  inset: auto -0.05em -0.18em;
  pointer-events: none;
  position: absolute;
}
.website-hero-underline svg {
  display: block;
  height: auto;
  width: 100%;
}

.website-hero-flourish {
  aspect-ratio: 125.73/161.14;
  color: var(--website-hero-veil);
  pointer-events: none;
  position: absolute;
  width: 7rem;
}
.website-hero-flourish svg {
  display: block;
  height: 100%;
  width: 100%;
}
@media (max-width: 48rem) {
  .website-hero-flourish {
    display: none;
  }
}

.website-hero-flourish--end {
  right: -6.6rem;
  rotate: 180deg;
  top: -2.3rem;
}

.website-hero-flourish--start {
  bottom: -1.6rem;
  left: -6.6rem;
}

@media (max-width: 40rem) {
  .website-photo-hero {
    display: block;
  }
  .website-photo-hero__image {
    animation: none;
    aspect-ratio: 3/2;
    min-height: 0;
    scale: 1;
  }
  .website-photo-hero__card {
    animation: none;
    margin: -2.5rem 1rem 0;
    padding: 2rem 1.5rem;
  }
}
.website-photo-hero--split .website-photo-hero__cards {
  align-self: center;
  display: grid;
  gap: 1.5rem;
  grid-area: 1/1;
  margin: 3rem auto;
  max-width: 76rem;
  padding-inline: 1.5rem;
  width: 100%;
}
@media (min-width: 48rem) {
  .website-photo-hero--split .website-photo-hero__cards {
    grid-template-columns: 1fr 1fr;
  }
}
.website-photo-hero--split .website-photo-hero__card {
  align-self: stretch;
  animation: none;
  display: flex;
  flex-direction: column;
  grid-area: auto;
  justify-self: stretch;
  margin: 0;
  max-width: none;
}
@media (max-width: 47.99rem) {
  .website-photo-hero--split {
    display: block;
  }
  .website-photo-hero--split .website-photo-hero__image {
    animation: none;
    aspect-ratio: 3/2;
    min-height: 0;
    scale: 1;
  }
  .website-photo-hero--split .website-photo-hero__cards {
    animation: none;
    margin-block: -2.5rem 0;
    padding-inline: 1rem;
  }
  .website-photo-hero--split .website-photo-hero__card {
    padding: 2rem 1.5rem;
  }
}

.website-photo-hero--about .website-photo-hero__image {
  animation: none;
  aspect-ratio: 2880/1600;
  height: auto;
  object-position: top;
  scale: 1;
}
.website-photo-hero--about .website-photo-hero__cards {
  align-self: end;
  grid-area: 1/1;
  margin: 0 auto 5rem;
  max-width: 76rem;
  padding-inline: 1.5rem;
  width: 100%;
}
@media (max-width: 47.99rem) {
  .website-photo-hero--about {
    display: block;
  }
  .website-photo-hero--about .website-photo-hero__image {
    aspect-ratio: 4/3;
    min-height: 0;
  }
  .website-photo-hero--about .website-photo-hero__cards {
    margin-block: -2.5rem 0;
  }
}

.website-app-band {
  background: #fff;
  padding-block: 50px;
}
@media (max-width: 40rem) {
  .website-app-band {
    padding-block: 1.25rem;
  }
}

.website-app-band__card {
  border-radius: 50px;
  margin-inline: auto;
  width: min(1340px, 100% - 100px);
}
@media (max-width: 40rem) {
  .website-app-band__card {
    width: calc(100% - 2.5rem);
  }
}
.website-app-band__card {
  background: linear-gradient(90deg, #3279b0, #51a6dc);
  display: grid;
  gap: 2.75rem;
  grid-template-columns: minmax(0, 23rem) 1fr;
  overflow: hidden; /* stylelint-disable-line plugin/no-unsupported-browser-features -- hidden is supported, it's clip that isn't. */
  padding: 0 4rem 0 7rem;
  place-items: center;
  text-align: left;
}
@media (max-width: 60rem) {
  .website-app-band__card {
    gap: 1.75rem;
    grid-template-columns: 1fr;
    justify-items: stretch;
    padding: 0 0 2rem;
  }
}

.website-app-band__screen {
  box-shadow: 0 1.25rem 2.25rem rgba(0, 0, 0, 0.45);
  display: block;
  height: auto;
  max-width: 23rem;
  width: 100%;
}
@media (max-width: 60rem) {
  .website-app-band__screen {
    justify-self: center;
  }
}

@media (max-width: 60rem) {
  .website-app-band__body {
    padding-inline: 1.5rem;
  }
}

.website-app-band__title {
  color: #fff;
  font-size: 1.85rem;
  font-weight: 600;
  line-height: 1.2;
  margin: 0 0 0.75rem;
}

.website-app-band__lede {
  color: #fff;
  font-size: 1.1rem;
  margin: 0;
  max-width: 46rem;
}
.website-app-band__lede a {
  color: #fff;
  text-decoration: underline;
}

.website-split {
  display: grid;
}
@media (min-width: 60rem) {
  .website-split {
    grid-template-columns: 1fr 1fr;
  }
}

.website-split__pitch {
  background: #507926;
  color: #fff;
  overflow: clip; /* stylelint-disable-line plugin/no-unsupported-browser-features -- decorative clipping only. */
  position: relative;
}
.website-split__pitch::before {
  background-image: url("/assets/background-map-c5aa4046.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  inset: 0;
  mix-blend-mode: multiply;
  opacity: 0.55;
  pointer-events: none;
  position: absolute;
}

.website-split__pitch-liner {
  padding: 3.5rem 1.5rem;
  position: relative;
}
@media (min-width: 60rem) {
  .website-split__pitch-liner {
    margin-left: auto;
    max-width: 45rem;
    padding: 4rem 3rem;
  }
}
.website-split__pitch-liner h2 {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.2;
  margin: 0 0 1.5rem;
}
.website-split__pitch-liner p {
  font-size: 1.1rem;
  margin: 0 0 1.25rem;
}

.website-split__form {
  background: #fff;
}

.website-split__form-liner {
  padding: 3.5rem 1.5rem;
}
@media (min-width: 60rem) {
  .website-split__form-liner {
    margin-right: auto;
    max-width: 45rem;
    padding: 4rem 3rem;
  }
}
.website-split__form-liner h2 {
  color: var(--color-gray--9);
  font-size: 2rem;
  font-weight: 600;
  margin: 0 0 1.5rem;
}
.website-split__form-liner p {
  color: var(--color-gray--9);
  font-size: 1.1rem;
  margin: 0 0 1.25rem;
}

.website-split--neutral .website-split__pitch {
  background: #f0f0f0;
  color: var(--color-gray--9);
}

.website-contact-form__note {
  color: var(--color-gray--8);
  font-size: 0.875rem;
  margin: 1rem 0 0;
}

.website-pagehero {
  background: #507926;
  color: #fff;
  overflow: clip; /* stylelint-disable-line plugin/no-unsupported-browser-features -- decorative clipping only. */
  padding-block: 3.5rem;
  position: relative;
  text-align: center;
}
.website-pagehero::before {
  background-image: url("/assets/background-map-c5aa4046.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  inset: 0;
  mix-blend-mode: multiply;
  opacity: 0.55;
  pointer-events: none;
  position: absolute;
}
.website-pagehero .website-section__liner {
  position: relative;
}
.website-pagehero .website-store-badges {
  justify-content: center;
}
.website-pagehero a {
  color: #fff;
}

.website-pagehero__eyebrow {
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin: 0 0 0.75rem;
  text-transform: uppercase;
}

.website-pagehero__title {
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 1.2;
  margin: 0 auto 1rem;
  max-width: 56rem;
}

.website-pagehero__lede {
  font-size: 1.1rem;
  margin: 0 auto 1.5rem;
  max-width: 50rem;
}

.website-pagehero__cta-label {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 1.5rem 0 0;
}

.website-ctabar {
  align-items: center;
  background: var(--color-green--1);
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
  justify-content: center;
  padding: 0.75rem 1rem;
}
.website-ctabar p {
  color: var(--color-gray--9);
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
}
.website-ctabar .website-button {
  padding: 0.5rem 1.25rem;
}

.website-block {
  padding-block: 3.5rem;
}
.website-block--tinted {
  background: var(--color-gray--1);
}

.website-block__title {
  font-size: 2rem;
  font-weight: 600;
  margin: 0 0 1rem;
  text-align: center;
}

.website-block__lede {
  color: var(--color-gray--9);
  font-size: 1.1rem;
  margin: 0 auto 1.25rem;
  max-width: 50rem;
  text-align: center;
}

.website-block__aside {
  font-size: 1.1rem;
  margin: 2rem auto 0;
  max-width: 50rem;
  text-align: center;
}

.website-block__actions {
  margin-top: 2rem;
  text-align: center;
}

.website-info-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
}
@media (min-width: 48rem) {
  .website-info-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 48rem) {
  .website-info-grid--pairs {
    grid-template-columns: repeat(2, 1fr);
  }
}

.website-info-card {
  background: #fff;
  border: 1px solid var(--color-gray--2);
  border-radius: 30px;
  display: flex;
  flex-direction: column;
  padding: 2rem 1.75rem;
}
.website-info-card h3 {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0 0 0.75rem;
}
.website-info-card p {
  color: var(--color-gray--9);
  margin: 0 0 1rem;
}
.website-info-card ul {
  color: var(--color-gray--9);
  display: grid;
  gap: 0.375rem;
  margin: 0;
  padding-left: 1.25rem;
}
.website-info-card .website-button {
  align-self: flex-start;
  margin-top: auto;
}

.website-info-card__more {
  color: var(--color-green--7);
  font-weight: 600;
  margin-top: auto;
}

.website-info-card--feature {
  border: 0;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.12);
  padding: 2rem 1.5rem 1.5rem;
  text-align: center;
}
.website-info-card--feature h3 {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.15em;
}
.website-info-card--feature p {
  font-size: 1.1rem;
}
.website-info-card--feature ul {
  text-align: left;
}
.website-info-card--feature .website-button {
  align-self: stretch;
}

.website-photo-hero--about .website-info-card--feature {
  backdrop-filter: blur(8px); /* stylelint-disable-line plugin/no-unsupported-browser-features -- progressive enhancement; the card is opaque enough without it. */
  background: rgba(255, 255, 255, 0.75);
}

.website-info-card__icon {
  color: #437a10;
  display: block;
  height: 7.5rem;
  margin: 0 auto 1.5rem;
  width: auto;
}

.website-checklist {
  color: var(--color-gray--9);
  font-size: 1.1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.website-checklist li {
  margin-bottom: 0.625rem;
  padding-left: 1.5rem;
  position: relative;
}
.website-checklist li::before {
  color: var(--color-green--5);
  content: "✓";
  font-weight: 700;
  left: 0;
  position: absolute;
}

.website-block__list {
  margin: 2rem auto 0;
  max-width: 50rem;
  width: fit-content; /* stylelint-disable-line plugin/no-unsupported-browser-features -- progressive enhancement; without it the max-width and auto margins still center the list, just at a wider measure. */
}

.website-panel {
  background: #fff;
  border: 1px solid var(--color-gray--2);
  border-radius: 30px;
  margin: 2rem auto 0;
  max-width: 50rem;
  padding: 2rem;
}
.website-panel h3 {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0 0 1rem;
}

.website-howto {
  counter-reset: website-howto;
  list-style: none;
  margin: 2.5rem auto 0;
  max-width: 50rem;
  padding: 0;
}
.website-howto li {
  counter-increment: website-howto;
  margin-bottom: 1.75rem;
  padding-left: 4rem;
  position: relative;
}
.website-howto li::before {
  align-items: center;
  background: var(--color-green--5);
  border-radius: 50%;
  color: #fff;
  content: counter(website-howto);
  display: flex;
  font-family: Dosis, Helvetica, Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  height: 2.75rem;
  justify-content: center;
  left: 0;
  position: absolute;
  top: -0.25rem;
  width: 2.75rem;
}
.website-howto h3 {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0 0 0.25rem;
}
.website-howto p {
  color: var(--color-gray--9);
  font-size: 1.1rem;
  margin: 0;
}

.website-promo-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 48rem) {
  .website-promo-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.website-promo {
  background: var(--color-green--1);
  border-radius: 30px;
  display: flex;
  flex-direction: column;
  padding: 2.5rem 2rem;
}
.website-promo h2 {
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.2;
  margin: 0 0 1rem;
}
.website-promo p {
  color: var(--color-gray--9);
  font-size: 1.1rem;
  margin: 0 0 1.25rem;
}
.website-promo .website-button {
  align-self: flex-start;
  margin-top: auto;
}

.website-pricing {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
  margin-top: 2rem;
}
@media (min-width: 48rem) {
  .website-pricing {
    grid-template-columns: repeat(2, 1fr);
  }
}

.website-pricing__plan {
  background: #fff;
  border: 1px solid var(--color-gray--2);
  border-radius: 30px;
  display: flex;
  flex-direction: column;
  padding: 2.5rem 2rem;
}
.website-pricing__plan h3 {
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0 0 0.25rem;
}
.website-pricing__plan .website-checklist {
  margin-bottom: 1.5rem;
}
.website-pricing__plan .website-button {
  align-self: flex-start;
  margin-top: auto;
}
.website-pricing__plan--featured {
  border: 2px solid var(--color-green--5);
}

.website-pricing__price {
  color: var(--color-green--7);
  font-family: Dosis, Helvetica, Arial, sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
}
.website-pricing__price span {
  color: var(--color-gray--7);
  font-size: 1rem;
  font-weight: 500;
}

.website-pricing__tagline {
  color: var(--color-gray--8);
  font-size: 1.1rem;
  margin: 0 0 1rem;
}

.website-faq {
  background: var(--color-gray--1);
  padding-block: 3.5rem;
}

.website-faq__title {
  font-size: 2rem;
  font-weight: 600;
  margin: 0 0 1.5rem;
  text-align: center;
}

.website-faq__item {
  border-bottom: 1px solid var(--color-gray--2);
  margin: 0 auto;
  max-width: 50rem;
}
.website-faq__item:first-of-type {
  border-top: 1px solid var(--color-gray--2);
}

.website-faq__group-title {
  font-family: Dosis, Helvetica, Arial, sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  margin: 2.5rem auto 1rem;
  max-width: 50rem;
}
.website-faq__group:first-child .website-faq__group-title {
  margin-top: 0;
}

.website-faq__question {
  cursor: pointer;
  font-family: Dosis, Helvetica, Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  list-style: none;
  padding: 1rem 2.5rem 1rem 0;
}
.website-faq__question::-webkit-details-marker {
  display: none;
}
.website-faq__question::after {
  color: var(--color-green--6);
  content: "+";
  font-size: 1.5rem;
  font-weight: 500;
}
details[open] > .website-faq__question::after {
  content: "−";
}
.website-faq__question:hover {
  color: var(--color-green--7);
}

.website-faq__answer {
  color: var(--color-gray--9);
  font-size: 1.05rem;
  padding: 0 0 1.25rem;
}
.website-faq__answer p {
  margin: 0 0 0.75rem;
}
.website-faq__answer p:last-child {
  margin-bottom: 0;
}
.website-faq__answer ul {
  margin: 0 0 0.75rem;
  padding-left: 1.5rem;
}

.website-page--legal h2,
.website-page--legal h3,
.website-page--legal h4,
.website-page--legal p,
.website-page--legal ul,
.website-page--legal table {
  max-width: 75ch;
}
.website-page--legal table {
  border-collapse: collapse;
  margin-block: 1rem;
}
.website-page--legal td {
  border: 1px solid var(--color-gray--3);
  padding: 0.5rem 0.75rem;
  vertical-align: top;
}

.website-feature-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 1fr;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 48rem) {
  .website-feature-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.website-feature {
  background: #fff;
  border: 1px solid var(--color-gray--2);
  border-radius: 0.75rem;
  padding: 1.25rem;
}
.website-feature__title {
  margin-top: 0;
}

.website-sourcing {
  background: #93b658;
  overflow: clip; /* stylelint-disable-line plugin/no-unsupported-browser-features -- decorative clipping only. */
  padding-bottom: 4rem;
  position: relative;
}
.website-sourcing::before {
  background-image: url("/assets/background-map-c5aa4046.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  inset: 0;
  mix-blend-mode: multiply;
  opacity: 0.55;
  pointer-events: none;
  position: absolute;
}

.website-sourcing__band {
  background: #507926;
  padding: 2.5rem 1rem 3.5rem;
  text-align: center;
}

.website-sourcing__title {
  color: #fff;
  font-size: 2rem;
  font-weight: 600;
  margin: 0 0 0.5rem;
  position: relative;
}

.website-sourcing__lede {
  color: #fff;
  font-size: 1.1rem;
  margin: 0;
  position: relative;
}

.website-sourcing__grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
  list-style: none;
  margin: -2rem 0 0;
  padding: 0;
  position: relative;
}
@media (min-width: 40rem) {
  .website-sourcing__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 64rem) {
  .website-sourcing__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.website-sourcing-card {
  backdrop-filter: blur(8px); /* stylelint-disable-line plugin/no-unsupported-browser-features -- progressive enhancement; the card is opaque enough without it. */
  background: rgba(255, 255, 255, 0.75);
  border-radius: 30px;
  display: flex;
  flex-direction: column;
  padding: 2rem 1.5rem 1.5rem;
  text-align: center;
}
.website-sourcing-card p {
  color: var(--color-gray--9);
  font-size: 1.1rem;
  margin: 0 0 1.5rem;
}
.website-sourcing-card .website-button {
  margin-top: auto;
}

.website-sourcing-card__icon {
  color: #437a10;
  display: block;
  height: 7.5rem;
  margin: 0 auto 2rem;
  width: auto;
}

.website-sourcing-card__title {
  color: var(--color-gray--9);
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.15em;
  margin: 0 0 0.75rem;
}

.website-page {
  padding-block: var(--main-padding-top-large) var(--main-padding-bottom-large);
}

.website-page__title {
  font-size: 2.25rem;
}

.website-page__lede {
  color: var(--color-gray--8);
  font-size: 1.125rem;
  max-width: 60ch;
}

.website-steps {
  display: grid;
  gap: 1rem;
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
}

.website-step {
  background: #fff;
  border: 1px solid var(--color-gray--2);
  border-radius: 0.75rem;
  padding: 1.25rem;
}
.website-step__title {
  margin-top: 0;
}

.website-page__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2rem;
}

.website-page__aside {
  color: var(--color-gray--8);
  margin-top: 1.5rem;
}

.website-blog__head {
  margin-bottom: 1.5rem;
  padding-top: var(--main-padding-top-large);
}

.website-blog__list {
  display: grid;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.website-blog__item {
  border-bottom: 1px solid var(--color-gray--2);
  padding-bottom: 1.5rem;
}
.website-blog__item:last-child {
  border-bottom: 0;
}

.website-blog__item-title {
  margin: 0 0 0.25rem;
}
.website-blog__item-title a {
  color: var(--color-gray--10);
  text-decoration: none;
}
.website-blog__item-title a:hover, .website-blog__item-title a:focus {
  color: var(--color-green--7);
}

.website-blog__meta {
  color: var(--color-gray--6);
  font-size: 0.875rem;
  margin: 0 0 0.5rem;
}

.website-blog__excerpt {
  color: var(--color-gray--8);
  margin: 0 0 0.5rem;
}

.website-blog__more {
  color: var(--color-green--7);
  font-weight: 600;
}

.website-blog__empty {
  color: var(--color-gray--6);
  padding-block: 2rem;
}

.website-post {
  padding-block: var(--main-padding-top-large) var(--main-padding-bottom-large);
}

.website-post__back {
  margin-bottom: 1rem;
}
.website-post__back a {
  color: var(--color-gray--7);
  text-decoration: none;
}

.website-post__title {
  font-size: 2.25rem;
  margin: 0 0 0.5rem;
}

.website-post__meta {
  color: var(--color-gray--6);
  margin: 0 0 1.5rem;
}

.website-post__body {
  font-size: 1.0625rem;
  line-height: 1.7;
  max-width: 70ch;
}

.website-admin-header {
  background: var(--color-gray--10);
  color: #fff;
}

.website-admin-header__liner {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  min-height: 3.5rem;
}

.website-admin-header__title {
  font-weight: 700;
}

.website-admin-header__nav {
  display: flex;
  gap: 1.25rem;
}
.website-admin-header__nav a {
  color: var(--color-gray--2);
  text-decoration: none;
}
.website-admin-header__nav a:hover, .website-admin-header__nav a:focus {
  color: #fff;
}

.website-admin-main {
  padding-block: 2rem;
}

.website-admin-posts__head {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}

.website-admin-table {
  border-collapse: collapse;
  width: 100%;
}
.website-admin-table th,
.website-admin-table td {
  border-bottom: 1px solid var(--color-gray--2);
  padding: 0.625rem 0.75rem;
  text-align: left;
  vertical-align: top;
}
.website-admin-table th {
  color: var(--color-gray--6);
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.website-admin-table__actions {
  display: flex;
  gap: 0.75rem;
  white-space: nowrap;
}

.website-admin-status {
  border-radius: 999px;
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.125rem 0.5rem;
}
.website-admin-status--published {
  background: var(--color-green--1);
  color: var(--color-green--8);
}
.website-admin-status--scheduled {
  background: var(--color-gold--1);
  color: var(--color-gold--7);
}
.website-admin-status--draft {
  background: var(--color-gray--1);
  color: var(--color-gray--7);
}

.website-admin-empty {
  color: var(--color-gray--6);
  padding-block: 2rem;
}

.website-admin-field {
  margin-bottom: 1.25rem;
  max-width: 48rem;
}
.website-admin-field label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.25rem;
}
.website-admin-field input[type=text],
.website-admin-field input[type=datetime-local],
.website-admin-field textarea {
  width: 100%;
}

.website-admin-field__hint {
  color: var(--color-gray--6);
  font-size: 0.8125rem;
  margin: 0.25rem 0 0;
}

.website-admin-form-actions {
  align-items: center;
  display: flex;
  gap: 1rem;
}

.website-admin-errors {
  background: var(--color-red--1);
  border: 1px solid var(--color-red--3);
  border-radius: 0.5rem;
  margin-bottom: 1.5rem;
  padding: 1rem 1.25rem;
}
.website-admin-errors h2 {
  color: var(--color-red--7);
  font-size: 1rem;
  margin-top: 0;
}
