@charset "UTF-8";
/*
	Civilization x ACTUALIZE (2024/25)
*/
/***
The new CSS Reset - version 1.4.5 (last updated 13.1.2022)
via https://alexclark.co.nz/blog/creating-a-simple-css-slider-with-scroll-snapping
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
 */
*:where(:not(iframe, canvas, img, svg, video):not(svg *, symbol *)) {
  all: unset;
  display: revert;
  -webkit-tap-highlight-color: transparent;
}
*:where(:not(iframe, canvas, img, svg, video):not(svg *, symbol *)):focus:not(:focus-visible) {
  outline: none;
}

/* Preferred box-sizing value */
*, *::after, *::before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, main, article, aside, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video, input, select, button {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
}

/* Reapply the pointer cursor for anchor tags */
a {
  cursor: revert;
  text-decoration-line: none;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu {
  list-style: none;
}

/* For images to not be able to exceed their container */
img {
  display: block;
  max-width: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly. */
:where([contenteditable]) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable=true]) {
  -webkit-user-drag: element;
}

.black-bg {
  background-color: #000;
}

[data-color=black].open, [data-color=black]:hover, [data-color=black]:focus, [data-color=black]:active {
  background-color: #000;
}

.white-bg {
  background-color: #fff;
}

[data-color=white].open, [data-color=white]:hover, [data-color=white]:focus, [data-color=white]:active {
  background-color: #fff;
}

.red-bg {
  background-color: #f33;
}

[data-color=red].open, [data-color=red]:hover, [data-color=red]:focus, [data-color=red]:active {
  background-color: #f33;
}

.green-bg {
  background-color: #0f0;
}

[data-color=green].open, [data-color=green]:hover, [data-color=green]:focus, [data-color=green]:active {
  background-color: #0f0;
}

.blue-bg {
  background-color: #09f;
}

[data-color=blue].open, [data-color=blue]:hover, [data-color=blue]:focus, [data-color=blue]:active {
  background-color: #09f;
}

.yellow-bg {
  background-color: #E5EA00;
}

[data-color=yellow].open, [data-color=yellow]:hover, [data-color=yellow]:focus, [data-color=yellow]:active {
  background-color: #E5EA00;
}

.purple-bg {
  background-color: #C5f;
}

[data-color=purple].open, [data-color=purple]:hover, [data-color=purple]:focus, [data-color=purple]:active {
  background-color: #C5f;
}

.orange-bg {
  background-color: #f90;
}

[data-color=orange].open, [data-color=orange]:hover, [data-color=orange]:focus, [data-color=orange]:active {
  background-color: #f90;
}

.cyan-bg {
  background-color: #0ff;
}

[data-color=cyan].open, [data-color=cyan]:hover, [data-color=cyan]:focus, [data-color=cyan]:active {
  background-color: #0ff;
}

.artist-list figure img, .contact .wrap figure img, .video-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

header img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  font-family: "object-fit: contain;";
}

.text-wrap a, .text-wrap button:not([class]), .sk-eventbrite-event .no_events_found::after {
  text-decoration: underline;
  text-underline-offset: 0.15em;
  text-decoration-thickness: 0.0625em;
}

body {
  font-family: "Azeret Mono", monospace;
  font-optical-sizing: auto;
  font-style: normal;
}

menu a {
  font-weight: 200;
}

.about .text-wrap {
  font-weight: 300;
}

menu a:hover, menu a:focus, menu a.open, .sk-eventbrite-event .event-btns a, .video-button {
  font-weight: 500;
}

h3, button[type=submit] {
  font-weight: 600;
}

h2, strong, .event-wrap h4 {
  font-weight: 700;
}

h1 {
  font-weight: 900;
}

::selection {
  background: #000;
  color: #fff;
  text-shadow: none;
}

::-moz-selection {
  background: #000;
  color: #fff;
  text-shadow: none;
}

