
/*
Trix 1.3.2
Copyright © 2024 Basecamp, LLC
http://trix-editor.org/*/
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-device-width: 768px) {
      trix-toolbar .trix-button-group:not(:first-child) {
        margin-left: 0; } }
trix-toolbar .trix-button-group-spacer {
  flex-grow: 1; }
  @media (max-device-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: black; }
  trix-toolbar .trix-button:not(:disabled) {
    cursor: pointer; }
  trix-toolbar .trix-button:disabled {
    color: rgba(0, 0, 0, 0.125); }
  @media (max-device-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-device-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-device-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%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M16.5%206v11.5a4%204%200%201%201-8%200V5a2.5%202.5%200%200%201%205%200v10.5a1%201%200%201%201-2%200V6H10v9.5a2.5%202.5%200%200%200%205%200V5a4%204%200%201%200-8%200v12.5a5.5%205.5%200%200%200%2011%200V6h-1.5z%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%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M15.6%2011.8c1-.7%201.6-1.8%201.6-2.8a4%204%200%200%200-4-4H7v14h7c2.1%200%203.7-1.7%203.7-3.8%200-1.5-.8-2.8-2.1-3.4zM10%207.5h3a1.5%201.5%200%201%201%200%203h-3v-3zm3.5%209H10v-3h3.5a1.5%201.5%200%201%201%200%203z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-italic::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M10%205v3h2.2l-3.4%208H6v3h8v-3h-2.2l3.4-8H18V5h-8z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-link::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M9.88%2013.7a4.3%204.3%200%200%201%200-6.07l3.37-3.37a4.26%204.26%200%200%201%206.07%200%204.3%204.3%200%200%201%200%206.06l-1.96%201.72a.91.91%200%201%201-1.3-1.3l1.97-1.71a2.46%202.46%200%200%200-3.48-3.48l-3.38%203.37a2.46%202.46%200%200%200%200%203.48.91.91%200%201%201-1.3%201.3z%22%2F%3E%3Cpath%20d%3D%22M4.25%2019.46a4.3%204.3%200%200%201%200-6.07l1.93-1.9a.91.91%200%201%201%201.3%201.3l-1.93%201.9a2.46%202.46%200%200%200%203.48%203.48l3.37-3.38c.96-.96.96-2.52%200-3.48a.91.91%200%201%201%201.3-1.3%204.3%204.3%200%200%201%200%206.07l-3.38%203.38a4.26%204.26%200%200%201-6.07%200z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-strike::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M12.73%2014l.28.14c.26.15.45.3.57.44.12.14.18.3.18.5%200%20.3-.15.56-.44.75-.3.2-.76.3-1.39.3A13.52%2013.52%200%200%201%207%2014.95v3.37a10.64%2010.64%200%200%200%204.84.88c1.26%200%202.35-.19%203.28-.56.93-.37%201.64-.9%202.14-1.57s.74-1.45.74-2.32c0-.26-.02-.51-.06-.75h-5.21zm-5.5-4c-.08-.34-.12-.7-.12-1.1%200-1.29.52-2.3%201.58-3.02%201.05-.72%202.5-1.08%204.34-1.08%201.62%200%203.28.34%204.97%201l-1.3%202.93c-1.47-.6-2.73-.9-3.8-.9-.55%200-.96.08-1.2.26-.26.17-.38.38-.38.64%200%20.27.16.52.48.74.17.12.53.3%201.05.53H7.23zM3%2013h18v-2H3v2z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-quote::before {
  background-image: url(data:image/svg+xml,%3Csvg%20version%3D%221%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M6%2017h3l2-4V7H5v6h3zm8%200h3l2-4V7h-6v6h3z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-heading-1::before {
  background-image: url(data:image/svg+xml,%3Csvg%20version%3D%221%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M12%209v3H9v7H6v-7H3V9h9zM8%204h14v3h-6v12h-3V7H8V4z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-code::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M18.2%2012L15%2015.2l1.4%201.4L21%2012l-4.6-4.6L15%208.8l3.2%203.2zM5.8%2012L9%208.8%207.6%207.4%203%2012l4.6%204.6L9%2015.2%205.8%2012z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-bullet-list::before {
  background-image: url(data:image/svg+xml,%3Csvg%20version%3D%221%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%204a2%202%200%201%200%200%204%202%202%200%200%200%200-4zm0%206a2%202%200%201%200%200%204%202%202%200%200%200%200-4zm0%206a2%202%200%201%200%200%204%202%202%200%200%200%200-4zm4%203h14v-2H8v2zm0-6h14v-2H8v2zm0-8v2h14V5H8z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-number-list::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M2%2017h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1%203h1.8L2%2013.1v.9h3v-1H3.2L5%2010.9V10H2v1zm5-6v2h14V5H7zm0%2014h14v-2H7v2zm0-6h14v-2H7v2z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-undo::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M12.5%208c-2.6%200-5%201-6.9%202.6L2%207v9h9l-3.6-3.6A8%208%200%200%201%2020%2016l2.4-.8a10.5%2010.5%200%200%200-10-7.2z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-redo::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M18.4%2010.6a10.5%2010.5%200%200%200-16.9%204.6L4%2016a8%208%200%200%201%2012.7-3.6L13%2016h9V7l-3.6%203.6z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-decrease-nesting-level::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M3%2019h19v-2H3v2zm7-6h12v-2H10v2zm-8.3-.3l2.8%202.9L6%2014.2%204%2012l2-2-1.4-1.5L1%2012l.7.7zM3%205v2h19V5H3z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-increase-nesting-level::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M3%2019h19v-2H3v2zm7-6h12v-2H10v2zm-6.9-1L1%2014.2l1.4%201.4L6%2012l-.7-.7-2.8-2.8L1%209.9%203.1%2012zM3%205v2h19V5H3z%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-cursor-target]::-moz-selection, trix-editor [data-trix-mutable] ::-moz-selection {
  background: none; }
trix-editor [data-trix-mutable]::selection,
trix-editor [data-trix-cursor-target]::selection, trix-editor [data-trix-mutable] ::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.4L17.6%205%2012%2010.6%206.4%205%205%206.4l5.6%205.6L5%2017.6%206.4%2019l5.6-5.6%205.6%205.6%201.4-1.4-5.6-5.6z%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; }
@charset "UTF-8";
.trix-content {
  line-height: 1.5; }
  .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.
 *

*/

/*
 * 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%;
  padding: 0 0.5em;
  max-width: 33%;
}

.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 action-text-attachment .attachment {
  padding: 0 !important;
  max-width: 100% !important;
}
@font-face {
    font-family: 'Eveleth Clean Thin';
    src: url(/assets/eveleththin-webfont-3e1631b39d41597b8e0053af4b2b5997f64b3cde52c39501002393a7b0884ea7.eot);
    src: url(/assets/eveleththin-webfont-3e1631b39d41597b8e0053af4b2b5997f64b3cde52c39501002393a7b0884ea7.eot?#iefix) format('embedded-opentype'),
         url(/assets/eveleththin-webfont-0436ce67c8cbab7a17e4610088c3ee0d4cac0475575ea533c1a41346cadb01cd.woff) format('woff'),
         url(/assets/eveleththin-webfont-7a93e410f34e8cee25920be48ab4d2363630996da2f08b5d025792bf6e7a7c50.ttf) format('truetype'),
         url(/assets/eveleththin-webfont-cd1ed247fad5fd70d9a8111aa41ada5c3dd7db6430108da04cc87ecad4cf6e2b.svg#trend_sans_fourregular) format('svg');
    font-weight: normal;
    font-style: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}


@font-face {
    font-family: 'Eveleth Clean';
    src: url(/assets/evelethlight-webfont-5107a72b428466a661587acffaaa91342257100838e2e4adfff055015eb0c69f.eot);
    src: url(/assets/evelethlight-webfont-5107a72b428466a661587acffaaa91342257100838e2e4adfff055015eb0c69f.eot?#iefix) format('embedded-opentype'),
         url(/assets/evelethlight-webfont-ebbb32f09cc133d74459c47679e69ebbc7146efcefbd8c8396eed7525b355bd7.woff) format('woff'),
         url(/assets/evelethlight-webfont-6c247ae5894439247819eca79fcde90f2b1cdbbf6fc3e820cef3158e28141fbd.ttf) format('truetype'),
         url(/assets/evelethlight-webfont-809c74932fc0d7528e79e4f61633e832d129e3e196fb360d010d51ed9cdf4d47.svg#trend_sans_fourregular) format('svg');
    font-weight: normal;
    font-style: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1 small {
  font-family: 'Eveleth Clean', var(--font-sans, system-ui, sans-serif);
}

section h1 {
  font-family: 'Eveleth Clean', var(--font-sans, system-ui, sans-serif);
}

mini-h5 {
  font-family: 'Eveleth Clean Thin', var(--font-sans, system-ui, sans-serif);
  color: #111;
  background-color: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}
/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

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

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

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

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

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

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


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

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

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

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


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


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

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

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


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url(/images/layers.png);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(/images/layers-2x.png);
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

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


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

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


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;

	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

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


/* div icon */

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


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

/* Directions */

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

/* Printing */
	
@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */

body {
  background-color: #d2f3fc;
  background-repeat: no-repeat;
  background-attachment: fixed;
  color: #111;
  margin: 0;
}

.site-main {
  background: transparent;
}

.site-main-inner {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 14px 2rem;
  box-sizing: border-box;
}

a {color: 40px; color: #000000 !important;}

/* Site header navigation */
.site-header {
  position: sticky;
  top: 0;
  z-index: 2000;
  background: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.06);
}

.site-header-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 1400px;
  margin: 0 auto;
  padding: 8px 14px;
}

.site-header-logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}

.site-header-logo img {
  display: block;
  width: auto;
  height: clamp(32px, 5vw, 42px);
  max-width: min(150px, 38vw);
}

.site-header-toggle {
  display: none;
  margin-left: auto;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 8px;
  background: #fff;
  color: #111;
  font-size: 1.1rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}

.site-header-panel {
  display: flex;
  align-items: center;
  flex: 1;
  gap: 16px;
  min-width: 0;
}

.site-header-nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}

.site-header-link {
  display: inline-block;
  padding: 8px 12px;
  border-radius: 6px;
  color: #222 !important;
  font-size: var(--text-small);
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.15s ease, color 0.15s ease;
}

.site-header-link:hover {
  background: #f3f3f3;
  color: #111 !important;
  text-decoration: none;
}

.site-header-link.is-active {
  background: #111;
  color: #fff !important;
}

.site-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}

.site-header-search {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
}

.site-header-search-input {
  width: clamp(120px, 16vw, 180px);
  padding: 7px 12px;
  border: 1px solid #d0d0d0;
  border-radius: 20px;
  font-size: var(--text-small);
  outline: none;
  background: #fafafa;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.site-header-search-input:focus {
  border-color: #888;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06);
  background: #fff;
}

.site-header-search-btn {
  background: #111;
  color: #fff;
  border: 0;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.15s ease;
}

.site-header-search-btn:hover {
  background: #333;
}

.site-header-socials {
  display: flex;
  align-items: center;
  gap: 6px;
}

.site-header-socials a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 6px;
  transition: background 0.15s ease;
}

.site-header-socials a:hover {
  background: #f3f3f3;
}

.site-header-socials img {
  display: block;
  width: 24px;
  height: 24px;
  border-radius: 4px;
}

@media (max-width: 900px) {
  .site-header-inner {
    flex-wrap: wrap;
    padding: 8px 12px;
  }

  .site-header-toggle {
    display: inline-flex;
  }

  .site-header-panel {
    display: none;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 12px;
    padding: 4px 0 10px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
  }

  .site-header.is-open .site-header-panel {
    display: flex;
  }

  .site-header-nav {
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
  }

  .site-header-link {
    padding: 10px 12px;
  }

  .site-header-actions {
    flex-direction: column;
    align-items: stretch;
    margin-left: 0;
    gap: 12px;
  }

  .site-header-search {
    width: 100%;
  }

  .site-header-search-input {
    flex: 1;
    width: auto;
    min-width: 0;
  }

  .site-header-socials {
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .site-header-logo img {
    max-width: 120px;
  }
}

.site-sub-nav {
  background: #111;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.site-sub-nav-inner {
  max-width: 1400px;
  margin: 0 auto;
  min-height: 29px;
  padding: 7px 14px;
  display: flex;
  align-items: center;
}

.site-sub-nav .filter-chip-bar {
  margin: 0;
  padding: 0;
  align-items: center;
  gap: 4px;
}

.site-sub-nav .filter-chip-bar--sub-nav .filter-chip-scroll {
  flex-wrap: nowrap;
  overflow: hidden;
  gap: 4px;
}

.site-sub-nav .filter-chip-bar.expanded .filter-chip-scroll {
  flex-wrap: wrap;
  overflow: visible;
}

.site-sub-nav .filter-chip {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  padding: 6px 11px;
  border-radius: 4px;
  line-height: 1.25;
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.22);
  color: #fff;
  box-shadow: none;
}

