input,
label,
select,
button,
textarea {
  margin: 0;
  border: 0;
  padding: 0;
  display: inline-block;
  vertical-align: middle;
  white-space: normal;
  background: none;
  line-height: 1;
  /* Browsers have different default form fonts */
  font-size: 13px;
  font-family: Arial;
}

/* Remove the stupid outer glow in Webkit */
input:focus,
textarea:focus {
  outline: 0;
}

/* Box Sizing Reset
-----------------------------------------------*/
/* All of our custom controls should be what we expect them to be */
input,
textarea {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/* These elements are usually rendered a certain way by the browser */
button,
input[type=reset],
input[type=button],
input[type=submit],
input[type=checkbox],
input[type=radio],
select {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/* Text Inputs
-----------------------------------------------*/
/* Button Controls
-----------------------------------------------*/
input[type=checkbox],
input[type=radio] {
  width: 13px;
  height: 13px;
}

/* File Uploads
-----------------------------------------------*/
/* Search Input
-----------------------------------------------*/
/* Make webkit render the search input like a normal text field */
input[type=search] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: border-box;
}

/* Turn off the recent search for webkit. It adds about 15px padding on the left */
::-webkit-search-decoration {
  display: none;
}

/* Buttons
-----------------------------------------------*/
button,
input[type=reset],
input[type=button],
input[type=submit] {
  /* Fix IE7 display bug */
  overflow: visible;
  width: auto;
}

/* IE8 and FF freak out if this rule is within another selector */
::-webkit-file-upload-button {
  padding: 0;
  border: 0;
  background: none;
}

/* Textarea
-----------------------------------------------*/
textarea {
  /* Move the label to the top */
  vertical-align: top;
  /* Turn off scroll bars in IE unless needed */
  overflow: auto;
}

/* Selects
-----------------------------------------------*/
select[multiple] {
  /* Move the label to the top */
  vertical-align: top;
}

.grid-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* Default, overridden */
  grid-auto-rows: 250px;
  gap: 10px;
  margin-top: 10px;
  perspective: 750px;
  perspective-origin: top center;
}
.grid-wrapper .gcol {
  display: block;
  width: 100%;
  height: auto;
  box-sizing: border-box;
}
.grid-wrapper.grid-4 {
  grid-template-columns: repeat(4, 1fr);
}
.grid-wrapper.grid-5 {
  grid-template-columns: repeat(10, 1fr);
}
@media (min-width: 992px) {
  .grid-wrapper.grid-5 .gcol:nth-of-type(5n + 1) {
    grid-column: 1/span 4;
    grid-row: 1/span 2;
  }
  .grid-wrapper.grid-5 .gcol:nth-of-type(5n + 2) {
    grid-column: 5/span 3;
    grid-row: 1;
  }
  .grid-wrapper.grid-5 .gcol:nth-of-type(5n + 3) {
    grid-column: 8/span 3;
    grid-row: 1;
  }
  .grid-wrapper.grid-5 .gcol:nth-of-type(5n + 4) {
    grid-column: 5/span 3;
    grid-row: 2;
  }
  .grid-wrapper.grid-5 .gcol:nth-of-type(5n + 5) {
    grid-column: 8/span 3;
    grid-row: 2;
  }
}
.grid-wrapper.grid-6 {
  grid-template-columns: repeat(4, 1fr);
}
@media (min-width: 992px) {
  .grid-wrapper.grid-6 .gcol:nth-of-type(5n + 1) {
    grid-column: 1/span 2;
    grid-row: 1/span 2;
  }
  .grid-wrapper.grid-6 .gcol:nth-of-type(5n + 2) {
    grid-column: 3/span 1;
    grid-row: 1;
  }
  .grid-wrapper.grid-6 .gcol:nth-of-type(5n + 3) {
    grid-column: 4/span 1;
    grid-row: 1;
  }
  .grid-wrapper.grid-6 .gcol:nth-of-type(5n + 4) {
    grid-column: 3/span 2;
    grid-row: 2/span 2;
  }
  .grid-wrapper.grid-6 .gcol:nth-of-type(5n + 5) {
    grid-column: 1/span 1;
    grid-row: 3;
  }
  .grid-wrapper.grid-6 .gcol:nth-of-type(5n + 6) {
    grid-column: 2/span 1;
    grid-row: 3;
  }
}
.grid-wrapper.grid-7 {
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(2, 250px);
}
@media (min-width: 992px) {
  .grid-wrapper.grid-7 .gcol:nth-of-type(1), .grid-wrapper.grid-7 .gcol:nth-of-type(2), .grid-wrapper.grid-7 .gcol:nth-of-type(3) {
    grid-column: span 4;
    grid-row: span 1;
  }
  .grid-wrapper.grid-7 .gcol:nth-of-type(4), .grid-wrapper.grid-7 .gcol:nth-of-type(5), .grid-wrapper.grid-7 .gcol:nth-of-type(6), .grid-wrapper.grid-7 .gcol:nth-of-type(7) {
    grid-column: span 3;
    grid-row: span 1;
  }
}
@media (max-width: 991px) {
  .grid-wrapper {
    display: block;
  }
}

.future-event-grid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.future-event-grid a {
  width: calc(33.3333333333% - 20px);
  flex-grow: 1;
  flex-shrink: 1;
  margin-bottom: 0;
}
@media (max-width: 991px) {
  .future-event-grid a {
    width: calc(50% - 10px);
  }
}
@media (max-width: 767px) {
  .future-event-grid a {
    width: 100%;
  }
}

.event-info-cols {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 75px;
  perspective: 750px;
  perspective-origin: 50% 50%;
}
.event-info-cols .event-info-col {
  flex-grow: 1;
  flex-shrink: 1;
  width: 100%;
  padding: 0 15px 15px 15px;
  background-image: linear-gradient(180deg, rgba(70, 70, 70, 0.6) 0%, rgba(55, 55, 55, 0.5) 100%);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-top: 1px solid rgba(255, 255, 255, 0.125);
  border-bottom: 1px solid rgba(255, 255, 255, 0.025);
  border-radius: 7px;
  perspective: inherit;
  animation-fill-mode: both;
  animation-repeat: no-repeat;
  animation-duration: 1500ms;
  animation-timing-function: cubic-bezier(0.39, 0.005, 0.015, 1);
}
.event-info-cols .event-info-col img {
  display: block;
  width: 100%;
  height: 350px;
  object-fit: cover;
  object-position: top center;
  border-radius: 10px;
  margin-bottom: 25px;
  border: 1px solid rgba(255, 255, 255, 0.05);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.25);
  transform: translateZ(5px);
  margin-top: -25px;
}
.event-info-cols .event-info-col h2 {
  margin-bottom: 0;
}
.event-info-cols .event-info-col p {
  margin-top: 5px;
  line-height: 1.5;
}
.event-info-cols .event-info-col.col-venue {
  animation-name: venue-col-entry;
  transform: rotateX(1deg) rotateY(-4deg);
}
.event-info-cols .event-info-col.col-band {
  animation-name: band-col-entry;
  transform: rotateX(1deg) rotateY(4deg);
}
@media (max-width: 767px) {
  .event-info-cols {
    display: block;
  }
  .event-info-cols .event-info-col {
    animation: none !important;
    margin-top: 60px;
    transform: none !important;
  }
}

@keyframes venue-col-entry {
  from {
    transform: translateX(500px) rotateX(0) rotateY(-90deg) translateZ(-1000px);
    opacity: 0;
  }
  to {
    transform: rotateX(1deg) rotateY(-4deg) translateZ(0);
    opacity: 1;
  }
}
@keyframes band-col-entry {
  from {
    transform: translateX(-500px) rotateX(0) rotateY(90deg) translateZ(-1000px);
    opacity: 0;
  }
  to {
    transform: rotateX(1deg) rotateY(4deg) translateZ(0);
    opacity: 1;
  }
}
.linked-card {
  display: block;
  position: relative;
  color: #fff;
  text-decoration: none;
  width: 100%;
  height: 100%;
  min-height: 200px;
  border-radius: 7px;
  overflow: hidden;
  transition: transform 250ms cubic-bezier(0, 0.55, 0.45, 1);
  background-color: #212121;
  user-select: none;
  -webkit-user-select: none;
  box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.5);
  transform: translate3d(0, 0, 0);
}
.linked-card .glimmer {
  z-index: 3;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 8px;
  background-color: rgba(33, 33, 33, 0.3);
}
.linked-card .glimmer::after {
  z-index: 6;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scale(1);
  opacity: 0;
  filter: saturate(3);
  transition: none;
  background-image: image-set(url("/assets/img/hover-gleam.avif") type("image/avif") 1x, url("/assets/img/hover-gleam@2x.avif") type("image/avif") 2x, url("/assets/img/hover-gleam.webp") type("image/webp") 1x, url("/assets/img/hover-gleam@2x.webp") type("image/webp") 2x, url("/assets/img/hover-gleam.png") type("image/png") 1x, url("/assets/img/hover-gleam@2x.png") type("image/png") 2x);
  background-size: 100% 100%;
}
.linked-card .card-content {
  position: absolute;
  z-index: 4;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 12px 10px 12px 20px;
  background-color: rgba(60, 60, 60, 0.95);
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
  background-image: url("/assets/img/glimmer-x.png"), url("/assets/img/aero-glass.png");
  background-image: image-set(url("/assets/img/glimmer-x.avif") type("image/avif") 1x, url("/assets/img/glimmer-x.webp") type("image/webp") 1x, url("/assets/img/glimmer-x.png") type("image/png") 1x), image-set(url("/assets/img/aero-glass.avif") type("image/avif") 1x, url("/assets/img/aero-glass@2x.avif") type("image/avif") 2x, url("/assets/img/aero-glass.webp") type("image/webp") 1x, url("/assets/img/aero-glass@2x.webp") type("image/webp") 2x, url("/assets/img/aero-glass.png") type("image/png") 1x, url("/assets/img/aero-glass@2x.png") type("image/png") 2x);
  background-size: 100% 1px, 100% auto;
  background-position: top left, center 0;
  background-repeat: no-repeat, no-repeat;
  transition: all 250ms cubic-bezier(0, 0.55, 0.45, 1);
  color: #fff;
}
.linked-card .card-content span {
  display: block;
  opacity: 0.75;
  font-size: 14px;
  margin-bottom: 0;
}
.linked-card .card-content h3 {
  font-size: 20px;
  margin-top: 3px;
  margin-bottom: 0;
  font-family: "Space Grotesk", system-ui, sans-serif;
}
.linked-card.featured .card-content {
  background-color: #d6af51;
  backdrop-filter: unset;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.75);
  background-image: url("/assets/img/glimmer-x.png"), url("/assets/img/footer-featured.png");
  background-image: image-set(url("/assets/img/glimmer-x.avif") type("image/avif") 1x, url("/assets/img/glimmer-x.webp") type("image/webp") 1x, url("/assets/img/glimmer-x.png") type("image/png") 1x), image-set(url("/assets/img/footer-featured.avif") type("image/avif") 1x, url("/assets/img/footer-featured@2x.avif") type("image/avif") 2x, url("/assets/img/footer-featured@3x.avif") type("image/avif") 2x, url("/assets/img/footer-featured.webp") type("image/webp") 1x, url("/assets/img/footer-featured@2x.webp") type("image/webp") 2x, url("/assets/img/footer-featured@3x.webp") type("image/webp") 2x, url("/assets/img/footer-featured.png") type("image/png") 1x, url("/assets/img/footer-featured@2x.png") type("image/png") 2x, url("/assets/img/footer-featured@3x.png") type("image/png") 2x);
  background-size: 100% 1px, 100% auto;
  background-position: top left, center 0;
  background-repeat: no-repeat, no-repeat;
  transition: all 250ms cubic-bezier(0, 0.55, 0.45, 1);
  color: #000;
}
.linked-card img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  object-fit: cover;
  transition: transform 250ms cubic-bezier(0, 0.55, 0.45, 1);
}
.linked-card .chip {
  z-index: 5;
  position: absolute;
  top: 15px;
  left: 15px;
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-size: 14px;
  padding: 5px 10px;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 5px;
  text-shadow: 0 1px 0 #000;
  font-weight: 600;
  text-transform: uppercase;
  border: 1px solid rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(5px);
}
.linked-card:hover {
  box-shadow: 0 3px 30px -10px rgba(0, 0, 0, 0.5);
  z-index: 10;
  transform: scale(1.05);
}
.linked-card:hover img {
  transform: scale(1.075);
}
.linked-card:hover .card-content {
  background-size: 100% 1px, 150% auto;
  background-position: top left, center -50px;
}
.linked-card:hover .glimmer {
  border: 1px solid rgba(255, 255, 255, 0.25);
  background-color: rgba(33, 33, 33, 0);
  z-index: 5;
}
.linked-card:hover .glimmer::after {
  transform: scale(1.2);
  opacity: 1;
  filter: saturate(1);
  transition: all 1000ms cubic-bezier(0, 0.55, 0.45, 1), opacity 250ms cubic-bezier(0, 0.55, 0.45, 1);
}
.linked-card:active {
  transform: scale(0.9);
}
.linked-card:active img {
  transform: scale(1.25);
  opacity: 1;
}