html {
  width: 100%;
  height: 100%;
  /* mobile viewport bug fix */
  min-height: -webkit-fill-available;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: none;
  -moz-osx-font-smoothing: grayscale; /* fixes FF over-bolding */
  -ms-overflow-style: -ms-autohiding-scrollbar;
  font-size: 62.5%; /* 10px reset */
  position: relative;
  background-color: #fff;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: #000 transparent;
}

body {
  width: 100%;
  height: 100%;
  background-color: #fff;
  color: #000;
  overflow: hidden;
  font-size: 1.45rem;
  line-height: 1.45;
}
@media only screen and (min-width: 1920px) {
  body {
    font-size: 2rem;
  }
}

h1, h2, h3, h4 {
  font-size: 100%;
}

h3 {
  text-transform: uppercase;
}

em {
  font-style: italic;
}

small {
  font-size: 80%;
}

a {
  color: inherit;
}

button {
  font-size: inherit;
  cursor: pointer;
}
button::-moz-focus-inner {
  border: 0;
}
button[type=submit] {
  background-color: #000;
  color: #fff;
}
button[type=submit]:hover, button[type=submit]:focus:not(:active) {
  background-color: #0ff;
  color: #000;
}

input {
  background-color: #fff;
  color: #000;
}

input,
button[type=submit],
label {
  font-size: inherit;
  line-height: 4.6rem;
  padding: 0 2.3rem;
}
@media only screen and (max-width: 768px) {
  input,
  button[type=submit],
  label {
    padding: 0 1.15rem;
  }
}

input,
button[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  font-family: inherit;
  font-size: inherit;
  display: inline-block;
  border-radius: 0;
  z-index: 1;
}

.video-button, .sk-eventbrite-event .event-btns a {
  background-color: #09f !important;
  border-radius: 0 !important;
  border: 0 !important;
  color: black !important;
  text-transform: uppercase !important;
  padding: 0.575rem 1.15rem !important;
  font-family: inherit !important;
  line-height: 2.3rem !important;
}
.video-button:hover, .sk-eventbrite-event .event-btns a:hover, .video-button:focus, .sk-eventbrite-event .event-btns a:focus {
  background-color: #f33 !important;
}

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

svg {
  overflow: visible;
}

p + h3,
ul + h3 {
  margin-top: 4.6rem;
}

h3 + ul,
h3 + div,
p + p,
ul + ul,
p + ul,
ul + p {
  margin-top: 2.3rem;
}

header,
main {
  position: absolute;
  left: 0;
  right: 0;
  top: 9.55%;
  bottom: 9.55%;
}
@media only screen and (min-width: 769px) {
  header,
  main {
    top: 19.1%;
    bottom: 19.1%;
  }
}

header {
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
  padding: 2.3rem;
}
@media only screen and (max-height: 768px) {
  header {
    padding: 2.3rem 9.55%;
  }
}
header img {
  width: 100%;
  height: 100%;
}
@media all and (orientation: landscape) {
  header img {
    width: 90%;
  }
}
header svg {
  width: 84%;
  height: 100%;
}
header svg path.eye {
  fill: #09f;
}

menu {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}
menu ul {
  display: flex;
  height: 100%;
}
menu a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-transform: uppercase;
}
menu a:hover span, menu a:focus span, menu a.open[data-current-tab] span {
  letter-spacing: 0.5em;
}
menu a[data-current-tab]:hover span, menu a[data-current-tab]:focus span {
  display: none;
}
menu a[data-current-tab]:hover::after, menu a[data-current-tab]:focus::after {
  content: "×";
  font-size: 161.8%;
}
menu a span {
  padding: 1.15rem;
  text-align: center;
  line-height: 1;
}
menu a[target=_blank]:hover span::after, menu a[target=_blank]:focus span::after {
  content: " →";
}
menu ul {
  flex-flow: row wrap;
}
menu li {
  width: 33.333%;
  height: 9.6%;
}
menu li:nth-child(4), menu li:nth-child(5), menu li:nth-child(6) {
  margin-top: auto;
}
@media only screen and (min-width: 769px) {
  menu li {
    height: 19.15%;
  }
}
@media only screen and (max-width: 450px) {
  menu a:hover span, menu a:focus span, menu a.open[data-current-tab] span {
    letter-spacing: 0.125em;
  }
  menu a[target=_blank]:hover span, menu a[target=_blank]:focus span {
    letter-spacing: 0;
  }
}