.site-sub-nav .filter-chip-emoji {
  font-size: 0.85em;
  margin-right: 1px;
}

.site-sub-nav .filter-chip:hover {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.4);
  color: #fff;
}

.site-sub-nav .filter-chip.active {
  background: #fff;
  border-color: #fff;
  color: #111;
}

.site-sub-nav .filter-chip-toggle {
  border-color: rgba(255, 255, 255, 0.25);
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 600;
  padding: 6px 11px;
  border-radius: 4px;
  line-height: 1.25;
}

.site-sub-nav .filter-chip-toggle:hover {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

@media (max-width: 900px) {
  .site-sub-nav-inner {
    min-height: 27px;
    padding: 6px 12px;
  }

  .site-sub-nav .filter-chip,
  .site-sub-nav .filter-chip-toggle {
    font-size: 0.72rem;
    padding: 5px 9px;
  }
}

.experience-seasonal-field {
  margin: 1rem 0;
}

.experience-seasonal-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.experience-seasonal-period select {
  min-width: 220px;
  max-width: 100%;
}

.button {
  background-color: #FFFFFF;
  border: none;
  color: white;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 1rem;
  margin: 4px 2px;
  cursor: pointer;
  border-radius: 8px;
  box-shadow: 0px 2px 12px rgba(0, 0, 0, 0.15);
}

.img-circular {
 width: 75px;
 height: 75px;
 background-size: cover;
 display: block;
 border-radius: 100px;
 -webkit-border-radius: 100px;
 -moz-border-radius: 100px;
}


.img-rounded {
  border-radius: 10px;
  box-shadow: 0px 2px 12px rgba(0, 0, 0, 0.15);
  text-align: left;
}

.tip-icon {
  float: right;
  width: 80px;
  height: 80px;
  border-radius: 100px;
  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14);
  border: 2px solid #fff;
}

.tip-icon.copyright-protected-image--circle .copyright-protected-image__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Container holding the image and the text */
.tip-widget {
  padding: 10px;
  position: relative;
  text-align: left;
  color: white;
}

/* Instagram Reels Embed Styles */
.instagram-reel-wrapper {
  margin: 1rem 0;
  max-width: 100%;
  width: 100%;
}

.instagram-reel-title {
  font-size: clamp(1.1rem, 2.6vw, 1.45rem);
  font-weight: 600;
  line-height: var(--leading-tight, 1.35);
  margin-bottom: 0.5rem;
  color: var(--color-text, #222);
}

.instagram-reel-wrapper blockquote.instagram-media {
  max-width: 100% !important;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Tighter fit for reels placed in the sidebar cards */
.col-sm-4 .instagram-reel-wrapper,
.col-lg-3 .instagram-reel-wrapper {
  margin: 0.5rem 0;
}
.col-sm-4 .card .instagram-reel-wrapper blockquote.instagram-media,
.col-lg-3 .card .instagram-reel-wrapper blockquote.instagram-media {
  min-width: 0 !important;
}

/* Make sure it looks decent on mobile */
@media (max-width: 600px) {
  .instagram-reel-wrapper {
    margin: 0.75rem 0;
  }
  .instagram-reel-title {
    font-size: 1rem;
  }
}

/* Bottom left text */
.bottom-left {
  position: absolute;
  bottom: 8px;
  left: 20px;
}

/* Top left text */
.top-left {
  position: absolute;
  top: 20px;
  left: 20px;
}

/* Top right text */
.top-right {
  position: absolute;
  top: 8px;
  right: 16px;
}

/* Bottom right text */
.bottom-right {
  position: absolute;
  bottom: 8px;
  right: 16px;
}

/* Centered text */
.centered {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}


/* Card panels over page background */
.card {
  background-color: #fff;
  padding: 20px;
  margin-top: 20px;
  border: 0;
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}

.todo-show-card {
  margin: 0;
}

/* Article / magazine feeds */
#articles {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  padding: 0;
  box-sizing: border-box;
}

/* Article Widget: clean responsive card with image + text overlays */
.article-widget {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  border-radius: 10px;
  overflow: hidden;
  border: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
  background: #111;
}

.article-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
  vertical-align: bottom;
}

/* Category badge - top left */
.article-top-left {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 10;
  background: rgba(0, 0, 0, 0.75);
  color: #fff;
  padding: 3px 7px;
  border-radius: 4px;
  font-size: var(--text-caption);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
  max-width: calc(100% - 20px);
  overflow: hidden;
  text-overflow: ellipsis;
  text-shadow: none;
}

.article-top-left h3 {
  margin: 0;
  font-size: inherit;
}

/* Title + location - bottom overlay with gradient */
.article-bottom-left {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  padding: 10px 10px 7px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.82));
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}

.article-bottom-left h4 {
  margin: 0;
  font-size: clamp(1.1rem, 2.6vw, 1.45rem);
  line-height: var(--leading-tight, 1.3);
  font-weight: 500;
}


/* Mini Article Widget */
.mini-article-widget {
  position: relative;
  max-width: 500px;
  width: 92%;
  margin: 10px auto;
  padding: 0;
  color: white;
  overflow: hidden;
  border-radius: 6px;
}

.mini-article-bottom-left,
.mini-article-top-left {
  position: absolute;
  left: 8px;
  right: 8px;
  color: white;
  text-shadow: 0 1px 3px rgba(0,0,0,0.8);
  z-index: 2;
}

.mini-article-top-left { top: 6px; }
.mini-article-bottom-left { bottom: 6px; background: rgba(0,0,0,0.5); padding: 4px 6px; border-radius: 3px; }





/* Container holding the image and the text */
.photo-widget {
  position: relative;
  max-width: 640px;
  width: 92%;
  margin: 10px auto;
  color: white;
  overflow: hidden;
}

/* Bottom left text */
.photo-bottom-left {
  position: absolute;
  bottom: 10px;
  left: 10px;
  right: 10px;
  color: white;
  text-shadow: 0 1px 3px rgba(0,0,0,0.8);
}

.photo-bottom-right {
  position: absolute;
  bottom: 10px;
  left: 10px;
  right: 10px;
  color: white;
  text-shadow: 0 1px 3px rgba(0,0,0,0.8);
}

/* Top left text */
.photo-top-left {
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  color: white;
  text-shadow: 0 1px 3px rgba(0,0,0,0.8);
}

#googlemaps {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0; /* Set z-index to 0 as it will be on a layer below the contact form */
}

/* Map page sets its own layout in pages/map.html.erb */
[data-map-page] #map {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}


#page {
  position: fixed;
  z-index: 1; /* The z-index should be higher than Google Maps */
  width: 300px;
  margin: 60px auto 0;
  padding: 10px;
  background: black;
  height: auto;
  opacity: .45; /* Set the opacity for a slightly transparent Google Form */
  color: white;
}

.flipbook {
  height: 100%;
  transition: margin-left 0.25s ease-out;
  width: 100%;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.flipbook .page {
  height: 100%;
  width: 100%;
}
.flipbook .page img {
  max-width: 100%;
  height: 100%;
}





 footer { margin-top: 100px; }

/* Mobile-first responsive improvements for the articles feed */
@media (max-width: 600px) {
  #articles {
    padding: 4px 2px;
  }

  .article-widget {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 10px;
    border-radius: 8px;
  }

  .article-top-left {
    top: 6px;
    left: 6px;
    font-size: var(--text-caption);
    padding: 2px 5px;
  }

  .article-bottom-left {
    padding: 8px 8px 5px;
  }

  .article-bottom-left h4 {
    font-size: clamp(1.1rem, 2.6vw, 1.45rem);
    line-height: var(--leading-tight, 1.3);
  }
}

@media (max-width: 992px) {
  #articles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  #articles {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

/* Prevent horizontal scroll and clean up container on small screens */
html, body {
  overflow-x: hidden;
}

.container {
  max-width: 1400px;
  width: 100%;
  padding-left: 14px;
  padding-right: 14px;
}

/* General mobile friendliness */
img {
  max-width: 100%;
  height: auto;
}

/* Pagy pagination */
.pagy-wrapper {
  text-align: center;
  margin: 20px auto 40px;
  position: relative;
  z-index: 2;
  background: rgba(255, 255, 255, 0.85);
  padding: 8px;
  border-radius: 4px;
  display: inline-block;
  max-width: 100%;
}

/* Infinite scroll sentinel */
[data-infinite-scroll-target="sentinel"] {
  width: 100%;
}

/* Map page sidebar (Zeemaps / Google Maps style) */
.map-sidebar .place-item img {
  width: 38px;
  height: 38px;
}

/* Loading spinner for infinite scroll */
.infinite-loading {
  text-align: center;
  padding: 15px;
  color: var(--color-text-muted, #555);
  font-size: var(--text-small);
  display: none; /* hidden by default; JS shows during load */
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.infinite-loading .spinner {
  width: 18px;
  height: 18px;
  border: 2px solid #ddd;
  border-top: 2px solid #3498db;
  border-radius: 50%;
  animation: infinite-spin 0.8s linear infinite;
}

@keyframes infinite-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

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

a, button {
  touch-action: manipulation;
}
 table, td, th { vertical-align: middle; border: none; }
 th { border-bottom: 1px solid #DDD; }
 body { margin: 0; }

/* =========================================
   Homepage redesign - Time Out inspired
   (large featured hero, sectioned grids,
    clean cards with badges, in Sidetrack style)
   ========================================= */

.home-hero {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin: 0 calc(50% - 50vw) 1.5rem;
  border-radius: 0;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.2);
  background: #111;
}

.home-hero .carousel,
.home-hero .carousel-inner,
.home-hero .carousel-item {
  position: relative;
}

.home-hero .hero-slide {
  position: relative;
  width: 100%;
}

.home-hero .hero-image-frame {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #111;
}

.home-hero .hero-image-frame .copyright-protected-image {
  display: block;
  width: 100%;
}

.home-hero .hero-image-frame .copyright-protected-image__img,
.home-hero .hero-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
  transform: scale(1);
  transform-origin: center center;
  will-change: transform;
}

.home-hero .carousel-item.active .hero-image-frame .copyright-protected-image__img,
.home-hero .carousel-item.active .hero-image-frame .hero-image {
  animation: heroKenBurns 6s ease-out forwards;
}

@keyframes heroKenBurns {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-hero .carousel-item.active .hero-image-frame .copyright-protected-image__img,
  .home-hero .carousel-item.active .hero-image-frame .hero-image {
    animation: none;
  }
}

.home-hero .hero-overlay,
.feed-hero-card .hero-overlay,
.experience-widget .hero-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  padding: 1.75rem 1.5rem 1.25rem;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.82) 35%, rgba(0,0,0,0.92));
  color: #fff;
  pointer-events: none;
}

.home-hero .hero-overlay a,
.feed-hero-card .hero-overlay a,
.experience-widget .hero-overlay a {
  pointer-events: auto;
}

.home-hero .hero-category-top,
.experience-widget .hero-category-top,
.grid-card-image .hero-category-top {
  position: absolute;
  top: 0.85rem;
  left: 0.85rem;
  z-index: 3;
  margin-bottom: 0;
  pointer-events: none;
}

.home-hero .hero-indicators {
  z-index: 3;
  margin-bottom: 0.5rem;
}

.home-hero .hero-indicators li {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.45);
}

.home-hero .hero-indicators .active {
  background-color: #fff;
}

.home-hero .hero-control {
  z-index: 3;
  width: 8%;
}

.feed-hero-card {
  position: relative;
  margin-bottom: 1.25rem;
  border-radius: 6px;
  overflow: hidden;
  border: 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  background: #111;
}

.feed-hero-card-experience {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

.feed-hero-card-experience .experience-widget {
  width: 100%;
  max-width: none;
  margin: 0;
}

.feed-hero-card .feed-hero-image {
  display: block;
  width: 100%;
  height: auto;
}

.feed-hero-card .feed-hero-title {
  font-size: clamp(1.25rem, 3vw, 1.75rem);
  line-height: var(--leading-heading, 1.2);
}

.feed-hero-card-compact .feed-hero-title {
  font-size: var(--text-small);
  line-height: var(--leading-tight, 1.3);
}

.feed-hero-card-compact .hero-overlay {
  padding: 0.55rem 0.5rem 0.45rem;
}

.feed-hero-card-compact .hero-category {
  font-size: var(--text-caption);
  margin-bottom: 3px;
}

.feed-hero-card-compact .hero-location {
  font-size: var(--text-small);
}

.listing-page {
  background: #fff;
  padding: 1.25rem 1rem 1.5rem;
  margin: 0.35rem 0 1.5rem;
  border-radius: 10px;
  border: 0;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
}

.home-listing-page.listing-page {
  margin: 0;
}

.listing-page-intro {
  margin-bottom: 1.15rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid #eee;
}

.listing-page-section-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.15rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid #eee;
}