.mobile-linked-card {
  display: none;
  flex-direction: row;
  align-items: center;
  justify-content: stretch;
  gap: 5px;
  border-radius: 10px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1019607843);
  background: radial-gradient(at top left, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.05));
  padding: 15px;
  color: #fff;
  text-decoration: none;
  margin-bottom: 10px;
}
.mobile-linked-card img {
  display: block;
  width: 125px;
  max-width: 35%;
  height: auto;
  border-radius: 5px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 3px 30px -10px rgba(0, 0, 0, 0.5);
  flex-shrink: 0;
  flex-grow: 0;
}
.mobile-linked-card .card-content {
  flex-grow: 1;
}
.mobile-linked-card .card-content span {
  display: block;
  opacity: 0.75;
  font-size: 14px;
  margin-bottom: 0;
}
.mobile-linked-card .card-content span.bottom-row {
  font-family: "Space Grotesk", system-ui, sans-serif;
}
.mobile-linked-card .card-content h3 {
  font-size: 20px;
  margin-top: 4px;
  margin-bottom: 4px;
  font-family: "Space Grotesk", system-ui, sans-serif;
}
.mobile-linked-card:active {
  transform: scale(0.95);
  filter: brightness(0.75);
  transition: all 200ms cubic-bezier(0, 0.55, 0.45, 1);
}
.mobile-linked-card.featured {
  background-color: #d6af51;
  backdrop-filter: unset;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.75);
  background-image: url("/assets/img/glimmer-x.png"), url("/assets/img/footer-featured.png");
  background-image: image-set(url("/assets/img/glimmer-x.avif") type("image/avif") 1x, url("/assets/img/glimmer-x.webp") type("image/webp") 1x, url("/assets/img/glimmer-x.png") type("image/png") 1x), image-set(url("/assets/img/footer-featured.avif") type("image/avif") 1x, url("/assets/img/footer-featured@2x.avif") type("image/avif") 2x, url("/assets/img/footer-featured@3x.avif") type("image/avif") 2x, url("/assets/img/footer-featured.webp") type("image/webp") 1x, url("/assets/img/footer-featured@2x.webp") type("image/webp") 2x, url("/assets/img/footer-featured@3x.webp") type("image/webp") 2x, url("/assets/img/footer-featured.png") type("image/png") 1x, url("/assets/img/footer-featured@2x.png") type("image/png") 2x, url("/assets/img/footer-featured@3x.png") type("image/png") 2x);
  background-size: 100% 1px, 100% auto;
  background-position: top left, center 0;
  background-repeat: no-repeat, no-repeat;
  color: #000;
}

@media (max-width: 991px) {
  .mobile-linked-card {
    display: flex;
  }
  .linked-card {
    display: none;
  }
}
.compact-card {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: stretch;
  gap: 12px;
  margin-bottom: 10px;
  border-radius: 10px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1019607843);
  background: url("/assets/img/future-card-blur.png");
  background: image-set(url("/assets/img/future-card-blur.avif") type("image/avif") 1x, url("/assets/img/future-card-blur@2x.avif") type("image/avif") 2x, url("/assets/img/future-card-blur.webp") type("image/webp") 1x, url("/assets/img/future-card-blur@2x.webp") type("image/webp") 2x, url("/assets/img/future-card-blur.png") type("image/png") 1x, url("/assets/img/future-card-blur@2x.png") type("image/png") 2x);
  background-size: 100% 100%;
  padding: 10px;
  background-color: #111;
  color: #fff;
  text-decoration: none;
  transition: all 200ms cubic-bezier(0, 0.55, 0.45, 1);
}
.compact-card .calendar {
  display: block;
  width: 60px;
  border-radius: 5px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 3px 30px -10px rgba(0, 0, 0, 0.5);
  flex-shrink: 0;
  flex-grow: 0;
  text-align: center;
}
.compact-card .calendar div.top {
  background: linear-gradient(0deg, #da4453 0%, #ed5565 100%);
  font-size: 13px;
  padding: 2px 0;
  font-weight: 700;
  text-transform: uppercase;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.5);
}
.compact-card .calendar div.bottom {
  background: linear-gradient(0deg, #dedede 0%, #f1f1f1 100%);
  color: #333;
  font-size: 24px;
  line-height: 24px;
  font-weight: 700;
  padding: 5px 0 6px 0;
}
.compact-card .card-content {
  flex-grow: 1;
}
.compact-card .card-content span {
  display: block;
  opacity: 0.75;
  font-size: 14px;
  margin-bottom: 0;
}
.compact-card .card-content h3 {
  font-size: 20px;
  margin-top: 4px;
  margin-bottom: 0;
  font-family: "Space Grotesk", system-ui, sans-serif;
}
.compact-card:active {
  transform: scale(0.95);
  filter: brightness(0.75);
  transition: all 200ms cubic-bezier(0, 0.55, 0.45, 1);
}
@media (min-width: 992px) {
  .compact-card:hover {
    transform: scale(1.06);
    box-shadow: 0 3px 30px -10px rgba(0, 0, 0, 0.5);
    z-index: 10;
    filter: brightness(1.25) saturate(1.5);
  }
}
.compact-card:active {
  transform: scale(0.95);
  filter: brightness(0.75);
  transition: all 200ms cubic-bezier(0, 0.55, 0.45, 1);
}

* {
  box-sizing: border-box;
}

html,
body {
  padding: 0;
  margin: 0;
  background-color: #151617;
  color: #ecf0f1;
  font-family: "DM Sans", system-ui, sans-serif;
  min-height: 100vh;
}

p a {
  color: #ff6900;
}

ul li {
  padding-bottom: 6px;
  color: inherit;
}

.section-intro ul li {
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
}

body {
  background-size: 200px 200px;
  background-image: url("/assets/img/bg-texture-grime.png");
  background-image: image-set(url("/assets/img/bg-texture-grime.avif") type("image/avif") 1x, url("/assets/img/bg-texture-grime@2x.avif") type("image/avif") 2x, url("/assets/img/bg-texture-grime.webp") type("image/webp") 1x, url("/assets/img/bg-texture-grime@2x.webp") type("image/webp") 2x, url("/assets/img/bg-texture-grime.png") type("image/png") 1x, url("/assets/img/bg-texture-grime@2x.png") type("image/png") 2x);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Space Grotesk", system-ui, sans-serif;
}
h1 .top-row,
h2 .top-row,
h3 .top-row,
h4 .top-row,
h5 .top-row,
h6 .top-row {
  display: block;
  font-size: 0.6em;
  opacity: 0.75;
  font-weight: 600;
}
h1 .muted,
h2 .muted,
h3 .muted,
h4 .muted,
h5 .muted,
h6 .muted {
  opacity: 0.6;
  font-weight: 500;
  font-size: 0.75em;
}

.section-intro {
  margin-bottom: 60px;
}
.section-intro h1,
.section-intro h2,
.section-intro h3,
.section-intro h4 h5,
.section-intro h6 {
  margin-top: 0;
  margin-bottom: 12px;
}
.section-intro p {
  margin-top: 8px;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.75);
}
.section-intro p.lead {
  font-weight: 600;
  color: #fff;
}

section {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
  padding: 55px 0;
}
section > .container:first-child > h1:first-child,
section > .container:first-child > h2:first-child,
section > .container:first-child > h3:first-child,
section > .container:first-child > h4:first-child,
section > .container:first-child > h5:first-child,
section > .container:first-child > h6:first-child {
  margin-top: 0;
}
section > .container:first-child > p:last-child {
  margin-bottom: 0;
}

section.ultrablur {
  padding: 55px 0;
  background-image: url("/assets/img/ultrablur.png");
  background-image: image-set(url("/assets/img/ultrablur.avif") type("image/avif") 1x, url("/assets/img/ultrablur@2x.avif") type("image/avif") 2x, url("/assets/img/ultrablur.webp") type("image/webp") 1x, url("/assets/img/ultrablur@2x.webp") type("image/webp") 2x, url("/assets/img/ultrablur.png") type("image/png") 1x, url("/assets/img/ultrablur@2x.png") type("image/png") 2x);
  background-repeat: no-repeat;
  background-size: 100% 550px;
  background-position: top center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

section.light {
  background-size: 520px 520px;
  background-image: url("/assets/img/bg-texture-concrete.png");
  background-image: image-set(url("/assets/img/bg-texture-concrete.avif") type("image/avif") 1x, url("/assets/img/bg-texture-concrete@2x.avif") type("image/avif") 2x, url("/assets/img/bg-texture-concrete.webp") type("image/webp") 1x, url("/assets/img/bg-texture-concrete@2x.webp") type("image/webp") 2x, url("/assets/img/bg-texture-concrete.png") type("image/png") 1x, url("/assets/img/bg-texture-concrete@2x.png") type("image/png") 2x);
}

main {
  min-height: calc(100vh - 374px);
}
@media (max-width: 996px) {
  main {
    min-height: calc(100vh - 325px);
  }
}
@media (max-width: 768px) {
  main {
    min-height: calc(100vh - 305px);
  }
}

.container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 576px) {
  .container {
    max-width: 570px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 700px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1100px;
  }
}
@media (min-width: 1400px) {
  .container {
    max-width: 1360px;
  }
}

h1 {
  font-size: 38px;
}

h2 {
  font-size: 30px;
}

h3 {
  font-size: 24px;
}

.filter-bar {
  font-size: 14px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  z-index: 40;
  gap: 10px;
  top: 65px;
  margin-top: -32px;
  margin-bottom: 32px;
  margin-left: -10px;
  margin-right: -10px;
  background-image: linear-gradient(180deg, rgba(70, 70, 70, 0.6) 0%, rgba(55, 55, 55, 0.5) 100%);
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-top: 1px solid rgba(255, 255, 255, 0.125);
  border-bottom: 1px solid rgba(255, 255, 255, 0.025);
  border-radius: 7px;
  padding: 10px;
}