@keyframes pulse {
  0%, 100% {
    transform: scale(1);
  }
  30% {
    transform: scale(0.875);
  }
  60% {
    transform: scale(1.25);
  }
}
main {
  z-index: 3;
}
main:not(:has([aria-hidden=true])) {
  display: none;
}

section {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: scrollbar;
}
section[data-current-tab] {
  z-index: 2;
}
section:not([data-current-tab]) {
  display: none;
}
section .wrap {
  overflow: visible;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 4.6rem;
}
section .wrap:only-child {
  min-height: 100%;
}
@media only screen and (max-width: 768px) {
  section .wrap {
    padding: 2.3rem;
  }
}
section .wrap:has(> iframe) {
  height: 100%;
  overflow: hidden;
}
section .wrap.flush-top {
  padding-top: 0;
}
section .wrap > iframe {
  width: 100%;
  height: 100%;
}

ul.grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.3rem;
}
@media only screen and (min-width: 769px) {
  ul.grid {
    grid-template-columns: 1fr 1fr;
    gap: 4.6rem;
  }
}
@media only screen and (min-width: 1280px) {
  ul.grid {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 4.6rem 9.2rem;
  }
}
@media only screen and (min-width: 1920px) {
  ul.grid {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
ul.grid + ul.grid,
ul.grid + h3 {
  margin-top: 4.6rem;
}

.text-wrap a:hover, .text-wrap a:focus:not(:active), .text-wrap button:not([class]):hover, .text-wrap button:not([class]):focus:not(:active) {
  text-decoration-thickness: 0.125em;
}
.text-wrap ul:not(.grid) {
  list-style: disc;
}
.text-wrap ul:not(.grid), .text-wrap ol {
  padding-left: 1.5em;
}

.about .video-wrap {
  position: absolute;
  top: 4.6rem;
  left: 4.6rem;
  display: block;
  background-color: #000;
  padding: 4.6rem;
}
.about .video-wrap iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
}
.about .video-wrap:not([data-touched])::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  user-select: none;
  cursor: move;
}
@media all and (orientation: landscape) {
  .about .video-wrap {
    max-width: 61.8%;
  }
}
@media all and (orientation: portrait) {
  .about .video-wrap {
    max-width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .about .video-wrap {
    top: 2.3rem;
    left: 2.3rem;
    width: calc(100% - 6.9rem);
    padding: 2.3rem;
  }
}
.about .text-wrap {
  position: absolute;
  top: 9.2rem;
  left: 38.2%;
  display: block;
  background-color: #fff;
  padding: 2.3rem 2.3rem 4.6rem;
  width: calc(100% - 9.2rem);
  max-height: calc(100% - 18.4rem);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: scrollbar;
}
@media all and (orientation: landscape) {
  .about .text-wrap {
    max-width: 50%;
  }
}
@media all and (orientation: portrait) {
  .about .text-wrap {
    max-width: 42em;
  }
}
@media only screen and (max-width: 768px) {
  .about .text-wrap {
    width: calc(100% - 6.9rem);
    padding: 1.15rem 1.15rem 2.3rem;
  }
}
.about .text-wrap ul {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(20em, 1fr));
  gap: 2.3rem;
}
.about .text-wrap ul li {
  flex-basis: 50%;
}
.about [draggable] {
  z-index: 1;
}
.about [draggable]:active, .about [draggable]:focus, .about [draggable]:focus-within {
  z-index: 2;
}
.about [draggable][draggable=false]:hover, .about [draggable][draggable=true][data-current-drag], .about [draggable][draggable=true]:has(iframe:focus) {
  z-index: 2;
}
.about [draggable].dragging {
  transform: scale(0.975);
}
.about [draggable].dragging iframe, .about [draggable].dragging a {
  pointer-events: none;
}
.about:not([data-current-tab]) [draggable] {
  transform: scale(0);
}