.listing-page-section-title {
  font-family: var(--font-display, 'Eveleth Clean Thin', serif);
  font-size: clamp(1.25rem, 3vw, 1.75rem);
  margin: 0;
  color: var(--color-text, #111);
  letter-spacing: 0.02em;
  line-height: var(--leading-heading, 1.25);
}

.home-listing-page.listing-page {
  width: 100%;
}

.home-listing-grid {
  width: 100%;
}

.listing-page-grid .infinite-loading,
.listing-page-grid [data-infinite-scroll-target="sentinel"],
#articles .infinite-loading,
#articles [data-infinite-scroll-target="sentinel"] {
  grid-column: 1 / -1;
}

.places-index-grid,
.todos-index-grid,
.experiences-index-grid,
.listing-page-grid {
  display: grid;
  gap: 20px;
}

.places-index-grid,
.experiences-index-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.listing-page .grid-card {
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 8px;
  overflow: hidden;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.listing-page .grid-card:hover {
  border-color: #d8d8d8;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}

.grid-card {
  min-width: 0;
}

.grid-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.grid-card-link:hover {
  color: inherit;
  text-decoration: none;
}

.listing-page .grid-card-image {
  border-radius: 0;
}

.grid-card-image {
  position: relative;
  overflow: hidden;
  border-radius: 6px;
  background: #f2f2f2;
  line-height: 0;
}

.grid-card-photo,
.grid-card-image .copyright-protected-image__img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  height: auto;
}

.grid-card-photo-fallback {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, #e8e8e8, #d4d4d4);
}

.listing-page .grid-card-copy {
  padding: 0.75rem 0.85rem 0.9rem;
}

.grid-card-copy {
  padding: 0.6rem 0 0;
}

.grid-card-title {
  margin: 0;
  font-family: var(--font-display, 'Eveleth Clean Thin', serif);
  font-size: clamp(1rem, 2.2vw, 1.15rem);
  font-weight: 600;
  line-height: 1.3;
  color: var(--color-text, #111);
}

.grid-card-meta {
  margin: 0.25rem 0 0;
  font-size: 0.85rem;
  line-height: 1.4;
  color: #666;
}

.grid-card-link:hover .grid-card-title {
  text-decoration: underline;
}

.places-index-grid .feed-hero-card {
  margin-bottom: 0;
}

.feed-hero-card-place .feed-hero-title {
  /* 55% smaller than --text-small */
  font-size: clamp(0.36rem, calc(1.8vw * 0.45), 0.4275rem);
  line-height: var(--leading-tight, 1.3);
}

.feed-hero-card-place .hero-overlay {
  padding: 0.38rem 0.35rem 0.3rem;
}

.feed-hero-card-place .hero-category {
  /* 25% smaller than --text-caption */
  font-size: clamp(0.6rem, calc(1.8vw * 0.75), 0.7125rem);
  margin-bottom: 2px;
  padding: 1px 4px;
}

.feed-hero-card-place .hero-location {
  font-size: var(--text-small);
  line-height: var(--leading-tight, 1.3);
}

.filter-chip-bar {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 0 0 0.75rem;
  padding: 0 2px;
}

.filter-chip-scroll {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  overflow: hidden;
}

.filter-chip-bar.expanded .filter-chip-scroll {
  flex-wrap: wrap;
  overflow: visible;
}

.filter-chip-toggle {
  flex-shrink: 0;
  border: 1px solid rgba(0, 0, 0, 0.15);
  background: #f8f8f8;
  color: #333;
  font-size: var(--text-small);
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 3px;
  cursor: pointer;
  line-height: 1.3;
  white-space: nowrap;
}

.filter-chip-toggle:hover {
  background: #eee;
}

.filter-chip-toggle[hidden] {
  display: none;
}

.filter-chip {
  display: inline-block;
  flex-shrink: 0;
  border: 1px solid rgba(0, 0, 0, 0.18);
  background: #fff;
  color: #111;
  font-size: var(--text-small);
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 3px;
  cursor: pointer;
  line-height: 1.25;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.filter-chip:hover {
  background: #f5f5f5;
  border-color: rgba(0, 0, 0, 0.35);
}

.filter-chip.active {
  background: #111;
  color: #fff;
  border-color: #111;
}

.todos-index-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.todos-index-grid .feed-hero-card {
  margin-bottom: 0;
}

.feed-hero-card-todo .feed-hero-title,
.feed-hero-card-todo-home .feed-hero-title {
  /* 65% smaller than --text-small */
  font-size: clamp(0.28rem, calc(1.8vw * 0.35), 0.3325rem);
  line-height: var(--leading-tight, 1.3);
  margin: 0 0 2px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.feed-hero-card-todo .feed-hero-title .hero-title-link,
.feed-hero-card-todo-home .feed-hero-title .hero-title-link {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.feed-hero-card-todo .hero-overlay {
  padding: 0.28rem 0.26rem 0.22rem;
}

.feed-hero-card-todo .hero-category {
  display: inline-block;
  /* 20% smaller than --text-caption */
  font-size: clamp(0.64rem, calc(1.8vw * 0.8), 0.76rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.25);
  padding: 1px 4px;
  border-radius: 2px;
  margin-bottom: 2px;
}

.feed-hero-card-todo .hero-location {
  /* 10% smaller than --text-small */
  font-size: clamp(0.72rem, calc(1.8vw * 0.9), 0.855rem);
  margin: 0;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.feed-hero-card-todo .hero-location-row,
.feed-hero-card-todo-home .hero-location-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  margin-top: 1px;
}

.feed-hero-card-todo .hero-place-thumb {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 1px solid rgba(255, 255, 255, 0.6);
}

.home-todos-single-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 10px;
  width: 100%;
}

.home-todos-single-row .feed-hero-card {
  flex: 1 1 0;
  min-width: 0;
  margin-bottom: 0;
}

.feed-hero-card-todo-home .hero-overlay {
  padding: 0.28rem 0.26rem 0.22rem;
}

.feed-hero-card-todo-home .hero-category {
  display: inline-block;
  /* 20% smaller than --text-caption */
  font-size: clamp(0.64rem, calc(1.8vw * 0.8), 0.76rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.25);
  padding: 1px 4px;
  border-radius: 2px;
  margin-bottom: 2px;
}

.feed-hero-card-todo-home .hero-location {
  /* 10% smaller than --text-small */
  font-size: clamp(0.72rem, calc(1.8vw * 0.9), 0.855rem);
  margin: 0;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.feed-hero-card-todo-home .hero-place-thumb {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 1px solid rgba(255, 255, 255, 0.6);
}

@media (min-width: 1200px) {
  .places-index-grid,
  .experiences-index-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .todos-index-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .home-listing-grid.places-index-grid,
  .home-listing-grid.experiences-index-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home-listing-grid.todos-index-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 992px) {
  .places-index-grid,
  .experiences-index-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .todos-index-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home-listing-grid.places-index-grid,
  .home-listing-grid.experiences-index-grid,
  .home-listing-grid.todos-index-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-todos-single-row {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .home-todos-single-row .feed-hero-card {
    flex: 0 0 160px;
  }
}

@media (max-width: 600px) {
  .listing-page {
    padding: 1rem 0.75rem 1.25rem;
    border-radius: 8px;
  }

  .places-index-grid,
  .todos-index-grid,
  .experiences-index-grid,
  .listing-page-grid {
    gap: 14px;
  }

  .places-index-grid,
  .todos-index-grid,
  .experiences-index-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-todos-single-row .feed-hero-card {
    flex: 0 0 140px;
  }
}

.experiences-page {
  align-items: flex-start;
}

.experiences-sidebar {
  position: sticky;
  top: 1rem;
}

@media (max-width: 991px) {
  .experiences-sidebar {
    position: static;
    margin-top: 1rem;
  }
}

.home-hero .hero-category,
.feed-hero-card .hero-category,
.experience-widget .hero-category,
.experience-show-hero .hero-category,
.place-show-hero .hero-category,
.grid-card-image .hero-category {
  display: inline-block;
  font-size: var(--text-caption);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: rgba(255,255,255,0.25);
  padding: 2px 8px;
  border-radius: 3px;
  margin-bottom: 8px;
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}

.home-hero .hero-title,
.feed-hero-card .hero-title,
.experience-widget .hero-title,
.experience-show-hero .hero-title,
.place-show-hero .hero-title {
  font-family: var(--font-display, 'Eveleth Clean Thin', serif);
  font-size: clamp(1.75rem, 4.5vw, 2.75rem);
  line-height: var(--leading-heading, 1.2);
  margin: 0 0 6px;
  color: #fff;
  text-shadow: 0 1px 3px rgba(0,0,0,0.6);
}

.home-hero .hero-title-link,
.feed-hero-card .hero-title-link,
.experience-widget .hero-title-link {
  color: #fff !important;
  text-decoration: none;
}

.home-hero .hero-title-link:hover,
.feed-hero-card .hero-title-link:hover,
.experience-widget .hero-title-link:hover {
  text-decoration: underline;
  color: #fff !important;
}

.home-hero .hero-location,
.feed-hero-card .hero-location,
.experience-widget .hero-location,
.experience-show-hero .hero-location,
.place-show-hero .hero-location {
  font-size: var(--text-small);
  margin: 0;
  opacity: 0.95;
  color: #f5f5f5;
}

.experience-widget .hero-location {
  margin: 0 0 6px;
}

.experience-widget .hero-title {
  margin: 0;
}

.home-hero .hero-excerpt,
.feed-hero-card .hero-excerpt {
  font-size: var(--text-body);
  line-height: var(--leading-body, 1.5);
  margin: 8px 0 0;
  opacity: 0.92;
  color: #eee;
  max-width: 720px;
}

@media (max-width: 767px) {
  .home-hero .hero-category-top,
  .experience-widget .hero-category-top,
  .grid-card-image .hero-category-top {
    top: 0.65rem;
    left: 0.65rem;
  }

  .home-hero .hero-overlay,
  .experience-widget .hero-overlay {
    padding: 1.1rem 0.9rem 0.85rem;
  }

  .home-hero .hero-title,
  .experience-widget .hero-title {
    font-size: clamp(1.35rem, 6vw, 1.75rem);
  }

  .home-hero .hero-excerpt {
    display: none;
  }
}

.home-hero .hero-cta,
.feed-hero-card .hero-cta {
  display: inline-block;
  margin-top: 8px;
  font-size: var(--text-small);
  font-weight: 600;
  color: #d2f3fc !important;
  border-bottom: 1px solid #d2f3fc;
}

.home-main {
  align-items: flex-start;
}

.home-sidebar {
  position: sticky;
  top: 1rem;
  font-size: 0.92rem;
}

.sidebar-widget {
  margin-bottom: 0.75rem;
  padding: 0.7rem 0.8rem;
}

.page-with-sidebar {
  width: 100%;
  margin: 0;
}

.flash-messages {
  padding-top: 0.75rem;
}

.sidebar-heading {
  margin: 0 0 0.5rem;
  font-size: clamp(0.95rem, 2vw, 1.2rem);
  line-height: var(--leading-tight, 1.35);
  border-bottom: 1px solid #ddd;
  padding-bottom: 4px;
}

.sidebar-interview {
  overflow: visible;
}

.sidebar-interview-link {
  display: block;
  color: inherit;
  text-decoration: none;
  overflow: visible;
}

.sidebar-interview-link:hover {
  text-decoration: none;
  color: inherit;
}

.sidebar-instagram {
  padding-bottom: 0.75rem;
  overflow: hidden;
}

.instagram-profile-widget {
  width: 100%;
}

.instagram-profile-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 0.6rem;
}

.instagram-follow-btn {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 4px;
  background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
  color: #fff !important;
  font-size: var(--text-small);
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.instagram-follow-btn:hover {
  color: #fff !important;
  text-decoration: none;
  opacity: 0.92;
}

.instagram-profile-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #111;
  font-weight: 600;
  text-decoration: none;
}

.instagram-profile-link:hover {
  color: #111;
  text-decoration: none;
}

.instagram-profile-icon {
  width: 28px;
  height: 28px;
  border-radius: 6px;
}

.instagram-profile-handle {
  font-size: var(--text-body);
}

.instagram-profile-embed {
  display: block;
  width: 100%;
  min-height: 420px;
  height: 420px;
  border: 0;
  border-radius: 4px;
  background: #fff;
}

/* Magazine page flip — interview sidebar */
.magazine-page-flip {
  position: relative;
  width: 100%;
  margin-bottom: 0.6rem;
  border-radius: 4px;
  perspective: 1400px;
  overflow: visible;
}

.magazine-page-flip .page-under {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}

.magazine-page-flip .page-cover {
  position: absolute;
  inset: 0;
  transform-origin: left center;
  transform-style: preserve-3d;
  transition: transform 0.75s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.75s ease;
  backface-visibility: hidden;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.magazine-page-flip .page-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
}

.magazine-page-flip:hover .page-cover {
  transform: rotateY(-118deg);
  box-shadow: 12px 8px 24px rgba(0, 0, 0, 0.28);
}

.sidebar-interview-content h4 {
  margin: 4px 0 2px;
  font-size: clamp(0.95rem, 2vw, 1.15rem);
  line-height: var(--leading-tight, 1.35);
}

.home-sidebar .photo-search-form input[type="text"] {
  min-width: 0;
  width: 100%;
}

.home-sidebar .photo-search-form {
  flex-direction: column;
}

.home-intro {
  margin-bottom: 1.25rem;
  padding: 1rem 1.25rem;
  font-size: var(--text-body);
  line-height: var(--leading-body, 1.6);
}

.home-section {
  margin-bottom: 1.5rem;
}

.section-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 0.6rem;
  border-bottom: 1px solid #ddd;
  padding-bottom: 4px;
}

.section-header h2 {
  font-family: var(--font-display, 'Eveleth Clean Thin', serif);
  font-size: clamp(1.25rem, 3vw, 1.75rem);
  margin: 0;
  color: var(--color-text, #111);
  letter-spacing: 0.02em;
  line-height: var(--leading-heading, 1.25);
}

.section-more {
  font-size: var(--text-small);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #333 !important;
}

.home-grid {
  margin-left: -6px;
  margin-right: -6px;
}

.home-latest-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.home-latest-item {
  min-width: 0;
}

.home-latest-item .experience-widget {
  width: 100%;
  max-width: none;
  margin: 0;
}

.home-latest-item .hero-image,
.home-latest-item .copyright-protected-image__img {
  width: 100%;
  height: auto;
}

.home-latest-item--featured {
  grid-column: span 2;
  grid-row: span 2;
}

.home-latest-item .feed-hero-card {
  margin-bottom: 0;
  height: 100%;
}

.home-todos-grid .feed-hero-image,
.home-todos-grid .copyright-protected-image__img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  height: auto;
}

.home-todos-grid .home-latest-item--featured .feed-hero-image,
.home-todos-grid .home-latest-item--featured .copyright-protected-image__img {
  aspect-ratio: 16 / 10;
}

@media (max-width: 991px) {
  .home-latest-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-latest-item--featured {
    grid-column: span 2;
    grid-row: span 1;
  }
}

@media (max-width: 575px) {
  .home-latest-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .home-latest-item--featured {
    grid-column: span 1;
  }

}

.home-card {
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  margin-bottom: 12px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.home-card-magazine {
  overflow: visible;
}

.home-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.14);
}

/* Legacy, now using .magazine-curl for the hover curl effect */
.home-card-image {
  display: block;
  width: 100%;
  height: 168px;
  object-fit: cover;
  border-radius: 0;
}

.home-card-image-natural {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}

.home-card-content {
  padding: 10px 12px 12px;
}

.home-card-content h4 {
  font-family: var(--font-display, 'Eveleth Clean Thin', serif);
  font-size: clamp(1.1rem, 2.6vw, 1.35rem);
  line-height: var(--leading-tight, 1.35);
  margin: 4px 0 3px;
  color: var(--color-text, #111);
}

.home-location {
  font-size: var(--text-small);
  color: var(--color-text-muted, #555);
  margin: 0;
}

.home-badge {
  display: inline-block;
  font-size: var(--text-caption);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: #111;
  color: #fff;
  padding: 1px 6px 2px;
  border-radius: 2px;
  margin-bottom: 4px;
}

/* Magazine-style page curl hover effect for home cards */
.magazine-curl {
  position: relative;
  width: 100%;
  height: 168px;
  overflow: hidden;
  background: #f5f5f5;
}

.magazine-curl img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.55s cubic-bezier(0.23, 1.0, 0.32, 1), box-shadow 0.55s ease;
  z-index: 2;
  display: block;
}

.magazine-curl .back {
  z-index: 1;
}

.magazine-curl .front {
  z-index: 2;
}

.magazine-curl:hover .front {
  transform: rotate(-11deg);
  transform-origin: top right;
  box-shadow: -18px 12px 30px rgba(0, 0, 0, 0.4);
}

/* Folded corner curl effect */
.magazine-curl::after {
  content: '';
  position: absolute;
  top: -2px;
  right: -2px;
  width: 32px;
  height: 32px;
  background: linear-gradient(135deg, rgba(255,255,255,0.75) 0%, transparent 55%);
  box-shadow: -3px 3px 6px rgba(0,0,0,0.25);
  z-index: 4;
  transition: all 0.55s cubic-bezier(0.23, 1.0, 0.32, 1);
  transform: rotate(45deg) translate(18px, -18px);
  opacity: 0.8;
  pointer-events: none;
}

.magazine-curl:hover::after {
  transform: rotate(45deg) translate(6px, -6px);
  width: 42px;
  height: 42px;
  opacity: 1;
}

/* Responsive height */
@media (max-width: 600px) {
  .magazine-curl {
    height: 148px;
  }
}

/* Article teaser on home */
.article-teaser {
  padding: 0;
  overflow: hidden;
}
.article-teaser .teaser-image {
  width: 100%;
  max-height: 240px;
  object-fit: cover;
  display: block;
}
.article-teaser .teaser-content {
  padding: 12px 14px;
}
.article-teaser h4 {
  margin: 4px 0 2px;
}

/* Photo search */
.photo-search-card h2 {
  margin-top: 0;
  font-size: clamp(1.25rem, 3vw, 1.75rem);
  line-height: var(--leading-heading, 1.25);
}
.photo-search-form {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.photo-search-form input[type="text"] {
  flex: 1;
  min-width: 220px;
  padding: 8px 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1rem;
}
.photo-search-form button {
  background: #111;
  color: #fff;
  border: none;
  padding: 9px 18px;
  font-weight: 600;
  border-radius: 4px;
  cursor: pointer;
}

/* Responsive tweaks for home */
@media (max-width: 991px) {
  .home-sidebar {
    position: static;
    margin-top: 0.5rem;
  }
}



/* To-Do page: 6 smaller widgets per row */
.todos-grid .tip-widget {
  padding: 6px;
  margin-bottom: 12px;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
}

.todos-grid .tip-widget img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}

.todos-grid .tip-widget .top-left {
  top: 10px;
  left: 10px;
}

.todos-grid .tip-widget .top-left h3 {
  font-size: var(--text-small);
  margin: 0;
}

.todos-grid .tip-widget .bottom-left {
  bottom: 6px;
  left: 10px;
  right: 10px;
}

.todos-grid .tip-widget .bottom-left h4 {
  font-size: clamp(1.1rem, 2.6vw, 1.45rem);
  line-height: var(--leading-tight, 1.35);
  margin: 0;
}

.home-todos-grid .tip-widget {
  padding: 6px;
  margin-bottom: 10px;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
}

.home-todos-grid .tip-widget img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}

.home-todos-grid .tip-widget .top-left {
  top: 8px;
  left: 8px;
}

.home-todos-grid .tip-widget .top-left h3 {
  font-size: var(--text-small);
  margin: 0;
}

.home-todos-grid .tip-widget .bottom-left {
  bottom: 6px;
  left: 8px;
  right: 8px;
}

.home-todos-grid .tip-widget .bottom-left h4 {
  font-size: clamp(1.1rem, 2.6vw, 1.45rem);
  line-height: var(--leading-tight, 1.35);
  margin: 0;
}

/* PhotoShelter gallery */
.ps-gallery-page {
  padding: 0.5rem 0 2rem;
}

.ps-gallery-header {
  margin-bottom: 0.75rem;
}

.ps-gallery-lead {
  margin: 0 0 0.75rem;
  color: var(--color-text-secondary, #444);
  font-size: var(--text-body);
  line-height: var(--leading-body, 1.5);
}

.ps-gallery-header-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.ps-gallery-back {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 600;
  padding: 0.25rem 0;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ps-gallery-status {
  margin-bottom: 0.75rem;
}

.ps-gallery-message {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: var(--text-small);
  color: var(--color-text-secondary, #444);
}

.ps-gallery-message-error {
  color: #8a1f1f;
}

.ps-gallery-message-loading {
  color: var(--color-text-muted, #555);
}

.ps-gallery-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid #ddd;
  border-top-color: #111;
  border-radius: 50%;
  animation: infinite-spin 0.8s linear infinite;
  flex-shrink: 0;
}

.ps-masonry {
  column-gap: 12px;
}

.ps-gallery-index {
  column-count: 1;
}

.ps-gallery-images {
  column-count: 2;
}

@media (min-width: 600px) {
  .ps-gallery-index {
    column-count: 2;
  }

  .ps-gallery-images {
    column-count: 3;
  }
}

@media (min-width: 900px) {
  .ps-gallery-index {
    column-count: 3;
  }

  .ps-gallery-images {
    column-count: 4;
  }
}

@media (min-width: 1200px) {
  .ps-gallery-index {
    column-count: 4;
  }

  .ps-gallery-images {
    column-count: 5;
  }
}

.ps-gallery-card,
.ps-gallery-item {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: 6px;
  overflow: hidden;
  background: #111;
  cursor: pointer;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  break-inside: avoid;
  margin: 0 0 12px;
  text-align: left;
}

.ps-gallery-card:hover,
.ps-gallery-item:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
}

.ps-gallery-card-cover,
.ps-gallery-thumb {
  display: block;
  width: 100%;
  height: auto;
}

.ps-gallery-card-body {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.65rem 0.75rem 0.75rem;
  background: #fff;
  color: #111;
}

.ps-gallery-card-title {
  font-size: var(--text-small);
  font-weight: 700;
  line-height: 1.3;
}

.ps-gallery-card-count {
  font-size: var(--text-caption, 0.8rem);
  color: var(--color-text-muted, #666);
}

.ps-gallery-footer {
  display: flex;
  justify-content: center;
  margin: 2rem 0 1rem;
}

.ps-gallery-load-more {
  appearance: none;
  border: 1px solid var(--color-border, #ddd);
  background: var(--color-surface, #fff);
  color: inherit;
  font: inherit;
  font-weight: 600;
  padding: 0.65rem 1.25rem;
  border-radius: 999px;
  cursor: pointer;
}

.ps-gallery-load-more:hover:not(:disabled) {
  border-color: currentColor;
}

.ps-gallery-load-more:disabled {
  opacity: 0.6;
  cursor: wait;
}

.ps-gallery-sidebar-link {
  font-size: var(--text-small);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

.ps-lightbox {
  position: fixed;
  inset: 0;
  z-index: 3000;
}

.ps-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.88);
}

.ps-lightbox-dialog {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  padding: 48px 52px;
  box-sizing: border-box;
}

.ps-lightbox-figure {
  margin: 0;
  max-width: min(1100px, 92vw);
  width: 100%;
}

.ps-lightbox-image {
  display: block;
  width: 100%;
  max-height: calc(100vh - 120px);
  object-fit: contain;
  margin: 0 auto;
  background: #111;
  border-radius: 4px;
}

.ps-lightbox-image.is-loading {
  opacity: 0.35;
}

.ps-lightbox-caption {
  margin-top: 8px;
  color: #f2f2f2;
  font-size: var(--text-small);
  line-height: var(--leading-body, 1.5);
  text-align: center;
}

.ps-lightbox-close,
.ps-lightbox-nav {
  position: absolute;
  border: 0;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  cursor: pointer;
  line-height: 1;
  transition: background 0.15s ease;
}

.ps-lightbox-close:hover,
.ps-lightbox-nav:hover {
  background: rgba(255, 255, 255, 0.22);
}

.ps-lightbox-close {
  top: 14px;
  right: 14px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 1.6rem;
}

.ps-lightbox-nav {
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 56px;
  border-radius: 6px;
  font-size: 2rem;
}

.ps-lightbox-prev {
  left: 10px;
}

.ps-lightbox-next {
  right: 10px;
}

body.ps-lightbox-open {
  overflow: hidden;
}

@media (max-width: 600px) {
  .ps-lightbox-dialog {
    padding: 44px 10px;
  }

  .ps-lightbox-nav {
    width: 34px;
    height: 44px;
    font-size: 1.6rem;
  }
}

/* Search results page */
.search-page-header h1 {
  font-family: var(--font-display, 'Eveleth Clean Thin', serif);
  margin: 0 0 0.75rem;
}

.search-page-form,
.search-page-header {
  margin-bottom: 1rem;
}

.search-page-form {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.search-page-input {
  flex: 1;
  min-width: 220px;
  padding: 10px 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1rem;
}

.search-page-submit {
  background: #111;
  color: #fff;
  border: 0;
  padding: 10px 18px;
  font-weight: 600;
  border-radius: 4px;
  cursor: pointer;
}

.search-summary,
.search-hint,
.search-empty {
  color: var(--color-text-secondary, #444);
  font-size: var(--text-body);
  line-height: var(--leading-body, 1.6);
  margin-bottom: 1rem;
}

.search-results {
  display: grid;
  gap: 12px;
}

.search-result {
  display: flex;
  gap: 14px;
  align-items: stretch;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.search-result:hover {
  text-decoration: none;
  color: inherit;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

.search-result-image {
  width: 120px;
  min-width: 120px;
  height: 90px;
  object-fit: cover;
}

.search-result-content {
  padding: 12px 12px 12px 0;
}

.search-result-content h3 {
  font-family: var(--font-display, 'Eveleth Clean Thin', serif);
  font-size: clamp(1.25rem, 3vw, 1.75rem);
  line-height: var(--leading-tight, 1.35);
  margin: 4px 0;
}

@media (max-width: 600px) {
  .search-result {
    flex-direction: column;
  }

  .search-result-image {
    width: 100%;
    min-width: 0;
    height: 160px;
  }

  .search-result-content {
    padding: 0 12px 12px;
  }
}

/* Flash messages */
.flash-messages {
  margin-top: 0.75rem;
}

.flash {
  margin: 0 0 0.5rem;
  padding: 0.75rem 1rem;
  border-radius: 6px;
  font-size: var(--text-small);
}

.flash-notice {
  background: #edf7ed;
  color: #1f5d2b;
}

.flash-alert {
  background: #fdecea;
  color: #8a1f1f;
}

/* Header auth */
.site-header-auth {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.site-header-auth-link {
  font-size: var(--text-small);
  font-weight: 600;
  text-decoration: none;
  color: inherit;
}

.site-header-auth-link-join {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.site-header-auth-btn {
  appearance: none;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: var(--text-small);
  font-weight: 600;
  color: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  padding: 0;
}

.site-header-user-menu {
  position: relative;
}

.site-header-user-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  appearance: none;
  border: 1px solid #d0d0d0;
  border-radius: 999px;
  background: #fff;
  font: inherit;
  font-size: var(--text-small);
  font-weight: 600;
  color: inherit;
  cursor: pointer;
  padding: 6px 12px;
  line-height: 1.2;
}

.site-header-user-toggle:hover,
.site-header-user-menu.is-open .site-header-user-toggle {
  background: #f3f3f3;
  border-color: #aaa;
}

.site-header-user-name {
  max-width: 10rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site-header-user-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 180px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  padding: 6px 0;
  z-index: 2100;
}

.site-header-user-dropdown[hidden] {
  display: none;
}

.site-header-user-item {
  display: block;
  width: 100%;
  padding: 10px 14px;
  font-size: var(--text-small);
  font-weight: 600;
  color: #222;
  text-decoration: none;
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.site-header-user-item:hover {
  background: #f5f5f5;
  color: #111;
  text-decoration: none;
}

.site-header-user-divider {
  height: 1px;
  margin: 6px 0;
  background: #eee;
}

.site-header-user-signout-form {
  margin: 0;
}

.site-header-user-signout {
  color: #8a1f1f;
}

.list-action-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.hero-list-actions .list-action-buttons {
  margin-top: 10px;
}

.list-action-btn {
  appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.65);
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  line-height: 1.2;
}

.list-action-btn:hover,
.list-action-btn.is-active {
  background: #fff;
  color: #111;
  border-color: #fff;
}

.list-action-buttons-guest {
  margin-top: 8px;
}

.list-action-hint {
  font-size: 0.75rem;
  font-weight: 600;
  color: #fff;
  text-decoration: underline;
}

.card .list-action-buttons {
  margin: 0.75rem 0 1rem;
}

.card .list-action-btn {
  background: #fff;
  color: #222;
  border-color: #d0d0d0;
}

.card .list-action-btn.is-active {
  background: #111;
  color: #fff;
  border-color: #111;
}

.experience-show-page {
  margin-bottom: 1.5rem;
}

.experience-show-main-panel,
.experience-sidebar-panel {
  background: #fff;
  border: 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}

.experience-show-section-hero {
  width: 100%;
  margin: 0;
}

.experience-widget {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0 0 1.25rem;
  border-radius: 0;
  overflow: hidden;
  border: 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  background: #111;
}

.experience-widget .hero-slide {
  position: relative;
  width: 100%;
}

.experience-widget .hero-image-frame {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #111;
  line-height: 0;
}

.experience-widget .hero-image-frame .copyright-protected-image {
  display: block;
  width: 100%;
}

.experience-widget .hero-image-frame .copyright-protected-image__img,
.experience-widget .hero-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}

.experience-show-main-panel .experience-widget {
  margin: 0;
  box-shadow: none;
}

.experience-widget--full-page {
  width: 100%;
  max-width: none;
  margin: 0;
}

.experience-widget-admin-edit {
  position: absolute;
  top: 0.85rem;
  right: 0.85rem;
  z-index: 12;
}

.experience-widget-admin-edit-link {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #111;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.experience-widget-admin-edit-link:hover {
  background: #fff;
  color: #111;
  text-decoration: none;
}

.experiences-page .experience-widget,
.feed-hero-card-experience .experience-widget {
  width: 100%;
  max-width: none;
}

.experience-show-article {
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  background: #fff;
}

.experience-show-hero {
  position: relative;
  background: #111;
}

.experience-show-hero .hero-slide {
  position: relative;
  width: 100%;
}

.experience-show-hero .hero-image-frame {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #111;
  line-height: 0;
}

.experience-show-hero .hero-image-frame .copyright-protected-image {
  display: block;
  width: 100%;
  max-width: none;
}

.experience-show-hero .hero-image-frame .copyright-protected-image__img,
.experience-show-hero .hero-image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

.experience-show-hero .hero-category-top {
  position: absolute;
  top: 0.85rem;
  left: 0.85rem;
  z-index: 3;
  margin-bottom: 0;
  pointer-events: none;
}

.experience-show-hero .hero-admin-edit {
  position: absolute;
  top: 0.85rem;
  right: 0.85rem;
  z-index: 4;
}

.experience-show-hero .hero-admin-edit-link {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #111;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.experience-show-hero .hero-admin-edit-link:hover {
  background: #fff;
  color: #111;
  text-decoration: none;
}

.experience-show-hero .hero-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  padding: 1.75rem 1.5rem 1.25rem;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.82) 35%, rgba(0, 0, 0, 0.92));
  color: #fff;
  pointer-events: none;
}

.experience-show-hero .hero-title {
  margin: 0 0 6px;
}

.experience-show-layout {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0;
  margin: 0;
}

.experience-show-main {
  flex: 0 0 75%;
  max-width: 75%;
  padding: 0;
}

.experience-show-sidebar {
  flex: 0 0 25%;
  max-width: 25%;
  padding: 0;
}

@media (max-width: 991px) {
  .experience-show-main,
  .experience-show-sidebar {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .experience-show-sidebar {
    margin-top: 1rem;
  }

  .experience-show-hero .hero-category-top,
  .experience-show-hero .hero-admin-edit {
    top: 0.65rem;
  }

  .experience-show-hero .hero-category-top {
    left: 0.65rem;
  }

  .experience-show-hero .hero-admin-edit {
    right: 0.65rem;
  }

  .experience-show-hero .hero-overlay {
    padding: 1.1rem 0.9rem 0.85rem;
  }

  .experience-show-hero .hero-title {
    font-size: clamp(1.35rem, 6vw, 1.75rem);
  }
}

.experience-show-body {
  padding: 1rem 1.25rem 1.25rem;
}

.experience-show-section-hero + div .experience-show-body {
  border-top: 1px solid #eee;
}

.experience-show-section + .experience-show-section {
  margin-top: 0;
  padding-top: 1rem;
  border-top: 1px solid #eee;
}

.experience-show-section-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
  margin-bottom: 0.75rem;
}

.experience-show-section-content {
  font-size: var(--text-body, 1rem);
  line-height: var(--leading-body, 1.6);
}

.experience-show-section-content > :first-child {
  margin-top: 0;
}

.experience-show-section-content > :last-child {
  margin-bottom: 0;
}

.experience-sidebar-section {
  padding: 0.75rem;
  border-top: 1px solid #eee;
}

.experience-sidebar-section:first-child {
  border-top: 0;
}

.experience-sidebar-section--actions .list-action-buttons {
  margin: 0;
}

.experience-sidebar-about-title,
.experience-sidebar-reel-title,
.experience-sidebar-todos-title {
  margin: 0 0 0.75rem;
  font-size: 0.95rem;
  font-weight: 700;
}

.experience-sidebar-about-image {
  margin-bottom: 0.75rem;
  border-radius: 0;
  overflow: hidden;
  line-height: 0;
}

.experience-sidebar-about-photo {
  display: block;
  width: 100%;
  height: auto;
}

.experience-sidebar-links {
  list-style: none;
  margin: 0 0 0.75rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.experience-sidebar-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.88rem;
  font-weight: 600;
}

.experience-sidebar-map-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.experience-sidebar-map-link:hover {
  text-decoration: none;
}

.experience-sidebar-map-preview {
  width: 100%;
  height: 160px;
  background: #e8edf2;
  pointer-events: none;
}

.experience-sidebar-map-preview .leaflet-container {
  width: 100%;
  height: 100%;
  background: #e8edf2;
}

.experience-sidebar-map-preview .map-marker-pin {
  position: relative;
  width: 28px;
  height: 34px;
}

.experience-sidebar-map-preview .map-marker-emoji {
  position: absolute;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.72rem;
  line-height: 1;
  pointer-events: none;
}

.experience-sidebar-map-label {
  display: block;
  margin-top: 0.4rem;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #444;
}

.experience-sidebar-section--reel .instagram-reel-wrapper {
  margin: 0;
}

.experience-todo-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.experience-todo-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 0.75rem 0;
  border-top: 1px solid #eee;
}

.experience-todo-item:first-child {
  border-top: 0;
  padding-top: 0.25rem;
}

.experience-todo-thumb-wrap {
  position: relative;
  flex-shrink: 0;
}

.experience-todo-thumb-link {
  display: block;
  text-decoration: none;
  line-height: 0;
}

.experience-todo-thumb-image,
.experience-todo-thumb-link .copyright-protected-image--circle {
  display: block;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  border: 2px solid #fff;
}

.experience-todo-thumb-link .copyright-protected-image__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.experience-todo-thumb-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  font-size: 1.1rem;
  font-weight: 700;
  color: #4b5563;
  text-transform: uppercase;
  background: linear-gradient(145deg, #f3f4f6, #e5e7eb);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  border: 2px solid #fff;
}

.experience-todo-copy {
  flex: 1;
  min-width: 0;
}

.experience-todo-lead {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.35;
  color: #202124;
}

.experience-todo-desc-hover {
  position: absolute;
  left: calc(100% + 8px);
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: max(160px, 12vw);
  max-width: 220px;
  padding: 0.55rem 0.65rem;
  border-radius: 4px;
  background: rgba(17, 17, 17, 0.94);
  color: #fff;
  font-size: 0.78rem;
  line-height: 1.4;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  pointer-events: none;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
}

.experience-todo-thumb-wrap:hover .experience-todo-desc-hover,
.experience-todo-thumb-wrap:focus-within .experience-todo-desc-hover {
  opacity: 1;
  visibility: visible;
}

.experience-todo-empty {
  margin: 0;
  font-size: 0.85rem;
  color: #5f6368;
}

.copyright-protected-image {
  position: relative;
  display: block;
  max-width: 100%;
  line-height: 0;
}

.copyright-protected-image__img {
  display: block;
  width: 100%;
  height: auto;
  transition: filter 0.25s ease;
  -webkit-user-drag: none;
  user-select: none;
}

.copyright-protected-image.is-protected .copyright-protected-image__img {
  filter: blur(14px);
}

.copyright-protected-message {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 1.1rem;
  background: rgba(255, 255, 255, 0.94);
  text-align: center;
  z-index: 2;
  font-size: 0.92rem;
  line-height: 1.45;
  color: #202124;
  pointer-events: auto;
}

.copyright-protected-message[hidden] {
  display: none !important;
}

.copyright-protected-message-title {
  margin: 0;
  font-weight: 600;
}

.copyright-protected-message-body {
  margin: 0;
}

.copyright-protected-message-body a {
  color: #1a73e8;
  font-weight: 600;
  text-decoration: underline;
}

.copyright-protected-message-dismiss {
  margin-top: 0.35rem;
  border: 1px solid #dadce0;
  background: #fff;
  border-radius: 16px;
  padding: 6px 14px;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
}

.copyright-protected-image--circle {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}

.copyright-protected-image--circle .copyright-protected-image__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.copyright-protected-image--circle .copyright-protected-message {
  font-size: 0.62rem;
  padding: 0.35rem;
  line-height: 1.25;
}

.copyright-protected-image--circle .copyright-protected-message-dismiss {
  display: none;
}

.copyright-protected-image--lightbox {
  position: relative;
  width: 100%;
  max-height: calc(100vh - 8rem);
}

.copyright-protected-image--lightbox .copyright-protected-image__img,
.copyright-protected-image--lightbox .ps-lightbox-image {
  width: 100%;
  max-height: calc(100vh - 8rem);
  object-fit: contain;
}

.experience-sidebar-actions-title {
  margin: 0 0 0.75rem;
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.list-action-buttons-sidebar .list-action-btn {
  background: #fff;
  color: #222;
  border-color: #d0d0d0;
}

.list-action-buttons-sidebar .list-action-btn.is-active {
  background: #111;
  color: #fff;
  border-color: #111;
}

.list-action-rating {
  margin-top: 10px;
  font-size: 0.85rem;
  color: #444;
}

.list-action-rating-stars {
  color: #f5b301;
  letter-spacing: 1px;
  font-size: 1rem;
}

.list-action-rating-prompt {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #eee;
}

.list-action-rating-title {
  margin: 0 0 8px;
  font-size: 0.9rem;
  font-weight: 700;
}

.star-rating-input {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 4px;
  margin-bottom: 10px;
}

.star-rating-star {
  appearance: none;
  border: 0;
  background: transparent;
  color: #d0d0d0;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}

.star-rating-star.is-selected,
.star-rating-star:hover,
.star-rating-star:hover ~ .star-rating-star {
  color: #f5b301;
}

.list-action-rating-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.list-action-rating-save,
.list-action-rating-skip,
.list-action-rating-cancel {
  appearance: none;
  border: 1px solid #d0d0d0;
  border-radius: 999px;
  background: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 5px 12px;
  cursor: pointer;
}

.list-action-rating-save {
  background: #111;
  color: #fff;
  border-color: #111;
}

.list-action-review-field {
  margin-bottom: 10px;
}

.list-action-review-label {
  display: block;
  margin-bottom: 6px;
  font-size: 0.82rem;
  font-weight: 700;
  color: #333;
}

.list-action-review-input {
  width: 100%;
  min-height: 72px;
  padding: 8px 10px;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  font: inherit;
  font-size: 0.85rem;
  line-height: 1.45;
  resize: vertical;
}

.list-action-review-input:focus {
  outline: none;
  border-color: #888;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06);
}

.list-action-review-text {
  margin: 8px 0 0;
  font-size: 0.85rem;
  line-height: 1.5;
  color: #444;
  white-space: pre-wrap;
}

.user-avatar {
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.user-avatar-placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #e8e8e8;
  color: #555;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}

/* London Underground-style location roundel */
.lu-roundel {
  --lu-roundel-size: 88px;
  --lu-roundel-ring-width: calc(var(--lu-roundel-size) * 0.14);
  --lu-roundel-hole: calc((var(--lu-roundel-size) - (2 * var(--lu-roundel-ring-width))) * 0.9);
  --lu-roundel-bar-height: calc(var(--lu-roundel-size) * 0.264);
  --lu-roundel-bar-width: calc(var(--lu-roundel-size) * 1.395);
  width: var(--lu-roundel-bar-width);
  height: var(--lu-roundel-size);
  flex-shrink: 0;
}

.lu-roundel-frame {
  position: relative;
  width: 100%;
  height: 100%;
}

.lu-roundel-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--lu-roundel-size);
  height: var(--lu-roundel-size);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: var(--lu-roundel-ring-width) solid #fff;
  background: transparent;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.22);
  box-sizing: border-box;
  z-index: 1;
  pointer-events: none;
}

.lu-roundel-bar {
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--lu-roundel-bar-width);
  height: var(--lu-roundel-bar-height);
  transform: translate(-50%, -50%);
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 calc(var(--lu-roundel-size) * 0.06);
  box-sizing: border-box;
  z-index: 2;
  pointer-events: none;
}

.lu-roundel-text {
  display: block;
  max-width: calc(var(--lu-roundel-hole) - 0.25rem);
  color: #fff;
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(0.42rem, calc(var(--lu-roundel-size) * 0.105), 0.62rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
}

/* Place show page (article-style layout) */
.place-show-hero-roundel {
  position: absolute;
  top: 0.85rem;
  right: 0.85rem;
  z-index: 3;
  pointer-events: none;
}

.place-show-hero:has(.place-show-hero-roundel) .hero-admin-edit {
  top: calc(0.85rem + var(--lu-roundel-size, 88px) + 0.5rem);
}

.place-show-hero-fallback {
  min-height: 280px;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
}

.place-show-about {
  font-size: var(--text-body, 1rem);
  line-height: var(--leading-body, 1.6);
}

.place-show-about > :first-child {
  margin-top: 0;
}

.place-show-about > :last-child {
  margin-bottom: 0;
}

.place-show-detail-label {
  margin: 0 0 0.35rem;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #666;
}

.place-show-detail-value {
  margin: 0;
  font-size: var(--text-body, 1rem);
}

.place-show-gallery-section {
  padding-top: 1rem;
  border-top: 1px solid #eee;
}

.place-show-gallery-title {
  margin: 0 0 0.85rem;
  font-size: 1.05rem;
  font-weight: 700;
}

.place-show-gallery {
  margin: 0;
}

.place-show-gallery .ps-gallery-status {
  margin-bottom: 0.75rem;
}

.place-show-gallery-grid {
  margin-bottom: 0.5rem;
}

.place-show-gallery-purchase {
  margin: 0.75rem 0 0;
  font-size: 0.88rem;
  color: #555;
}

.place-sidebar-address {
  margin: 0 0 0.75rem;
  font-size: 0.88rem;
  line-height: 1.45;
}

.place-sidebar-place-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.place-sidebar-place-link {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  color: inherit;
  text-decoration: none;
}

.place-sidebar-place-link:hover {
  text-decoration: none;
  color: inherit;
}

.place-sidebar-place-thumb,
.place-sidebar-place-thumb-fallback {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 4px;
  overflow: hidden;
}

.place-sidebar-place-thumb-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e8edf2;
  color: #555;
  font-size: 1.1rem;
  font-weight: 700;
}

.place-sidebar-place-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.place-sidebar-place-name {
  display: block;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.3;
}

.place-sidebar-place-meta {
  display: block;
  font-size: 0.78rem;
  color: #666;
}

.place-address-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0 0 1rem;
}

.place-address-copy {
  min-width: 0;
  flex: 1;
}

.place-address-copy p {
  margin: 0;
}

@media (max-width: 991px) {
  .place-show-hero-roundel {
    top: 0.65rem;
    right: 0.65rem;
  }

  .place-show-hero:has(.place-show-hero-roundel) .hero-admin-edit {
    top: calc(0.65rem + var(--lu-roundel-size, 72px) + 0.5rem);
    right: 0.65rem;
  }
}

@media (max-width: 600px) {
  .lu-roundel {
    --lu-roundel-size: 72px;
  }

  .place-address-row {
    gap: 0.75rem;
  }
}

.place-reviews {
  margin-top: 0;
  padding-top: 1rem;
  border-top: 1px solid #eee;
}

.place-reviews-empty {
  margin: 0 0 1rem;
  color: #666;
  font-size: 0.92rem;
}

.place-review-stars-empty {
  color: #aaa;
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0;
}

.place-review-form-wrap {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #eee;
}

.place-review-form-title {
  margin: 0 0 0.75rem;
  font-size: 0.95rem;
  font-weight: 700;
}

.place-review-form-label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #444;
}

.place-review-form-rating {
  margin-bottom: 0.75rem;
}

.place-review-form-rating .star-rating-input {
  margin-top: 0.25rem;
}

.place-review-form-input {
  display: block;
  width: 100%;
  margin-bottom: 0.75rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid #d0d0d0;
  border-radius: 4px;
  font: inherit;
  line-height: 1.45;
  resize: vertical;
}

.place-review-form-submit {
  appearance: none;
  border: 1px solid #111;
  background: #111;
  color: #fff;
  border-radius: 999px;
  padding: 0.45rem 1rem;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
}

.place-review-form-submit:disabled {
  opacity: 0.6;
  cursor: wait;
}

.place-review-form-message {
  margin: 0 0 0.5rem;
  color: #b00020;
  font-size: 0.85rem;
}

.place-review-form-signin {
  margin: 0;
  font-size: 0.9rem;
  color: #555;
}

.place-reviews-title,
.profile-reviews-title {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.place-review + .place-review {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #f0f0f0;
}

.place-review-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.place-review-author {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  color: inherit;
  text-decoration: none;
  font-weight: 600;
}

.place-review-author:hover {
  text-decoration: underline;
}

.place-review-stars {
  color: #f5b301;
  letter-spacing: 1px;
  font-size: 0.95rem;
  white-space: nowrap;
}

.place-review-text {
  margin: 0.5rem 0 0;
  color: #444;
  line-height: 1.5;
  font-size: 0.95rem;
}

.instagram-comments {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid #eee;
}

.instagram-comments-title {
  margin: 0 0 0.35rem;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.instagram-comments-intro {
  margin: 0 0 0.85rem;
  color: #666;
  font-size: 0.85rem;
}

.instagram-comment + .instagram-comment {
  margin-top: 0.9rem;
  padding-top: 0.9rem;
  border-top: 1px solid #f0f0f0;
}

.instagram-comment-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.instagram-comment-author {
  font-weight: 600;
  color: #111;
}

.instagram-comment-date {
  color: #888;
  font-size: 0.82rem;
  white-space: nowrap;
}

.instagram-comment-text {
  margin: 0.45rem 0 0;
  color: #444;
  line-height: 1.5;
  font-size: 0.95rem;
  white-space: pre-wrap;
}

.profile-page .profile-reviews {
  margin-top: 1rem;
}

.profile-review-place-link {
  font-weight: 600;
  color: inherit;
}

.profile-review-place-link:hover {
  color: #111;
}

.profile-empty {
  margin: 0;
  color: #666;
  font-size: var(--text-small);
}

.list-action-rating-author {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: inherit;
  text-decoration: none;
  font-weight: 600;
}

.list-action-rating-author:hover {
  text-decoration: underline;
}

.list-action-rating-name {
  font-size: 0.85rem;
}

.list-action-rating-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* Auth pages */
.auth-page,
.account-page {
  display: flex;
  justify-content: center;
  padding: 2rem 0 3rem;
}

.auth-card,
.account-card {
  width: 100%;
  max-width: 420px;
  padding: 1.5rem;
  border: 1px solid var(--color-border, #e5e5e5);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.auth-title {
  margin: 0 0 0.35rem;
  font-size: clamp(1.5rem, 4vw, 2rem);
}

.auth-lead {
  margin: 0 0 1.25rem;
  color: var(--color-text-secondary, #555);
  font-size: var(--text-small);
  line-height: 1.5;
}

.auth-form {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.auth-field {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.auth-field label {
  font-size: var(--text-small);
  font-weight: 600;
}

.auth-field input {
  width: 100%;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--color-border, #ddd);
  border-radius: 6px;
  font: inherit;
}

.auth-submit {
  appearance: none;
  border: 0;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font: inherit;
  font-weight: 600;
  padding: 0.7rem 1.25rem;
  cursor: pointer;
  margin-top: 0.25rem;
}

.auth-submit-secondary {
  background: #fff;
  color: #111;
  border: 1px solid #ddd;
}

.auth-social {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--color-border, #eee);
}

.auth-social-label {
  margin: 0 0 0.75rem;
  text-align: center;
  font-size: var(--text-small);
  color: var(--color-text-muted, #666);
}

.auth-social-buttons {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.auth-social-form {
  margin: 0;
}

.auth-social-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.65rem 1rem;
  border: 1px solid var(--color-border, #ddd);
  border-radius: 999px;
  background: #fff;
  color: inherit;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.auth-social-btn:hover {
  border-color: #111;
}

.auth-switch {
  margin: 1.25rem 0 0;
  text-align: center;
  font-size: var(--text-small);
}

.account-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.account-avatar {
  border-radius: 50%;
  object-fit: cover;
}

.account-details {
  margin: 0 0 1.25rem;
}

.account-details div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--color-border, #eee);
  font-size: var(--text-small);
}

.account-details dt {
  font-weight: 600;
}

.account-details dd {
  margin: 0;
  color: var(--color-text-secondary, #555);
}

.account-card-wide {
  max-width: 520px;
}

.account-location {
  margin: 0.25rem 0 0;
  font-size: var(--text-small);
  color: var(--color-text-secondary, #555);
}

.account-notice {
  margin: 0 0 1rem;
  padding: 0.75rem 1rem;
  border-radius: 6px;
  background: #fff8e6;
  color: #6a4d00;
  font-size: var(--text-small);
}

.account-links {
  margin-bottom: 1.25rem;
}

.account-links-title {
  margin: 0 0 0.5rem;
  font-size: var(--text-small);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.account-links-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.account-links-list li + li {
  margin-top: 0.35rem;
}

.account-photo-upload {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 0.5rem;
}

.account-photo-fields {
  flex: 1;
}

.account-avatar-large {
  width: 96px;
  height: 96px;
}

.account-avatar-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f2f2f2;
  color: #888;
  border-radius: 50%;
  font-size: 2rem;
}

.account-hint {
  margin: 0.35rem 0 0;
  font-size: var(--text-caption, 0.8rem);
  color: var(--color-text-muted, #666);
}

.account-hint-warning {
  color: #8a5a00;
}

.auth-field-label {
  font-size: var(--text-small);
  font-weight: 600;
}

.account-form-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 0.5rem;
}

.account-cancel-link {
  font-size: var(--text-small);
  font-weight: 600;
}

.account-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.emoji-picker-host {
  position: relative;
}

.emoji-field {
  position: relative;
}

.emoji-field textarea,
.emoji-field trix-editor {
  width: 100%;
  padding-right: 42px;
  box-sizing: border-box;
}

.place-admin-rich-text {
  margin-bottom: 1rem;
}

.place-admin-rich-text-editor {
  position: relative;
  border: 1px solid #d0d0d0;
  border-radius: 6px;
  overflow: visible;
  background: #fff;
}

.place-admin-rich-text-editor .admin-quill-toolbar {
  border: 0;
  border-bottom: 1px solid #e5e5e5;
  background: #fafafa;
  border-radius: 6px 6px 0 0;
}

.place-admin-rich-text-editor .admin-quill-editor {
  min-height: 280px;
}

.place-admin-rich-text-editor .admin-quill-editor .ql-editor {
  min-height: 280px;
  padding: 0.85rem 2.75rem 0.85rem 0.85rem;
  font: inherit;
  line-height: 1.6;
}

.place-admin-rich-text-editor .ql-container.ql-snow {
  border: 0;
  font: inherit;
}

.place-admin-rich-text-editor .ql-toolbar.ql-snow {
  border: 0;
  font: inherit;
}

.admin-rich-text-tools {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.admin-rich-text-tool-btn {
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
  color: #111;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1;
  padding: 0.45rem 0.55rem;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

.admin-rich-text-tool-btn:hover {
  border-color: #bbb;
  background: #fafafa;
}

.place-admin-rich-text-editor .admin-rich-text-emoji-trigger,
.place-admin-rich-text-editor .emoji-field-trigger {
  position: static;
  top: auto;
  bottom: auto;
  right: auto;
}

.place-admin-rich-text-editor .admin-rich-text-emoji-panel,
.place-admin-rich-text-editor .emoji-picker-panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 8px);
  top: auto;
  z-index: 50;
  max-height: min(360px, 50vh);
}

.emoji-field-trigger {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  width: 32px;
  height: 32px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

.emoji-field-trigger:hover,
.emoji-field-trigger[aria-expanded="true"] {
  border-color: #bbb;
  background: #fafafa;
}

.emoji-picker-panel {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 30;
  width: min(320px, calc(100vw - 2rem));
  max-height: 320px;
  overflow-y: auto;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

.emoji-picker-search-wrap {
  position: sticky;
  top: 0;
  z-index: 1;
  margin-bottom: 8px;
  padding-bottom: 8px;
  background: #fff;
  border-bottom: 1px solid #eee;
}

.emoji-picker-search {
  width: 100%;
  padding: 7px 10px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font: inherit;
  font-size: 0.88rem;
  box-sizing: border-box;
}

.emoji-picker-search:focus {
  outline: none;
  border-color: #999;
}

.emoji-picker-results {
  min-height: 0;
}

.emoji-picker-empty {
  margin: 0.5rem 0 0;
  font-size: 0.82rem;
  color: #777;
  text-align: center;
}

.emoji-picker-search-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.emoji-picker-search-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}

.emoji-picker-search-name {
  font-size: 0.62rem;
  line-height: 1.2;
  color: #777;
  text-align: center;
  word-break: break-word;
}

.emoji-picker-group + .emoji-picker-group {
  margin-top: 10px;
}

.emoji-picker-group-label {
  margin: 0 0 6px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #777;
}

.emoji-picker-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 4px;
}

.emoji-picker-choice {
  width: 100%;
  aspect-ratio: 1;
  border: none;
  border-radius: 8px;
  background: transparent;
  font-size: 1.15rem;
  line-height: 1;
  cursor: pointer;
}

.emoji-picker-choice:hover,
.emoji-picker-choice:focus-visible {
  background: #f3f3f3;
  outline: none;
}

.list-action-review-field .emoji-field-trigger {
  top: 6px;
  right: 6px;
}

.list-action-review-field .emoji-picker-panel {
  right: auto;
  left: 0;
}

.emoji-select-field {
  margin-top: 0.75rem;
}

.emoji-select-label {
  display: block;
  margin-bottom: 6px;
  font-size: 0.9rem;
  font-weight: 700;
}

.emoji-select-control {
  position: relative;
  display: inline-block;
}

.emoji-select-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 112px;
  padding: 8px 12px;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  background: #fff;
  font: inherit;
  cursor: pointer;
}

.emoji-select-trigger:hover,
.emoji-select-trigger[aria-expanded="true"] {
  border-color: #999;
  background: #fafafa;
}

.emoji-select-display {
  font-size: 1.2rem;
  line-height: 1;
}

.emoji-select-caret {
  margin-left: auto;
  color: #666;
  font-size: 0.85rem;
}

.emoji-select-panel {
  top: calc(100% + 6px);
  left: 0;
  right: auto;
}

.emoji-select-clear {
  display: block;
  width: 100%;
  margin-bottom: 8px;
  padding: 6px 8px;
  border: none;
  border-radius: 8px;
  background: #f3f3f3;
  font: inherit;
  font-size: 0.82rem;
  cursor: pointer;
}

.emoji-select-clear:hover {
  background: #e8e8e8;
}

.emoji-select-hint {
  margin: 6px 0 0;
  font-size: 0.78rem;
  color: #777;
}

.admin-select-field {
  min-width: 220px;
  max-width: 100%;
  padding: 6px 8px;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  font: inherit;
}

.hero-category {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.hero-category-emoji {
  font-size: 1rem;
  line-height: 1;
}

.filter-chip-emoji {
  margin-right: 0.2rem;
}

.admin-edit-links {
  margin-bottom: 0.75rem;
}

.admin-edit-link {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
}

.admin-edit-link:hover {
  color: #fff;
  background: #333;
  text-decoration: none;
}

.site-header-user-label {
  display: block;
  padding: 0.45rem 0.9rem 0.2rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #888;
}

.place-admin-card {
  padding: 1rem 1.25rem;
}

.place-admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.place-admin-grid--thirds {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.place-admin-field {
  margin-bottom: 1rem;
}

.place-admin-field label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.88rem;
  font-weight: 600;
}

.place-admin-field input[type="text"],
.place-admin-field textarea {
  width: 100%;
  padding: 0.55rem 0.65rem;
  border: 1px solid #d0d0d0;
  border-radius: 6px;
  font: inherit;
}

.place-admin-hint,
.place-admin-status {
  margin: 0.35rem 0 0;
  font-size: 0.8rem;
  color: #666;
}

.place-admin-status {
  color: #444;
  font-weight: 600;
}

.place-admin-suggestions,
.place-admin-gallery-suggestions {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin: 0 0 1rem;
}

.place-form-suggestion,
.place-form-gallery-suggestion {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.65rem 0.75rem;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fafafa;
  text-align: left;
  cursor: pointer;
}

.place-form-suggestion {
  justify-content: space-between;
}

.place-form-suggestion:hover,
.place-form-suggestion.is-active,
.place-form-gallery-suggestion:hover {
  background: #f0f0f0;
  border-color: #bbb;
}

.place-form-suggestion.is-active {
  border-color: #111;
  box-shadow: inset 0 0 0 1px #111;
}

.place-form-suggestion-action {
  flex-shrink: 0;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #666;
}

.place-form-lookup-preview {
  margin: 0 0 1rem;
  padding: 0.85rem 0.95rem;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
}

.place-form-lookup-preview-title {
  margin: 0 0 0.55rem;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #444;
}

.place-form-lookup-preview-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem 1rem;
  margin: 0;
}

.place-form-lookup-preview-item dt {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #888;
}

.place-form-lookup-preview-item dd {
  margin: 0.15rem 0 0;
  font-size: 0.88rem;
  color: #111;
  word-break: break-word;
}

.place-form-lookup-preview-hint {
  margin: 0.65rem 0 0;
  font-size: 0.8rem;
  color: #666;
}

.place-form-suggestion-title,
.place-form-gallery-name {
  display: block;
  font-weight: 600;
  color: #111;
}

.place-form-suggestion-meta,
.place-form-gallery-meta {
  display: block;
  font-size: 0.82rem;
  color: #666;
}

.place-form-gallery-media {
  flex-shrink: 0;
}

.place-form-gallery-thumb {
  display: block;
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 4px;
}

.place-form-gallery-thumb--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ececec;
  font-size: 1.4rem;
}

.place-form-gallery-copy {
  min-width: 0;
}

.place-form-gallery-label {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #888;
}

.place-categories-heading {
  margin: 0 0 0.85rem;
  font-size: 1rem;
}

.place-categories-list {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.place-category-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.75rem;
  align-items: center;
  padding: 0.65rem 0;
  border-bottom: 1px solid #eee;
}

.place-category-row:last-child {
  border-bottom: 0;
}

.place-category-emoji-display {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 6px;
  background: #f4f4f4;
  font-size: 1.35rem;
}

.place-category-details {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.place-category-meta {
  font-size: 0.82rem;
  color: #666;
}

.place-category-actions {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.place-category-link {
  font-size: 0.88rem;
  font-weight: 600;
}

.place-category-delete {
  appearance: none;
  border: 0;
  background: transparent;
  color: #b00020;
  font: inherit;
  font-size: 0.82rem;
  cursor: pointer;
  text-decoration: underline;
}

.section-admin-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.85rem;
}

.section-admin-add-link {
  display: inline-flex;
  text-decoration: none;
}

.section-admin-list {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.section-admin-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.75rem;
  align-items: center;
  padding: 0.65rem 0;
  border-bottom: 1px solid #eee;
}

.section-admin-row:last-child {
  border-bottom: 0;
}

.section-admin-position-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.45rem;
  border-radius: 6px;
  background: #f4f4f4;
  font-size: 0.88rem;
  font-weight: 700;
}

.section-admin-details {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.section-admin-meta {
  font-size: 0.82rem;
  color: #666;
}

.section-admin-actions {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
}

.section-admin-filter-actions {
  align-self: end;
}

.section-admin-show-meta p {
  margin: 0 0 0.35rem;
}

.section-admin-show-content {
  margin-top: 1rem;
  font-size: var(--text-body, 1rem);
  line-height: var(--leading-body, 1.6);
}

.experience-show-section {
  position: relative;
}

.experience-show-section-admin {
  position: absolute;
  top: 0.5rem;
  right: 0;
  z-index: 2;
}

.experience-show-section-admin-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #eee;
}

body.place-form-image-modal-open {
  overflow: hidden;
}

.place-form-image-modal {
  position: fixed;
  inset: 0;
  z-index: 4000;
}

.place-form-image-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
}

.place-form-image-modal-dialog {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(960px, calc(100vw - 2rem));
  max-height: calc(100vh - 2rem);
  margin: 1rem auto;
  padding: 1rem 1.1rem 1.1rem;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
}

.place-form-image-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.35rem;
}

.place-form-image-modal-header h2 {
  margin: 0;
  font-size: 1.05rem;
}

.place-form-image-modal-close {
  appearance: none;
  border: 0;
  background: #f2f2f2;
  color: #111;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}

.place-form-image-modal-close:hover {
  background: #e4e4e4;
}

.place-form-image-modal-hint {
  margin: 0 0 0.75rem;
  font-size: 0.82rem;
  color: #666;
}

.place-form-image-modal-body {
  overflow-y: auto;
  min-height: 0;
}

.place-form-image-modal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0.75rem;
}

.place-form-image-modal-option {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 8px;
  overflow: hidden;
  background: #f7f7f7;
  cursor: pointer;
  text-align: left;
}

.place-form-image-modal-option:hover,
.place-form-image-modal-option:focus {
  border-color: #111;
  outline: none;
}

.place-form-image-modal-option img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.place-form-image-modal-caption {
  display: block;
  padding: 0 0.45rem 0.45rem;
  font-size: 0.72rem;
  line-height: 1.3;
  color: #555;
  word-break: break-word;
}

.place-form-image-modal-loading {
  margin: 1rem 0;
  text-align: center;
  color: #666;
  font-size: 0.9rem;
}

.place-form-image-modal-footer {
  margin-top: 0.85rem;
  text-align: center;
}

.place-form-image-modal-more {
  appearance: none;
  border: 1px solid #111;
  background: #fff;
  color: #111;
  border-radius: 999px;
  padding: 0.5rem 1rem;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.place-form-image-modal-more:hover:not(:disabled) {
  background: #111;
  color: #fff;
}

.place-form-image-modal-more:disabled {
  opacity: 0.6;
  cursor: wait;
}

.place-admin-image-preview img {
  display: block;
  max-width: 220px;
  margin-top: 0.6rem;
  border-radius: 6px;
}

.place-admin-errors {
  margin-bottom: 1rem;
  color: #b00020;
}

.place-admin-actions {
  margin-top: 0.5rem;
}

.place-admin-submit {
  appearance: none;
  border: 1px solid #111;
  background: #111;
  color: #fff;
  border-radius: 999px;
  padding: 0.55rem 1.2rem;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

a.place-admin-submit {
  display: inline-block;
  text-decoration: none;
}

a.place-admin-submit:hover {
  color: #fff;
  opacity: 0.9;
}

.experience-edit-admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  margin-bottom: 1.25rem;
}

@media (max-width: 991px) {
  .place-admin-grid,
  .place-admin-grid--thirds {
    grid-template-columns: 1fr;
  }

  .place-form-lookup-preview-list {
    grid-template-columns: 1fr;
  }
}
/*!
 * Quill Editor v2.0.3
 * https://quilljs.com
 * Copyright (c) 2017-2024, Slab
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */
.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked] > .ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked] > .ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor > *{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li > .ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked] > .ql-ui,.ql-editor li[data-list=unchecked] > .ql-ui{color:#777}.ql-editor li[data-list=bullet] > .ql-ui:before{content:'\2022'}.ql-editor li[data-list=checked] > .ql-ui:before{content:'\2611'}.ql-editor li[data-list=unchecked] > .ql-ui:before{content:'\2610'}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered] > .ql-ui:before{content:counter(list-0, decimal) '. '}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1 > .ql-ui:before{content:counter(list-1, lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2 > .ql-ui:before{content:counter(list-2, lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3 > .ql-ui:before{content:counter(list-3, decimal) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4 > .ql-ui:before{content:counter(list-4, lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5 > .ql-ui:before{content:counter(list-5, lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6 > .ql-ui:before{content:counter(list-6, decimal) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7 > .ql-ui:before{content:counter(list-7, lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8 > .ql-ui:before{content:counter(list-8, lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9 > .ql-ui:before{content:counter(list-9, decimal) '. '}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl > .ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank::before{color:rgba(0,0,0,0.6);content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:'';display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow{box-sizing:border-box}.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:'';display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label::before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label::before,.ql-snow .ql-picker.ql-header .ql-picker-item::before{content:'Normal'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before{content:'Heading 1'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before{content:'Heading 2'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before{content:'Heading 3'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before{content:'Heading 4'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before{content:'Heading 5'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before{content:'Heading 6'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label::before,.ql-snow .ql-picker.ql-font .ql-picker-item::before{content:'Sans Serif'}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before{content:'Serif'}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before{content:'Monospace'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label::before,.ql-snow .ql-picker.ql-size .ql-picker-item::before{content:'Normal'}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before{content:'Small'}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before{content:'Large'}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before{content:'Huge'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:'Helvetica Neue','Helvetica','Arial',sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:rgba(0,0,0,0.2) 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label{border-color:#ccc}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow + .ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip::before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action::after{border-right:1px solid #ccc;content:'Edit';margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove::before{content:'Remove';margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action::after{border-right:0;content:'Save';padding-right:0}.ql-snow .ql-tooltip[data-mode=link]::before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]::before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]::before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}

/*# sourceMappingURL=quill.snow.css.map*/
/*
 * Sidetrack London — photo-first typography
 * Base: 16px html. Smaller, supportive text scale via clamp().
 */

:root {
  --font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-display: "Eveleth Clean Thin", var(--font-sans);

  --text-body: clamp(0.95rem, 2.2vw, 1.05rem);
  --text-small: clamp(0.8rem, 1.8vw, 0.95rem);
  --text-caption: clamp(0.8rem, 1.8vw, 0.95rem);

  --leading-body: 1.5;
  --leading-tight: 1.3;
  --leading-heading: 1.2;

  --color-text: #111111;
  --color-text-secondary: #444444;
  --color-text-muted: #555555;
  --color-text-inverse: #ffffff;
  --color-link: #111111;
}

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  font-family: var(--font-sans);
  font-size: var(--text-body);
  font-weight: 400;
  line-height: var(--leading-body);
  color: var(--color-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
.h1 {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 4.5vw, 2.75rem);
  font-weight: 400;
  line-height: var(--leading-heading);
  letter-spacing: -0.02em;
  margin: 0 0 0.45em;
  color: var(--color-text);
}

h2,
.h2 {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3.8vw, 2.25rem);
  font-weight: 400;
  line-height: var(--leading-heading);
  letter-spacing: -0.01em;
  margin: 0 0 0.4em;
  color: var(--color-text);
}

h3,
.h3 {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 3vw, 1.75rem);
  font-weight: 400;
  line-height: var(--leading-tight);
  margin: 0 0 0.35em;
  color: var(--color-text);
}

h4,
.h4 {
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 2.6vw, 1.45rem);
  font-weight: 400;
  line-height: var(--leading-tight);
  margin: 0 0 0.3em;
  color: var(--color-text);
}

h5,
.h5 {
  font-family: var(--font-sans);
  font-size: clamp(0.95rem, 2.2vw, 1.1rem);
  font-weight: 600;
  line-height: var(--leading-tight);
  margin: 0 0 0.25em;
  color: var(--color-text);
}

h6,
.h6 {
  font-family: var(--font-sans);
  font-size: var(--text-small);
  font-weight: 600;
  line-height: var(--leading-tight);
  margin: 0 0 0.2em;
  color: var(--color-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

p {
  margin: 0 0 0.85em;
  line-height: var(--leading-body);
}

small,
.text-small,
.caption {
  font-size: var(--text-small);
  line-height: var(--leading-body);
}

.text-secondary {
  color: var(--color-text-secondary);
}

.text-muted {
  color: var(--color-text-muted);
}

a {
  color: var(--color-link);
}

input,
textarea,
select,
button {
  font-family: inherit;
  font-size: max(1rem, var(--text-body));
  line-height: 1.5;
}



.page-intro {
  font-size: clamp(1.1rem, 2.6vw, 1.45rem);
  line-height: var(--leading-tight);
  margin: 0 0 0.65rem;
  font-weight: 400;
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */

 body {
     background-color: #d2f3fc;
     background-repeat: no-repeat;
     background-attachment: fixed;
     margin:0px;
}

a {color: 40px; color: #000000 !important;}


.navbar {
  z-index: 1;
  min-height: 38px;
  color: #000000 !important;
  background-color: #FFFFFF !important;
  box-shadow: 0px 4px 2px -2px rgba(0, 0, 0, 0.15);

}

.navbar a.brand { font-size: 40px; color: #000000 !important; }
.navbar a.brand:hover {
 color: #000000 !important;
 background-color: transparent;
 text-decoration: none;
}

.button {
  background-color: #FFFFFF;
  border: none;
  color: white;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  margin: 4px 2px;
  cursor: pointer;
  border-radius: 8px;
  box-shadow: 0px 2px 12px rgba(0, 0, 0, 0.15);
}

.img-circular {
 width: 75px;
 height: 75px;
 background-size: cover;
 display: block;
 border-radius: 100px;
 -webkit-border-radius: 100px;
 -moz-border-radius: 100px;
}


.img-rounded {
  border-radius: 10px;
  box-shadow: 0px 2px 12px rgba(0, 0, 0, 0.15);
  text-align: left;
}

.tip-icon {
  float: right;
  width: 80px;
  height: 80px;
  background-size: cover;
  display: block;
  border-radius: 100px;
  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
}

/* Container holding the image and the text */
.tip-widget {
  padding: 10px;
  position: relative;
  text-align: left;
  color: white;

}

/* Bottom left text */
.bottom-left {
  position: absolute;
  bottom: 8px;
  left: 20px;
}

/* Top left text */
.top-left {
  position: absolute;
  top: 20px;
  left: 20px;
}

/* Top right text */
.top-right {
  position: absolute;
  top: 8px;
  right: 16px;
}

/* Bottom right text */
.bottom-right {
  position: absolute;
  bottom: 8px;
  right: 16px;
}

/* Centered text */
.centered {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}


/* Add a card effect for articles */
.card {
  background-color: white;
  padding: 20px;
  margin-top: 20px;
  box-shadow: 0px 2px 12px rgba(0, 0, 0, 0.15);
}

/* #articles container for the feed */
#articles {
  position: relative;
  z-index: 1;
  padding: 8px 4px;
  box-sizing: border-box;
}

/* Article Widget: clean responsive card with image + text overlays */
.article-widget {
  position: relative;
  width: 80%;
  max-width: 900px;
  margin: 0 auto 14px;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
  background: #111; /* fallback */
}

.article-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
  vertical-align: bottom;
}

/* Category badge - top left */
.article-top-left {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 10;
  background: rgba(0, 0, 0, 0.75);
  color: #fff;
  padding: 3px 7px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  white-space: nowrap;
  max-width: calc(100% - 20px);
  overflow: hidden;
  text-overflow: ellipsis;
  text-shadow: none;
}

.article-top-left h3 {
  margin: 0;
  font-size: inherit;
}

/* Title + location - bottom overlay with gradient */
.article-bottom-left {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  padding: 10px 10px 7px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.82));
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}

.article-bottom-left h4 {
  margin: 0;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 500;
}

/* Home Widget */
.home-widget {
  position: relative;
  max-width: 640px;
  width: 92%;
  margin: 10px auto;
  color: white;
  overflow: hidden;
}
/* Top left text */
.home-top-left {
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  color: white;
  text-shadow: 0 1px 3px rgba(0,0,0,0.8);
}
/* Bottom left text */
.home-bottom-left {
  position: absolute;
  bottom: 10px;
  left: 10px;
  right: 10px;
  color: white;
  text-shadow: 0 1px 3px rgba(0,0,0,0.8);
}

/* Home Widget */
.mini-widget {
  padding: 0px;
  position: relative;
  text-align: left;
  color: white;
}
/* Top left text */
.mini-top-left {
  position: absolute;
  top: 10px;
  left: 20px;
  color: white;
}
/* Bottom left text */
.mini-bottom-left {
  position: absolute;
  bottom: 10px;
  left: 20px;
}







/* Container holding the image and the text */
.photo-widget {
  position: relative;
  max-width: 640px;
  width: 92%;
  margin: 10px auto;
  color: white;
  overflow: hidden;
}

/* Bottom left text */
.photo-bottom-left {
  position: absolute;
  bottom: 10px;
  left: 10px;
  right: 10px;
  color: white;
  text-shadow: 0 1px 3px rgba(0,0,0,0.8);
}

.photo-bottom-right {
  position: absolute;
  bottom: 10px;
  left: 10px;
  right: 10px;
  color: white;
  text-shadow: 0 1px 3px rgba(0,0,0,0.8);
}

/* Top left text */
.photo-top-left {
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  color: white;
  text-shadow: 0 1px 3px rgba(0,0,0,0.8);
}

#googlemaps {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0; /* Set z-index to 0 as it will be on a layer below the contact form */
}

/* Mobile-first responsive improvements for the articles feed */
@media (max-width: 600px) {
  #articles {
    padding: 4px 2px;
  }

  .article-widget {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 10px;
    border-radius: 8px;
  }

  .article-top-left {
    top: 6px;
    left: 6px;
    font-size: 9px;
    padding: 2px 5px;
  }

  .article-bottom-left {
    padding: 8px 8px 5px;
  }

  .article-bottom-left h4 {
    font-size: 13px;
    line-height: 1.2;
  }
}

@media (min-width: 601px) {
  .article-widget {
    width: 80%;
    max-width: 900px;
  }

  .article-bottom-left h4 {
    font-size: 15px;
  }
}

/* Prevent horizontal scroll and clean up container on small screens */
html, body {
  overflow-x: hidden;
}

.container {
  max-width: 100%;
  padding-left: 6px;
  padding-right: 6px;
}

/* General mobile friendliness */
img {
  max-width: 100%;
  height: auto;
}

/* Set the size of the div element that contains the map */
#map {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0; /* Set z-index to 0 as it will be on a layer below the contact form */
}


#page {
  position: fixed;
  z-index: 1; /* The z-index should be higher than Google Maps */
  width: 300px;
  margin: 60px auto 0;
  padding: 10px;
  background: black;
  height: auto;
  opacity: .45; /* Set the opacity for a slightly transparent Google Form */
  color: white;
}






 footer { margin-top: 100px; }
 table, td, th { vertical-align: middle; border: none; }
 th { border-bottom: 1px solid #DDD; }
 body { margin: 0; }