.filter-switch {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-grow: 0;
  flex-shrink: 1;
  gap: 10px;
}
.filter-switch .label {
  opacity: 0.75;
  padding-left: 7px;
}
.filter-switch .options {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: stretch;
  background-color: rgba(0, 0, 0, 0.25);
  padding: 4px;
  gap: 5px;
  flex-grow: 0;
  flex-shrink: 1;
  border-radius: 5px;
  flex-wrap: wrap;
}
.filter-switch .options a {
  display: block;
  padding: 4px 8px;
  border-radius: 3px;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(180deg, rgba(110, 110, 110, 0) 0%, rgba(69, 69, 69, 0) 100%);
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5), 0 1px 4px rgba(0, 0, 0, 0.25);
  transform: scale(1);
  box-shadow: inset 0 -1px 5px rgba(110, 110, 110, 0), 0 0 15px -10px transparent;
  transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1);
}
.filter-switch .options a:hover {
  z-index: 2;
  color: #fff;
  background: linear-gradient(180deg, rgba(111, 111, 111, 0.9333333333) 0%, rgba(133, 102, 61, 0.6) 100%);
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5), 0 1px 4px rgba(0, 0, 0, 0.25);
  transform: scale(1.05);
  box-shadow: inset 0 -1px 5px #6e6e6e, 0 0 25px -10px #ff6900;
}
.filter-switch .options a.active {
  background: linear-gradient(180deg, #ff8e35 0%, #ce5b00 100%);
  background-image: image-set(url("/assets/img/btn-hover.avif") type("image/xavif") 1x, url("/assets/img/btn-hover.webp") type("image/xwebp") 1x, url("/assets/img/btn-hover.png") type("image/png") 1x);
  background-size: 100% 100%;
  color: #000;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  font-weight: 600;
}
.filter-switch .options a.active:hover {
  box-shadow: inset 0 -1px 6px 2px #ff8f37, 0 0 28px -8px #ff6900;
}
.filter-switch .options a:active {
  transform: scale(0.95);
  filter: brightness(0.75);
}

.read-more-well {
  text-align: center;
  margin-top: 25px;
  padding: 15px 10px;
}
.read-more-well p {
  margin-top: 0;
  margin-bottom: 15px;
}
.read-more-well.prominent {
  background-image: linear-gradient(180deg, rgba(70, 70, 70, 0.6) 0%, rgba(55, 55, 55, 0.5) 100%);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-top: 1px solid rgba(255, 255, 255, 0.125);
  border-bottom: 1px solid rgba(255, 255, 255, 0.025);
  border-radius: 7px;
}

.fatal-error-wrap {
  text-align: center;
  padding: 50px 0 100px 0;
}
.fatal-error-wrap h1 {
  margin-bottom: 0;
}
.fatal-error-wrap p {
  font-size: 18px;
}

.single-item-hero {
  position: relative;
  padding: 100px 0;
}
@media (max-width: 996px) {
  .single-item-hero {
    padding: 60px 0;
  }
}
@media (max-width: 768px) {
  .single-item-hero {
    padding: 50px 0;
  }
}
.single-item-hero .sih-backdrop,
.single-item-hero .sih-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.single-item-hero img.sih-backdrop {
  z-index: 1;
}
.single-item-hero .sih-overlay {
  background-color: rgba(30, 30, 30, 0.8);
  backdrop-filter: blur(100px);
  z-index: 5;
  background-image: url("/assets/img/ultrablur.png");
  background-image: image-set(url("/assets/img/ultrablur.avif") type("image/avif") 1x, url("/assets/img/ultrablur@2x.avif") type("image/avif") 2x, url("/assets/img/ultrablur.webp") type("image/webp") 1x, url("/assets/img/ultrablur@2x.webp") type("image/webp") 2x, url("/assets/img/ultrablur.png") type("image/png") 1x, url("/assets/img/ultrablur@2x.png") type("image/png") 2x);
  background-repeat: no-repeat;
  background-size: 100% 300px;
  background-position: top center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.single-item-hero .sih-content {
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 25px;
}
.single-item-hero .sih-content img.sih-cover {
  width: 100%;
  max-width: 400px;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25), 0 4px 16px -3px rgba(0, 0, 0, 0.5);
}
.single-item-hero .sih-content h1 {
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-size: 42px;
  line-height: 1.25;
  color: white;
  margin: 0;
  margin-top: 0;
}
.single-item-hero .sih-content p {
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 0;
}
.single-item-hero .sih-content p.category-list {
  margin-top: 0;
  color: rgba(255, 255, 255, 0.75);
}
.single-item-hero .sih-content p.category-list a {
  color: inherit;
  text-decoration: none;
}
.single-item-hero .sih-content p.category-list a:hover {
  text-decoration: underline;
  color: white;
}
@media (max-width: 996px) {
  .single-item-hero .sih-content img.sih-cover {
    max-width: 300px;
  }
  .single-item-hero .sih-content h1 {
    font-size: 32px;
  }
  .single-item-hero .sih-content p {
    font-size: 16px;
  }
}
@media (max-width: 768px) {
  .single-item-hero .sih-content {
    flex-direction: column;
    text-align: center;
  }
  .single-item-hero .sih-content img.sih-cover {
    max-width: 80%;
  }
}

.sih-contact {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 6px;
  width: fit-content;
  margin-top: 20px;
  justify-content: center;
}

.sih-contact-chip.fb {
  --chip-fg: #a9d0ff;
  --chip-bg: #0073ff33;
  --chip-bg-hover: #0073ff66;
}

.sih-contact-chip.signal {
  --chip-fg: #76d3fb;
  --chip-bg: #0094ff33;
  --chip-bg-hover: #0094ff66;
}

.sih-contact-chip.whatsapp {
  --chip-fg: #87ffb9;
  --chip-bg: #00dd5c33;
  --chip-bg-hover: #00dd5c66;
}

.sih-contact-chip.phone {
  --chip-fg: #ffac73;
  --chip-bg: #ff690033;
  --chip-bg-hover: #ff690066;
}

.sih-contact-chip.email {
  --chip-fg: #cd9dff;
  --chip-bg: #9e55e933;
  --chip-bg-hover: #9e55e966;
}

.sih-detail {
  flex-grow: 1;
}

.sih-contact-chip {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 7px;
  border-radius: 20px;
  background-color: var(--chip-bg);
  padding: 6px 16px 6px 6px;
  font-size: 14px;
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-weight: 600;
  text-decoration: none;
  color: var(--chip-fg);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
  border: 1px solid var(--chip-bg-hover);
  transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1);
}
.sih-contact-chip img {
  width: 22px;
  height: 22px;
}
.sih-contact-chip:hover {
  background-color: var(--chip-bg-hover);
  transform: scale(1.1);
}
.sih-contact-chip:active {
  transform: scale(0.95);
  filter: brightness(0.75);
}

.historic-event-warning {
  display: inline-block;
  margin-bottom: 25px;
  color: #000;
  background-color: #ff555f;
  border-radius: 5px;
  font-size: 18px;
  font-weight: 600;
  padding: 8px 15px;
}

.post-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(275px, 1fr));
  grid-gap: 1rem;
}
.post-grid a {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.05);
  transition: all 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  text-decoration: none;
  transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1);
}
.post-grid a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.post-grid a:hover {
  background-color: var(--chip-bg-hover);
  transform: scale(1.1);
}
.post-grid a:active {
  transform: scale(0.95);
  filter: brightness(0.75);
}

.video-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  grid-gap: 1rem;
}
.video-grid a {
  border-radius: 10px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.05);
  transition: all 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  text-decoration: none;
  overflow: hidden;
  transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1);
}
.video-grid a img {
  max-width: 100%;
  display: block;
}
.video-grid a:hover {
  background-color: var(--chip-bg-hover);
  transform: scale(1.1);
}
.video-grid a:active {
  transform: scale(0.95);
  filter: brightness(0.75);
}

.banner {
  position: relative;
  z-index: 40;
  width: 100%;
  background-color: #212121;
}
.banner .banner-innards {
  width: 100%;
  padding: 10px 0 65px 0;
  margin-bottom: -55px;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: top center;
  background-image: url("/assets/img/hero-bg.png");
  background-image: image-set(url("/assets/img/hero-bg.avif") type("image/avif") 1x, url("/assets/img/hero-bg@2x.avif") type("image/avif") 2x, url("/assets/img/hero-bg.webp") type("image/webp") 1x, url("/assets/img/hero-bg@2x.webp") type("image/webp") 2x, url("/assets/img/hero-bg.png") type("image/png") 1x, url("/assets/img/hero-bg@2x.png") type("image/png") 2x);
}
.banner .banner-innards .banner-brand #logo-desktop {
  display: block;
}
.banner .banner-innards .banner-brand #logo-mobile {
  display: none;
}
@media (max-width: 768px) {
  .banner .banner-innards .banner-brand {
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    margin-top: 3px;
  }
  .banner .banner-innards .banner-brand #logo-desktop {
    display: none;
  }
  .banner .banner-innards .banner-brand #logo-mobile {
    display: inline;
  }
}

div.navbar {
  position: sticky;
  z-index: 50;
  top: 0;
  width: 100%;
  min-height: 55px;
  background-image: linear-gradient(180deg, rgba(70, 70, 70, 0.4) 0%, rgba(55, 55, 55, 0.3) 100%);
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  border-top: 1px solid rgba(255, 255, 255, 0.125);
  border-bottom: 1px solid rgba(255, 255, 255, 0.025);
}
div.navbar .container {
  height: 100%;
}

.navbar nav {
  height: 100%;
  display: flex;
  flex-direction: row;
  flex-grow: 0;
  flex-shrink: 1;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  min-height: 55px;
}
.navbar nav a {
  display: flex;
  flex-shrink: row;
  flex-grow: 0;
  flex-shrink: 1;
  justify-content: center;
  align-items: center;
  padding: 7px 15px;
  color: #eee;
  border-radius: 7px;
  font-size: 18px;
  font-family: "Space Grotesk", system-ui, sans-serif;
  text-decoration: none;
  background: linear-gradient(180deg, rgba(117, 86, 61, 0) 0%, rgba(117, 86, 61, 0) 100%);
  transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1);
  color: #ddd;
  font-weight: 400;
}
.navbar nav a img {
  display: block;
  width: 0px;
  height: 14px;
  opacity: 0;
  transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1);
}
.navbar nav a:hover {
  color: #fff;
  font-weight: 500;
  background: linear-gradient(180deg, #6e6e6e 0%, #75563d 100%);
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5), 0 1px 4px rgba(0, 0, 0, 0.25);
  transform: scale(1.075);
  box-shadow: inset 0 -1px 5px #6e6e6e, 0 0 20px -8px #ff6900;
}
.navbar nav a.current {
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5), 0 1px 4px rgba(0, 0, 0, 0.25);
  font-weight: 500;
  box-shadow: inset 0 -1px 6px 2px #ff8f37;
  background: linear-gradient(180deg, #ff8e35 0%, #ce5b00 100%);
  background-image: image-set(url("/assets/img/btn-hover.avif") type("image/xavif") 1x, url("/assets/img/btn-hover.webp") type("image/xwebp") 1x, url("/assets/img/btn-hover.png") type("image/png") 1x);
  background-size: 100% 100%;
}
.navbar nav a.current:hover {
  box-shadow: inset 0 -1px 6px 2px #ff8f37, 0 0 28px -8px #ff6900;
}
.navbar nav a:active {
  color: #fff;
  font-weight: 500;
  transform: scale(0.95);
  filter: brightness(0.75);
}
.navbar nav a:hover img, .navbar nav a:active img, .navbar nav a.current img {
  display: block;
  width: 18px;
  opacity: 1;
  margin-left: -1px;
  margin-right: 8px;
}
@media (max-width: 600px) {
  .navbar nav {
    justify-content: stretch;
  }
  .navbar nav a {
    flex-grow: 1;
    flex-shrink: 1;
    text-align: center;
    font-size: 14px;
    padding: 7px 0;
  }
}
@media (max-width: 400px) {
  .navbar nav a img,
  .navbar nav a:hover img,
  .navbar nav a.current img {
    display: none;
  }
}

section.intro-hero {
  padding: 120px 0 95px 0;
  background-image: url("/assets/img/intro-bg.png");
  background-repeat: no-repeat;
  background-position: calc(50vw - 1470px) center;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(0, 0, 0, 0.6);
}
section.intro-hero p.lead {
  font-size: 20px;
  font-weight: 400;
  color: #aaa;
  margin-bottom: 30px;
  margin-top: 15px;
}
section.intro-hero img {
  display: block;
  height: auto;
  max-width: 100%;
}
section.intro-hero .innards {
  max-width: 600px;
}
@media (max-width: 420px) {
  section.intro-hero br {
    display: none;
  }
  section.intro-hero .innards {
    max-width: 100% !important;
  }
}
@media (max-width: 1399px) {
  section.intro-hero {
    background-position: calc(50vw - 1380px) center;
  }
}
@media (max-width: 1199px) {
  section.intro-hero {
    background-position: calc(50vw - 1300px) center;
  }
  section.intro-hero .innards {
    max-width: 70%;
  }
}
@media (max-width: 768px) {
  section.intro-hero {
    background-position: right center;
  }
}
@media (max-width: 500px) {
  section.intro-hero .innards {
    max-width: 350px;
  }
}

button.btn {
  all: unset;
  cursor: pointer;
}