.artist-list figure {
  display: block;
  max-height: calc(100vh - 9.55% - 9.2rem);
  aspect-ratio: 1;
  margin-bottom: 2.3rem;
}
@media only screen and (min-width: 769px) {
  .artist-list figure {
    max-height: calc(61.8vh - 4.6rem);
  }
}

.signup .wrap {
  align-items: center;
}
.signup .ctct-inline-form,
.signup form {
  display: flex;
  align-items: baseline;
  justify-content: center;
  width: 100%;
  padding: 2.3rem 0 4.6rem;
}
.signup .ctct-inline-form :-webkit-autofill,
.signup form :-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}
.signup .ctct-inline-form :-moz-autofill,
.signup form :-moz-autofill {
  -moz-box-shadow: 0 0 0px 1000px #fff inset;
}
.signup .ctct-inline-form ::-moz-autofill,
.signup form ::-moz-autofill {
  -moz-box-shadow: 0 0 0px 1000px #fff inset;
}

.contact .wrap {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  gap: 4.6rem;
}
.contact .wrap figure {
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  .contact .wrap {
    flex-direction: column;
    gap: 2.3rem;
  }
  .contact .wrap figure {
    flex: 1;
  }
  .contact .wrap .text-wrap {
    width: 100%;
  }
}
@media only screen and (min-width: 769px) {
  .contact .wrap {
    flex-direction: row-reverse;
  }
  .contact .wrap figure {
    flex: 2;
  }
  .contact .wrap .text-wrap {
    flex: 1;
  }
}

.input-wrap {
  position: relative;
  width: 100%;
  max-width: 24em;
  padding-top: 2.3rem;
}
.input-wrap input {
  width: 100%;
}
.input-wrap label {
  position: absolute;
  top: 2.3rem;
  left: 0;
  max-width: 100%;
  color: inherit;
  display: inline-block;
  cursor: text;
  transition: all 0.382s linear;
  z-index: 2;
  white-space: nowrap;
  overflow: hidden;
}
.input-wrap:hover input,
.input-wrap:hover label, .input-wrap:focus-within input,
.input-wrap:focus-within label {
  background-color: #0ff;
}
.input-wrap:focus-within label, .input-wrap.has-value label {
  top: -1.15rem;
  padding-top: 1.15rem;
  line-height: 2.3rem;
}
.input-wrap.has-value:not(:focus-within) label {
  background-color: #fff;
}

[draggable] {
  user-select: none;
  cursor: move;
}

.align-center {
  text-align: center;
}
.align-center input {
  text-align: left;
}

.video-image-button {
  border: 3px solid;
}
.video-image-button:hover, .video-image-button:focus:not(:active) {
  border-color: #0ff;
}
.video-image-button:hover::after, .video-image-button:focus:not(:active)::after {
  color: #0ff;
}

