@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

body {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
  background-color: #fff;
  color: #000;
  -webkit-font-smoothing: antialiased; }

a {
  color: #3e3eff; }
  a:hover {
    color: #0000d7; }

strong, b {
  font-weight: 700;
  color: inherit; }

i, em {
  font-style: italic; }

img {
  max-width: 100%; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Montserrat", sans-serif;
  font-weight: 900; }

@keyframes fadeIn {
  0% {
    opacity: 0; } }

.main--container {
  margin-left: auto;
  margin-right: auto; }

.content--container,
.content-container {
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
  padding: 0 1rem; }
  .content--container section,
  .content-container section {
    margin-bottom: 3rem; }

.background-container--highlight {
  color: #fff;
  background-color: #3e3eff;
  padding-top: 3rem;
  padding-bottom: 3rem;
  max-width: initial;
  margin: 3rem 0; }
  .background-container--highlight .section__title,
  .background-container--highlight .post-element__category,
  .background-container--highlight .post-element__title {
    color: #fff; }

@media all and (min-width: 42em) {
  .background-container--highlight {
    padding-top: 6rem;
    padding-bottom: 6rem; } }

header {
  padding: 1rem; }

@media all and (min-width: 42em) {
  header {
    padding: 1rem 2rem; }
  .content--container,
  .content-container {
    padding: 0 2rem; }
    .content--container section,
    .content-container section {
      margin-top: 8rem;
      margin-bottom: 8rem; }
  .content-container--highlight {
    padding-top: 3rem;
    padding-bottom: 3rem; } }

@media all and (min-width: 46em) {
  header {
    padding: 1rem 4rem; }
  .content--container,
  .content-container {
    padding: 0 4rem; } }

@media all and (min-width: 64em) {
  header {
    padding: 1rem 7rem; }
  .content--container,
  .content-container {
    padding: 0 7rem; } }

.static--body {
  position: relative; }
  .static--body:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1rem;
    background-image: url("img/static/static-top.svg");
    background-position: top left;
    background-size: contain;
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto; }

.footer--element {
  width: 100%;
  height: 41vw;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url("img/static/static-bottom.svg"); }

.partners, .social {
  margin: 0.75rem 0;
  padding: 1.5rem 1rem;
  font-size: 1rem;
  text-align: center;
  display: block; }
  .partners h4, .social h4 {
    margin-bottom: 0.75rem; }
  .partners li, .social li {
    display: inline-block;
    vertical-align: middle; }
    .partners li a, .social li a {
      display: block;
      margin: 1rem;
      transition: opacity .3s ease; }
      .partners li a:hover, .partners li a:active, .social li a:hover, .social li a:active {
        opacity: .75; }

.social-media li {
  display: inline-block;
  vertical-align: middle; }
  .social-media li a {
    display: block;
    margin: 1rem;
    transition: opacity .3s ease; }
    .social-media li a:hover, .social-media li a:active {
      opacity: .75; }

.partners {
  margin-left: auto;
  margin-right: auto; }
  .partners .partners--container {
    width: 100%;
    overflow: hidden; }
    .partners .partners--container ul {
      font-size: 0;
      display: block;
      transition: margin .6s ease;
      width: 400%; }
    .partners .partners--container li {
      display: inline-block;
      vertical-align: middle; }
      .partners .partners--container li a {
        width: 100%;
        display: inline-block;
        vertical-align: middle;
        width: 22.5%;
        margin: 0 1.25%;
        transition: opacity .3s ease; }
        .partners .partners--container li a:hover, .partners .partners--container li a:active {
          opacity: .6; }
  .partners img {
    width: 100%;
    height: 100%;
    max-height: 5rem;
    object-fit: contain;
    display: block; }

.social {
  border-bottom: none;
  max-width: 68rem;
  margin-left: auto;
  margin-right: auto; }
  .social .footer--block {
    margin-bottom: 1.5rem;
    font-size: .875rem; }

.social-media a {
  display: block;
  text-indent: -9999em;
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center; }

.facebook {
  background-image: url("img/fb.svg"); }

.twitter {
  background-image: url("img/tw.svg"); }

.instagram {
  background-image: url("img/ig.svg"); }

.colofon {
  background-color: #3e3eff;
  color: #fff;
  padding: 2rem 0 0 0;
  padding-top: 7rem;
  position: relative; }
  .colofon:before {
    content: '';
    position: absolute;
    top: -.125rem;
    left: 0;
    right: 0;
    background-size: contain;
    background-position: center left;
    background-repeat: round;
    background-image: url("img/patterns/white-pattern.svg");
    height: 4rem; }
  .colofon a,
  .colofon h1, .colofon h2, .colofon h3, .colofon h4, .colofon h5, .colofon h6 {
    color: inherit; }

.colofon__content {
  background-color: transparent; }

.footer--block {
  padding-bottom: 1.5rem; }

@media all and (min-width: 52em) {
  .partners, .social {
    text-align: left; }
  .colofon__content {
    display: flex;
    align-items: stretch; }
  .colofon__block {
    flex: 1; }
  .footer--block {
    min-height: 10rem;
    padding-top: 2rem;
    text-align: left; }
    .footer--block:last-of-type {
      position: relative;
      z-index: 1; }
      .footer--block:last-of-type p {
        margin-left: 2rem; }
      .footer--block:last-of-type:before {
        content: '';
        top: 0;
        left: 0;
        right: -4rem;
        bottom: 0;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: top left;
        background-image: url("img/patterns/footer.svg");
        position: absolute;
        display: block;
        z-index: -1; }
  .social {
    display: flex;
    align-items: flex-start; }
    .social .footer--block {
      flex: 1; }
      .social .footer--block:last-of-type {
        text-align: right; }
    .social .contact {
      flex: 1.3;
      position: relative;
      padding-left: 2.5rem;
      padding-right: 2.5rem;
      margin-left: 1.5rem;
      margin-right: 1.5rem; }
      .social .contact:before, .social .contact:after {
        content: '';
        width: 1rem;
        position: absolute;
        top: 0;
        bottom: 0;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain; }
      .social .contact:before {
        left: 0;
        background-image: url("img/footer-left.svg"); }
      .social .contact:after {
        right: 0;
        background-image: url("img/footer-right.svg"); } }

@media all and (min-width: 80em) {
  .footer--block:last-of-type p {
    margin-left: 3rem; } }

.contact {
  font-size: .875rem;
  line-height: 1.25rem; }
  .contact .contact--text {
    flex: 1.2; }
  .contact .contact--image {
    flex: .8;
    font-size: .75rem;
    max-width: 8rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.5rem; }
  .contact h4 {
    text-transform: uppercase;
    font-weight: 700; }

@media all and (min-width: 52em) {
  .contact {
    display: flex; }
    .contact .contact--image {
      margin-right: 2rem; } }

footer {
  text-align: center; }

@media all and (min-width: 52em) {
  .footer--element {
    display: none; } }

header {
  display: flex;
  flex-direction: column;
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto; }
  header .logo {
    order: 1; }
  header .ticket--bar, header .countdown {
    order: 2; }
  header .language--select {
    order: 3;
    display: flex;
    justify-content: center;
    padding: 1.5rem 0; }
    header .language--select a {
      color: #3e3eff; }
  header nav {
    order: 4;
    text-align: center;
    margin-bottom: 1rem; }
    header nav li {
      padding: .5rem 0; }
      header nav li:last-of-type {
        margin-right: 0; }

header .logo {
  width: 6rem; }

header nav a {
  color: #000;
  text-decoration: none; }
  header nav a:hover, header nav a:active {
    text-decoration: underline; }

header .language--select {
  color: #3e3eff; }
  header .language--select li {
    margin: 0;
    padding: 0 .5rem;
    position: relative; }
    header .language--select li:after {
      content: '';
      width: .0625rem;
      position: absolute;
      right: 0;
      top: .25rem;
      bottom: .125rem;
      background-color: #ff3e67; }
    header .language--select li:last-of-type {
      padding-right: 0; }
      header .language--select li:last-of-type:after {
        display: none; }
    header .language--select li a {
      display: inline-block;
      position: relative;
      text-transform: lowercase;
      text-decoration: none; }
      header .language--select li a:before, header .language--select li a:after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        height: .75rem; }
  header .language--select .current-lang a {
    font-weight: 700; }
    header .language--select .current-lang a:before {
      top: -.75rem;
      background-image: url("img/menu-top.svg"); }
    header .language--select .current-lang a:after {
      bottom: -.75rem;
      background-image: url("img/menu-bottom.svg"); }

@media all and (min-width: 72em) {
  header .logo {
    width: 9rem; } }

.menu--toggle {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 3rem;
  height: 3rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-color: transparent;
  background-image: url("img/menu-close.svg");
  outline: none;
  cursor: pointer;
  border: none;
  text-indent: -9999rem; }

.header--hidden .menu--toggle {
  background-image: url("img/menu-button.svg"); }

.header--hidden nav, .header--hidden .language--select {
  display: none; }

@media all and (min-width: 42em) {
  .header--hidden nav {
    display: flex; }
  .header--hidden .language--select {
    display: block; }
  header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    flex-direction: row; }
    header .menu--toggle {
      display: none; }
    header .logo, header .ticket--bar, header .language--select, header nav, header .countdown {
      order: initial; }
    header nav {
      margin-left: 3rem;
      flex: 1;
      display: flex;
      text-align: left;
      margin-bottom: 0;
      justify-content: flex-end;
      align-items: center; }
      header nav .menu {
        flex: 1; }
    header ul {
      text-align: end; }
      header ul li {
        margin: 0 .5em;
        padding: 0;
        display: inline-block; }
    header nav li {
      position: relative;
      padding-top: .375rem;
      padding-bottom: .375rem;
      font-size: .875rem; }
    header .language--select {
      position: relative;
      margin-left: 1rem;
      padding-left: 1rem;
      display: block;
      padding: 0;
      min-width: 6rem;
      margin-left: 0; } }

@keyframes moveBar {
  0% {
    background-position: 0 2px; }
  100% {
    background-position: -258px 2px; } }

.ticket--bar {
  width: calc(100% + 2rem);
  margin-left: -1rem;
  margin-right: -1rem;
  height: 2.5rem;
  margin-top: .5rem;
  background-image: url("img/postponed.svg");
  background-size: 258px 37px;
  background-position: 0 2px;
  border-top: 0.0625rem dashed #3e3eff;
  border-bottom: 0.0625rem dashed #3e3eff;
  animation: 6s linear 0s infinite moveBar;
  text-indent: -9999em;
  transition: opacity .3s ease; }
  .ticket--bar:hover, .ticket--bar:active {
    border-top: 0.0625rem solid #3e3eff;
    border-bottom: 0.0625rem solid #3e3eff;
    opacity: .65;
    animation-play-state: paused; }

.countdown {
  width: 100%;
  margin-left: -1rem;
  margin-right: -1rem;
  margin-top: .5rem;
  background: #fff;
  color: #3e3eff;
  border-top: 0.0625rem dashed #3e3eff;
  border-bottom: 0.0625rem dashed #3e3eff;
  transition: opacity .3s ease;
  text-align: center;
  padding: 1rem 1rem;
  text-transform: uppercase;
  font-size: 1.25rem;
  line-height: 1.25rem; }
  .countdown .countdown-date {
    text-transform: initial;
    font-size: 1rem;
    margin-bottom: 0;
    margin-top: .25rem;
    line-height: 2rem;
    display: block; }
  .countdown strong {
    color: #ff3e67;
    font-weight: 700;
    font-size: 2em;
    line-height: 2rem;
    display: inline-block;
    vertical-align: middle;
    padding-left: .5rem;
    margin-left: .5rem;
    margin-bottom: .25rem;
    border-left: 0.0625rem solid #ff3e67; }
    .countdown strong:first-of-type {
      border-left: none; }

@media all and (min-width: 42em) {
  .countdown .countdown-date {
    margin-top: 0;
    margin-bottom: .25rem;
    display: inline;
    vertical-align: middle; } }

section .section--content, section .highlights--container, section .section--quote {
  margin: 1rem; }

.section--block__text {
  margin: 1.5rem 0 !important; }
  .section--block__text h2, .section--block__text .wysiwyg {
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto; }

@media all and (min-width: 42em) {
  .section--block__text {
    margin: 1rem !important; } }

.type--quote, .type--live-quote {
  position: relative;
  margin-top: 5rem;
  margin-bottom: 5rem;
  font-style: italic; }
  .type--quote .section--content, .type--live-quote .section--content {
    margin: 0;
    padding: 1rem; }
  .type--quote:before, .type--quote:after, .type--live-quote:before, .type--live-quote:after {
    content: '';
    height: 1rem;
    width: 100%;
    max-width: 30rem;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    left: 0;
    right: 0;
    background-size: contain;
    background-position: left center;
    background-repeat: round;
    background-image: url("img/quote.svg"); }
  .type--quote:before, .type--live-quote:before {
    top: -1rem; }
  .type--quote:after, .type--live-quote:after {
    bottom: -1rem; }

.type--live-quote {
  margin-top: auto;
  margin-bottom: auto; }
  .type--live-quote:before, .type--live-quote:after {
    display: none; }

section h2, .page--title {
  text-transform: uppercase;
  color: #3e3eff;
  margin-bottom: 1.5rem;
  font-size: 1.5rem; }
  section h2 span, .page--title span {
    will-change: transform;
    z-index: 1;
    transform-origin: center center;
    transition: transform .3s ease;
    display: inline-block; }

.page--title {
  margin-top: 1.5rem; }

.type--quote, .type--live-quote, .type--live .wysiwyg {
  color: #3e3eff;
  font-size: 1.5rem;
  line-height: 2rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 60rem;
  text-align: center;
  font-weight: 700; }
  .type--quote h2, .type--quote p, .type--quote a, .type--quote ul, .type--quote ol, .type--live-quote h2, .type--live-quote p, .type--live-quote a, .type--live-quote ul, .type--live-quote ol, .type--live .wysiwyg h2, .type--live .wysiwyg p, .type--live .wysiwyg a, .type--live .wysiwyg ul, .type--live .wysiwyg ol {
    color: inherit; }

@media all and (min-width: 42em) {
  .type--quote, .type--live-quote, .type--live .wysiwyg {
    font-size: 2rem;
    line-height: 3rem; } }

.type--live .wysiwyg {
  margin: 0;
  padding: 1rem; }

.type--button .button {
  background-color: #3e3eff;
  text-transform: uppercase;
  font-size: 1.25rem;
  padding: 1.25rem 2rem;
  border-radius: 2rem;
  width: fit-content;
  display: block;
  margin-left: auto;
  margin-right: auto; }

@media all and (min-width: 42em) {
  .type--quote .section--content, .type--live-quote .section--content {
    padding: 2rem; }
  .type--live .wysiwyg {
    padding: 2rem; } }

@media all and (min-width: 64em) {
  .type--quote blockquote, .type--live-quote blockquote {
    font-size: 1.5rem;
    line-height: 2rem; }
  .type--live .wysiwyg {
    font-size: 1.25rem;
    line-height: 1.875rem; } }

.type--gallery {
  display: block;
  text-align: center;
  position: relative;
  background-color: #3e3eff;
  color: #fff;
  flex-wrap: wrap; }
  .type--gallery .gallery--image {
    text-align: left;
    margin-left: auto;
    margin-right: auto; }
    .type--gallery .gallery--image img, .type--gallery .gallery--image .gallery--image--text {
      margin: 1rem; }
    .type--gallery .gallery--image img {
      max-width: calc(100% - 2rem); }
    .type--gallery .gallery--image .gallery--image--text h2, .type--gallery .gallery--image .gallery--image--text p {
      margin-bottom: 0.75rem; }
    .type--gallery .gallery--image .gallery--image--text h2 {
      font-size: 1.25rem;
      line-height: 1.75rem;
      color: inherit; }

.gallery__nav {
  display: block;
  text-align: center;
  width: 100%; }

.index-button {
  display: inline-block;
  vertical-align: middle;
  width: 1rem;
  height: 1rem;
  border-radius: .5rem;
  background-color: #fff;
  margin: .5rem;
  outline: none;
  border: none;
  text-indent: -99999em;
  padding: 0;
  cursor: pointer;
  opacity: .5; }

.index-button--active {
  opacity: 1; }

.gallery--previous, .gallery--next {
  width: 2rem;
  height: 2rem;
  margin: .5rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  outline: none;
  cursor: pointer;
  border: none;
  text-indent: -9999rem;
  background-color: #ff3e67;
  border-radius: 1rem;
  transition: background-color, .2s ease;
  display: inline-block;
  vertical-align: middle; }
  .gallery--previous:hover, .gallery--previous:active, .gallery--next:hover, .gallery--next:active {
    background-color: #ff3e67; }

.gallery--previous {
  background-image: url("img/gallery-back.svg"); }

.gallery--next {
  background-image: url("img/gallery-next.svg"); }

/*@media all and (min-width: 52em){
	.gallery--previous--container, .gallery--next--container{
		position: absolute;
    top: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
		align-items: center;
		button{
			margin: 0;
		}
	}
	.gallery--previous--container{
		left: -1rem;
	}
	.gallery--next--container{
		right: -1rem;
	}

	.type--gallery{
		.gallery--image{
			img{
				margin-left: 1.5rem;
			}
			.gallery--image--text{
				margin-right: 1.5rem;
			}
		}
	}
}*/
.js--active .type--gallery .gallery--image--hidden {
  display: none; }

@media all and (min-width: 52em) {
  .type--gallery .gallery--image {
    display: flex;
    align-items: center; }
    .type--gallery .gallery--image img, .type--gallery .gallery--image .gallery--image--text {
      flex: 1;
      width: 50%; } }

.highlights--list {
  display: flex;
  flex-wrap: wrap; }
  .highlights--list h2 {
    width: 100%; }
  .highlights--list article {
    width: 50%; }

.highlights--container article {
  height: 16rem;
  margin-bottom: 1rem;
  width: 100%; }

.highlights--container h2 {
  width: 100%; }

.highlights--container .highlights--container--cta {
  width: 100%;
  text-align: center;
  margin-top: 1.5rem;
  flex: initial; }
  .highlights--container .highlights--container--cta a {
    width: fit-content;
    display: inline-block; }

@media all and (min-width: 32em) {
  .highlights--container article {
    width: calc(50% - .5rem);
    margin-right: 1rem; }
    .highlights--container article:nth-of-type(even) {
      margin-right: 0; }
  .highlights--container .top--highlight {
    height: 22rem;
    width: 100%;
    margin: 0;
    margin-bottom: 1rem; }
  .highlights--container .highlights-4 article:first-of-type {
    margin-right: 0;
    width: 100%; }
  .highlights--container .highlights-4 article:nth-of-type(2) {
    margin-right: 1rem; }
  .highlights--container .highlights-4 article:nth-of-type(3) {
    margin-right: 0; } }

@media all and (min-width: 42em) {
  .highlights--container {
    display: flex;
    flex-wrap: wrap; }
    .highlights--container .top--highlight {
      height: 23rem;
      margin: 0;
      margin-right: .5rem; }
    .highlights--container .highlights--list {
      margin-left: .5rem; }
      .highlights--container .highlights--list article {
        width: calc(50% - .5rem);
        height: 11rem; }
    .highlights--container .top--highlight, .highlights--container .highlights--list {
      width: calc(50% - 1rem); }
    .highlights--container .highlights--container--cta {
      text-align: right; } }

@media all and (min-width: 42em) {
  .highlights--container .top--highlight {
    height: 32rem; }
  .highlights--container .highlights--list article {
    height: 15.5rem; } }

.highlights--container article, .artists article {
  box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16); }
  .highlights--container article a, .artists article a {
    text-decoration: none;
    display: block;
    height: 100%;
    position: relative; }
    .highlights--container article a:hover .article--image:before, .highlights--container article a:active .article--image:before, .artists article a:hover .article--image:before, .artists article a:active .article--image:before {
      background-color: transparent; }
  .highlights--container article .article--image, .artists article .article--image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 51px;
    z-index: 0;
    font-size: 0;
    line-height: 0; }
    .highlights--container article .article--image img, .artists article .article--image img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .highlights--container article .article--image:before, .artists article .article--image:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: #ff3e67;
      mix-blend-mode: screen;
      opacity: .50;
      transition: background-color .3s ease; }
  .highlights--container article h3, .artists article h3 {
    color: #000;
    padding: 1rem 2.125rem 1rem 1rem;
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: #fff;
    font-size: .9375rem;
    line-height: 1.24rem; }
    .highlights--container article h3:after, .artists article h3:after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      width: 2.5rem;
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      background-image: url("img/small-arrow-support.svg"); }
  .highlights--container article:nth-of-type(even) .article--image:before, .artists article:nth-of-type(even) .article--image:before {
    background-color: #3e3eff;
    opacity: .69; }
  .highlights--container article:nth-of-type(even) h3, .artists article:nth-of-type(even) h3 {
    color: #000; }
    .highlights--container article:nth-of-type(even) h3:after, .artists article:nth-of-type(even) h3:after {
      background-image: url("img/small-arrow-main.svg"); }

@media all and (min-width: 42em) {
  .homepage--intro {
    display: flex;
    align-items: center; }
  .content--container section {
    display: flex;
    align-items: center; }
  section h2 {
    text-align: left; }
  section.type--live, section.type--archive {
    display: block; } }

.homepage--intro {
  background-color: #3e3eff;
  color: #fff;
  line-height: 0;
  position: relative;
  margin-bottom: 3rem; }
  .homepage--intro:after {
    content: '';
    height: 2rem;
    position: absolute;
    right: 0;
    left: 0;
    bottom: -2rem;
    background-image: url("img/intro-bottom.svg");
    background-position: left center;
    background-size: contain; }
  .homepage--intro h1 {
    color: #fff;
    font-size: 1.5rem;
    line-height: 1.875rem;
    margin-bottom: 0.75rem; }
  .homepage--intro p {
    font-size: .875rem;
    line-height: 1.3125rem; }
  .homepage--intro .section--content {
    padding: 3rem 0;
    font-size: .875rem;
    line-height: 1.3125rem; }
    .homepage--intro .section--content h1, .homepage--intro .section--content p {
      max-width: 32rem;
      margin-left: auto;
      margin-right: auto; }
  .homepage--intro .section--content {
    position: relative; }
    .homepage--intro .section--content:before {
      content: '';
      position: absolute;
      top: -1rem;
      left: -1rem;
      right: -1rem;
      height: 2rem;
      background-image: url("img/intro-side.svg");
      background-position: top center;
      background-size: contain; }
  .homepage--intro .section--image {
    position: relative; }
    .homepage--intro .section--image:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      mix-blend-mode: screen;
      background-color: #3e3eff;
      opacity: .69; }

@media all and (min-width: 42em) {
  .homepage--intro {
    margin-bottom: 6rem;
    line-height: 0; }
    .homepage--intro:after {
      height: 3rem;
      bottom: -3rem; }
    .homepage--intro:before {
      content: '';
      width: 2rem;
      position: absolute;
      top: 0;
      right: calc(50% - 2rem);
      bottom: 0;
      background-image: url("img/intro-side.svg");
      background-position: top center;
      background-size: contain; }
    .homepage--intro h1 {
      font-size: 2rem;
      line-height: 2.5rem; }
    .homepage--intro p {
      font-size: 1rem;
      line-height: 1.5rem; }
    .homepage--intro .section--image {
      align-self: stretch;
      order: 2; }
      .homepage--intro .section--image img {
        object-fit: cover;
        height: 100%; }
    .homepage--intro .section--content {
      padding: 3rem 2rem 3rem 0; }
      .homepage--intro .section--content:before {
        display: none; } }

.section--image {
  line-height: 0; }
  .section--image img {
    width: 100%; }

.section--content blockquote p {
  font-weight: 900; }
  .section--content blockquote p:before {
    content: '“'; }
  .section--content blockquote p:after {
    content: '”'; }

.section--content .wysiwyg ol {
  margin-left: 0; }
  .section--content .wysiwyg ol li {
    list-style-type: none;
    padding-left: 2.75rem;
    margin-bottom: .75rem;
    position: relative; }
    .section--content .wysiwyg ol li:before {
      content: '1';
      position: absolute;
      top: 0;
      left: 0;
      width: 2rem;
      height: 2rem;
      background-position: top left;
      background-repeat: no-repeat;
      background-size: contain;
      background-image: url("img/patterns/1-full.svg");
      color: #fff;
      text-align: center;
      font-weight: 700;
      line-height: 1rem;
      font-size: 1rem;
      padding-top: .5rem; }
    .section--content .wysiwyg ol li:nth-of-type(2):before {
      content: '2'; }
    .section--content .wysiwyg ol li:nth-of-type(3):before {
      content: '3'; }
    .section--content .wysiwyg ol li:nth-of-type(4):before {
      content: '4'; }
    .section--content .wysiwyg ol li:nth-of-type(5):before {
      content: '5'; }
    .section--content .wysiwyg ol li:nth-of-type(6):before {
      content: '6'; }
    .section--content .wysiwyg ol li:nth-of-type(7):before {
      content: '7'; }
    .section--content .wysiwyg ol li:nth-of-type(8):before {
      content: '8'; }
    .section--content .wysiwyg ol li:nth-of-type(9):before {
      content: '9'; }

@media all and (min-width: 56em) {
  .homepage--intro h1 {
    font-size: 2.25rem;
    line-height: 3rem; }
  .homepage--intro p {
    font-size: 1.125rem;
    line-height: 1.6875rem; } }

@media all and (min-width: 70em) {
  .homepage--intro h1 {
    font-size: 3rem;
    line-height: 3.5rem; }
  .homepage--intro p {
    font-size: 1.25rem;
    line-height: 1.875rem; } }

.schedule {
  position: relative;
  height: 827px;
  background-image: linear-gradient(to right, transparent 0, transparent 10px, white 10px, white 12px), linear-gradient(to bottom, transparent 0, transparent calc(100% - .0625rem), #ff3e67 calc(100% - .0625rem), #ff3e67 100%);
  background-size: 12px 60px;
  display: flex;
  padding-left: 10%;
  margin-top: 0;
  font-size: 0; }
  .schedule .hours {
    background-color: #fff;
    width: calc(10% - 1rem);
    padding-right: 1rem;
    text-align: right;
    position: absolute;
    top: 47px;
    left: 0;
    font-size: .875rem;
    font-weight: 900; }
    .schedule .hours li {
      height: 60px; }

.venue {
  background-size: 100% 60px;
  position: relative;
  display: inline-block;
  width: calc(20% - .25rem);
  margin: 0 .125rem;
  margin-top: -1px; }
  .venue h3, .venue .events {
    font-size: .875rem; }
  .venue h3 {
    text-align: center; }
  .venue .event {
    position: absolute;
    width: 100%;
    top: 0; }
    .venue .event a {
      background: #3e3eff;
      padding: .125rem .5rem;
      border-radius: .25rem;
      text-decoration: none;
      color: #fff;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      min-height: 15px;
      transition: background-color .2s ease;
      line-height: 1.25rem; }
      .venue .event a strong {
        display: none; }
      .venue .event a:hover, .venue .event a:active {
        background-color: #ff3e67; }

.schedule--container {
  display: block; }

@media all and (max-width: 41.9375em) {
  .schedule {
    display: block;
    background: none;
    height: auto !important;
    padding: 0; }
    .schedule .hours {
      display: none; }
  .venue {
    position: relative;
    width: auto;
    display: block;
    margin-bottom: 1.5rem; }
    .venue h3 {
      text-align: left; }
    .venue .event {
      left: 0;
      position: relative;
      margin-top: 0.375rem !important;
      top: 0 !important;
      width: 100%;
      min-height: 0 !important;
      padding-bottom: .375rem;
      margin-bottom: .375rem; }
      .venue .event a {
        display: block;
        position: relative;
        margin: 0;
        padding: 0;
        background-color: transparent;
        color: #3e3eff; }
        .venue .event a strong {
          display: block;
          color: #3e3eff; }
        .venue .event a:hover, .venue .event a:active {
          background-color: inherit; } }

.button,
.menu li:last-of-type a,
.current_page_item a {
  background-color: #ff3e67;
  color: #fff;
  font-size: 1rem;
  line-height: 1rem;
  padding: .5rem 1rem;
  border-radius: 1rem;
  font-weight: 700;
  transition-property: background-color, border;
  transition-duration: .2s;
  text-decoration: none;
  display: block;
  box-shadow: 0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
  border: none;
  cursor: pointer; }
  .button:hover, .button:active,
  .menu li:last-of-type a:hover,
  .menu li:last-of-type a:active,
  .current_page_item a:hover,
  .current_page_item a:active {
    background-color: #3e3eff;
    color: #fff; }

.menu li:last-of-type a,
.current_page_item a {
  border-radius: 0;
  transition-property: background-color, border, rotate;
  transform: rotate(1.5deg); }
  .menu li:last-of-type a:hover, .menu li:last-of-type a:active,
  .current_page_item a:hover,
  .current_page_item a:active {
    transform: rotate(0);
    background-color: #3e3eff;
    color: #fff; }

.menu li:last-of-type a {
  transform: rotate(-1.5deg); }

.button--active {
  background-color: #3e3eff; }

.menu li:last-of-type a {
  font-weight: normal; }

.current_page_item a {
  background-color: #3e3eff; }
  .current_page_item a:hover, .current_page_item a:active {
    text-decoration: none;
    background-color: #ff3e67; }

.cta {
  max-width: 15rem;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  background-color: #3e3eff; }
  .cta:hover, .cta:active {
    background-color: #ff3e67; }

.button--main {
  background-color: #3e3eff; }
  .button--main:hover, .button--main:active {
    background-color: #ff3e67; }

.overlay {
  display: none;
  z-index: 2; }
  .overlay a {
    color: inherit; }
  .overlay h2 {
    margin-bottom: 0; }

.video--overlay {
  display: none;
  z-index: 2; }
  .video--overlay a {
    color: inherit; }

.overlay-v2 {
  display: none;
  z-index: 2; }
  .overlay-v2 a {
    color: inherit; }

.overlay-v2--active .overlay-v2 {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: scroll;
  background-color: rgba(62, 0, 13, 0.85); }
  .overlay-v2--active .overlay-v2 .close--button, .overlay-v2--active .overlay-v2 .close--button-v2 {
    position: absolute;
    top: 1rem;
    right: 1.5rem;
    background-color: transparent;
    font-family: "Montserrat", sans-serif;
    line-height: 1rem;
    font-size: .75rem;
    color: #000;
    border: none;
    cursor: pointer;
    position: fixed;
    background-color: #fff;
    padding: .75rem .5rem .75rem 2.75rem;
    border-radius: 1rem;
    box-shadow: 0.125rem 0.125rem 0.25rem rgba(0, 0, 0, 0.4); }
    .overlay-v2--active .overlay-v2 .close--button:before, .overlay-v2--active .overlay-v2 .close--button-v2:before {
      content: '';
      width: 2rem;
      height: 2rem;
      position: absolute;
      bottom: 0;
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
      background-image: url("img/close.svg");
      top: .25rem;
      left: .25rem; }

.text--highlight {
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 700; }

.overlay--active {
  overflow: hidden; }
  .overlay--active .overlay {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: scroll;
    background-color: rgba(62, 62, 255, 0.5); }
    .overlay--active .overlay .close--button, .overlay--active .overlay .close--button-v2 {
      position: absolute;
      top: 1rem;
      right: 1.5rem;
      background-color: transparent;
      font-family: "Montserrat", sans-serif;
      line-height: 1rem;
      font-size: .75rem;
      color: #000;
      border: none;
      cursor: pointer;
      position: fixed;
      background-color: #fff;
      padding: .75rem .5rem .75rem 2.75rem;
      border-radius: 1rem;
      box-shadow: 0.125rem 0.125rem 0.25rem rgba(0, 0, 0, 0.4); }
      .overlay--active .overlay .close--button:before, .overlay--active .overlay .close--button-v2:before {
        content: '';
        width: 2rem;
        height: 2rem;
        position: absolute;
        bottom: 0;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        background-image: url("img/close.svg");
        top: .25rem;
        left: .25rem; }

.video--overlay--active {
  overflow: hidden; }
  .video--overlay--active .video--overlay {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: scroll;
    background-color: rgba(62, 62, 255, 0.5); }
    .video--overlay--active .video--overlay .close--button, .video--overlay--active .video--overlay .close--button-v2 {
      position: absolute;
      top: 1rem;
      right: 1.5rem;
      background-color: transparent;
      font-family: "Montserrat", sans-serif;
      line-height: 1rem;
      font-size: .75rem;
      color: #000;
      border: none;
      cursor: pointer;
      position: fixed;
      background-color: #fff;
      padding: .75rem .5rem .75rem 2.75rem;
      border-radius: 1rem;
      box-shadow: 0.125rem 0.125rem 0.25rem rgba(0, 0, 0, 0.4); }
      .video--overlay--active .video--overlay .close--button:before, .video--overlay--active .video--overlay .close--button-v2:before {
        content: '';
        width: 2rem;
        height: 2rem;
        position: absolute;
        bottom: 0;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        background-image: url("img/close.svg");
        top: .25rem;
        left: .25rem; }

.overlay-v2--active {
  overflow: hidden; }

.overlay--group {
  margin-bottom: 3rem; }

@media all and (min-width: 52em) {
  .overlay--active .overlay .close--button, .overlay--active .overlay .close--button-v2 {
    position: absolute;
    background-color: transparent;
    padding: .5rem 0 .5rem 2.5rem;
    border-radius: 0;
    box-shadow: initial;
    right: 1rem;
    color: #fff; }
    .overlay--active .overlay .close--button:before, .overlay--active .overlay .close--button-v2:before {
      top: 0;
      left: 0; }
  .overlay-v2--active .overlay-v2 .close--button, .overlay-v2--active .overlay-v2 .close--button-v2 {
    position: absolute;
    background-color: transparent;
    padding: .5rem 0 .5rem 2.5rem;
    border-radius: 0;
    box-shadow: initial;
    right: 1rem;
    color: #fff; }
    .overlay-v2--active .overlay-v2 .close--button:before, .overlay-v2--active .overlay-v2 .close--button-v2:before {
      top: 0;
      left: 0; } }

.overlay--active .overlay--content, .overlay-v2 .overlay--content, .single--activity {
  max-width: calc(100% - 2rem);
  margin-left: auto;
  margin-right: auto;
  color: #fff;
  background-color: #3e3eff;
  position: relative;
  margin-top: 2rem;
  margin-bottom: 2rem;
  box-shadow: 0.125rem 0.125rem 0.25rem rgba(0, 0, 0, 0.4); }
  .overlay--active .overlay--content .overlay--video, .overlay-v2 .overlay--content .overlay--video, .single--activity .overlay--video {
    width: 100%; }

h2, .single--activity h1 {
  font-size: 1.5rem;
  line-height: 2rem;
  margin-bottom: 0.75rem; }

.overlay--description, .data {
  margin-bottom: 0.75rem; }

.overlay--active .overlay .overlay--content {
  display: none; }

.overlay--active .overlay--text, .overlay-v2 .overlay--text, .single--activity .overlay--text {
  padding: 1rem; }

.overlay--active--loaded .overlay--content, .overlay-v2 .overlay--content {
  display: block !important;
  width: 30rem; }

.overlay--ticket--button .button {
  display: inline-block;
  border: .0625rem solid transparent; }
  .overlay--ticket--button .button:hover, .overlay--ticket--button .button:active {
    border: .0625rem solid #fff; }

.videowrapper {
  float: none;
  clear: both;
  width: 100%;
  position: relative;
  padding-bottom: 56.25%;
  height: 0; }

.videowrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.overlay--video {
  line-height: 0; }

@media all and (min-width: 52em) {
  .overlay--active .overlay {
    padding: 10vh 1rem; }
  .overlay .overlay--content, .overlay-v2 .overlay--content {
    max-width: 70rem;
    align-self: center;
    width: calc(100% - 2rem); }
    .overlay .overlay--content img, .overlay-v2 .overlay--content img {
      width: 50%;
      object-fit: cover; }
    .overlay .overlay--content .overlay--text, .overlay-v2 .overlay--content .overlay--text {
      flex: 1;
      padding: 2rem 3rem;
      align-self: center; }
      .overlay .overlay--content .overlay--text:first-of-type, .overlay-v2 .overlay--content .overlay--text:first-of-type {
        padding: 1rem 3rem; }
      .overlay .overlay--content .overlay--text h1, .overlay .overlay--content .overlay--text h2, .overlay-v2 .overlay--content .overlay--text h1, .overlay-v2 .overlay--content .overlay--text h2 {
        margin-bottom: 0; }
  .overlay-v2 .overlay--content {
    max-width: 54rem; }
  .overlay--active--loaded .overlay--content {
    display: flex !important;
    flex-wrap: wrap; }
  .single--activity {
    display: flex;
    flex-wrap: wrap;
    max-width: 70rem;
    align-self: center; }
    .single--activity img {
      width: 50%;
      object-fit: cover; }
    .single--activity .overlay--text {
      flex: 1;
      padding: 2rem 3rem;
      align-self: center; }
      .single--activity .overlay--text:first-of-type {
        padding: 1rem 3rem; }
      .single--activity .overlay--text h1, .single--activity .overlay--text h2 {
        margin-bottom: 0; } }

.artists {
  display: block;
  font-size: 0; }
  .artists article {
    display: inline-block;
    vertical-align: top;
    height: 20rem;
    width: 100%;
    font-size: 1rem;
    margin-bottom: 1rem; }

@media all and (min-width: 32em) {
  .artists article {
    width: calc(50% - .5rem);
    height: 16rem;
    margin-right: 1rem; }
    .artists article:nth-of-type(even) {
      margin-right: 0; } }

@media all and (min-width: 42em) {
  .artists article {
    width: calc((100% - 2rem) / 3); }
    .artists article:nth-of-type(even) {
      margin-right: 1rem; }
    .artists article:nth-of-type(3n) {
      margin-right: 0; } }

@media all and (min-width: 52em) {
  .artists article {
    width: calc((100% - 3rem) / 4); }
    .artists article:nth-of-type(even) {
      margin-right: 1rem; }
    .artists article:nth-of-type(3n) {
      margin-right: 1rem; }
    .artists article:nth-of-type(4n) {
      margin-right: 0; } }

.locations {
  margin: 1rem;
  align-items: stretch;
  display: block !important; }
  .locations article {
    flex: 1;
    text-align: center;
    margin: 0 0 2rem 0; }
  .locations h2 {
    text-align: center;
    margin-bottom: 0.75rem; }

.location--events {
  font-size: .875rem; }

.location--events li, .location--dates li {
  display: inline; }
  .location--events li:after, .location--dates li:after {
    content: ' • '; }
  .location--events li:last-of-type:after, .location--dates li:last-of-type:after {
    content: ''; }

.location--header, .location--events, .location--dates {
  flex: auto; }

@media all and (min-width: 52em) {
  .locations {
    display: flex !important;
    flex-wrap: wrap; }
    .locations article {
      padding: 1rem;
      border-right: 0.0625rem dashed #3e3eff;
      width: calc(50% - 2rem - .0625rem);
      flex: auto;
      display: flex;
      flex-direction: column; }
      .locations article:nth-of-type(even) {
        border-right: none; } }

@media all and (min-width: 72em) {
  .locations article {
    width: calc(25% - 4rem - .0625rem); }
    .locations article:nth-of-type(even) {
      border-right: 0.0625rem dashed #3e3eff; }
    .locations article:last-of-type {
      border-right: none; } }

.location--dates {
  font-weight: 900;
  color: #3e3eff; }

.location--subtitle {
  margin-bottom: 3rem;
  position: relative; }
  .location--subtitle:after {
    content: '';
    position: absolute;
    bottom: -1.5rem;
    left: 0;
    right: 0;
    height: 1rem;
    width: 100%;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-image: url("img/patterns/3-main.svg"); }

.ticket--price {
  margin-top: 1.5rem;
  font-weight: 700;
  margin-bottom: .5rem; }

.schedule--container {
  margin: 1rem; }
  .schedule--container h2 {
    text-transform: initial;
    background-color: #3e3eff;
    color: #fff;
    padding: .5rem 1rem;
    border-top: 0.0625rem solid #ff3e67;
    border-bottom: 0.0625rem solid #ff3e67;
    font-size: 1rem;
    margin-bottom: 0.75rem; }
  .schedule--container h3 {
    text-transform: uppercase;
    font-size: 1.125rem;
    padding-bottom: .5rem;
    border-bottom: 0.0625rem dashed #ff3e67; }
  .schedule--container .event {
    border-bottom: 0.0625rem dashed #3e3eff; }
    .schedule--container .event strong {
      display: block;
      font-weight: normal; }
    .schedule--container .event .title {
      font-weight: 900; }

@media all and (min-width: 42em) {
  .schedule--container h2 {
    background-color: transparent;
    color: #3e3eff;
    padding: 0;
    border: none !important;
    font-size: 1.25rem;
    text-align: center;
    padding-left: 10%; }
  .schedule--container h3 {
    border-bottom: none; }
  .schedule--container .event {
    border: 0.0625rem solid rgba(255, 255, 255, 0.5); } }

.section--split--element {
  display: block;
  width: 100%;
  width: 16rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3rem;
  font-size: 0;
  line-height: 0; }
  .section--split--element span {
    width: 100%;
    height: 1rem;
    display: block;
    background-size: contain;
    background-repeat: repeat-x;
    background-position: left center;
    margin: .25rem; }
    .section--split--element span:nth-of-type(1) {
      height: 1rem;
      background-image: url("img/patterns/3-main.svg"); }
    .section--split--element span:nth-of-type(2) {
      height: 1rem;
      background-image: url("img/patterns/3-main-alt.svg"); }
    .section--split--element span:nth-of-type(3) {
      height: .75rem;
      background-image: url("img/patterns/1-long-support.svg"); }

.section--split--0 span:nth-of-type(1) {
  height: 1rem;
  background-image: url("img/patterns/2-main.svg"); }

.section--split--0 span:nth-of-type(2) {
  height: 1rem;
  background-image: url("img/patterns/2-main-alt.svg"); }

.section--split--0 span:nth-of-type(3) {
  height: .75rem;
  background-image: url("img/patterns/1-long-support.svg"); }

.section--split--1 span:nth-of-type(3) {
  height: 1rem;
  background-image: url("img/patterns/2-main.svg"); }

.section--split--1 span:nth-of-type(2) {
  height: 1rem;
  background-image: url("img/patterns/2-main-alt.svg"); }

.section--split--1 span:nth-of-type(1) {
  height: .75rem;
  background-image: url("img/patterns/1-long-support.svg"); }

.section--split--2 span:nth-of-type(1) {
  height: 1rem;
  background-image: url("img/patterns/2-main-alt.svg"); }

.section--split--2 span:nth-of-type(2) {
  height: 1rem;
  background-image: url("img/patterns/2-main.svg"); }

.section--split--2 span:nth-of-type(3) {
  height: .75rem;
  background-image: url("img/patterns/1-long-support.svg"); }

@media all and (min-width: 42em) {
  .section--split--element {
    width: 29.5rem; } }

.wysiwyg ul, .wysiwyg ol {
  list-style-type: disc;
  margin-left: 1.5em;
  margin-bottom: 0.75rem; }

.wysiwyg li {
  margin-bottom: 0.375rem; }

.wysiwyg ol {
  list-style-type: decimal; }

.wysiwyg p {
  margin-bottom: 0.75rem; }

.wysiwyg strong {
  color: inherit;
  font-weight: 700; }

.wysiwyg h1 {
  line-height: 1.75rem;
  margin-bottom: 0.75rem; }

.wysiwyg a {
  color: inherit; }

.expo-element a {
  background-color: rgba(62, 62, 255, 0.7) !important; }

.expo-element:hover a, .expo-element:active a {
  background-color: #ff3e67 !important; }

@media all and (max-width: 41.9375em) {
  .expo-element a {
    background-color: #fff !important; }
  .expo-element:hover a, .expo-element:active a {
    background-color: #fff !important; } }

.video--filter ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  text-align: center; }

.video--filter li {
  color: #3e3eff;
  font-weight: 700;
  display: inline-block;
  vertical-align: middle;
  margin: 0 .5rem; }
  .video--filter li:first-of-type {
    margin-right: .25rem; }
    .video--filter li:first-of-type:after {
      content: '';
      display: inline-block;
      vertical-align: middle;
      width: .1875rem;
      height: .75rem;
      margin-bottom: .125rem;
      margin-left: .75rem;
      background-color: #ff3e67; }

.video--filter button {
  font-family: "Montserrat", sans-serif;
  font-weight: inherit;
  color: inherit;
  border: none;
  outline: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  font-size: .875rem;
  line-height: .875rem;
  text-transform: uppercase;
  transition: color .2s ease;
  background-color: transparent; }
  .video--filter button:hover, .video--filter button:active {
    color: #710018; }

.video--filter .filter--visible {
  color: #ff3e67; }

@media all and (min-width: 42em) {
  .video--filter ul {
    text-align: right; } }

.video--hidden {
  display: none; }

.video--collection {
  display: flex;
  flex-wrap: wrap;
  margin-left: -1rem;
  margin-right: -1rem; }
  .video--collection article {
    margin: 1rem;
    width: calc(100% - 2rem); }
    .video--collection article a {
      display: block;
      line-height: 0;
      background-color: #3e3eff;
      position: relative;
      margin-bottom: 0.75rem; }
    .video--collection article img {
      transition: opacity .2s ease; }
      .video--collection article img:hover, .video--collection article img:active {
        opacity: .7; }

.video-spacer {
  width: 100%;
  height: auto; }

.video-thumb {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  object-fit: cover;
  width: 100%;
  height: 100%; }

@media all and (min-width: 36em) {
  .video--collection article {
    width: calc(50% - 2rem); } }

@media all and (min-width: 52em) {
  .video--collection article {
    width: calc(100% / 3 - 2rem); } }

.type--live-embed, .type--live-quote {
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto; }

.type--live-quote {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.75rem;
  text-align: center;
  max-width: calc(50rem - 2rem); }

.pagination-hide {
  display: none; }

.homepage__more-info {
  text-align: center;
  margin-bottom: 1.5rem; }

.content__section {
  margin-bottom: 3rem; }

.section__title {
  color: #3e3eff;
  font-size: 1.5rem;
  line-height: 1.5rem; }

@media all and (min-width: 42em) {
  .section__title {
    font-size: 2.5rem;
    line-height: 2rem; } }

.title-with-decoration {
  display: flex; }

.title__decoration {
  display: block;
  flex: 1;
  background-size: contain;
  background-position: center left;
  background-repeat: round;
  background-image: url("img/patterns/title.svg");
  height: 2rem;
  margin-left: .5em; }

.post-list__title--date .title__decoration {
  background-image: url("img/patterns/title-date.svg"); }

.post-list__title {
  padding-bottom: 2rem; }

.post-element__thumb {
  width: 100%;
  height: 10rem;
  object-fit: cover; }

.subpage__element .post-element__thumb {
  height: 18rem; }

.post__element,
.subpage__element {
  padding: .5rem .5rem 1rem .5rem;
  margin-bottom: 1.5rem;
  transition-property: color, background-color;
  transition-duration: .2s;
  position: relative;
  font-size: .875rem; }
  .post__element:hover, .post__element:active,
  .subpage__element:hover,
  .subpage__element:active {
    color: #fff;
    background-color: #3e3eff; }
    .post__element:hover .post-element__category, .post__element:active .post-element__category,
    .subpage__element:hover .post-element__category,
    .subpage__element:active .post-element__category {
      color: #fff; }
    .post__element:hover .post-element__title, .post__element:active .post-element__title,
    .subpage__element:hover .post-element__title,
    .subpage__element:active .post-element__title {
      color: #eefd58; }

.post-element__link,
.post-element__link a {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  text-indent: -99999em; }

.post-element__category {
  transition: color .2s ease;
  color: #3e3eff;
  font-weight: 700;
  margin-top: 0.5rem; }

.post-element__title {
  transition: color .2s ease;
  text-decoration: none;
  font-size: 1.25rem;
  line-height: 160%;
  color: #3e3eff;
  font-weight: 700;
  text-transform: initial; }
  .post-element__title a {
    text-decoration: none;
    color: inherit; }

.subpage__element .post-element__title {
  margin-top: 0.75rem; }

.post-list__title--date {
  margin-top: 3rem;
  padding-bottom: 0 !important;
  margin-left: .5rem;
  margin-right: .5rem; }
  .post-list__title--date:first-of-type {
    margin-top: 0; }

.lineup-date {
  margin-bottom: 3rem; }

.lineup-date--hidden {
  display: none !important; }

@media all and (min-width: 32em) {
  .post__list--lineup .lineup-date {
    display: flex;
    flex-wrap: wrap; } }

@media all and (min-width: 42em) {
  .post__list {
    margin-left: -.5rem;
    margin-right: -.5rem;
    margin-top: 5rem; }
  .post-list__title {
    padding-bottom: 5rem; }
  .post__element {
    width: calc(100% / 3 - 2rem);
    display: inline-block;
    vertical-align: top;
    padding: 1rem;
    margin-bottom: 3rem; }
    .post__element:nth-of-type(3n - 1) {
      transform: translateY(-3rem); }
  .subpage__element {
    width: calc(100% / 2 - 2rem);
    display: inline-block;
    vertical-align: top;
    padding: 1rem; }
  .post__list--filtered .post__element:nth-of-type(3n - 1) {
    transform: initial; }
  .post-element__thumb {
    height: 19rem; }
  .subpage__element .post-element__thumb {
    height: 28rem; }
  .post-element__title {
    margin-bottom: 3rem;
    font-size: 1.375rem;
    line-height: 130%; }
  .post-list__title--date {
    width: 100%; } }

@media all and (min-width: 68em) {
  .post__element {
    width: calc(100% / 4 - 2rem); }
    .post__element:nth-of-type(3n - 1) {
      width: calc(100% / 2 - 4rem);
      transform: translateY(-3rem); }
  .subpage__element {
    width: calc(100% / 3 - 2rem); }
  .post__list--filtered .post__element {
    width: calc(100% / 3 - 2rem); }
    .post__list--filtered .post__element:nth-of-type(3n - 1) {
      width: calc(100% / 3 - 2rem);
      transform: initial; } }

.post__element--highlight {
  padding: 0;
  max-width: initial;
  width: auto;
  max-width: 55rem;
  margin-left: auto;
  margin-right: auto;
  padding: 1rem; }
  .post__element--highlight:hover, .post__element--highlight:active {
    background-color: #ff3e67; }

.section__title--highlight {
  text-align: center; }

@media all and (min-width: 42em) {
  .post__element--highlight {
    padding: 2rem;
    display: flex;
    margin-bottom: 0; }
    .post__element--highlight .post-element__content {
      flex: 1; }
    .post__element--highlight .post-element__image {
      order: 2;
      flex: 1.5;
      max-width: 40rem;
      min-height: 20rem;
      margin-left: 2rem;
      position: relative; }
    .post__element--highlight .post-element__thumb {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      object-fit: contain;
      object-position: center right;
      height: 100%; }
    .post__element--highlight .post-element__category {
      margin-top: 0; }
  .section__title--highlight {
    margin-top: 1rem; } }

@media all and (min-width: 71em) {
  .content-container--highlight {
    position: relative; }
  .section__title--highlight {
    margin-top: 0;
    position: absolute;
    top: 2rem;
    left: 4rem;
    transform-origin: top left;
    transform: rotate(-90deg) translateX(-100%);
    text-align: left;
    z-index: 8; } }

section .artist__title {
  font-weight: 700;
  font-size: 1rem;
  color: initial;
  margin-bottom: 0.75rem;
  text-transform: initial;
  line-height: 100%; }

h1.artist__title {
  font-size: 175%; }

h2.artist__title {
  font-size: 150%; }

h3.artist__title {
  font-size: 125%; }

.single-activity__data,
.single-activity__content {
  margin-bottom: 1.5rem; }

.ticker {
  background-color: #3e3eff;
  border-radius: 1rem;
  padding: .75rem 1rem;
  color: #fff;
  align-items: center;
  font-size: .875rem;
  line-height: 1.25rem;
  text-align: center;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem; }

.ticker__title {
  font-weight: 700;
  margin-right: .5em; }

.ticker__title,
.ticker__elements,
.ticker__element,
.ticker__cta {
  display: inline-block; }

.ticker__elements {
  margin-bottom: 0.75rem; }

.ticker__element:after {
  content: ' / ';
  color: #ff3e67; }

.ticker__element:last-of-type:after {
  display: none; }

.ticker-element__link {
  color: inherit;
  text-decoration: none; }
  .ticker-element__link:hover, .ticker-element__link:active {
    color: inherit; }

.ticker-element__date,
.ticker-element__name {
  display: inline-block;
  font-weight: inherit; }

.ticker__cta,
.cta--large {
  font-size: 1.25rem;
  line-height: 1.75rem;
  border-radius: 1.5rem; }
  .ticker__cta:hover, .ticker__cta:active,
  .cta--large:hover,
  .cta--large:active {
    color: #3e3eff;
    background-color: #eefd58; }

@media all and (min-width: 42em) {
  .ticker {
    display: flex;
    border-radius: 2rem;
    padding: 1rem 2rem;
    text-align: left;
    font-size: 1rem;
    line-height: 1rem;
    box-shadow: 0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
    margin-bottom: 0; }
  .ticker__elements {
    margin-right: 1rem;
    margin-bottom: 0; }
  .ticker__cta {
    margin-top: -1rem;
    margin-bottom: -1rem;
    margin-right: -2rem;
    height: 100%;
    margin-left: auto; }
  .ticker__cta,
  .cta--large {
    padding: 1rem 2rem;
    border-radius: 2rem; } }

.homepage__intro {
  color: #3e3eff;
  position: relative; }

@media all and (min-width: 42em) {
  .homepage__intro {
    display: flex; }
  .homepage__intro .ticker {
    margin-top: 0;
    position: absolute;
    top: 3rem;
    left: -1rem;
    right: -1rem;
    z-index: 1; } }

.homepage-intro__content,
.homepage-intro__image-container {
  flex: 1; }

.homepage-intro__content {
  margin-bottom: 1.5rem; }

.homepage-intro__title {
  font-size: 1.875rem;
  line-height: 112.5%;
  margin-bottom: .25em; }

.homepage-intro__image {
  width: 100%;
  height: auto; }

@media all and (min-width: 42em) {
  .homepage-intro__content {
    padding-top: 8rem;
    padding-bottom: 4rem;
    margin-bottom: 0;
    margin-right: 2rem; }
  .homepage-intro__title {
    font-size: 2.25rem;
    line-height: 112.5%; }
  .homepage-intro__image-container {
    position: relative;
    min-height: 32rem; }
  .homepage-intro__image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    object-fit: contain;
    object-position: center right; }
  .homepage-intro__title,
  .homepage-intro__description {
    max-width: 26rem; } }

@media all and (min-width: 64em) {
  .homepage-intro__title {
    font-size: 3.75rem;
    line-height: 112.5%; }
  .homepage-intro__description {
    font-size: 1.5rem;
    line-height: 160%; } }

.page-cta {
  text-align: center;
  color: #ff3e67;
  position: relative;
  margin: 3rem auto 3rem auto;
  padding-bottom: 2.75rem;
  font-weight: 700; }
  .page-cta:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    width: 2rem;
    height: 2rem;
    display: block;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url("img/menu-bottom.svg"); }

@media all and (min-width: 42em) {
  .page-cta {
    font-size: 1.25rem;
    line-height: 150%; }
    .page-cta:before {
      content: '';
      position: absolute;
      top: -1rem;
      left: 0;
      bottom: -1rem;
      width: 5rem;
      background-repeat: no-repeat;
      background-position: center right;
      background-size: cover;
      background-image: url("img/patterns/2-support.svg");
      transform: scaleY(-1); } }

.app-box {
  margin-top: 3rem;
  margin-bottom: 3rem;
  box-shadow: 0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.1); }

.app-box__title {
  font-size: 1.25rem;
  line-height: 160%; }

.app-box__content {
  color: #fff;
  background-color: #ff3e67;
  flex: 1;
  padding: 2rem;
  position: relative;
  text-align: center; }
  .app-box__content:after {
    content: '';
    position: absolute;
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    top: auto;
    bottom: -1.5rem;
    left: 0;
    right: 0;
    height: 3rem;
    width: 100%;
    background-position: center top;
    background-image: url("img/app-arrow-down.svg"); }

@media all and (min-width: 42em) {
  .app-box {
    display: flex;
    max-width: 50rem;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    min-height: 16rem; }
  .app-box__title {
    font-size: 1.5rem; }
  .app-box__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left; }
    .app-box__content:after {
      background-position: center left;
      background-image: url("img/app-arrow.svg");
      width: 4rem;
      height: 100%;
      top: 0;
      right: -2rem;
      bottom: auto;
      left: auto; } }

.app-box__links {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #3e3eff;
  flex: 1.75;
  padding: 2rem; }

.app-box__links li {
  width: 100%;
  max-width: 11rem; }

.app-box__links a {
  text-indent: -9999em;
  display: block;
  width: calc(100% - 1rem);
  height: 4rem;
  margin: 2rem .5rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url("img/app-store.svg"); }

.app-box__links li:first-of-type a {
  background-image: url("img/google-play.svg"); }

.activity__element {
  font-size: 1rem;
  display: inline-block;
  margin-bottom: 1.5rem;
  padding: 1rem 1.5rem;
  padding-bottom: 3rem;
  background-color: #3e3eff;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 15rem;
  position: relative;
  transition-property: color, background-color;
  transition-duration: .2s; }
  .activity__element:after {
    content: '';
    left: 0;
    right: 0;
    bottom: -.25rem;
    height: 2rem;
    position: absolute;
    background-size: contain;
    background-image: url("img/patterns/white-pattern.svg"); }
  .activity__element:hover, .activity__element:active {
    background-color: #ff3e67;
    color: #fff; }
    .activity__element:hover .button, .activity__element:active .button {
      background-color: #3e3eff; }

.activity__element--artist {
  min-height: 12rem; }

.activity__element--hidden,
.post__element--hidden {
  display: none !important; }

.activity-element__thumb {
  width: 100%;
  height: auto;
  margin-bottom: 0.75rem; }

@media all and (min-width: 36em) {
  .events {
    font-size: 0; }
  .activity__element {
    width: calc(100% / 2 - 1rem - 3rem);
    margin: 1rem .5rem;
    display: flex; }
  .activity-element__thumb {
    width: 100%;
    height: 10rem;
    object-fit: cover;
    margin-bottom: 0.75rem; } }

@media all and (min-width: 54em) {
  .activity__element {
    width: calc(100% / 3 - 1rem - 3rem); } }

@media all and (min-width: 72em) {
  .activity__element {
    width: calc(100% / 4 - 1rem - 3rem); } }

.activity__element--cinema {
  background-color: #eefd58;
  color: #3e3eff; }

.activity-element__link {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  text-indent: -9999em; }

.activity__element a {
  color: inherit;
  text-decoration: none; }

.activity-element__title {
  font-size: 1.5rem;
  line-height: 125%;
  order: 2;
  margin-bottom: 1.5rem; }

.activity__element--artist .activity-element__title {
  text-align: center; }

.activity-element__data {
  order: 1;
  display: flex;
  justify-content: space-between; }

.post-element__locations {
  order: 2; }

.activity-element__cta {
  order: 3; }

.activity-element__cta .button {
  background-color: #ff3e67;
  color: #fff;
  margin-bottom: 0.75rem; }
  .activity-element__cta .button:last-of-type {
    margin-bottom: 0; }

.event-highlight {
  display: flex;
  justify-content: center;
  padding-left: 3rem;
  padding-right: 5rem;
  position: relative;
  min-height: 20rem; }
  .event-highlight:before, .event-highlight:after {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    bottom: 0; }
  .event-highlight:before {
    left: 0;
    width: 3rem;
    background-color: rgba(255, 255, 255, 0.5); }
  .event-highlight:after {
    right: 0;
    width: 5rem;
    background-color: #ff3e67; }

.event-highlight__image-container {
  flex: 1;
  position: relative; }

.event-highlight__image {
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%; }

.event-highlight__content {
  position: relative;
  flex: 2;
  background-color: #fff;
  color: #3e3eff;
  padding: 2rem 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center; }

.event-highlight__titles {
  order: 2; }

.event-highlight__title {
  font-size: 2rem;
  line-height: 2rem; }

.event-highlight__subtitle {
  font-size: 1.5rem;
  line-height: 2rem; }

.event-highlight__data {
  order: 1;
  display: flex; }

.event-highlight__date {
  font-size: 3rem;
  line-height: 3rem;
  font-weight: 700;
  flex: 1; }

.event-highlight__category-and-venue {
  flex: 1;
  font-weight: 700; }

.event-highlight__cta {
  position: absolute;
  bottom: 2rem;
  right: -2rem;
  z-index: 2; }

.single__activity {
  background-color: #3e3eff;
  padding: 2rem 2rem 0 2rem;
  color: #fff;
  display: flex;
  flex-direction: column; }

.single-activity__image {
  width: 100%;
  height: 15rem;
  object-fit: cover;
  order: 1; }

@media all and (min-width: 42em) {
  .single-activity__image {
    height: 30rem; } }

.single-activity__data {
  order: 2;
  background-color: #fff;
  padding: 1rem 2rem;
  color: #3e3eff;
  margin-bottom: 0; }

.single-activity__locations {
  flex: 1;
  font-weight: 700; }

.single-activity__date {
  font-size: 1.5rem;
  line-height: 100%;
  font-weight: 900; }

.single-activity__content {
  order: 3;
  margin-bottom: 0; }

.single-activity__titles {
  flex: 2;
  padding: 1rem 0 0; }
  .single-activity__titles h1 a, .single-activity__titles h2 a, .single-activity__titles h3 a, .single-activity__titles h4 a {
    color: #fff; }

@media all and (min-width: 42em) {
  .single-activity__data {
    display: flex;
    align-items: center; }
  .single-activity__locations,
  .single-activity__tickets-location h3 {
    font-size: 1.5rem;
    line-height: 160%; }
  .single-activity__date {
    font-size: 3rem; }
  .single-activity__content {
    display: flex; }
  .single-activity__titles {
    padding: 2rem 0; } }

.single-activity__title {
  margin-bottom: 1.5rem; }
  .single-activity__title a {
    text-decoration: none;
    transition: color .2s ease; }
    .single-activity__title a:hover, .single-activity__title a:active {
      color: #ff3e67;
      text-decoration: underline; }
    .single-activity__title a:after {
      content: '';
      display: inline-block;
      vertical-align: middle;
      width: 1rem;
      height: 1.5rem;
      background-image: url("img/patterns/title.svg");
      background-position: center;
      background-size: contain;
      background-repeat: no-repeat;
      margin-left: .5em;
      margin-bottom: .25rem; }

h1.single-activity__title {
  font-size: 1.75rem;
  line-height: 112.5%; }

h2.single-activity__title {
  font-size: 1.25rem;
  line-height: 112.5%; }

.single-activity__tickets {
  order: 4;
  font-weight: 700;
  background-color: #fff;
  margin-left: -2rem;
  margin-right: -2rem; }

.single-activity__description {
  padding-bottom: 2rem; }

@media all and (min-width: 42em) {
  h1.single-activity__title {
    font-size: 3rem;
    line-height: 112.5%; }
  h2.single-activity__title {
    font-size: 1.75rem;
    line-height: 112.5%; }
  .single-activity__description {
    flex: 1;
    padding: 2rem 0;
    padding-left: 2rem;
    margin-left: 2rem;
    border-left: .125rem solid #fff; }
  .single-activity__tickets {
    padding-left: 20%; } }

.single-activity__tickets-location {
  background-color: #E6E6E6;
  color: #3e3eff;
  border-bottom: 0.25rem solid #3e3eff;
  padding: 2rem 2rem; }
  .single-activity__tickets-location:last-of-type {
    border-bottom: 0; }
  .single-activity__tickets-location .button {
    display: inline-block; }

@media all and (min-width: 42em) {
  .single-activity__tickets-location {
    padding: 4rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center; } }

.single-artist__main {
  background-color: #3e3eff;
  color: #fff; }

.single-artist__header {
  padding: 1rem; }

.single-artist__header,
.single__activity {
  padding-top: 2rem;
  position: relative; }
  .single-artist__header:before,
  .single__activity:before {
    content: '';
    position: absolute;
    top: -.125rem;
    left: 0;
    right: 0;
    background-size: contain;
    background-position: center left;
    background-repeat: round;
    background-image: url("img/patterns/white-pattern.svg");
    height: 1rem; }

.single-artist__content {
  padding: 1rem;
  margin-bottom: 3rem; }

.single-artist__external-links {
  text-align: center; }
  .single-artist__external-links li {
    display: inline-block;
    margin: 0 .25rem .5rem; }

@media all and (min-width: 42em) {
  .single-artist__header {
    display: flex;
    padding: 2rem 2rem 0 2rem;
    align-items: center; }
  .single-artist__content {
    padding: 1rem 2rem 2rem 2rem;
    column-count: 2; } }

.single-artist__title {
  order: 2;
  flex: 1; }

.single-artist__image-container {
  order: 1;
  flex: 1; }

.single-artist__image {
  object-fit: cover;
  width: 100%; }

.single-artist__embeds {
  margin-bottom: 3rem; }

.side-nav {
  font-size: 0;
  margin-left: auto;
  margin-right: 0;
  text-align: center;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  padding-left: 2rem;
  max-width: 80vw;
  margin-left: auto;
  margin-right: auto; }

@media all and (min-width: 46em) {
  .side-nav {
    margin-top: 0;
    position: absolute;
    top: 0;
    left: 0;
    transform-origin: top left;
    transform: rotate(-90deg) translateX(-100%);
    text-align: left;
    z-index: 10; } }

@keyframes pulse {
  0% {
    background-color: #fff; }
  50% {
    background-color: #ff3e67; }
  100% {
    background-color: #fff; } }

.side-nav__element {
  display: inline-block;
  text-align: left; }
  .side-nav__element:first-of-type .side-nav__element-link {
    background-color: #ff3e67; }
    .side-nav__element:first-of-type .side-nav__element-link span:before {
      background-image: url("img/program.svg");
      background-position: center;
      background-size: contain;
      background-repeat: no-repeat;
      width: 1rem;
      height: 1rem; }
  .side-nav__element:last-of-type .side-nav__element-link span:before {
    background-color: #fff;
    width: .5rem;
    height: .5rem;
    border-radius: .25rem;
    animation: pulse 3.5s ease;
    animation-iteration-count: infinite; }

@media all and (min-width: 46em) and (min-height: 38em) {
  .side-nav {
    position: fixed; } }

.side-nav__element-link {
  background-color: #3e3eff;
  color: #fff;
  display: block;
  padding: .5rem 1rem;
  min-width: 10rem;
  font-weight: 700;
  text-decoration: none;
  font-size: 1rem;
  position: relative; }
  .side-nav__element-link span {
    transition: transform .2s ease;
    display: block; }
    .side-nav__element-link span:before {
      display: inline-block;
      content: '';
      margin-right: .5em;
      vertical-align: middle; }
  .side-nav__element-link:before {
    content: '';
    position: absolute;
    top: 0;
    left: -1.5rem;
    bottom: 0;
    width: 1.5rem;
    background-position: center left;
    background-size: cover;
    background-image: url("img/patterns/nav-main.svg"); }
  .side-nav__element-link:hover span, .side-nav__element-link:active span {
    color: #fff;
    transform: translateX(0.75rem); }

@media all and (min-width: 46em) {
  .side-nav__element-link span:before {
    margin-bottom: .25em; } }

@media all and (min-width: 64em) {
  .side-nav__element-link {
    padding: .75rem 1rem;
    min-width: 14rem; } }

@media all and (min-width: 98em) {
  .side-nav__element-link {
    padding: 1.25rem 1.5rem;
    min-width: 14rem;
    font-size: 1.25rem; } }

.side-nav__element:first-of-type .side-nav__element-link:before {
  left: -3.0625rem;
  width: 3.0625rem;
  background-image: url("img/patterns/nav-support.svg"); }

.section--block {
  flex: 1; }

.single-post-intro__image-container {
  position: relative;
  width: 100%;
  height: 32rem; }

.single-post-intro__image {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  object-fit: cover;
  width: 100%;
  height: 100%; }

@media all and (min-width: 42em) {
  .content--container .type--text .section--block__text {
    margin: 0 !important;
    margin-left: 2rem !important; }
  .content--container .type--text .section--block__text--solo {
    margin-left: 0 !important;
    margin-right: 0 !important; }
  .content--container .type--text .section--image {
    margin-right: 2rem;
    margin-left: 0; }
  .content--container .type--text .section--image--solo {
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto; }
  .content--container:nth-of-type(odd) .type--text .section--block__text {
    margin-left: 0 !important;
    margin-right: 2rem !important; }
  .content--container:nth-of-type(odd) .type--text .section--block__text--solo {
    margin-left: 0 !important;
    margin-right: 0 !important; }
  .content--container:nth-of-type(odd) .type--text .section--image {
    order: 2;
    margin-left: 2rem;
    margin-right: 0; }
  .content--container:nth-of-type(odd) .type--text .section--image--solo {
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto; } }

.single-post__intro-text {
  background-color: #3e3eff;
  padding: 2rem;
  margin-top: -2rem;
  color: #fff;
  position: relative; }

@media all and (min-width: 42em) {
  .single-post__intro-text {
    margin-right: 20%; } }

.single-post__title {
  font-size: 2rem;
  line-height: 2.5rem; }

.single-page__title,
.single-artist__title {
  font-size: 2rem;
  line-height: 112.5%;
  color: #3e3eff;
  margin-top: 3rem;
  margin-bottom: 1.5rem; }

.single-artist__title {
  color: #fff;
  margin: 0;
  margin-bottom: 1rem; }

@media all and (min-width: 42em) {
  .single-page__title,
  .single-artist__title {
    font-size: 6rem;
    line-height: 112.5%; }
  .single-artist__title {
    margin-left: 2rem;
    margin-top: 0;
    margin-bottom: 3rem; } }

#wpstats {
  position: absolute;
  z-index: -10;
  left: 0;
  bottom: 0;
  opacity: 0; }

.app,
.newsletter {
  background-color: #E6E6E6;
  color: #3e3eff;
  flex: 1; }

.app,
.newsletter,
.contact-box {
  padding: 1rem 2rem; }

.subscribe__title {
  color: #3e3eff;
  text-decoration: none;
  font-weight: 700;
  position: relative; }
  .subscribe__title:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 1rem;
    height: 1.5rem;
    background-image: url("img/patterns/title.svg");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: .5em;
    margin-bottom: .25rem; }

a.subscribe__title:hover, a.subscribe__title:active {
  color: #ff3e67; }

.app {
  border-bottom: 0.0625rem solid #3e3eff; }

.newsletter label, .newsletter input {
  display: block; }

.newsletter label {
  display: none; }

.newsletter input {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  line-height: 1rem;
  padding: .5rem 1rem;
  margin: 0;
  background-color: rgba(255, 255, 255, 0.5);
  color: #3e3eff;
  border: none;
  border-radius: 1rem;
  margin: .5rem 0;
  width: calc(100% - 2rem - .25rem);
  max-width: 14rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  border: 0.125rem solid #ff3e67; }

.newsletter input[type=submit] {
  font-weight: 700;
  color: #fff;
  background-color: #3e3eff;
  transition: background-color .2s ease;
  width: fit-content;
  border: none;
  cursor: pointer; }
  .newsletter input[type=submit]:hover, .newsletter input[type=submit]:active {
    background-color: #000; }

.contact-box {
  background-color: #3e3eff;
  color: #fff; }
  .contact-box .button {
    background-color: #fff;
    color: #3e3eff;
    box-shadow: none; }

.contact-box__title {
  font-size: 1.25rem;
  line-height: 160%;
  margin-bottom: 0.75rem; }

.subscribe-element {
  margin-left: auto;
  margin-right: auto; }

@media all and (min-width: 42em) {
  .subscribe-element {
    display: flex;
    flex-wrap: wrap; }
  .app,
  .newsletter {
    width: calc(50% - 6rem); }
  .app {
    border-bottom: none;
    border-right: 0.0625rem solid #3e3eff;
    width: calc(50% - 6rem - .0625rem);
    display: flex;
    align-items: center;
    justify-content: center; }
  .app,
  .newsletter,
  .contact-box {
    padding: 1.5rem 3rem; }
  .subscribe__title {
    font-size: 1.25rem;
    line-height: 160%; }
  .contact-box {
    text-align: left;
    display: flex;
    padding: 2rem 3rem;
    align-items: center;
    width: calc(100% - 6rem); }
    .contact-box .contact-box__title {
      flex: 1;
      font-size: 2rem;
      margin-bottom: 0; }
  #mc_embed_signup_scroll {
    display: flex;
    align-items: center;
    justify-content: center; }
    #mc_embed_signup_scroll input[type=submit] {
      margin-left: .5em; } }

.lineup-filter,
.post-filter {
  margin-top: -1.5rem;
  margin-bottom: 3rem; }
  .lineup-filter h3,
  .post-filter h3 {
    color: inherit;
    font-size: 1rem;
    line-height: 1rem;
    font-weight: 700;
    margin-bottom: 0.375rem; }
  .lineup-filter .button,
  .post-filter .button {
    display: inline-block;
    margin: 0 .25rem;
    box-shadow: none; }
  .lineup-filter .filter__group,
  .post-filter .filter__group {
    margin-bottom: 1.5rem;
    background-color: #ff3e67;
    color: #fff;
    padding: .5rem 1rem;
    border-radius: 1.5rem;
    transition-property: background-color, border;
    transition-duration: .2s;
    text-decoration: none;
    box-shadow: 0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.1); }

@media all and (min-width: 42em) {
  .lineup-filter,
  .post-filter {
    margin-left: .5rem;
    margin-right: .5rem;
    line-height: 1rem; }
  .filter__group {
    display: flex;
    align-items: center; }
    .filter__group h3 {
      width: 7rem;
      margin-bottom: 0; }
    .filter__group .filter-elements {
      flex: 1; } }

.button--reset {
  text-indent: -9999em;
  background-image: url("img/menu-close.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-color: #fff; }

.button--reset--hidden {
  display: none !important; }

.type--subpages {
  justify-content: center; }

.subpage__article {
  width: 100%; }

.page-header__content {
  color: #3e3eff; }

@media all and (min-width: 42em) {
  .page-header__content {
    font-size: 1.375rem;
    line-height: 140%;
    margin-top: 1.5em; }
  .page-header__split {
    display: flex;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    align-items: center; }
    .page-header__split .page-header__title {
      margin-top: 0;
      margin-right: 2rem;
      margin-bottom: 0; }
    .page-header__split .page-header__content {
      margin-left: 2rem;
      text-align: right;
      margin-top: 0; }
  .page-header__title,
  .page-header__content {
    flex: 1; } }

.single-page--live .videowrapper,
.live__content {
  margin-bottom: 3rem; }

.video-placeholder {
  position: relative;
  background-color: #3e3eff;
  width: calc(100% - 2rem);
  padding: 3rem 1rem;
  margin-bottom: 3rem; }

.video-placeholder__link {
  display: block;
  text-align: center;
  max-width: calc(100% - 2rem - 4rem);
  width: 20rem;
  margin-left: auto;
  margin-right: auto;
  line-height: 1; }

.homepage-intro__title,
.single-page__title,
.post-element__title,
.single-post__title,
.section--block__text h2,
.section__title {
  background: #3e3eff;
  color: #eefd58;
  width: fit-content;
  height: fit-content;
  padding: 0.0625em .25em;
  text-transform: uppercase; }

.homepage-intro__title,
.single-page__title,
.post-element__title,
.single-post__title,
.section--block__text h2 {
  transition-property: transform;
  transition-duration: .2s; }

.section__title .title__decoration {
  display: none; }

.post-element__title {
  background-color: #ff3e67;
  color: #eefd58; }

.post-list__title {
  margin-bottom: 4rem; }
