* {
  margin: 0;
  padding: 0;
}

body {
  font-size: 16px;
}

ul, ol {
  list-style: none;
}

fieldset {
  border: none;
}

address {
  font-style: normal;
}

a {
  color: inherit;
  text-decoration: none;
}
:root {
  --grey-dark: #646464;
  --grey-mid: #d2d2d2;
  --grey-pale: #f0f0f0;
  --grey-warm: #e1ebe2;

  --blue-dark: #121e29;
  --blue-bright: #5b41f0;
  --blue-pale: #b0c1d3;

  --accent-visitor: #d6ef41;
  --accent-volunteer: #718eff;
  --accent-contributor: #ff6621;
  --accent-backoffice: #3ccabb;
}

.oc-bg-visitor {
  background-color: var(--accent-visitor);
}

.oc-bg-volunteer {
  background-color: var(--accent-volunteer);
}

.oc-bg-contributor {
  background-color: var(--accent-contributor);
}

.oc-bg-backoffice {
  background-color: var(--accent-backoffice);
}

.oc-bg-anon {
  background-color: #c9bef6;
}
@font-face {
  font-family: "SharpGroteskBold-12";
  src: url(https://d1e7pqkitkyd7k.cloudfront.net/assets/SharpGroteskBold12-e8c97d4558d2d53b8eaf6b285d46d84ee6fa8bdcac750ba77bda3e7c7b209652.woff2) format("woff2"),
       url(https://d1e7pqkitkyd7k.cloudfront.net/assets/SharpGroteskBold12-558ff4695d758d88fdb853902aca9ae3b4733b3940a01c7b7558f8a66d9edd74.woff) format("woff");
}

@font-face {
  font-family: "SharpGroteskBold-18";
  src: url(https://d1e7pqkitkyd7k.cloudfront.net/assets/SharpGroteskBold18-282bb54f967b71699dd77b926955d126cf553fdcc3856fb89ef9ff54be60fbd5.woff2) format("woff2"),
       url(https://d1e7pqkitkyd7k.cloudfront.net/assets/SharpGroteskBold18-a1ddab87750b2584786f5a928e68faed664e6271282fe4b9b4798e5ee11f59e3.woff) format("woff");
}

@font-face {
  font-family: "SharpGroteskBook-18";
  src: url(https://d1e7pqkitkyd7k.cloudfront.net/assets/SharpGroteskBook18-205093e9ba45efd7e62700b98f61a0623461e05272f0d3bdf7d316058ca8ccf8.woff2) format("woff2"),
       url(https://d1e7pqkitkyd7k.cloudfront.net/assets/SharpGroteskBook18-b939ce7086fe70bcba54065a4f5410dc96894f3bf58ce9ebde2873a72a98be8b.woff) format("woff");
}

@font-face {
  font-family: "SharpGroteskLight-14";
  src: url(https://d1e7pqkitkyd7k.cloudfront.net/assets/SharpGroteskLight14-198d6a8e5a224dd6017950bcb917303aeec563bbd69346e5455c48996f822d79.woff2) format("woff2"),
       url(https://d1e7pqkitkyd7k.cloudfront.net/assets/SharpGroteskLight14-51e7bf22d9383e689d7884a082873879cbc78d4b608d723d069e423614f4c1bc.woff) format("woff");
}

@font-face {
  font-family: "LibreFranklin";
  font-weight: 400;
  src: url(https://d1e7pqkitkyd7k.cloudfront.net/assets/LibreFranklin-Regular-7eb1d0eb8888be65960273b19154020e59050110cf4af209e8343deded702bc9.ttf) format("truetype");
}

@font-face {
  font-family: "LibreFranklin";
  font-weight: 600;
  src: url(https://d1e7pqkitkyd7k.cloudfront.net/assets/LibreFranklin-SemiBold-61f73f9e717e1af322fc0f7d60e73d19da2b8ede18699227f4e5be494c83dc56.ttf) format("truetype");
}

@font-face {
  font-family: "LibreFranklin";
  font-style: italic;
  src: url(https://d1e7pqkitkyd7k.cloudfront.net/assets/LibreFranklin-Italic-03b9e7c21e7d5c144eff02b794250c263f62ec494d4225304c09d7a0dea9d5b0.ttf) format("truetype");
}
/*



























 */

:root {
  
    --icon-arrow-right: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNS43MSAyNC42MSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMxZDFkMWI7c3Ryb2tlLXdpZHRoOjVweDt9PC9zdHlsZT48L2RlZnM+PGxpbmUgY2xhc3M9ImNscy0xIiB5MT0iMTIuMzEiIHgyPSIyMS42OSIgeTI9IjEyLjMxIi8+PHBvbHlsaW5lIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIxMS40NiAyMi44MyAyMi4xNSAxMi4zIDExLjQ2IDEuNzgiLz48L3N2Zz4K");
  
    --icon-bookmark-saved: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMi4xOSAxMy41NiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiM1YjQxZjA7c3Ryb2tlOiMxYzFjMWM7c3Ryb2tlLXdpZHRoOjIuOTVweDt9PC9zdHlsZT48L2RlZnM+PHBvbHlnb24gY2xhc3M9ImNscy0xIiBwb2ludHM9IjEwLjcyIDEuNDcgMTAuNzIgMTEuMSA2LjEgOC42MiAxLjQ3IDExLjEgMS40NyAxLjQ3IDEwLjcyIDEuNDciLz48L3N2Zz4K");
  
    --icon-bookmark: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMi4xOSAxMy41NiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMxYzFjMWM7c3Ryb2tlLXdpZHRoOjIuOTVweDt9PC9zdHlsZT48L2RlZnM+PHBvbHlnb24gY2xhc3M9ImNscy0xIiBwb2ludHM9IjEwLjcyIDEuNDcgMTAuNzIgMTEuMSA2LjEgOC42MiAxLjQ3IDExLjEgMS40NyAxLjQ3IDEwLjcyIDEuNDciLz48L3N2Zz4K");
  
    --icon-chevron-down: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMS41MyAxNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMxZDFkMWI7c3Ryb2tlLXdpZHRoOjVweDt9PC9zdHlsZT48L2RlZnM+PHBvbHlsaW5lIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIxLjc0IDEuOCAxMC43NyAxMC41MiAxOS43OSAxLjgiLz48L3N2Zz4=");
  
    --icon-chevron-left: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNCAyMS41MyI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMxZDFkMWI7c3Ryb2tlLXdpZHRoOjVweDt9PC9zdHlsZT48L2RlZnM+PHBvbHlsaW5lIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIxMi4yIDEuNzQgMy40OCAxMC43NyAxMi4yIDE5Ljc5Ii8+PC9zdmc+Cg==");
  
    --icon-chevron-right: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNCAyMS41MyI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMxZDFkMWI7c3Ryb2tlLXdpZHRoOjVweDt9PC9zdHlsZT48L2RlZnM+PHBvbHlsaW5lIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIxLjggMTkuNzkgMTAuNTIgMTAuNzcgMS44IDEuNzQiLz48L3N2Zz4K");
  
    --icon-chevron-up: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMS41MyAxNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMxZDFkMWI7c3Ryb2tlLXdpZHRoOjVweDt9PC9zdHlsZT48L2RlZnM+PHBvbHlsaW5lIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIxOS43OSAxMi4yIDEwLjc3IDMuNDggMS43NCAxMi4yIi8+PC9zdmc+");
  
    --icon-cog: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNi45NSAxNy4wOSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMxYzFjMWM7c3Ryb2tlLXdpZHRoOjIuOTVweDt9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMy4xOSw5Ljc1bC0xLjctMUE2LjA3LDYuMDcsMCwwLDEsMi44OSw0LjRsMS45My4yNCwxLS43Ni4zNy0xLjk0YTUuNzEsNS43MSwwLDAsMSwyLjI2LS40Nyw1LjY0LDUuNjQsMCwwLDEsMi4yNi40N2wuMzgsMS45NCwxLC43NiwxLjkyLS4yNGE2LDYsMCwwLDEsMS40LDQuMzhsLTEuNjksMUwxMy4zNywxMWwuODEsMS43OWE2LDYsMCwwLDEtMS41NiwxLjc0LDUuNjUsNS42NSwwLDAsMS0yLjEsMUw5LjEsMTQuMTNINy44NEw2LjQyLDE1LjQ3YTUuNzIsNS43MiwwLDAsMS0yLjEtMSw2LDYsMCwwLDEtMS41Ni0xLjc0TDMuNTgsMTFaIi8+PGVsbGlwc2UgY2xhc3M9ImNscy0xIiBjeD0iOC40MyIgY3k9IjguODciIHJ4PSIxLjc3IiByeT0iMS44Ii8+PC9zdmc+Cg==");
  
    --icon-crossmark: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMyAyMyI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMxZDFkMWI7c3Ryb2tlLXdpZHRoOjVweDt9PC9zdHlsZT48L2RlZnM+PGxpbmUgY2xhc3M9ImNscy0xIiB4MT0iMS43NyIgeTE9IjEuNzciIHgyPSIyMS4yMyIgeTI9IjIxLjIzIi8+PGxpbmUgY2xhc3M9ImNscy0xIiB4MT0iMjEuMjMiIHkxPSIxLjc3IiB4Mj0iMS43NyIgeTI9IjIxLjIzIi8+PC9zdmc+");
  
    --icon-download: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNC42MSAyOS4xMSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMxZDFkMWI7c3Ryb2tlLXdpZHRoOjVweDt9PC9zdHlsZT48L2RlZnM+PGxpbmUgY2xhc3M9ImNscy0xIiB4MT0iMTIuMyIgeDI9IjEyLjMiIHkyPSIyMS42OSIvPjxwb2x5bGluZSBjbGFzcz0iY2xzLTEiIHBvaW50cz0iMS43OCAxMS40NiAxMi4zIDIyLjE1IDIyLjgzIDExLjQ2Ii8+PGxpbmUgY2xhc3M9ImNscy0xIiB4MT0iMC45NyIgeTE9IjI2LjYxIiB4Mj0iMjMuNjMiIHkyPSIyNi42MSIvPjwvc3ZnPgo=");
  
    --icon-duplicate: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNC45MiAxNC45MiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMxYzFjMWM7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDoyLjk1cHg7fTwvc3R5bGU+PC9kZWZzPjxyZWN0IGNsYXNzPSJjbHMtMSIgeD0iNi40NSIgeT0iNi40NSIgd2lkdGg9IjciIGhlaWdodD0iNyIvPjxwb2x5bGluZSBjbGFzcz0iY2xzLTEiIHBvaW50cz0iOC40NyA1Ljk1IDguNDcgMS40NyAxLjQ3IDEuNDcgMS40NyA4LjQ3IDYuOTUgOC40NyIvPjwvc3ZnPgo=");
  
    --icon-exclamation: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1IDE5LjM4Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6bm9uZTtzdHJva2U6I2ZmNjYyMTtzdHJva2Utd2lkdGg6NXB4O308L3N0eWxlPjwvZGVmcz48bGluZSBjbGFzcz0iY2xzLTEiIHgxPSIyLjUiIHgyPSIyLjUiIHkyPSIxMS4yNCIvPjxsaW5lIGNsYXNzPSJjbHMtMSIgeDE9IjIuNSIgeTE9IjE0LjM4IiB4Mj0iMi41IiB5Mj0iMTkuMzgiLz48L3N2Zz4K");
  
    --icon-eye: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMy44NiAxNi42NCI+PGRlZnM+PHN0eWxlPi5jbHMtMSwuY2xzLTQsLmNscy01e2ZpbGw6bm9uZTt9LmNscy0ye2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aCk7fS5jbHMtM3tmaWxsOiNmZmY7fS5jbHMtNCwuY2xzLTV7c3Ryb2tlOiMwMDA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLXdpZHRoOjUuNXB4O30uY2xzLTR7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO30uY2xzLTV7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fTwvc3R5bGU+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMCkiPjxyZWN0IGNsYXNzPSJjbHMtMSIgd2lkdGg9IjIzLjg2IiBoZWlnaHQ9IjE2LjY0Ii8+PC9jbGlwUGF0aD48L2RlZnM+PGcgY2xhc3M9ImNscy0yIj48cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Ik0xNy4xNSw4LjMyYTUuNCw1LjQsMCwwLDEtNS4yMiw1LjU3QTUuNCw1LjQsMCwwLDEsNi43MSw4LjMyYTUuNCw1LjQsMCwwLDEsNS4yMi01LjU3LDUuNCw1LjQsMCwwLDEsNS4yMiw1LjU3IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDApIi8+PHBhdGggY2xhc3M9ImNscy00IiBkPSJNMTcuMTUsOC4zMmE1LjQsNS40LDAsMCwxLTUuMjIsNS41N0E1LjQsNS40LDAsMCwxLDYuNzEsOC4zMmE1LjQsNS40LDAsMCwxLDUuMjItNS41N0E1LjQsNS40LDAsMCwxLDE3LjE1LDguMzJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDApIi8+PHBhdGggY2xhc3M9ImNscy01IiBkPSJNMy4yMSw4LjMyczMuMzMtNS41Nyw4LjcyLTUuNTcsOC43Myw1LjU3LDguNzMsNS41Ny0zLjM0LDUuNTctOC43Myw1LjU3UzMuMjEsOC4zMiwzLjIxLDguMzJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDApIi8+PC9nPjwvc3ZnPgo=");
  
    --icon-menu: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMy45OSAyMyI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMxZDFkMWI7c3Ryb2tlLXdpZHRoOjVweDt9PC9zdHlsZT48L2RlZnM+PGxpbmUgY2xhc3M9ImNscy0xIiB5MT0iMi41IiB4Mj0iMjMuOTkiIHkyPSIyLjUiLz48bGluZSBjbGFzcz0iY2xzLTEiIHkxPSIxMS41IiB4Mj0iMjMuOTkiIHkyPSIxMS41Ii8+PGxpbmUgY2xhc3M9ImNscy0xIiB5MT0iMjAuNSIgeDI9IjIzLjk5IiB5Mj0iMjAuNSIvPjwvc3ZnPgo=");
  
    --icon-minus-white: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMC45NiA0LjUiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDo0LjVweDt9PC9zdHlsZT48L2RlZnM+PGxpbmUgY2xhc3M9ImNscy0xIiB5MT0iMi4yNSIgeDI9IjIwLjk2IiB5Mj0iMi4yNSIvPjwvc3ZnPgo=");
  
    --icon-minus: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMC45NiA0LjUiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDpub25lO3N0cm9rZTojMWQxZDFiO3N0cm9rZS13aWR0aDo0LjVweDt9PC9zdHlsZT48L2RlZnM+PGxpbmUgY2xhc3M9ImNscy0xIiB5MT0iMi4yNSIgeDI9IjIwLjk2IiB5Mj0iMi4yNSIvPjwvc3ZnPgo=");
  
    --icon-pencil: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMy44NSAxMy44NSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMxYzFjMWM7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDoyLjk1cHg7fTwvc3R5bGU+PC9kZWZzPjxwb2x5Z29uIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIxMi4zOCA0LjczIDUuNDcgMTEuNjMgMS40NyAxMi4zOCAyLjIyIDguMzggOS4xMiAxLjQ3IDEyLjM4IDQuNzMiLz48L3N2Zz4K");
  
    --icon-pin-black: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMS42OSAzMCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiMxZDFkMWI7fS5jbHMtMntmaWxsOm5vbmU7c3Ryb2tlOiMxZDFkMWI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLXdpZHRoOjVweDt9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTAuODUsMjUuNThsNi42Ny05LjcyYTguMzUsOC4zNSwwLDEsMC0xMy4zNSwwWiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTEwLjg1LDI1LjU4bDYuNjctOS43MmE4LjM1LDguMzUsMCwxLDAtMTMuMzUsMFoiLz48L3N2Zz4K");
  
    --icon-pin-yellow: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMS42OSAzMCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNkNmVmNDE7fS5jbHMtMntmaWxsOm5vbmU7c3Ryb2tlOiMxZDFkMWI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLXdpZHRoOjVweDt9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTAuODUsMjUuNThsNi42Ny05LjcyYTguMzUsOC4zNSwwLDEsMC0xMy4zNSwwWiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTEwLjg1LDI1LjU4bDYuNjctOS43MmE4LjM1LDguMzUsMCwxLDAtMTMuMzUsMFoiLz48L3N2Zz4K");
  
    --icon-play: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMCAxMyI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNGRkY7fTwvc3R5bGU+PC9kZWZzPjxwb2x5Z29uIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIwIDEzIDEwIDYuNSAwIDAgMCAxMyIvPjwvc3ZnPgo=");
  
    --icon-plus-white: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMC45NiAyMC45NiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjQuNXB4O308L3N0eWxlPjwvZGVmcz48bGluZSBjbGFzcz0iY2xzLTEiIHgxPSIxMC40OCIgeTE9IjIwLjk2IiB4Mj0iMTAuNDgiLz48bGluZSBjbGFzcz0iY2xzLTEiIHkxPSIxMC40OCIgeDI9IjIwLjk2IiB5Mj0iMTAuNDgiLz48L3N2Zz4K");
  
    --icon-plus: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMC45NiAyMC45NiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMxZDFkMWI7c3Ryb2tlLXdpZHRoOjQuNXB4O308L3N0eWxlPjwvZGVmcz48bGluZSBjbGFzcz0iY2xzLTEiIHgxPSIxMC40OCIgeTE9IjIwLjk2IiB4Mj0iMTAuNDgiLz48bGluZSBjbGFzcz0iY2xzLTEiIHkxPSIxMC40OCIgeDI9IjIwLjk2IiB5Mj0iMTAuNDgiLz48L3N2Zz4K");
  
    --icon-search: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNS44IDI2LjUiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDpub25lO3N0cm9rZTojMWQxZDFiO3N0cm9rZS13aWR0aDo1cHg7fTwvc3R5bGU+PC9kZWZzPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEwLjgsMTkuMDlhOC4zLDguMywwLDEsMC04LjMtOC4zQTguMjksOC4yOSwwLDAsMCwxMC44LDE5LjA5WiIvPjxsaW5lIGNsYXNzPSJjbHMtMSIgeDE9IjE1Ljg0IiB5MT0iMTYuNTUiIHgyPSIyNC4wMyIgeTI9IjI0LjczIi8+PC9zdmc+Cg==");
  
    --icon-star: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNy42NyAxNi45NSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMxYzFjMWM7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDoyLjk1cHg7fTwvc3R5bGU+PC9kZWZzPjxwb2x5Z29uIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSI4LjgzIDEuNDcgMTEuMTEgNi4wOCAxNi4xOSA2LjgyIDEyLjUxIDEwLjQxIDEzLjM4IDE1LjQ3IDguODMgMTMuMDggNC4yOCAxNS40NyA1LjE1IDEwLjQxIDEuNDcgNi44MiA2LjU2IDYuMDggOC44MyAxLjQ3Ii8+PC9zdmc+Cg==");
  
    --icon-tick: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOC4wMyAxNi4wMyI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMwMDA7c3Ryb2tlLXdpZHRoOjVweDt9PC9zdHlsZT48L2RlZnM+PHBvbHlsaW5lIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIxLjcgNy4yMyA3LjI2IDEyLjM4IDE2LjEgMS41OCIvPjwvc3ZnPgo=");
  
    --icon-ticket: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNC4yNiAxMC44MyI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMxYzFjMWM7c3Ryb2tlLXdpZHRoOjIuOTVweDt9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTQuMjYsOGEyLjU5LDIuNTksMCwxLDEsMC01LjE4TTAsMi44NkEyLjU5LDIuNTksMCwwLDEsMi41OSw1LjQ1LDIuNTksMi41OSwwLDAsMSwwLDhNMTQuMjYsMS40N0gwTTE0LjI2LDkuMzZIMCIvPjwvc3ZnPgo=");
  
    --icon-user: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNC41MiAyNi41OCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMxZDFkMWI7c3Ryb2tlLXdpZHRoOjVweDt9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTIuMjYsMTNBNS4yNSw1LjI1LDAsMSwwLDcsNy43NSw1LjI1LDUuMjUsMCwwLDAsMTIuMjYsMTNaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMi41LDI2LjU4VjI0YTQuNCw0LjQsMCwwLDEsNC4zOS00LjM5SDE3LjYzQTQuMzksNC4zOSwwLDAsMSwyMiwyNHYyLjU1Ii8+PC9zdmc+Cg==");
  
}

.oc-arrow-right-before {
  padding-left: 1.5rem;
  background: none;
  background-image: var(--icon-arrow-right);
  background-repeat: no-repeat;
  background-size: 1.125rem;
  background-position: left;
}
.oc-gutter {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

@media (min-width: 0) {
  :root {
    --gutter: 0.625rem;
  }
}

@media (min-width: 768px) {
  :root {
    --gutter: 1.25rem;
  }
}
.oc-grid {
  display: grid;
  column-gap: var(--gutter);
  row-gap: var(--gutter);
}

@media (min-width: 576px) {
  .oc-grid {
    --span-2: calc(calc(calc(100vw - var(--gutter) * 13) / 12) * 2 + var(--gutter));
    --span-5: calc(calc(calc(100vw - var(--gutter) * 13) / 12) * 5 + var(--gutter) * 4);
    --span-8: calc(calc(calc(100vw - var(--gutter) * 13) / 12) * 8 + var(--gutter) * 7);
  }
}

@media (min-width: 768px) {
  .oc-grid .max-width-span-2 {
    max-width: var(--span-2);
  }

  .oc-grid .max-width-span-5 {
    max-width: var(--span-5);
  }
}
.oc-button {
  border: none;
  display: inline-block;
  box-sizing: border-box;
  width: 1.125rem;
  height: 1.125rem;
  background: none;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  vertical-align: middle;
  font-size: 0;
}

.oc-button:disabled {
  opacity: 0.4;
}

.oc-button:hover {
  cursor: pointer;
}

.oc-button-menu {
  background-image: var(--icon-menu);
}

.oc-button-crossmark {
  background-image: var(--icon-crossmark);
}

.oc-button-chevron-left {
  background-image: var(--icon-chevron-left);
  background-size: auto 1.125rem;
  background-position: left center;
}

.oc-button-chevron-right {
  background-image: var(--icon-chevron-right);
  background-size: auto 1.125rem;
  background-position: right center;
}

.oc-button-black,
.oc-form input[type="file"]::-webkit-file-upload-button,
.oc-form input[type="file"]::file-selector-button {
  appearance: none;
  border: none;
  border-radius: 0;
  padding: 0.75rem 1rem;
  font-family: "LibreFranklin";
  font-weight: normal;
  font-size: 0.6875rem;
  line-height: 1rem;
  text-transform: uppercase;
  text-align: center;
  background-color: black;
  color: white;
}

.oc-button-black:hover {
  cursor: pointer;
}

.oc-button-black:disabled {
  cursor: not-allowed;
  background-color: var(--grey-mid);
  color: rgba(0, 0, 0, 0.5);
}

.oc-button-visitor {
  background-color: var(--accent-visitor);
  color: black;
}

.oc-button-contributor {
  background-color: var(--accent-contributor);
  color: white;
}

.oc-button-grey {
  background-color: var(--grey-mid);
  color: black;
}

.oc-button-text {
  appearance: none;
  border: none;
  outline: none;
  background-color: transparent;
  font-weight: inherit;
  color: inherit;
}

.oc-button-text:active {
  color: inherit;
}

.oc-button-text:hover {
  cursor: pointer;
}

.oc-button-text:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}
.oc-navbar {
  text-transform: uppercase;
  font-family: "LibreFranklin";
  font-size: 0.6875rem;
  line-height: 1rem;
}

.oc-navbar-backoffice {
  text-transform: none;
  background-color: black;
  font-size: 0.75rem;
  line-height: 1rem;
  color: white;
}

.oc-navbar ul {
  display: flex;
  list-style: none;
}

.oc-navbar li.spacer {
  flex: 1;
}

.oc-navbar li + li {
  margin-left: var(--gutter);
}

.oc-navbar .item {
  display: inline-block;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  text-transform: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  white-space: nowrap;
}

.oc-navbar .item-with-icon {
  padding-left: 1.25rem;
  background: none;
  background-repeat: no-repeat;
  background-size: 0.75rem;
  background-position: left;
}

.oc-navbar .semibold {
  font-weight: 600;
}

@media (min-width: 0) and (max-width: 768px) {
  .oc-navbar .display-none {
    display: none;
  }
}
.oc-header {
  position: relative;
  padding-top: var(--gutter);
}

.oc-header h1,
.oc-header h2,
.oc-nav h1,
.oc-nav h2 {
  white-space: nowrap;
  text-transform: uppercase;
  font-family: "SharpGroteskBold-18";
  font-feature-settings: "ss02";
  font-weight: normal;
}

.oc-header .buttons,
.oc-nav .buttons {
  text-align: right;
}

.oc-header .oc-button,
.oc-nav .oc-button {
  width: 1.25rem;
  height: 1.25rem;
}

.oc-header h1 .line {
  display: block;
}

.oc-header .buttons {
  font-size: 0;
}

.oc-header .site-search {
  margin-right: 1rem;
}

.oc-header .site-search form {
  display: none;
  position: absolute;
  margin-left: -100%;
  right: 0;
  top: 0;
  z-index: 4000; /* Above .oc-nav */
}

.oc-header .site-search button {
  background-image: var(--icon-search);
  position: relative;
  z-index: 8000; /* Above .oc-header .site-search form */
}

.oc-header .site-search input,
.oc-header .site-search-mobile input {
  height: 1.5rem;
  padding-bottom: 0.25rem;
  background: transparent;
  border: none;
  text-transform: uppercase;
  font-family: "SharpGroteskBold-18";
  font-feature-settings: "ss02";
  font-weight: normal;
}

.oc-header .site-search input:focus,
.oc-header .site-search-mobile input:focus {
  outline: none;
}

.oc-header .site-search input {
  border-bottom: solid 0.3125rem black;
  width: 20rem;
}

.oc-header .site-search.open form {
  display: inline-block;
}

.oc-header .site-search.open button {
  background-image: var(--icon-crossmark);
}

.oc-header .site-search-mobile form {
  display: flex;
  margin-top: 1rem;
  border-bottom: solid 0.3125rem black;
}

.oc-header .site-search-mobile input {
  flex: 1;
}

.oc-header .site-search-mobile button {
  background-image: var(--icon-search);
}

.oc-nav {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 2000; /* Above Leaflet controls */
  display: none;
}

.oc-nav.open {
  display: block;
}

.oc-nav .row {
  padding-top: var(--gutter);
  padding-bottom: var(--gutter);
}

.oc-nav .row:first-child {
  background-color: white;
}

.oc-nav .row:last-child {
  background-color: black;
  color: white;
}

.oc-nav .row:last-child .column {
  display: none;
}

.oc-nav .row:last-child.open .column {
  display: block;
}

.oc-nav .row:last-child .oc-button {
  background-image: var(--icon-plus-white);
}

.oc-nav .row:last-child.open .oc-button {
  background-image: var(--icon-minus-white);
}

.oc-nav h1 .line {
  display: block;
}

.oc-nav ul {
  margin-top: 0.5rem;
}

.oc-nav li {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

@media (min-width: 0) {
  .oc-header,
  .oc-nav .row {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .oc-header h1,
  .oc-header h2,
  .oc-header .site-search input,
  .oc-header .site-search-mobile input,
  .oc-nav h1 {
    font-size: 1.625rem;
    line-height: 1.5rem;
  }

  .oc-header {
    height: 5rem;
  }

  .oc-header h1,
  .oc-header .buttons {
    grid-column: span 3;
  }

  .oc-nav {
    position: absolute;
  }

  .oc-nav .headline {
    grid-row: 1;
    grid-column: span 4;
  }

  .oc-nav .column {
    grid-column: span 6;
  }

  .oc-nav .buttons {
    grid-row: 1;
    grid-column: span 2;
  }

  .oc-nav h2 {
    font-size: 1.625rem;
    line-height: 1.5rem;
  }

  .oc-nav ul {
    font-family: "SharpGroteskBook-18";
    font-feature-settings: "ss02";
    font-weight: normal;
    font-size: 1.125rem;
    line-height: 1.625rem;
  }
}

@media (min-width: 0) and (max-width: 576px) {
  .oc-header .title {
    display: none;
  }
}

@media (min-width: 0) and (max-width: 768px) {
  .oc-header .site-search {
    display: none;
  }

  .oc-nav .row:first-child .display-none {
    display: none;
  }

  .oc-nav .row:first-child ul.user {
    margin: 0;
    list-style: none;
    text-transform: uppercase;
    font-family: "LibreFranklin";
    font-size: 0.6875rem;
    line-height: 1rem;
  }

  .oc-nav .row:first-child ul.user li + li {
    margin-top: 0.5rem;
  }

  .oc-nav .row:first-child ul.user a {
    display: inline-flex;
    align-items: center;
    min-height: 1.5rem;
    padding-left: 2rem;
    background: none;
    background-repeat: no-repeat;
    background-size: 1.3125rem;
    background-position: left;
  }

  .oc-nav h2 {
    margin-top: calc(2.25rem - var(--gutter));
  }
}

@media (min-width: 576px) {
  .oc-header,
  .oc-nav .row {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .oc-header h1 {
    grid-column: span 3;
  }

  .oc-header .title {
    grid-column: span 6;
  }

  .oc-header .buttons {
    grid-column: 10 / 13;
  }

  .oc-nav .headline {
    grid-column: span 6;
  }

  .oc-nav .column {
    grid-column: span 12;
  }

  .oc-nav .buttons {
    grid-column: span 6;
  }
}

@media (min-width: 768px) {
  .oc-header h1,
  .oc-header h2,
  .oc-header .site-search input,
  .oc-nav h1,
  .oc-nav h2 {
    font-size: 1.5rem;
    line-height: 1.375rem;
  }

  .oc-header h1 {
    grid-column: span 2;
  }

  .oc-header .title {
    grid-column: span 8;
  }

  .oc-header .buttons {
    grid-column: 11 / 13;
  }

  .oc-header .site-search {
    display: inline-block;
    position: relative;
  }

  .oc-header .site-search-mobile {
    display: none;
  }

  .oc-nav .headline,
  .oc-nav .column {
    grid-column: span 2;
  }

  .oc-nav .buttons {
    grid-column: 11 / 13;
  }

  .oc-nav .row:first-child {
    height: 10rem;
  }

  .oc-nav .row:first-child .display-none {
    display: block;
  }

  .oc-nav .row:first-child ul.user {
    display: none;
  }

  .oc-nav ul {
    font-family: "LibreFranklin";
    font-weight: normal;
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

@media (min-width: 1024px) {
  .oc-header h1,
  .oc-header h2,
  .oc-header .site-search input,
  .oc-nav h1,
  .oc-nav h2 {
    font-size: 1.625rem;
    line-height: 1.5rem;
  }

  .oc-header {
    height: 5.3125rem;
  }

  .oc-nav .row:first-child {
    height: 10.625rem;
  }

  .oc-nav ul {
    font-size: 0.9375rem;
    line-height: 1.375rem;
  }
}

@media (min-width: 1920px) {
  .oc-header h1,
  .oc-header h2,
  .oc-header .site-search input,
  .oc-nav h1,
  .oc-nav h2 {
    font-size: 1.9375rem;
    line-height: 1.75rem;
  }

  .oc-header {
    height: 5.625rem;
  }

  .oc-nav .row:first-child {
    height: 12.5rem;
  }

  .oc-nav ul {
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
}
.oc-form {
  font-size: 0;
  padding-bottom: 3rem;
}

.oc-form .field label {
  text-transform: uppercase;
  font-family: "LibreFranklin";
  font-weight: normal;
  font-size: 0.6875rem;
  line-height: 1rem;
}

.oc-form h4,
.oc-form p,
.oc-form li,
.oc-form dt,
.oc-form dd,
.oc-form figcaption,
.oc-form textarea,
.oc-form span,
.oc-form input[type=number],
.oc-form input[type=text],
.oc-form input[type=email],
.oc-form input[type=url],
.oc-form input[type=tel],
.oc-form input[type=datetime-local],
.oc-form input[type=date],
.oc-form input[type=time],
.oc-form input[type=search],
.oc-form input[type=password],
.oc-form .option label,
.oc-form .cached-file-details,
.oc-form .input-with-prefix i,
.oc-form .StripeElement {
  text-transform: none;
  font-family: "LibreFranklin";
  font-weight: normal;
  font-size: 0.875rem;
  line-height: 1.125rem;
}

.oc-form input[type=file] {
  font-family: "LibreFranklin";
}

.oc-label,
.oc-form .oc-label {
  text-transform: uppercase;
  font-family: "LibreFranklin";
  font-weight: normal;
  font-size: 0.6875rem;
  line-height: 1rem;
}

.oc-form textarea {
  box-sizing: border-box;
  margin-top: 0.5rem;
  padding: 0.25rem;
  border: solid 1px black;
}

.oc-form input[type=number],
.oc-form input[type=text],
.oc-form input[type=email],
.oc-form input[type=url],
.oc-form input[type=tel],
.oc-form input[type=datetime-local],
.oc-form input[type=date],
.oc-form input[type=time],
.oc-form input[type=search],
.oc-form input[type=password],
.oc-form .input-with-prefix i,
.oc-form .StripeElement {
  margin-top: 0.25rem;
  padding: 0.25rem 0;
  border: none;
  border-radius: 0;
  border-bottom: solid 1px black;
}

.oc-form h3,
.oc-form p,
.oc-form .field,
.oc-form .errors ul {
  margin-bottom: 1.5rem;
}

.oc-form fieldset > :last-child,
.oc-form .field > :last-child {
  margin-bottom: 0;
}

.oc-form fieldset,
.oc-form .errors {
  margin-bottom: 2rem;
}

.oc-form label + p {
  margin-top: 0.5rem;
  margin-bottom: 0.75rem;
}

.oc-form .option {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.oc-form .option + p {
  margin-top: 1rem;
}

.oc-form .option h4 + span {
  display: block;
  margin-bottom: 1rem;
}

.oc-form .option input:disabled + label {
  color: graytext;
}

.oc-form h3 {
  font-family: "SharpGroteskBook-18";
  font-feature-settings: "ss02";
  font-weight: normal;
  font-size: 1.3125rem;
  line-height: 1.5625rem;
}

.oc-form h4 {
  margin-bottom: 0.5rem;
  font-weight: bold;
}

.oc-form .errors h3:after {
  margin-left: 0.5rem;
  content: '\26A0\FE0F';
}

.oc-form .errors ul {
  list-style: disc inside;
}

.oc-form .field-row {
  display: flex;
  align-items: end;
  gap: var(--gutter);
}

.oc-form .field-flex {
  flex: 1;
}

.oc-form textarea,
.oc-form input[type=number],
.oc-form input[type=text],
.oc-form input[type=email],
.oc-form input[type=url],
.oc-form input[type=tel],
.oc-form input[type=datetime-local],
.oc-form input[type=date],
.oc-form input[type=time],
.oc-form input[type=search],
.oc-form input[type=password] {
  width: 100%;
  display: block;
}

.oc-form input[type=file],
.oc-form .cached-file-details {
  display: block;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.oc-form .input-with-prefix {
  display: flex;
}

.oc-form .input-with-prefix i {
  font-style: normal;
  pointer-events: none;
}

.oc-form .input-with-prefix input {
  width: 100%;
}

.oc-form .option {
  display: flex;
  align-items: baseline;
}

.oc-form .option input[type=radio],
.oc-form .option input[type=checkbox] {
  min-width: 1.125rem;
  margin-right: 0.25rem;
  accent-color: black;
}

.oc-form .nowrap {
  white-space: nowrap;
}

.oc-form .oc-character-counter {
  margin-top: 0.5rem;
  text-align: right;
}

.oc-form .donation-amount-button {
  padding: 0.5rem 1rem;
}

.oc-form .donation-amount-button + .donation-amount-button {
  margin-left: 0.5rem;
}

@media (min-width: 0) {
  .oc-form-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .oc-form-column {
    grid-column: span 6;
  }

  .oc-form .field {
    width: calc(100vw - var(--gutter) * 2);
  }

  .oc-form .field-row .field {
    width: calc(calc(calc(100vw - var(--gutter) * 7) / 6) * 3 + var(--gutter) * 2);
  }
}

@media (min-width: 576px) {
  .oc-form-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .oc-form-column {
    grid-column: 3 / 11;
  }

  .oc-form .field {
    width: calc(calc(calc(100vw - var(--gutter) * 13) / 12) * 6 + var(--gutter) * 5);
  }

  .oc-form .field-row .field {
    width: calc(calc(calc(100vw - var(--gutter) * 13) / 12) * 3 + var(--gutter) * 2);
  }
}

@media (min-width: 768px) {
  .oc-form-column {
    grid-column: 3 / 9;
  }

  .oc-form .field-row .field {
    width: calc(calc(calc(100vw - var(--gutter) * 13) / 12) * 2 + var(--gutter));
  }
}

@media (min-width: 1024px) {
  .oc-form .field {
    width: calc(calc(calc(100vw - var(--gutter) * 13) / 12) * 4 + var(--gutter) * 3);
  }
}
.oc-metadata dt {
  display: none;
}

.oc-metadata dd {
  margin-bottom: 0.25rem;
}
.oc-listing-item {
  position: relative;
}

.oc-listing-item-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 3;
}

.oc-listing-item-details .name {
  margin-top: 0.25rem;
  font-family: "SharpGroteskBook-18";
  font-feature-settings: "ss02";
  font-weight: normal;
}

.oc-listing-item-details .activity-types,
.oc-listing-item-details .building-types,
.oc-listing-item-details .description,
.oc-listing-item-details .design {
  font-family: "LibreFranklin";
}

.oc-listing-item-details .activity-types,
.oc-listing-item-details .design {
  text-transform: uppercase;
}

.oc-listing-item-details .building-types {
  margin-top: 0.2rem;
  text-transform: lowercase;
}

.oc-listing-item-hover {
  display: none;
  padding: 0.75rem;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 3;
  background-color: rgba(0, 0, 0, 0.75);
  color: white;
}

.oc-listing-item-hover .description,
.oc-listing-item-hover .design {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.oc-listing-item-hover .description {
  -webkit-line-clamp: 3;
}

.oc-listing-item-hover .design {
  -webkit-line-clamp: 1;
}

.oc-listing-item:hover .oc-listing-item-hover {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media (min-width: 0) {
  .oc-listings {
    margin-top: 0.625rem;
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .oc-listing-item {
    grid-column: span 3;
  }

  .oc-listing-item img {
    margin-bottom: 0.375rem;
  }

  .oc-listing-item-details .name {
    font-size: 1.125rem;
    line-height: 1.375rem;
  }

  .oc-listing-item-details .activity-types,
  .oc-listing-item-details .design {
    font-size: 0.5625rem;
  }

  .oc-listing-item-details .building-types,
  .oc-listing-item-details .description {
    font-size: 0.6875rem;
    line-height: 0.875rem;
  }

  .oc-listing-item-hover .description {
    -webkit-line-clamp: 5;
  }
}

@media (min-width: 576px) {
  .oc-listings {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .oc-listing-item {
    grid-column: span 4;
  }

  .oc-listing-item img {
    margin-bottom: 0.625rem;
  }

  .oc-listing-item-details .name {
    font-size: 1.3125rem;
    line-height: 1.5625rem;
  }

  .oc-listing-item-details .activity-types,
  .oc-listing-item-details .design {
    font-size: 0.6875rem;
  }

  .oc-listing-item-details .building-types,
  .oc-listing-item-details .description {
    font-size: 0.8125rem;
    line-height: 1rem;
  }

  .oc-listing-item-hover .description {
    -webkit-line-clamp: 3;
  }
}

@media (min-width: 768px) {
  .oc-listing-item {
    grid-column: span 3;
  }
}

@media (min-width: 1024px) {
  .oc-listings {
    margin-top: 1rem;
  }

  .oc-listing-item-details .name {
    font-size: 1.5rem;
    line-height: 1.75rem;
  }

  .oc-listing-item-details .activity-types,
  .oc-listing-item-details .design {
    font-size: 0.75rem;
  }

  .oc-listing-item-details .building-types,
  .oc-listing-item-details .description {
    font-size: 0.875rem;
    line-height: 1.375rem;
  }

  .oc-listing-item-hover .description {
    -webkit-line-clamp: 4;
  }
}

@media (min-width: 1920px) {
  .oc-listings {
    margin-top: 1.25rem;
  }

  .oc-listing-item-details .name {
    font-size: 1.75rem;
    line-height: 2.125rem;
  }

  .oc-listing-item-details .activity-types,
  .oc-listing-item-details .design {
    font-size: 0.8125rem;
  }

  .oc-listing-item-details .building-types,
  .oc-listing-item-details .description {
    font-size: 0.9375rem;
    line-height: 1.5rem;
  }

  .oc-listing-item-hover .description {
    -webkit-line-clamp: 5;
  }
}
.oc-stacked-list {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  margin-bottom: 3rem;
  font-family: "LibreFranklin";
  font-size: 0.875rem;
  line-height: 1.125rem;
}

.oc-stacked-list h2 {
  text-transform: uppercase;
  font-family: "SharpGroteskBold-18";
  font-feature-settings: "ss02";
  font-weight: normal;
  font-size: 1.625rem;
  line-height: 1.5rem;
}

.oc-stacked-list-item {
  position: relative;
  border-top: solid 0.3125rem black;
  padding-top: var(--gutter);
  padding-left: 4.5rem;
}

.oc-stacked-list-item h3 {
  font-family: "SharpGroteskBook-18";
  font-feature-settings: "ss02";
  font-weight: normal;
  font-size: 1.5rem;
  line-height: 1.75rem;
}

.oc-stacked-list-item .date {
  position: absolute;
  top: var(--gutter);
  left: 0;
  text-transform: uppercase;
  font-size: 0.6875rem;
  line-height: 0.875rem;
  text-align: center;
}

.oc-stacked-list-item .date span {
  display: block;
}

.oc-stacked-list-item .date .mday {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  font-family: "SharpGroteskBook-18";
  font-feature-settings: "ss02";
  font-weight: normal;
  font-size: 1.3125rem;
  line-height: 1.5625rem;
}

.oc-stacked-list-item .buttons {
  display: flex;
  gap: var(--gutter);
}

.oc-stacked-list-item .margin-top {
  margin-top: 1rem;
}

.oc-stacked-list-item .uppercase {
  text-transform: uppercase;
  font-size: 0.6875rem;
  line-height: 0.875rem;
}

@media (min-width: 0) {
  .oc-stacked-list > * {
    grid-column: span 12;
  }
}

@media (max-width: 768px) {
  .oc-stacked-list-item .buttons {
    margin-top: 1rem;
  }
}

@media (min-width: 768px) {
  .oc-stacked-list > * {
    grid-column: 3 / 11;
  }

  .oc-stacked-list-item .buttons {
    position: absolute;
    bottom: 0;
    right: 0;
  }
}
.oc-confirmation {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.oc-confirmation h2 {
  text-transform: uppercase;
  font-family: "SharpGroteskBold-18";
  font-feature-settings: "ss02";
  font-weight: normal;
  font-size: 1.625rem;
  line-height: 1.5rem;
}

.oc-confirmation p {
  font-family: "LibreFranklin";
  font-size: 0.875rem;
  line-height: 1.125rem;
}

.oc-confirmation .cta {
  margin-top: 1.5rem;
}

@media (min-width: 0) {
  .oc-confirmation h2,
  .oc-confirmation p {
    grid-column: span 12;
  }
}

@media (min-width: 768px) {
  .oc-confirmation h2,
  .oc-confirmation p {
    grid-column: 3 / 11;
  }
}
.oc-error h1 {
  font-family: "SharpGroteskBold-12";
  font-feature-settings: "ss02";
  font-weight: normal;
}

.oc-error p {
  font-family: "LibreFranklin";
  font-weight: normal;
}

.oc-error p > a {
  font-weight: 600;
}

.oc-error .oc-button-black {
  display: inline-block;
}

@media (min-width: 0) {
  .oc-error {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .oc-error > * {
    grid-column: span 6;
  }

  .oc-error h1 {
    font-size: 3.75rem;
    line-height: 3.75rem;
  }

  .oc-error p {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}

@media (min-width: 576px) {
  .oc-error {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .oc-error > * {
    grid-column: 3 / 11;
  }
}

@media (min-width: 1920px) {
  .oc-error h1 {
    font-size: 5.4375rem;
    line-height: 5.4375rem;
  }

  .oc-error p {
    font-size: 1.1875rem;
    line-height: 1.8125rem;
  }
}
.oc-flash {
  margin-bottom: 2.5rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: center;
  text-transform: uppercase;
  background-color: var(--grey-pale);
}

.oc-flash.success {
  background-color: var(--accent-visitor);
}

.oc-flash.error {
  background-color: var(--accent-contributor);
}

.oc-flash .column:first-child {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.oc-flash .column:last-child {
  justify-self: end;
}

.oc-flash h2,
.oc-flash p {
  display: inline;
  vertical-align: middle;
}

.oc-flash h2 {
  font-family: "SharpGroteskBold-18";
  font-feature-settings: "ss02";
  font-weight: normal;
}

.oc-flash p {
  font-family: "LibreFranklin";
}

.oc-flash h2 + p {
  margin-left: 0.75rem;
}

.oc-flash a {
  font-weight: 600;
}

.oc-flash-dismiss {
  animation: oc-flash-dismiss .2s ease forwards;
}

@media (min-width: 0) {
  .oc-flash .column:first-child {
    grid-column: span 11;
  }

  .oc-flash .column:last-child {
    grid-column: span 1;
  }
}

@media (min-width: 768px) {
  .oc-flash .column:first-child {
    grid-column: 3 / 10;
  }

  .oc-flash .column:last-child {
    grid-column: 10 / 11;
  }
}

@keyframes oc-flash-dismiss {
  to { 
    opacity: 0;
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 0;
    transform: scaleY(0);
  }
}
.oc-cta {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.oc-cta p {
  font-family: "LibreFranklin";
  font-weight: normal;
  font-size: 0.875rem;
  line-height: 1.125rem;
}

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

.oc-cta .oc-button-black {
  display: inline-block;
  margin-top: 1.5rem;
  font-size: 0.6875rem;
  line-height: 0.875rem;
}

.oc-cta .nowrap {
  white-space: nowrap;
}

@media (min-width: 0) {
  .oc-cta .column {
    grid-column: span 12;
  }
}

@media (min-width: 768px) {
  .oc-cta .column {
    grid-column: 3 / 9;
  }
}
.oc-results {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

.oc-results h4 {
  flex: 1;
  font-family: "SharpGroteskBold-18";
  font-feature-settings: "ss02";
  font-weight: normal;
}

.oc-results .switch .oc-button-text {
  padding: 0.25rem 0 0.25rem 1.5rem;
  background-image: var(--icon-eye);
  background-repeat: no-repeat;
  background-size: 1rem;
  background-position: left center;
  text-transform: uppercase;
}

@media (min-width: 0) {
  .oc-results h4 {
    font-size: 1.5rem;
    line-height: 1.375rem;
  }
}

@media (min-width: 1024px) {
  .oc-results h4 {
    font-size: 1.625rem;
    line-height: 1.5rem;
  }
}

@media (min-width: 1920px) {
  .oc-results h4 {
    font-size: 1.9375rem;
    line-height: 1.75rem;
  }
}
.oc-toggle {
  background-image: var(--icon-minus);
}

.oc-toggle-parent.closed .oc-toggle {
  background-image: var(--icon-plus);
}

.oc-toggle-parent.closed .oc-toggle-content {
  display: none;
}
.oc-h0 {
  margin-bottom: 3rem;
  white-space: nowrap;
  font-family: "SharpGroteskBold-12";
  font-feature-settings: "ss02";
  font-weight: normal;
}

.oc-h1 {
  margin-bottom: 1.5rem;
  white-space: nowrap;
  text-transform: uppercase;
  font-family: "SharpGroteskBold-18";
  font-feature-settings: "ss02";
  font-weight: normal;
}

.oc-h2 {
  margin-bottom: 1rem;
  white-space: nowrap;
  font-family: "SharpGroteskBook-18";
  font-feature-settings: "ss02";
  font-weight: normal;
}

.oc-h3 {
  margin-bottom: 1rem;
  white-space: nowrap;
  font-family: "LibreFranklin";
  font-weight: 600;
}

@media (min-width: 0) {
  .oc-h0 {
    font-size: 3.75rem;
    line-height: 2.75rem;
  }

  .oc-h1 {
    font-size: 1.625rem;
    line-height: 1.5rem;
  }

  .oc-h2 {
    font-size: 1.125rem;
    line-height: 1.375rem;
  }

  .oc-h3 {
    font-size: 1rem;
    line-height: 1rem;
  }
}

@media (min-width: 576px) {
  .oc-h2 {
    font-size: 1.3125rem;
    line-height: 1.5625rem;
  }

  .oc-h3 {
    font-size: 0.875rem;
    line-height: 0.875rem;
  }
}

@media (min-width: 768px) {
  .oc-h1 {
    font-size: 1.5rem;
    line-height: 1.375rem;
  }
}

@media (min-width: 1024px) {
  .oc-h0 {
    font-size: 3.75rem;
    line-height: 3.75rem;
  }

  .oc-h1 {
    font-size: 1.625rem;
    line-height: 1.5rem;
  }

  .oc-h2 {
    font-size: 1.5rem;
    line-height: 1.75rem;
  }

  .oc-h3 {
    font-size: 1rem;
    line-height: 1rem;
  }
}

@media (min-width: 1920px) {
  .oc-h0 {
    font-size: 4.5rem;
    line-height: 4.5rem;
  }

  .oc-h1 {
    font-size: 1.9375rem;
    line-height: 1.75rem;
  }

  .oc-h2 {
    font-size: 1.75rem;
    line-height: 2.125rem;
  }

  .oc-h3 {
    font-size: 1.1875rem;
    line-height: 1.1875rem;
  }
}
.oc-badges {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 1rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-size: 0;
}

.oc-badges li {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  font-family: "LibreFranklin";
  background-color: var(--grey-pale);
  vertical-align: middle;
}

.oc-badges span {
  vertical-align: middle;
}

.oc-badges form {
  display: inline;
}

.oc-badges button:hover {
  cursor: pointer;
}

.oc-badges .remove {
  padding: 0 0 0 0.375rem;
}

.oc-badges .remove button {
  width: 1.5rem;
  height: 1.5rem;
  background: none;
  background-image: var(--icon-crossmark);
  background-repeat: no-repeat;
  background-size: 0.75rem;
  background-position: center;
  border: none;
  font-size: 0;
}

@media (min-width: 0) {
  .oc-badges span {
    font-size: 0.875rem;
  }
}

@media (min-width: 1024px) {
  .oc-badges span {
    font-size: 0.875rem;
  }
}

@media (min-width: 1920px) {
  .oc-badges span {
    font-size: 1rem;
  }
}
/*





















 */