.video-thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 2.1;
}
.video-thumb button {
  width: 100%;
  height: 100%;
}
.video-thumb button::after {
  content: "▶";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 300%;
  filter: drop-shadow(0 0 1rem #fff);
}
.video-thumb + p {
  margin-top: 0.575rem;
}

/*--
    sociablekit.com EVENTBRITE EVENTS
    https://www.sociablekit.com/app/users/widgets/update_embed/25436843
    free account with custom css below (see JS too!)
--*/
.sk-eventbrite-event,
h2,
.mfp-content,
.title {
  background-color: transparent !important;
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

.sk_eventbrite_events_pop_html_event_details,
.photo-thumb,
.grid-content {
  border-radius: 0 !important;
}

.sk-item-location-container,
.sk_branding,
.tutorial_link,
.sk_ww_fb_events_hosted_by,
.sk_eventbrite_events_options,
.sk_eventbrite_events_grid_view_title {
  display: none !important;
  padding: 0 !important;
}

.mfp-content *:not(.mfp-close):not(.date),
.mfp-content [style*=font-size],
.sk-eventbrite-event *:not(.mfp-close):not(.date),
.sk-eventbrite-event [style*=font-size] {
  font-size: inherit !important;
  color: inherit !important;
}
.mfp-content .sk-item-location-container + div,
.mfp-content div:has(iframe),
.sk-eventbrite-event .sk-item-location-container + div,
.sk-eventbrite-event div:has(iframe) {
  display: none !important;
}

.sk-event-details a {
  color: #09f !important;
}
.sk-event-details a:hover, .sk-event-details a:focus {
  color: black !important;
}

.sk-eventbrite-event .sk-upcoming-events {
  margin: 0 !important;
}
.sk-eventbrite-event .sk-fb-event-thumb-section,
.sk-eventbrite-event .sk_eventbrite_events_col {
  float: none !important;
  width: 40% !important;
  min-height: calc(24vw - 4.6rem) !important;
}
.sk-eventbrite-event .photo-thumb {
  height: 100%;
}
.sk-eventbrite-event .sk_ww_fb_events_date_time {
  display: block !important;
  margin: 1.15rem 0 !important;
}
.sk-eventbrite-event .sk-event-details-scroll {
  height: auto !important;
}
.sk-eventbrite-event .grid-content {
  margin: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.sk-eventbrite-event .date {
  background-color: black !important;
  border-radius: 0 !important;
  line-height: 4.6rem !important;
  height: 4.6rem !important;
}
.sk-eventbrite-event .month {
  background: white !important;
  color: black !important;
  border-radius: 0 !important;
  line-height: 2.3rem !important;
  height: 2.3rem !important;
}
.sk-eventbrite-event .event-single-item {
  display: flex !important;
  align-items: stretch !important;
}
.sk-eventbrite-event .event-details {
  width: 60% !important;
  background-color: white !important;
  padding: 4.6rem !important;
  margin: 0 !important;
}
.sk-eventbrite-event .event-btns {
  padding-top: 2.3rem !important;
}
.sk-eventbrite-event .grid-item-facebook-event {
  margin: 0 !important;
}
.sk-eventbrite-event .read-one-event-details {
  padding: 2.3rem !important;
  font-size: 16px !important;
}
.sk-eventbrite-event .sk-fb-event-thumb-section {
  padding: 0 !important;
}
.sk-eventbrite-event .grid_sk_upcoming_events {
  display: flex;
  flex-direction: column;
  gap: 4.6rem;
}
.sk-eventbrite-event .no_events_found {
  background-color: transparent !important;
  margin: auto !important;
  color: inherit !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.125em !important;
  cursor: pointer !important;
}
.sk-eventbrite-event .no_events_found::after {
  content: "Sign up to stay updated!";
  text-transform: none !important;
  display: block !important;
  margin-top: 2.3rem !important;
}
.sk-eventbrite-event .no_events_found:hover::after, .sk-eventbrite-event .no_events_found:focus:not(:active)::after {
  text-decoration-thickness: 0.125em;
}
@media only screen and (min-width: 1024px) {
  .sk-eventbrite-event .event-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
@media only screen and (max-width: 1023px) {
  .sk-eventbrite-event .event-btns,
  .sk-eventbrite-event .event-details,
  .sk-eventbrite-event .sk-fb-event-thumb-section,
  .sk-eventbrite-event .sk_eventbrite_events_col,
  .sk-eventbrite-event .sk_ww_fb_events_date_time,
  .sk-eventbrite-event .sk-eventbrite-event .title {
    width: 100% !important;
  }
  .sk-eventbrite-event .event-details {
    padding: 2.3rem !important;
  }
  .sk-eventbrite-event .date-month {
    top: 2.3rem !important;
    left: 2.3rem !important;
  }
}
@media only screen and (max-width: 768px) {
  .sk-eventbrite-event .photo-thumb {
    aspect-ratio: 2.1 !important;
  }
  .sk-eventbrite-event .grid_sk_upcoming_events {
    gap: 2.3rem !important;
  }
  .sk-eventbrite-event .event-single-item {
    flex-direction: column !important;
  }
  .sk-eventbrite-event .date-month {
    top: 1.15rem !important;
    left: 1.15rem !important;
  }
  .sk-eventbrite-event .sk-eventbrite-event-initial-details-section {
    float: none !important;
    padding: 1.15rem !important;
  }
}

.mfp-container {
  overflow: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 4.6rem !important;
}
.mfp-container .read-one-event-title {
  text-align: left !important;
  padding-bottom: 2.3rem !important;
}
.mfp-container .sk-event-details a {
  margin-bottom: 2.3rem !important;
}
.mfp-container .sk_eventbrite_events_white_pop_up {
  max-width: 540px !important;
  margin: 0 auto !important;
  top: 2.3rem !important;
}
.mfp-container .mfp-close {
  top: -4.6rem !important;
  line-height: 4.6rem !important;
  font-size: 4.6rem !important;
}

.event-button {
  display: inline-block;
  background-color: #09f;
  border-radius: 0;
  border: 0;
  color: black;
  text-transform: uppercase;
  padding: 0.575rem 1.15rem;
  font-family: inherit;
  line-height: 2.3rem;
  margin-top: 2.3rem;
}

.event-wrap h4 + p,
.event-wrap p + p {
  margin-top: 1.15rem;
}

.past-events .event-wrap {
  display: flex;
  align-items: stretch;
  background-color: #fff;
}
@media only screen and (min-width: 1024px) {
  .past-events .video-thumb {
    width: 40%;
  }
  .past-events .text-wrap {
    width: 60%;
    padding: 4.6rem;
  }
}
@media only screen and (max-width: 1023px) {
  .past-events .video-thumb,
  .past-events .text-wrap {
    width: 50%;
  }
  .past-events .text-wrap {
    padding: 2.3rem;
  }
}
@media only screen and (max-width: 768px) {
  .past-events .event-wrap {
    flex-direction: column;
  }
  .past-events .video-thumb,
  .past-events .text-wrap {
    width: 100%;
  }
}

.video-button {
  margin-top: 2.3rem;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 4;
  background-color: rgba(0, 0, 0, 0.85);
  display: none;
  justify-content: center;
  align-items: center;
  padding: 9.2rem 2.3rem;
}
.modal.open {
  display: flex;
}
.modal .modal-content {
  position: relative;
  width: 100%;
  border: 0;
  background-color: transparent;
}
.modal iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  max-height: calc(100vh - 18.4rem);
}
.modal .close-button {
  position: absolute;
  top: 2.3rem;
  right: 2.3rem;
  color: #fff;
  font-size: 200%;
}
.modal .close-button:hover, .modal .close-button:focus:not(:active) {
  color: #f33;
  transform: scale(1.1);
}

.widont {
  text-wrap: pretty;
}

.balance-text {
  text-rendering: optimizeLegibility;
  text-wrap: balance;
}

.pause-animations * {
  animation: none !important;
  transition: none !important;
}

@media only screen and (max-width: 768px) and (max-height: 400px) {
  main {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
}
[data-touch-events] select, [data-touch-events] textarea, [data-touch-events] input[type=text], [data-touch-events] input[type=password],
[data-touch-events] input[type=datetime], [data-touch-events] input[type=datetime-local],
[data-touch-events] input[type=date], [data-touch-events] input[type=month], [data-touch-events] input[type=time],
[data-touch-events] input[type=week], [data-touch-events] input[type=number], [data-touch-events] input[type=email],
[data-touch-events] input[type=url] {
  font-size: 16px;
}

.screenreader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