a.btn,
button.btn {
  position: relative;
  display: inline-block;
  padding: 7px 15px;
  border-radius: 7px;
  font-size: 18px;
  font-family: "Space Grotesk", system-ui, sans-serif;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(180deg, rgba(110, 110, 110, 0.9333333333) 0%, rgba(69, 69, 69, 0.5333333333) 100%);
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5), 0 1px 4px rgba(0, 0, 0, 0.25);
  transform: scale(1);
  box-shadow: inset 0 -1px 5px rgba(110, 110, 110, 0.4666666667), 0 0 15px -10px #ff6900;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1);
}
a.btn:hover,
button.btn:hover {
  z-index: 2;
  color: #fff;
  background: linear-gradient(180deg, rgba(111, 111, 111, 0.9333333333) 0%, rgba(133, 102, 61, 0.6) 100%);
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5), 0 1px 4px rgba(0, 0, 0, 0.25);
  transform: scale(1.075);
  box-shadow: inset 0 -1px 5px #6e6e6e, 0 0 25px -10px #ff6900;
}
a.btn.btn-primary,
button.btn.btn-primary {
  background: linear-gradient(180deg, #ff8e35 0%, #ce5b00 100%);
  background-image: image-set(url("/assets/img/btn-hover.avif") type("image/xavif") 1x, url("/assets/img/btn-hover.webp") type("image/xwebp") 1x, url("/assets/img/btn-hover.png") type("image/png") 1x);
  background-size: 100% 100%;
  font-weight: 500;
  color: #000;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}
a.btn.btn-primary:hover,
button.btn.btn-primary:hover {
  box-shadow: inset 0 -1px 6px 2px #ff8f37, 0 0 28px -8px #ff6900;
}
a.btn:active,
button.btn:active {
  transform: scale(0.95);
  filter: brightness(0.75);
}

section.app-shelf {
  padding: 0;
  background-image: url("/assets/img/ultrablur-inverse.png");
  background-image: image-set(url("/assets/img/ultrablur-inverse.avif") type("image/avif") 1x, url("/assets/img/ultrablur-inverse@2x.avif") type("image/avif") 2x, url("/assets/img/ultrablur-inverse.webp") type("image/webp") 1x, url("/assets/img/ultrablur-inverse@2x.webp") type("image/webp") 2x, url("/assets/img/ultrablur-inverse.png") type("image/png") 1x, url("/assets/img/ultrablur-inverse@2x.png") type("image/png") 2x);
  background-repeat: no-repeat;
  background-size: 100% 600px;
  background-position: bottom center;
  background-color: rgba(150, 150, 150, 0.05);
}
section.app-shelf .innards {
  display: flex;
  flex-direction: row;
  justify-content: stretch;
  align-items: center;
  gap: 50px;
}
section.app-shelf .innards a {
  text-decoration: none;
}
section.app-shelf .innards .lhs,
section.app-shelf .innards .rhs {
  height: 100%;
}
section.app-shelf .innards .lhs p,
section.app-shelf .innards .rhs p {
  margin-bottom: 25px;
}
section.app-shelf .innards .lhs {
  width: 60%;
  padding: 50px 0;
}
section.app-shelf .innards .rhs {
  align-self: flex-end;
}
section.app-shelf .innards .rhs img {
  width: 100%;
  height: auto;
  display: block;
  padding-top: 25px;
}
@media (max-width: 768px) {
  section.app-shelf .innards {
    flex-direction: column;
    gap: 0;
  }
  section.app-shelf .innards .lhs {
    width: 100%;
    padding: 25px 0 0 0;
  }
  section.app-shelf .innards .rhs {
    padding-top: 0;
  }
}

footer {
  position: relative;
  z-index: 10;
  background: url("/assets/img/glimmer-x.png"), #111113;
  background: url("/assets/img/glimmer-x.png"), image-set(url("/assets/img/bg-texture-concrete.avif") type("image/avif") 1x, url("/assets/img/bg-texture-concrete@2x.avif") type("image/avif") 2x, url("/assets/img/bg-texture-concrete.webp") type("image/webp") 1x, url("/assets/img/bg-texture-concrete@2x.webp") type("image/webp") 2x, url("/assets/img/bg-texture-concrete.png") type("image/png") 1x, url("/assets/img/bg-texture-concrete@2x.png") type("image/png") 2x);
  background-position: top center, center center;
  background-size: 100% 1px, 520px 520px;
  background-repeat: no-repeat, repeat;
  padding: 50px 0;
  background-color: #111113;
  color: #66666a;
  font-size: 14px;
}
footer p {
  max-width: 600px;
  margin-block-start: 10px;
  margin-bottom: 0;
}
footer a {
  color: #6666aa;
  text-decoration: underline;
  font-weight: 400;
}

body.admin-page .navbar {
  margin-bottom: 75px;
}

.login-wrapper {
  position: relative;
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}
.login-wrapper .login-form {
  width: 100%;
  max-width: 400px;
  padding: 25px;
  background-image: linear-gradient(180deg, rgba(70, 70, 70, 0.6) 0%, rgba(55, 55, 55, 0.5) 100%);
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-top: 1px solid rgba(255, 255, 255, 0.125);
  border-bottom: 1px solid rgba(255, 255, 255, 0.025);
  border-radius: 7px;
}
.login-wrapper .login-form img {
  display: block;
  max-width: 100%;
  height: auto;
}
.login-wrapper .login-form h2 {
  margin-bottom: 0;
}
.login-wrapper .login-form p {
  margin-top: 10px;
}
.login-wrapper .login-form .login-field {
  margin-top: 10px;
  display: block;
  width: 100%;
  background-color: #fff;
  color: #000;
  padding: 15px 10px;
  border-radius: 5px;
  font-size: inherit;
}
.login-wrapper .login-form .login-field:focus {
  outline: none;
  box-shadow: 0 0 0 3px #ff6900;
}

.error-well {
  display: block;
  padding: 15px;
  border-top: 1px solid #ff848a;
  box-shadow: inset 0 0 10px rgba(255, 255, 255, 0.3), 0 5px 10px -5px rgba(0, 0, 0, 0.25);
  border-radius: 7px;
  background-image: linear-gradient(180deg, #ff555f 0%, #ae272f 100%);
}
.error-well:not(:first-child) {
  margin-top: 15px;
}
.error-well:not(:last-child) {
  margin-bottom: 15px;
}

.admin-card {
  width: 100%;
  text-align: center;
  font-family: "Space Grotesk", system-ui, sans-serif;
  background-color: #333;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 25px;
  font-size: 22px;
}
.admin-card small {
  display: block;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  font-size: 16px;
  opacity: 0.5;
  font-weight: 400;
  font-family: "Space Grotesk", system-ui, sans-serif;
}
.admin-card img {
  display: block;
  width: 100%;
  max-width: 150px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  border-bottom: 0;
}
.admin-card .admin-card-caption {
  border-top: 1px solid rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction: row;
  margin-top: 20px;
}
.admin-card .admin-card-caption a {
  display: block;
  flex-grow: 1;
  flex-shrink: 1;
  text-align: center;
  padding: 25px 0;
}
.admin-card .admin-card-caption a img {
  width: 24px;
  transition: transform 250ms cubic-bezier(0.34, 3, 0.64, 1);
}
.admin-card .admin-card-caption a:last-child {
  border-left: 1px solid rgba(0, 0, 0, 0.25);
}
.admin-card .admin-card-caption a:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.admin-card .admin-card-caption a:hover img {
  width: 24px;
  transform: scale(1.25);
}

.admin-card-grid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.admin-card-grid .admin-card {
  width: calc(33.3333333333% - 20px);
  flex-grow: 1;
  flex-shrink: 1;
  margin-bottom: 0;
}
@media (max-width: 991px) {
  .admin-card-grid .admin-card {
    width: calc(50% - 10px);
  }
}
@media (max-width: 767px) {
  .admin-card-grid .admin-card {
    width: 100%;
  }
}

.admin-list {
  margin-top: 15px;
}
.admin-list .ali {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 15px;
  padding: 5px;
  margin-bottom: 5px;
  border-top: 1px solid #262a2e;
  border-bottom: 1px solid #16191b;
  border-radius: 10px;
  overflow: hidden;
  background-color: #202327;
}
.admin-list .ali:nth-child(2n) {
  background-color: #1c1d21;
}
.admin-list .ali img.ali-image {
  width: 75px;
  height: 50px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.15);
}
.admin-list .ali:hover {
  background-color: #262a2e;
}
.admin-list .ali:hover .ali-actions a,
.admin-list .ali:hover .ali-actions button {
  transform: scale(1);
  opacity: 1;
}
.admin-list .ali .ali-actions {
  margin-left: auto;
  text-align: right;
}
.admin-list .ali .ali-actions a,
.admin-list .ali .ali-actions button {
  all: unset;
  padding: 8px;
  cursor: pointer;
  display: inline-block;
  transition: transform 250ms cubic-bezier(0.34, 3, 0.64, 1);
  transform: scale(0.8);
  opacity: 0.25;
}
.admin-list .ali .ali-actions a:hover,
.admin-list .ali .ali-actions button:hover {
  transform: scale(1.4);
}
.admin-list .ali .ali-actions a:active,
.admin-list .ali .ali-actions button:active {
  transform: scale(1.2);
}

.admin-superform .admin-form-actions {
  margin-top: 25px;
  display: flex;
  gap: 10px;
  flex-direction: row;
  align-items: end;
  justify-content: end;
}
.admin-superform .admin-stage {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 15px;
  margin-bottom: 25px;
}
@media (max-width: 768px) {
  .admin-superform .admin-stage {
    flex-direction: column;
  }
}
.admin-superform .admin-stage .admin-stage-instructions {
  width: 350px;
}
.admin-superform .admin-stage .admin-stage-instructions h4 {
  margin-top: 0;
  margin-bottom: 4px;
  font-size: 22px;
}
.admin-superform .admin-stage .admin-stage-instructions p {
  line-height: 1.25;
  margin-top: 0;
  opacity: 0.75;
}
.admin-superform .admin-stage .admin-stage-inputs {
  flex-grow: 1;
  flex-shrink: 1;
  width: 100%;
  padding: 15px;
  background-image: linear-gradient(175deg, rgb(75, 75, 75) 0%, rgb(55, 55, 55) 100%);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-top: 1px solid rgba(255, 255, 255, 0.125);
  border-bottom: 1px solid rgba(255, 255, 255, 0.025);
  border-radius: 7px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
}
.admin-superform .admin-stage .admin-input {
  display: block;
  position: relative;
}
.admin-superform .admin-stage .admin-input:not(:last-child) {
  margin-bottom: 18px;
}
.admin-superform .admin-stage .admin-input input[type=text],
.admin-superform .admin-stage .admin-input input[type=password],
.admin-superform .admin-stage .admin-input input[type=number],
.admin-superform .admin-stage .admin-input input[type=file],
.admin-superform .admin-stage .admin-input textarea {
  display: block;
  padding: 37px 15px 15px 15px;
  color: #fff;
  font-size: 18px;
  font-weight: 300;
  font-family: "DM Sans", system-ui, sans-serif;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 5px;
  box-shadow: 0 0 0 2px transparent;
  transition: all 250ms cubic-bezier(0, 0.55, 0.45, 1);
}
.admin-superform .admin-stage .admin-input input[type=text]:focus,
.admin-superform .admin-stage .admin-input input[type=password]:focus,
.admin-superform .admin-stage .admin-input input[type=number]:focus,
.admin-superform .admin-stage .admin-input input[type=file]:focus,
.admin-superform .admin-stage .admin-input textarea:focus {
  outline: none;
  box-shadow: 0 0 0 2px #ff6900, 0 7px 15px -5px rgba(0, 0, 0, 0.3);
  background-color: rgba(255, 255, 255, 0.25);
}
.admin-superform .admin-stage .admin-input input[type=text]::file-selector-button,
.admin-superform .admin-stage .admin-input input[type=password]::file-selector-button,
.admin-superform .admin-stage .admin-input input[type=number]::file-selector-button,
.admin-superform .admin-stage .admin-input input[type=file]::file-selector-button,
.admin-superform .admin-stage .admin-input textarea::file-selector-button {
  position: relative;
  cursor: pointer;
  display: inline-block;
  padding: 7px 15px;
  border-radius: 7px;
  margin-right: 10px;
  font-size: 18px;
  font-family: "Space Grotesk", system-ui, sans-serif;
  text-decoration: none;
  background: linear-gradient(180deg, #ff8e35 0%, #ce5b00 100%);
  background-image: image-set(url("/assets/img/btn-hover.avif") type("image/xavif") 1x, url("/assets/img/btn-hover.webp") type("image/xwebp") 1x, url("/assets/img/btn-hover.png") type("image/png") 1x);
  background-size: 100% 100%;
  font-weight: 500;
  color: #000;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1);
}
.admin-superform .admin-stage .admin-input input[type=text]::file-selector-button:hover,
.admin-superform .admin-stage .admin-input input[type=password]::file-selector-button:hover,
.admin-superform .admin-stage .admin-input input[type=number]::file-selector-button:hover,
.admin-superform .admin-stage .admin-input input[type=file]::file-selector-button:hover,
.admin-superform .admin-stage .admin-input textarea::file-selector-button:hover {
  z-index: 2;
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5), 0 1px 4px rgba(0, 0, 0, 0.25);
  transform: scale(1.075);
  box-shadow: inset 0 -1px 6px 2px #ff8f37, 0 0 28px -8px #ff6900;
}
.admin-superform .admin-stage .admin-input input[type=text]::file-selector-button:active,
.admin-superform .admin-stage .admin-input input[type=password]::file-selector-button:active,
.admin-superform .admin-stage .admin-input input[type=number]::file-selector-button:active,
.admin-superform .admin-stage .admin-input input[type=file]::file-selector-button:active,
.admin-superform .admin-stage .admin-input textarea::file-selector-button:active {
  transform: scale(0.95);
  filter: brightness(0.75);
}
.admin-superform .admin-stage .admin-input:has(.validation-error) .validation-error {
  position: absolute;
  bottom: 13px;
  left: 15px;
  color: #ff555f;
  font-size: 14px;
  font-weight: 500;
  line-height: 14px;
  font-family: "DM Sans", system-ui, sans-serif;
}
.admin-superform .admin-stage .admin-input:has(.validation-error) input[type=text],
.admin-superform .admin-stage .admin-input:has(.validation-error) input[type=password],
.admin-superform .admin-stage .admin-input:has(.validation-error) input[type=number],
.admin-superform .admin-stage .admin-input:has(.validation-error) input[type=file],
.admin-superform .admin-stage .admin-input:has(.validation-error) textarea {
  box-shadow: 0 0 0 2px #ff555f;
  padding-bottom: 37px;
}
.admin-superform .admin-stage .admin-input:has(.addon) .addon {
  position: absolute;
  bottom: 13px;
  left: 15px;
  color: #ccc;
  font-size: 14px;
  font-weight: 500;
  line-height: 14px;
  font-family: "DM Sans", system-ui, sans-serif;
}
.admin-superform .admin-stage .admin-input:has(.addon) input[type=text],
.admin-superform .admin-stage .admin-input:has(.addon) input[type=password],
.admin-superform .admin-stage .admin-input:has(.addon) input[type=number],
.admin-superform .admin-stage .admin-input:has(.addon) input[type=file],
.admin-superform .admin-stage .admin-input:has(.addon) textarea {
  padding-bottom: 37px;
}
.admin-superform .admin-stage .admin-input:has(.thinking) {
  background-image: url("/assets/img/ultrablur.webp");
  background-position: top center;
  background-size: cover;
  filter: saturate(1.5);
}
.admin-superform .admin-stage .admin-input:has(.thinking)::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("/assets/img/hyperspace.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.06;
}
.admin-superform .admin-stage .admin-input textarea {
  resize: none;
  min-height: 150px;
}
.admin-superform .admin-stage .admin-input label {
  position: absolute;
  top: 13px;
  left: 15px;
  font-size: 14px;
  font-weight: 500;
  line-height: 14px;
  font-family: "DM Sans", system-ui, sans-serif;
}
.admin-superform .admin-stage .admin-input button {
  position: absolute;
  right: 10px;
  bottom: 10px;
}

.a-ce {
  animation: card-entrance 750ms cubic-bezier(0.16, 1, 0.3, 1);
  animation-fill-mode: backwards;
}

.a-d1 {
  animation-delay: 125ms;
}

.a-d2 {
  animation-delay: 150ms;
}

.a-d3 {
  animation-delay: 175ms;
}

.a-d4 {
  animation-delay: 200ms;
}

.a-d5 {
  animation-delay: 225ms;
}

.a-d6 {
  animation-delay: 250ms;
}

.a-d7 {
  animation-delay: 275ms;
}

.a-d8 {
  animation-delay: 300ms;
}

.a-d9 {
  animation-delay: 325ms;
}

.a-d10 {
  animation-delay: 350ms;
}

.a-d11 {
  animation-delay: 375ms;
}

.a-d12 {
  animation-delay: 400ms;
}

.a-d13 {
  animation-delay: 425ms;
}

.a-d14 {
  animation-delay: 450ms;
}

.a-d15 {
  animation-delay: 475ms;
}

.a-d16 {
  animation-delay: 500ms;
}

.a-d17 {
  animation-delay: 525ms;
}

.a-d18 {
  animation-delay: 550ms;
}

.a-d19 {
  animation-delay: 575ms;
}

.a-d20 {
  animation-delay: 600ms;
}

.a-d21 {
  animation-delay: 625ms;
}

.a-d22 {
  animation-delay: 650ms;
}

.a-d23 {
  animation-delay: 675ms;
}

.a-d24 {
  animation-delay: 700ms;
}

.a-d25 {
  animation-delay: 725ms;
}

.a-d26 {
  animation-delay: 750ms;
}

.a-d27 {
  animation-delay: 775ms;
}

.a-d28 {
  animation-delay: 800ms;
}

.a-d29 {
  animation-delay: 825ms;
}

.a-d30 {
  animation-delay: 850ms;
}

.a-d31 {
  animation-delay: 875ms;
}

.a-d32 {
  animation-delay: 900ms;
}

.a-d33 {
  animation-delay: 925ms;
}

.a-d34 {
  animation-delay: 950ms;
}

.a-d35 {
  animation-delay: 975ms;
}

.a-d36 {
  animation-delay: 1000ms;
}

.a-d37 {
  animation-delay: 1025ms;
}

.a-d38 {
  animation-delay: 1050ms;
}

.a-d39 {
  animation-delay: 1075ms;
}

.a-d40 {
  animation-delay: 1100ms;
}

.a-d41 {
  animation-delay: 1125ms;
}

.a-d42 {
  animation-delay: 1150ms;
}

.a-d43 {
  animation-delay: 1175ms;
}

.a-d44 {
  animation-delay: 1200ms;
}

.a-d45 {
  animation-delay: 1225ms;
}

.a-d46 {
  animation-delay: 1250ms;
}

.a-d47 {
  animation-delay: 1275ms;
}

.a-d48 {
  animation-delay: 1300ms;
}

.a-d49 {
  animation-delay: 1325ms;
}

.a-d50 {
  animation-delay: 1350ms;
}

.a-d51 {
  animation-delay: 1375ms;
}

.a-d52 {
  animation-delay: 1400ms;
}

.a-d53 {
  animation-delay: 1425ms;
}

.a-d54 {
  animation-delay: 1450ms;
}

.a-d55 {
  animation-delay: 1475ms;
}

.a-d56 {
  animation-delay: 1500ms;
}

.a-d57 {
  animation-delay: 1525ms;
}

.a-d58 {
  animation-delay: 1550ms;
}

.a-d59 {
  animation-delay: 1575ms;
}

.a-d60 {
  animation-delay: 1600ms;
}

.a-d61 {
  animation-delay: 1625ms;
}

.a-d62 {
  animation-delay: 1650ms;
}

.a-d63 {
  animation-delay: 1675ms;
}

.a-d64 {
  animation-delay: 1700ms;
}

.a-d65 {
  animation-delay: 1725ms;
}

.a-d66 {
  animation-delay: 1750ms;
}

.a-d67 {
  animation-delay: 1775ms;
}

.a-d68 {
  animation-delay: 1800ms;
}

.a-d69 {
  animation-delay: 1825ms;
}

.a-d70 {
  animation-delay: 1850ms;
}

.a-d71 {
  animation-delay: 1875ms;
}

.a-d72 {
  animation-delay: 1900ms;
}

.a-d73 {
  animation-delay: 1925ms;
}

.a-d74 {
  animation-delay: 1950ms;
}

.a-d75 {
  animation-delay: 1975ms;
}

.a-d76 {
  animation-delay: 2000ms;
}

.a-d77 {
  animation-delay: 2025ms;
}

.a-d78 {
  animation-delay: 2050ms;
}

.a-d79 {
  animation-delay: 2075ms;
}

.a-d80 {
  animation-delay: 2100ms;
}

.a-d81 {
  animation-delay: 2125ms;
}

.a-d82 {
  animation-delay: 2150ms;
}

.a-d83 {
  animation-delay: 2175ms;
}

.a-d84 {
  animation-delay: 2200ms;
}

.a-d85 {
  animation-delay: 2225ms;
}

.a-d86 {
  animation-delay: 2250ms;
}

.a-d87 {
  animation-delay: 2275ms;
}

.a-d88 {
  animation-delay: 2300ms;
}

.a-d89 {
  animation-delay: 2325ms;
}

.a-d90 {
  animation-delay: 2350ms;
}

.a-d91 {
  animation-delay: 2375ms;
}

.a-d92 {
  animation-delay: 2400ms;
}

.a-d93 {
  animation-delay: 2425ms;
}

.a-d94 {
  animation-delay: 2450ms;
}

.a-d95 {
  animation-delay: 2475ms;
}

.a-d96 {
  animation-delay: 2500ms;
}

.a-d97 {
  animation-delay: 2525ms;
}

.a-d98 {
  animation-delay: 2550ms;
}

.a-d99 {
  animation-delay: 2575ms;
}

.a-d100 {
  animation-delay: 2600ms;
}

@keyframes card-entrance {
  0% {
    transform: translateY(500px) translateZ(500px) rotateX(90deg);
    opacity: 0;
  }
  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
/* box-sizing */
.fr-window,
.fr-window [class^=fr-],
.fr-overlay,
.fr-overlay [class^=fr-],
.fr-spinner,
.fr-spinner [class^=fr-] {
  box-sizing: border-box;
}

.fr-window {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  font: 13px/20px "Lucida Sans", "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, sans-serif;
  /* Chrome hack, this fixes a visual glitch when quickly toggling a video */
  transform: translateZ(0px);
}

/* z-index */
.fr-overlay {
  z-index: 99998;
}

.fr-window {
  z-index: 99999;
}

.fr-spinner {
  z-index: 100000;
}

/* overlay */
.fr-overlay {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.fr-overlay-background {
  float: left;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.9;
  filter: alpha(opacity=90);
}

.fr-overlay-ui-fullclick .fr-overlay-background {
  background: #292929;
  opacity: 1;
  filter: alpha(opacity=100);
}

/* mobile touch has position:absolute to allow zooming */
.fr-window.fr-mobile-touch,
.fr-overlay.fr-mobile-touch {
  position: absolute;
  overflow: visible;
}

/* some properties on the window are used to toggle things
 * like margin and the fullclick mode,
 * we reset those properties after measuring them
 */
.fr-measured {
  margin: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

.fr-box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.fr-pages {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.fr-page {
  position: absolute;
  width: 100%;
  height: 100%;
}

.fr-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0;
  text-align: center;
}

.fr-hovering-clickable .fr-container {
  cursor: pointer;
}

/*
   padding:
   youtube & vimeo always have buttons on the outside
   side button = 72 = 54 + (2 * 9 margin)
   close button = 48
*/
/* padding ui:inside */
.fr-ui-inside .fr-container {
  padding: 20px 20px;
}

.fr-ui-inside.fr-no-sides .fr-container {
  padding: 20px;
}

/* padding ui:outside */
.fr-ui-outside .fr-container {
  padding: 20px 82px;
}

.fr-ui-outside.fr-no-sides .fr-container {
  padding: 20px 48px;
}

/* reduce padding on smaller screens */
@media all and (max-width: 700px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 700px) {
  /* padding ui:inside */
  .fr-ui-inside .fr-container {
    padding: 12px 12px;
  }
  .fr-ui-inside.fr-no-sides .fr-container {
    padding: 12px;
  }
  /* padding ui:outside */
  .fr-ui-outside .fr-container {
    padding: 12px 72px;
  }
  .fr-ui-outside.fr-no-sides .fr-container {
    padding: 12px 48px;
  }
}
@media all and (max-width: 500px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 500px) {
  /* padding ui:inside */
  .fr-ui-inside .fr-container {
    padding: 0px 0px;
  }
  .fr-ui-inside.fr-no-sides .fr-container {
    padding: 0px;
  }
  /* padding ui:outside */
  .fr-ui-outside .fr-container {
    padding: 0px 72px;
  }
  .fr-ui-outside.fr-no-sides .fr-container {
    padding: 0px 48px;
  }
}
/* padding ui:fullclick */
.fr-ui-fullclick .fr-container {
  padding: 0;
}

.fr-ui-fullclick.fr-no-sides .fr-container {
  padding: 0;
}

/* video fullclick */
.fr-ui-fullclick.fr-type-video .fr-container {
  padding: 0px 62px;
}

.fr-ui-fullclick.fr-no-sides.fr-type-video .fr-container {
  padding: 48px 0px;
}

/* overflow-y should always have 0 padding top and bottom */
.fr-overflow-y .fr-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.fr-content,
.fr-content-background {
  position: absolute;
  top: 50%;
  left: 50%;
  /* IE11 has a 1px blur bug on the edges of the caption (ui:inside)
   during animation with overflow:hidden */
  overflow: visible;
}

/* img/iframe/error */
.fr-content-element {
  float: left;
  width: 100%;
  height: 100%;
}

.fr-content-background {
  background: #101010;
}

.fr-info {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  color: #efefef;
  font-size: 13px;
  line-height: 20px;
  text-align: left;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  -webkit-user-select: text;
  -khtml-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

.fr-info-background {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: #000;
  line-height: 1%;
  filter: none;
  opacity: 1;
}

.fr-ui-inside .fr-info-background {
  filter: alpha(opacity=80);
  opacity: 0.8;
  zoom: 1;
}

/* ui:outside has a slightly lighter info background to break up from black page backgrounds */
.fr-ui-outside .fr-info-background {
  background: #0d0d0d;
}

/* info at the bottom for ui:inside */
.fr-content .fr-info {
  top: auto;
  bottom: 0;
}

.fr-info-padder {
  display: block;
  overflow: hidden;
  padding: 12px;
  position: relative;
  width: auto;
}

.fr-caption {
  width: auto;
  display: inline;
}

.fr-position {
  color: #b3b3b3;
  float: right;
  line-height: 21px;
  opacity: 0.99;
  position: relative;
  text-align: right;
  margin-left: 15px;
  white-space: nowrap;
}

/* positions not within the info bar
   for ui:outside/inside */
.fr-position-outside,
.fr-position-inside {
  position: absolute;
  bottom: 0;
  right: 0;
  margin: 12px;
  width: auto;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 11px;
  line-height: 20px;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
  display: none;
  overflow: hidden;
  white-space: nowrap;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  -webkit-user-select: text;
  -khtml-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

.fr-position-inside {
  border: 0;
}

.fr-position-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #0d0d0d;
  filter: alpha(opacity=80);
  opacity: 0.8;
  zoom: 1; /* oldIE */
}

.fr-position-text {
  color: #b3b3b3;
}

.fr-position-outside .fr-position-text,
.fr-position-inside .fr-position-text {
  float: left;
  position: relative;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
  opacity: 1;
}

/* display it for the outside ui, hide the caption inside */
.fr-ui-outside .fr-position-outside {
  display: block;
}

.fr-ui-outside .fr-info .fr-position {
  display: none;
}

.fr-ui-inside.fr-no-caption .fr-position-inside {
  display: block;
}

/* links */
.fr-info a,
.fr-info a:hover {
  color: #ccc;
  border: 0;
  background: none;
  text-decoration: underline;
}

.fr-info a:hover {
  color: #eee;
}

/* no-caption */
.fr-ui-outside.fr-no-caption .fr-info {
  display: none;
}

.fr-ui-inside.fr-no-caption .fr-caption {
  display: none;
}

/* --- stroke */
.fr-stroke {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
}

.fr-stroke-vertical {
  width: 1px;
  height: 100%;
}

.fr-stroke-horizontal {
  padding: 0 1px;
}

.fr-stroke-right {
  left: auto;
  right: 0;
}

.fr-stroke-bottom {
  top: auto;
  bottom: 0;
}

.fr-stroke-color {
  float: left;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.08);
}

/* the stroke is brighter inside the info box */
.fr-info .fr-stroke-color {
  background: rgba(80, 80, 80, 0.3);
}

/* remove the stroke when outside ui has a caption */
.fr-ui-outside.fr-has-caption .fr-content .fr-stroke-bottom {
  display: none;
}

/* remove stroke and shadow when ui:fullclick */
.fr-ui-fullclick .fr-stroke {
  display: none;
}

.fr-ui-fullclick .fr-content-background {
  box-shadow: none;
}

/* the info box never bas a top stroke */
.fr-info .fr-stroke-top {
  display: none;
}

/* < > */
.fr-side {
  position: absolute;
  top: 50%;
  width: 54px;
  height: 72px;
  margin: 0 9px;
  margin-top: -36px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  zoom: 1;
}

.fr-side-previous {
  left: 0;
}

.fr-side-next {
  right: 0;
  left: auto;
}

.fr-side-disabled {
  cursor: default;
}

.fr-side-hidden {
  display: none !important;
}

.fr-side-button {
  float: left;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.fr-side-button-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #101010;
}

.fr-side-button-icon {
  float: left;
  position: relative;
  height: 100%;
  width: 100%;
  zoom: 1;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

/* smaller side buttons */
@media all and (max-width: 500px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 414px) {
  .fr-side {
    width: 54px;
    height: 60px;
    margin: 0;
    margin-top: -30px;
  }
  .fr-side-button {
    width: 48px;
    height: 60px;
    margin: 0 3px;
  }
}
/* X */
.fr-close {
  position: absolute;
  width: 48px;
  height: 48px;
  top: 0;
  right: 0;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.fr-close-background,
.fr-close-icon {
  position: absolute;
  top: 12px;
  left: 12px;
  height: 26px;
  width: 26px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

.fr-close-background {
  background-color: #000;
}

/* Thumbnails */
.fr-thumbnails {
  position: absolute;
  overflow: hidden;
}

.fr-thumbnails-disabled .fr-thumbnails {
  display: none !important;
}

.fr-thumbnails-horizontal .fr-thumbnails {
  width: 100%;
  height: 12%;
  min-height: 74px;
  max-height: 160px;
  bottom: 0;
}

.fr-thumbnails-vertical .fr-thumbnails {
  height: 100%;
  width: 10%;
  min-width: 74px;
  max-width: 160px;
  left: 0;
}

.fr-thumbnails,
.fr-thumbnails * {
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.fr-thumbnails-wrapper {
  position: absolute;
  top: 0;
  left: 50%;
  height: 100%;
}

.fr-thumbnails-vertical .fr-thumbnails-wrapper {
  top: 50%;
  left: 0;
}

.fr-thumbnails-slider {
  position: relative;
  width: 100%;
  height: 100%;
  float: left;
  zoom: 1;
}

.fr-thumbnails-slider-slide {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
}

.fr-thumbnails-thumbs {
  float: left;
  height: 100%;
  overflow: hidden;
  position: relative;
  top: 0;
  left: 0;
}

.fr-thumbnails-slide {
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
}

.fr-thumbnail-frame {
  position: absolute;
  zoom: 1;
  overflow: hidden;
}

.fr-thumbnail {
  position: absolute;
  width: 30px;
  height: 100%;
  left: 50%;
  top: 50%;
  zoom: 1;
  cursor: pointer;
  margin: 0 10px;
}

.fr-ltIE9 .fr-thumbnail * {
  overflow: hidden; /* IE6(7) */
  z-index: 1;
  zoom: 1;
}

.fr-thumbnail-wrapper {
  position: relative;
  background: #161616;
  width: 100%;
  height: 100%;
  float: left;
  overflow: hidden;
  display: inline; /* IE6(7) */
  z-index: 0; /* IE8 */
}

.fr-thumbnail-overlay {
  cursor: pointer;
}

.fr-thumbnail-active .fr-thumbnail-overlay {
  cursor: default;
}

.fr-thumbnail-overlay,
.fr-thumbnail-overlay-background,
.fr-thumbnail-overlay-border {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-width: 0;
  overflow: hidden;
  border-style: solid;
  border-color: transparent;
}

.fr-ltIE9 .fr-thumbnail-overlay-border {
  border-width: 0 !important;
}

.fr-thumbnail .fr-thumbnail-image {
  position: absolute;
  filter: alpha(opacity=85);
  opacity: 0.85;
  max-width: none;
}

.fr-thumbnail:hover .fr-thumbnail-image,
.fr-thumbnail-active:hover .fr-thumbnail-image {
  filter: alpha(opacity=99);
  opacity: 0.99;
}

.fr-thumbnail-active .fr-thumbnail-image,
.fr-thumbnail-active:hover .fr-thumbnail-image {
  filter: alpha(opacity=35);
  opacity: 0.35;
}

.fr-thumbnail-active {
  cursor: default;
}

/* Thumbnails loading */
.fr-thumbnail-loading,
.fr-thumbnail-loading-background,
.fr-thumbnail-loading-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.fr-thumbnail-loading-background {
  background-color: #161616;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  opacity: 0.8;
  position: relative;
  float: left;
}

/* this element is there as an alternative to putting the loading image on the background */
.fr-thumbnail-loading-icon {
  display: none;
}

/* error on thumbnail */
.fr-thumbnail-error .fr-thumbnail-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #202020;
}

/* Thumbnail < > */
.fr-thumbnails-side {
  float: left;
  height: 100%;
  width: 28px;
  margin: 0 5px;
  position: relative;
  overflow: hidden;
}

.fr-thumbnails-side-previous {
  margin-left: 12px;
}

.fr-thumbnails-side-next {
  margin-right: 12px;
}

.fr-thumbnails-vertical .fr-thumbnails-side {
  height: 28px;
  width: 100%;
  margin: 10px 0;
}

.fr-thumbnails-vertical .fr-thumbnails-side-previous {
  margin-top: 20px;
}

.fr-thumbnails-vertical .fr-thumbnails-side-next {
  margin-bottom: 20px;
}

.fr-thumbnails-side-button {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -14px;
  margin-left: -14px;
  width: 28px;
  height: 28px;
  cursor: pointer;
}

.fr-thumbnails-side-button-background {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  filter: alpha(opacity=80);
  opacity: 0.8;
  -moz-transition: background-color 0.2s ease-in;
  -webkit-transition: background-color 0.2s ease-in;
  transition: background-color 0.2s ease-in;
  background-color: #333;
  cursor: pointer;
  border-radius: 4px;
}

.fr-thumbnails-side-button:hover .fr-thumbnails-side-button-background {
  background-color: #3b3b3b;
}

.fr-thumbnails-side-button-disabled * {
  cursor: default;
}

.fr-thumbnails-side-button-disabled:hover .fr-thumbnails-side-button-background {
  background-color: #333;
}

.fr-thumbnails-side-button-icon {
  position: absolute;
  /*top: -7px;
  left: -7px;*/
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* vertical thumbnails */
.fr-thumbnails-vertical .fr-thumbnails-side,
.fr-thumbnails-vertical .fr-thumbnails-thumbs,
.fr-thumbnails-vertical .fr-thumbnail-frame {
  clear: both;
}

/* ui:fullclick has a dark thumbnail background */
.fr-window-ui-fullclick .fr-thumbnails {
  background: #090909;
}

/* put a stroke on the connecting caption*/
.fr-window-ui-fullclick.fr-thumbnails-enabled.fr-thumbnails-horizontal .fr-info .fr-stroke-bottom {
  display: block !important;
} /*({ box-shadow: inset 0 -1px 0 rgba(255,255,255,.1); } */
.fr-window-ui-fullclick.fr-thumbnails-enabled.fr-thumbnails-vertical .fr-info .fr-stroke-left {
  display: block !important;
}

/* thumbnail spacing  */
.fr-thumbnails-horizontal .fr-thumbnails-thumbs {
  padding: 12px 5px;
}

.fr-thumbnails-vertical .fr-thumbnails-thumbs {
  padding: 5px 12px;
}

.fr-thumbnails-measured .fr-thumbnails-thumbs {
  padding: 0 !important;
}

/* horizontal */
@media all and (min-height: 700px) {
  .fr-thumbnails-horizontal .fr-thumbnails-thumbs {
    padding: 16px 8px;
  }
  .fr-thumbnails-horizontal .fr-thumbnails-side {
    margin: 0 8px;
  }
  .fr-thumbnails-horizontal .fr-thumbnails-side-previous {
    margin-left: 16px;
  }
  .fr-thumbnails-horizontal .fr-thumbnails-side-next {
    margin-right: 16px;
  }
}
@media all and (min-height: 980px) {
  .fr-thumbnails-horizontal .fr-thumbnails-thumbs {
    padding: 20px 10px;
  }
  .fr-thumbnails-horizontal .fr-thumbnails-side {
    margin: 0 10px;
  }
  .fr-thumbnails-horizontal .fr-thumbnails-side-previous {
    margin-left: 20px;
  }
  .fr-thumbnails-horizontal .fr-thumbnails-side-next {
    margin-right: 20px;
  }
}
/* vertical */
@media all and (min-width: 1200px) {
  .fr-thumbnails-vertical .fr-thumbnails-thumbs {
    padding: 8px 16px;
  }
  .fr-thumbnails-vertical .fr-thumbnails-side {
    margin: 0 8px;
  }
  .fr-thumbnails-vertical .fr-thumbnails-side-previous {
    margin-top: 16px;
  }
  .fr-thumbnails-vertical .fr-thumbnails-side-next {
    margin-bottom: 16px;
  }
}
@media all and (min-width: 1800px) {
  .fr-thumbnails-vertical .fr-thumbnails-thumbs {
    padding: 10px 20px;
  }
  .fr-thumbnails-vertical .fr-thumbnails-side {
    margin: 10px 0;
  }
  .fr-thumbnails-vertical .fr-thumbnails-side-previous {
    margin-top: 20px;
  }
  .fr-thumbnails-vertical .fr-thumbnails-side-next {
    margin-bottom: 20px;
  }
}
/* hide thumbnails on smaller screens
   the js always hides them on touch based devices
*/
@media all and (max-width: 500px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 500px) {
  .fr-thumbnails-horizontal .fr-thumbnails {
    display: none !important;
  }
}
@media all and (max-width: 700px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 414px) {
  .fr-thumbnails-vertical .fr-thumbnails {
    display: none !important;
  }
}
/* force fullClick: true
   and force overflow: false */
@media all and (max-width: 500px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 414px) {
  .fr-page {
    min-width: 100%;
  } /* fullclick */
  .fr-page {
    min-height: 100%;
  } /* overflow: false */
}
/* switch between ui modes
   we force everything not in the current UI mode to hide
*/
.fr-window-ui-fullclick .fr-side-next-outside,
.fr-window-ui-fullclick .fr-side-previous-outside,
.fr-window-ui-fullclick .fr-close-outside,
.fr-window-ui-fullclick .fr-content .fr-side-next,
.fr-window-ui-fullclick .fr-content .fr-side-previous,
.fr-window-ui-fullclick .fr-content .fr-close,
.fr-window-ui-fullclick .fr-content .fr-info,
.fr-window-ui-outside .fr-side-next-fullclick,
.fr-window-ui-outside .fr-side-previous-fullclick,
.fr-window-ui-outside .fr-close-fullclick,
.fr-window-ui-outside .fr-content .fr-side-next,
.fr-window-ui-outside .fr-content .fr-side-previous,
.fr-window-ui-outside .fr-content .fr-close,
.fr-window-ui-outside .fr-content .fr-info,
.fr-window-ui-inside .fr-page > .fr-info,
.fr-window-ui-inside .fr-side-next-fullclick,
.fr-window-ui-inside .fr-side-previous-fullclick,
.fr-window-ui-inside .fr-close-fullclick,
.fr-window-ui-inside .fr-side-next-outside,
.fr-window-ui-inside .fr-side-previous-outside,
.fr-window-ui-inside .fr-close-outside {
  display: none !important;
}

/* some ui elements can be toggled on mousemove.
   filter:alpha(opacity) is bugged so we use display in oldIE
*/
.fr-toggle-ui {
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.fr-visible-fullclick-ui .fr-box > .fr-toggle-ui,
.fr-visible-inside-ui .fr-ui-inside .fr-toggle-ui {
  opacity: 1;
}

.fr-hidden-fullclick-ui .fr-box > .fr-toggle-ui,
.fr-hidden-inside-ui .fr-ui-inside .fr-toggle-ui {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.fr-ltIE9.fr-hidden-fullclick-ui .fr-box > .fr-toggle-ui,
.fr-ltIE9.fr-hidden-inside-ui .fr-ui-inside .fr-toggle-ui {
  display: none;
}

/* Spinner */
.fr-spinner {
  position: fixed;
  width: 52px;
  height: 52px;
  background: #101010;
  background: rgba(16, 16, 16, 0.85);
  border-radius: 5px;
}

.fr-spinner div {
  position: absolute;
  top: 0;
  left: 0;
  height: 64%;
  width: 64%;
  margin-left: 18%;
  margin-top: 18%;
  opacity: 1;
  -webkit-animation: fresco-12 1.2s infinite ease-in-out;
  animation: fresco-12 1.2s infinite ease-in-out;
}

.fr-spinner div:after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 2px;
  height: 8px;
  margin-left: -1px;
  background: #fff;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0); /* fixes rendering in Firefox */
}

.fr-spinner div.fr-spin-1 {
  -ms-transform: rotate(30deg);
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.fr-spinner div.fr-spin-2 {
  -ms-transform: rotate(60deg);
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

.fr-spinner div.fr-spin-3 {
  -ms-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.fr-spinner div.fr-spin-4 {
  -ms-transform: rotate(120deg);
  -webkit-transform: rotate(120deg);
  transform: rotate(120deg);
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

.fr-spinner div.fr-spin-5 {
  -ms-transform: rotate(150deg);
  -webkit-transform: rotate(150deg);
  transform: rotate(150deg);
  -webkit-animation-delay: -0.7s;
  animation-delay: -0.7s;
}

.fr-spinner div.fr-spin-6 {
  -ms-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-animation-delay: -0.6s;
  animation-delay: -0.6s;
}

.fr-spinner div.fr-spin-6 {
  -ms-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-animation-delay: -0.6s;
  animation-delay: -0.6s;
}

.fr-spinner div.fr-spin-7 {
  -ms-transform: rotate(210deg);
  -webkit-transform: rotate(210deg);
  transform: rotate(210deg);
  -webkit-animation-delay: -0.5s;
  animation-delay: -0.5s;
}

.fr-spinner div.fr-spin-8 {
  -ms-transform: rotate(240deg);
  -webkit-transform: rotate(240deg);
  transform: rotate(240deg);
  -webkit-animation-delay: -0.4s;
  animation-delay: -0.4s;
}

.fr-spinner div.fr-spin-9 {
  -ms-transform: rotate(270deg);
  -webkit-transform: rotate(270deg);
  transform: rotate(270deg);
  -webkit-animation-delay: -0.3s;
  animation-delay: -0.3s;
}

.fr-spinner div.fr-spin-10 {
  -ms-transform: rotate(300deg);
  -webkit-transform: rotate(300deg);
  transform: rotate(300deg);
  -webkit-animation-delay: -0.2s;
  animation-delay: -0.2s;
}

.fr-spinner div.fr-spin-11 {
  -ms-transform: rotate(330deg);
  -webkit-transform: rotate(330deg);
  transform: rotate(330deg);
  -webkit-animation-delay: -0.1s;
  animation-delay: -0.1s;
}

.fr-spinner div.fr-spin-12 {
  -ms-transform: rotate(360deg);
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

@-webkit-keyframes fresco-12 {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fresco-12 {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/* Thumbnail spinner */
.fr-thumbnail-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -20px;
  width: 40px;
  height: 40px;
}

.fr-thumbnail-spinner-spin {
  position: relative;
  float: left;
  margin: 8px 0 0 8px;
  text-indent: -9999em;
  border-top: 2px solid rgba(255, 255, 255, 0.2);
  border-right: 2px solid rgba(255, 255, 255, 0.2);
  border-bottom: 2px solid rgba(255, 255, 255, 0.2);
  border-left: 2px solid #fff;
  -webkit-animation: fr-thumbnail-spin 1.1s infinite linear;
  animation: fr-thumbnail-spin 1.1s infinite linear;
}

.fr-thumbnail-spinner-spin,
.fr-thumbnail-spinner-spin:after {
  border-radius: 50%;
  width: 24px;
  height: 24px;
}

@-webkit-keyframes fr-thumbnail-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes fr-thumbnail-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/* Error */
.fr-error {
  float: left;
  position: relative;
  background-color: #ca3434;
  width: 160px;
  height: 160px;
}

.fr-error-icon {
  position: absolute;
  width: 42px;
  height: 42px;
  top: 50%;
  left: 50%;
  margin-left: -21px;
  margin-top: -21px;
}

/* skin: 'fresco' */
/* Sprite */
.fr-window-skin-fresco .fr-side-button-icon,
.fr-window-skin-fresco .fr-close-icon,
.fr-window-skin-fresco .fr-thumbnails-side-button-icon,
.fr-window-skin-fresco .fr-error-icon {
  background-image: url("/assets/fresco/sprite.svg");
}

/* fallback png sprite */
.fr-window-skin-fresco.fr-no-svg .fr-side-button-icon,
.fr-window-skin-fresco.fr-no-svg .fr-close-icon,
.fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side-button-icon,
.fr-window-skin-fresco .fr-error-icon {
  background-image: url("/assets/fresco/sprite.png");
}

.fr-window-skin-fresco .fr-error-icon {
  background-position: -160px -126px;
}

.fr-window-skin-fresco .fr-content-background {
  background: #101010;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
}

.fr-window-skin-fresco.fr-window-ui-fullclick .fr-content-background {
  box-shadow: none;
}

/* thumbnail shadow */
.fr-window-skin-fresco .fr-thumbnail-wrapper {
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
}

.fr-window-skin-fresco .fr-thumbnail-active .fr-thumbnail-wrapper {
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.1);
}

/* < > */
.fr-window-skin-fresco .fr-side-button-background {
  background-color: transparent;
}

.fr-window-skin-fresco .fr-side-previous .fr-side-button-icon {
  background-position: -13px -14px;
}

.fr-window-skin-fresco .fr-side-next .fr-side-button-icon {
  background-position: -93px -14px;
}

.fr-window-skin-fresco .fr-side-previous:hover .fr-side-button-icon {
  background-position: -13px -114px;
}

.fr-window-skin-fresco .fr-side-next:hover .fr-side-button-icon {
  background-position: -93px -114px;
}

/* transition (png) */
.fr-window-skin-fresco.fr-no-svg .fr-hovering-previous .fr-side-previous .fr-side-button-icon,
.fr-window-skin-fresco.fr-no-svg.fr-mobile-touch .fr-side-previous .fr-side-button-icon {
  background-position: -13px -114px;
}

.fr-window-skin-fresco.fr-no-svg .fr-hovering-next .fr-side-next .fr-side-button-icon,
.fr-window-skin-fresco.fr-no-svg.fr-mobile-touch .fr-side-next .fr-side-button-icon {
  background-position: -93px -114px;
}

/* disabled state (png) */
.fr-window-skin-fresco.fr-no-svg .fr-side-previous.fr-side-disabled .fr-side-button-icon,
.fr-window-skin-fresco.fr-no-svg .fr-hovering-previous .fr-side-previous.fr-side-disabled .fr-side-button-icon,
.fr-window-skin-fresco.fr-no-svg .fr-side-previous.fr-side-disabled:hover .fr-side-button-icon {
  background-position: -13px -214px;
}

.fr-window-skin-fresco.fr-no-svg .fr-side-next.fr-side-disabled .fr-side-button-icon,
.fr-window-skin-fresco.fr-no-svg .fr-hovering-next .fr-side-next.fr-side-disabled .fr-side-button-icon,
.fr-window-skin-fresco.fr-no-svg .fr-side-next.fr-side-disabled:hover .fr-side-button-icon {
  background-position: -93px -214px;
}

/* transition (svg) */
.fr-window-skin-fresco.fr-svg .fr-side-previous .fr-side-button-icon {
  background-position: -13px -114px;
}

.fr-window-skin-fresco.fr-svg .fr-side-next .fr-side-button-icon {
  background-position: -93px -114px;
}

.fr-window-skin-fresco.fr-svg .fr-side-button-icon {
  opacity: 0.5;
}

.fr-window-skin-fresco.fr-svg .fr-side:hover .fr-side-button-icon,
.fr-window-skin-fresco.fr-svg .fr-hovering-previous .fr-side-previous .fr-side-button-icon,
.fr-window-skin-fresco.fr-svg .fr-hovering-next .fr-side-next .fr-side-button-icon {
  opacity: 1;
}

.fr-window-skin-fresco.fr-svg.fr-mobile-touch .fr-side .fr-side-button-icon {
  opacity: 0.8;
} /* touch always active but at lower opacity */
/* disabled (svg) */
.fr-window-skin-fresco.fr-svg .fr-side-disabled .fr-side-button-icon,
.fr-window-skin-fresco.fr-svg .fr-hovering-previous .fr-side-disabled .fr-side-button-icon,
.fr-window-skin-fresco.fr-svg .fr-hovering-next .fr-side-disabled .fr-side-button-icon,
.fr-window-skin-fresco.fr-svg .fr-side-disabled:hover .fr-side-button-icon,
.fr-window-skin-fresco.fr-svg.fr-mobile-touch .fr-side-disabled .fr-side-button-icon {
  opacity: 0.2;
}

/* hide for ui:inside/fullclick, only for the image type */
.fr-window-skin-fresco.fr-window-ui-inside .fr-type-image .fr-side-disabled .fr-side-button-icon,
.fr-window-skin-fresco.fr-window-ui-fullclick.fr-showing-type-image .fr-side-disabled .fr-side-button-icon {
  background-image: none;
}

/* < > responsive */
@media all and (max-width: 500px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 414px) {
  .fr-window-skin-fresco .fr-side-previous .fr-side-button-icon {
    background-position: 0px -300px;
  }
  .fr-window-skin-fresco .fr-side-next .fr-side-button-icon {
    background-position: -48px -300px;
  }
  .fr-window-skin-fresco .fr-side-previous:hover .fr-side-button-icon {
    background-position: 0px -360px;
  }
  .fr-window-skin-fresco .fr-side-next:hover .fr-side-button-icon {
    background-position: -48px -360px;
  }
  /* transition (png) */
  .fr-window-skin-fresco.fr-no-svg .fr-hovering-previous .fr-side-previous .fr-side-button-icon,
  .fr-window-skin-fresco.fr-no-svg.fr-mobile-touch .fr-side-previous .fr-side-button-icon {
    background-position: 0px -360px;
  }
  .fr-window-skin-fresco.fr-no-svg .fr-hovering-next .fr-side-next .fr-side-button-icon,
  .fr-window-skin-fresco.fr-no-svg.fr-mobile-touch .fr-side-next .fr-side-button-icon {
    background-position: -48px -360px;
  }
  /* transition (svg) */
  .fr-window-skin-fresco.fr-svg .fr-side-previous .fr-side-button-icon {
    background-position: 0px -360px;
  }
  .fr-window-skin-fresco.fr-svg .fr-side-next .fr-side-button-icon {
    background-position: -48px -360px;
  }
  /* disabled state (png) */
  .fr-window-skin-fresco.fr-no-svg .fr-side-previous.fr-side-disabled .fr-side-button-icon,
  .fr-window-skin-fresco.fr-no-svg .fr-hovering-previous .fr-side-previous.fr-side-disabled .fr-side-button-icon,
  .fr-window-skin-fresco.fr-no-svg .fr-side-previous.fr-side-disabled:hover .fr-side-button-icon {
    background-position: 0px -420px;
  }
  .fr-window-skin-fresco.fr-no-svg .fr-side-next.fr-side-disabled .fr-side-button-icon,
  .fr-window-skin-fresco.fr-no-svg .fr-hovering-next .fr-side-next.fr-side-disabled .fr-side-button-icon,
  .fr-window-skin-fresco.fr-no-svg .fr-side-next.fr-side-disabled:hover .fr-side-button-icon {
    background-position: -48px -420px;
  }
}
/* X */
/* colors */
.fr-window-skin-fresco.fr-window-ui-outside .fr-close-background {
  background-color: #363636;
}

.fr-window-skin-fresco.fr-window-ui-outside .fr-close:hover .fr-close-background {
  background-color: #434343;
}

.fr-window-skin-fresco.fr-window-ui-inside .fr-close-background,
.fr-window-skin-fresco.fr-window-ui-fullclick .fr-close-background {
  background-color: #131313;
  filter: alpha(opacity=80);
  opacity: 0.8;
}

.fr-window-skin-fresco.fr-window-ui-inside .fr-close:hover .fr-close-background,
.fr-window-skin-fresco.fr-window-ui-fullclick .fr-close:hover .fr-close-background {
  background-color: #191919;
}

/* - image */
.fr-window-skin-fresco .fr-close .fr-close-icon {
  background-position: -168px -8px;
}

.fr-window-skin-fresco .fr-close:hover .fr-close-icon {
  background-position: -210px -8px;
}

/* - transition */
.fr-window-skin-fresco.fr-svg .fr-close .fr-close-icon {
  background-position: -210px -8px;
  opacity: 0.8;
}

.fr-window-skin-fresco .fr-close:hover .fr-close-icon {
  opacity: 1;
}

/* iOS 8.4.1 bug: when opacity changes it'll require 2 taps
   force a single opacity to fix this
*/
.fr-window-skin-fresco.fr-svg.fr-mobile-touch .fr-close .fr-close-icon,
.fr-window-skin-fresco.fr-mobile-touch .fr-close:hover .fr-close-icon {
  opacity: 1;
}

/* Thumbnails */
.fr-window-skin-fresco .fr-thumbnail-wrapper {
  border-color: transparent;
  border-style: solid;
  border-width: 0;
}

.fr-window-skin-fresco .fr-thumbnail-wrapper {
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
}

.fr-window-skin-fresco .fr-thumbnail-active .fr-thumbnail-wrapper {
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.1);
}

.fr-window-skin-fresco .fr-thumbnail-wrapper {
  box-shadow: 0 -1px 4px rgba(0, 0, 0, 0.3);
}

.fr-window-skin-fresco .fr-thumbnail-overlay-border {
  border-width: 1px;
  border-color: rgba(255, 255, 255, 0.08); /* should remain rgba */
}

/* no inner border on active thumbnail */
.fr-window-skin-fresco .fr-thumbnail-active .fr-thumbnail-overlay-border,
.fr-window-skin-fresco .fr-thumbnail-active:hover .fr-thumbnail-overlay-border {
  border: 0;
}

/* Thumbnails < > */
.fr-window-skin-fresco .fr-thumbnails-side-previous .fr-thumbnails-side-button-icon {
  background-position: -167px -49px;
}

.fr-window-skin-fresco .fr-thumbnails-side-previous:hover .fr-thumbnails-side-button-icon {
  background-position: -209px -49px;
}

.fr-window-skin-fresco .fr-thumbnails-side-next .fr-thumbnails-side-button-icon {
  background-position: -167px -91px;
}

.fr-window-skin-fresco .fr-thumbnails-side-next:hover .fr-thumbnails-side-button-icon {
  background-position: -209px -91px;
}

/* vertical ^ (up/down) adjustments */
.fr-window-skin-fresco.fr-thumbnails-vertical .fr-thumbnails-side-previous .fr-thumbnails-side-button-icon {
  background-position: -293px -49px;
}

.fr-window-skin-fresco.fr-thumbnails-vertical .fr-thumbnails-side-previous:hover .fr-thumbnails-side-button-icon {
  background-position: -335px -49px;
}

.fr-window-skin-fresco.fr-thumbnails-vertical .fr-thumbnails-side-next .fr-thumbnails-side-button-icon {
  background-position: -293px -91px;
}

.fr-window-skin-fresco.fr-thumbnails-vertical .fr-thumbnails-side-next:hover .fr-thumbnails-side-button-icon {
  background-position: -335px -91px;
}

/* Thumbnails < > transition */
.fr-window-skin-fresco.fr-svg .fr-thumbnails-side .fr-thumbnails-side-button-icon {
  -moz-transition: opacity 0.2s ease-in;
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
  opacity: 0.8;
}

.fr-window-skin-fresco.fr-svg .fr-thumbnails-side-previous .fr-thumbnails-side-button-icon,
.fr-window-skin-fresco.fr-svg .fr-thumbnails-side-previous .fr-thumbnails-side-button-disabled {
  background-position: -167px -49px;
}

.fr-window-skin-fresco.fr-svg .fr-thumbnails-side-next .fr-thumbnails-side-button-icon,
.fr-window-skin-fresco.fr-svg .fr-thumbnails-side-next .fr-thumbnails-side-button-disabled {
  background-position: -209px -91px;
}

.fr-window-skin-fresco.fr-svg .fr-thumbnails-side:hover .fr-thumbnails-side-button-icon {
  opacity: 1;
}

/* vertical ^ (up/down) adjustments */
.fr-window-skin-fresco.fr-svg.fr-thumbnails-vertical .fr-thumbnails-side-previous .fr-thumbnails-side-button-icon,
.fr-window-skin-fresco.fr-svg.fr-thumbnails-vertical .fr-thumbnails-side-previous .fr-thumbnails-side-button-disabled {
  background-position: -293px -49px;
}

.fr-window-skin-fresco.fr-svg.fr-thumbnails-vertical .fr-thumbnails-side-next .fr-thumbnails-side-button-icon,
.fr-window-skin-fresco.fr-svg.fr-thumbnails-vertical .fr-thumbnails-side-next .fr-thumbnails-side-button-disabled {
  background-position: -335px -91px;
}

/* lower opacity on disabled states */
.fr-window-skin-fresco.fr-svg .fr-thumbnails-side .fr-thumbnails-side-button-disabled,
.fr-window-skin-fresco.fr-svg .fr-thumbnails-side:hover .fr-thumbnails-side-button-disabled {
  opacity: 0.5;
}

/* lower opacity IE < 9 using images */
.fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side-previous .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon,
.fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side-previous:hover .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon {
  background-position: -251px -49px;
}

.fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side-next .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon,
.fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side-next:hover .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon {
  background-position: -251px -91px;
}

.fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-background,
.fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side:hover .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-background {
  filter: alpha(opacity=50);
}

/* vertical ^ (up/down) adjustments */
.fr-window-skin-fresco.fr-no-svg.fr-thumbnails-vertical .fr-thumbnails-side-previous .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon,
.fr-window-skin-fresco.fr-no-svg.fr-thumbnails-vertical .fr-thumbnails-side-previous:hover .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon {
  background-position: -377px -49px;
}

.fr-window-skin-fresco.fr-no-svg.fr-thumbnails-vertical .fr-thumbnails-side-next .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon,
.fr-window-skin-fresco.fr-no-svg.fr-thumbnails-vertical .fr-thumbnails-side-next:hover .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon {
  background-position: -377px -91px;
}

.map {
  width: 100%;
  height: 600px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
.map .marker {
  width: 75px;
  height: 75px;
  background-size: cover;
  border: 2px solid white;
  border-radius: 50%;
  box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.5);
}
.map .marker::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 20px solid #fff;
}

.special-event-cols {
  display: flex;
  flex-direction: row;
  width: 100%;
  gap: 25px;
}
.special-event-cols article.special-event-main {
  flex-grow: 1;
  flex-shrink: 1;
  width: 100%;
}
.special-event-cols article.special-event-main h3 {
  margin-bottom: 10px;
}
.special-event-cols article.special-event-main h3:not(:first-child) {
  margin-top: 50px;
}
.special-event-cols article.special-event-main p {
  margin-bottom: 20px;
}
.special-event-cols article.special-event-main .map {
  margin-top: 20px;
}
.special-event-cols aside.special-event-metadata {
  width: 350px;
  padding: 10px;
  background-image: linear-gradient(180deg, rgba(70, 70, 70, 0.6) 0%, rgba(55, 55, 55, 0.5) 100%);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-top: 1px solid rgba(255, 255, 255, 0.125);
  border-bottom: 1px solid rgba(255, 255, 255, 0.025);
  border-radius: 17px;
}
.special-event-cols aside.special-event-metadata img {
  width: 100%;
  height: auto;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.05);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.25);
  background-color: rgba(102, 102, 102, 0.4);
}
.special-event-cols aside.special-event-metadata .metadata-item-stack div {
  padding: 15px 0 8px 0;
}
.special-event-cols aside.special-event-metadata .metadata-item-stack div:not(:last-of-type) {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.special-event-cols aside.special-event-metadata .metadata-item-stack div h5 {
  margin-top: 0;
  margin-bottom: 0;
}
.special-event-cols aside.special-event-metadata .metadata-item-stack div p {
  margin-top: 6px;
  margin-bottom: 8px;
  line-height: 1.25;
  opacity: 0.8;
}
@media (max-width: 991px) {
  .special-event-cols {
    flex-direction: column;
    gap: 50px;
  }
  .special-event-cols articl.special-event-main,
  .special-event-cols aside.special-event-metadata {
    width: 100%;
    flex-grow: 1;
    flex-shrink: 1;
  }
}

/*# sourceMappingURL=styles.css.map */
