@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/font/barlow-regular-webfont.woff2) format('woff2');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/font/barlow-bold-webfont.woff2) format('woff2');
}
@font-face {
  font-family: 'Barlow Semi Condensed';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/font/barlowsemicondensed-bold-webfont.woff2) format('woff2');
}
:root {
  --vh: 1vh;
  --nav: 180px
}

*,
:after,
:before {
  box-sizing: border-box
}

html {
  font-family: Barlow, sans-serif;
  color: #fff;
  position: relative;
  font-size: 17px;
  line-height: 1.4;
  letter-spacing: .01em
}

@media (min-width:320px) {
  html {
      font-size: calc(.16949vw + 16.45763px)
  }
}

@media (min-width:1500px) {
  html {
      font-size: 19px
  }
}

body,
html {
  padding: 0;
  margin: 0
}

:focus {
  outline: 3px solid rgba(251, 34, 197, .29);
  box-shadow: 0 0 10px #fc4de3
}

body {
  position: relative
}

body,
body:after {
  background-color: #252040
}

body:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: .7;
  z-index: -1
}

@supports (pointer-events:none) {
  body:after {
      background-image: url(/assets/img/gifnoise.gif);
      position: fixed;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      z-index: 999;
      opacity: .06;
      will-change: auto;
      transform: translateZ(0);
      pointer-events: none
  }

  @media (prefers-reduced-motion) {
      body:after {
          background-image: url(/assets/img/noise.png)
      }
  }
}

.ribbon {
  padding-top: var(--nav);
  z-index: 1;
  position: relative
}

.ribbon:after {
  width: 100%;
  left: 0;
  bottom: 400px;
  background-color: #252040;
  opacity: 1
}

.ribbon:after,
.ribbon:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0
}

.ribbon:before {
  width: 69%;
  max-width: 830px;
  height: 40vw;
  min-height: 600px;
  background-image: url(/assets/img/dconstruct.jpg);
  background-size: cover;
  background-position: 70% top;
  background-repeat: no-repeat;
  background-blend-mode: luminosity;
  background-color: #252040;
  opacity: .3;
  z-index: 1
}

ol,
ul {
  padding: 0;
  list-style: none
}

ol,
p,
ul {
  margin: 0
}

img {
  display: block;
  width: 100%
}

blockquote,
figure {
  padding: 0;
  margin: 0
}

a:active,
a:hover,
a:link,
a:visited {
  color: currentColor;
  text-decoration: underline
}

.speaker-info__talk-title,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: Barlow Semi Condensed, sans-serif;
  margin: 0
}

.speaker-info__talk-title,
h1,
h2,
h3 {
  font-weight: 700;
  text-transform: uppercase
}

h1 {
  font-size: 35.2512px;
  line-height: 1.1
}

@media (min-width:320px) {
  h1 {
      font-size: calc(5.16409vw + 18.7261px)
  }
}

@media (min-width:1500px) {
  h1 {
      font-size: 96.1875px
  }
}

.speaker-info__talk-title,
h2 {
  font-size: 29.376px;
  line-height: 1.1;
  margin-bottom: 2rem;
  letter-spacing: -.01em
}

@media (min-width:320px) {

  .speaker-info__talk-title,
  h2 {
      font-size: calc(2.94483vw + 19.95254px)
  }
}

@media (min-width:1500px) {

  .speaker-info__talk-title,
  h2 {
      font-size: 64.125px
  }
}

.speaker-info__talk-title:after,
h2:after {
  margin-top: 1rem;
  display: block;
  content: "";
  width: 35px;
  height: 5px;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 35 5'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M17.5 0H0v5h35V2.5H17.5V0z' fill='%23E21FB2'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: 0 100%
}

h3 {
  font-size: 24.48px;
  line-height: 1.1
}

@media (min-width:320px) {
  h3 {
      font-size: calc(1.54831vw + 19.52542px)
  }
}

@media (min-width:1500px) {
  h3 {
      font-size: 42.75px
  }
}

button {
  color: inherit;
  font: inherit;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
  text-shadow: inherit;
  cursor: pointer
}

.button {
  position: relative;
  font-size: 20.4px;
  display: inline-block;
  text-align: center;
  padding: .3em 3em;
  font-family: Barlow Semi Condensed, sans-serif;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase
}

@media (min-width:320px) {
  .button {
      font-size: calc(.68644vw + 18.20339px)
  }
}

@media (min-width:1500px) {
  .button {
      font-size: 28.5px
  }
}

.button:after {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, #56cbe6, #23d8a0);
  box-shadow: 0 0 32px hsla(0, 0%, 100%, .75);
  z-index: -1;
  transition: opacity .5s ease-out
}

.button:hover:after {
  opacity: 0
}

.button:hover:before {
  opacity: 1
}

.button:before {
  content: "";
  opacity: 0;
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  box-shadow: 0 0 32px rgba(88, 74, 240, .75);
  background: linear-gradient(90deg, #d356e6, #5017ab);
  z-index: -1;
  transition: opacity .4s ease-out
}

.button:active,
.button:hover,
.button:link,
.button:visited {
  text-decoration: none
}

@media (max-width:479px) {
  .button {
      width: 100%
  }
}

.lede {
  color: #e21fb2;
  font-size: 20.4px
}

@media (min-width:320px) {
  .lede {
      font-size: calc(.68644vw + 18.20339px)
  }
}

@media (min-width:1500px) {
  .lede {
      font-size: 28.5px
  }
}

.elsewhere li {
  margin-bottom: .5rem
}

.elsewhere a:active,
.elsewhere a:hover,
.elsewhere a:link,
.elsewhere a:visited {
  text-decoration: none;
  display: inline-flex
}

.elsewhere a:hover:before {
  -webkit-filter: hue-rotate(-45deg);
  filter: hue-rotate(-45deg)
}

.elsewhere a:before {
  content: "";
  display: inline-block;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M13.41 22.38L23.6 12.19 13.41 2l-1.98 1.98 6.81 6.81H.02v2.8h18.22l-6.81 6.81 1.98 1.98z' fill='%23FB22C6'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  width: 24px;
  height: 24px;
  margin-right: .5rem;
  transition: all .2s ease
}

.elsewhere__twitter a:before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22.437 3.152c-.88.528-1.82.939-2.875 1.115-.822-.88-1.995-1.467-3.285-1.467-2.464 0-4.518 2.053-4.518 4.635 0 .352.059.704.118 1.056-3.755-.176-7.04-2.054-9.27-4.811-.41.704-.586 1.467-.586 2.347 0 1.584.82 2.992 1.994 3.872-.762 0-1.408-.235-2.053-.587v.059c0 2.229 1.525 4.106 3.637 4.517a3.784 3.784 0 01-1.173.176c-.293 0-.587 0-.821-.059.586 1.819 2.229 3.168 4.224 3.227-1.526 1.232-3.462 1.995-5.574 1.995-.352 0-.704 0-1.056-.059a12.635 12.635 0 006.923 2.053c8.272 0 12.848-7.04 12.848-13.141v-.587a8.725 8.725 0 002.23-2.405c-.822.352-1.702.645-2.582.704.763-.645 1.467-1.525 1.819-2.64z' fill='%23FB22C6'/%3E%3C/svg%3E")
}

.speaker__pic__glitch-container {
  position: relative
}

.speaker__pic__glitch-container:after {
  content: "";
  height: 100%;
  width: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  background: linear-gradient(76deg, rgba(55, 58, 83, .6) 14.78%, rgba(214, 158, 236, .6) 44.96%, rgba(238, 217, 240, .6) 80.19%, rgba(214, 124, 213, .6)), #8f93b3;
  background-blend-mode: normal, screen;
  mix-blend-mode: hard-light
}

.speaker__pic__glitch-container img {
  width: 100%
}

.schedule__speaker,
.ticket__label {
  background: #c281dc;
  background: linear-gradient(70deg, #c281dc, #fce7ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent
}

@media (min-width:1500px) {
  .ribbon:before {
      min-height: 300px;
      background-size: contain;
      background-position: 0 0;
      left: 45%
  }
}

.footer {
  width: 100%;
  margin-top: -10vw;
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0
}

.footer:before {
  content: "";
  display: block;
  width: 100%;
  height: 19.1vw;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 1440 276' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M673.969 138.99a328825.531 328825.531 0 01-62.319 62.364l.012 67.38 8.833 8.838 33.938-33.96-8.826-8.838c22.719-22.734 50.536-50.568 62.342-62.376 18.499-18.51 40.565-6.72 47.268-.006 4.839 4.836 19.89 27.39 0 47.292-22.905 22.92-47.268 0-47.268 0l-11.452-11.454-33.591 33.774s7.633 7.65 11.369 11.382c22.479 22.488 74.251 40.404 114.473.162 39.437-39.474 22.99-92.016.162-114.87-24.069-24.06-76.577-38.07-114.941.312zM109.521-.306l-47.64 48.03v181.974H28.057c-26.156 0-33.423-23.946-33.423-33.444 0-18.144 9.732-33.084 33.423-33.084 7.25 0 11.609-.144 11.609-.144v-47.448c-4.498.006-4.498-.084-11.375-.084-53.247 0-81.291 41.034-81.291 80.754 0 34.05 27.235 81.114 81.489 81.114H62.06l47.46-47.664V48.03h19.356V0H109.52v-.306zM511.759 114.78c-9.006 0-29.225.006-29.225.006l-47.628 47.508v67.398h-24.309a81.182 81.182 0 007.375-33.882c0-45.036-36.486-81.546-81.5-81.546s-81.495 36.51-81.495 81.546a81.231 81.231 0 007.37 33.882h-39.695c-26.162 0-33.417-23.946-33.417-33.444 0-1.074-.216-93.9-.216-95.808 0-10.656 9.948-28.914 33.633-28.914 10.097 0 33.045.108 33.045.108v19.728h48.006V71.994L254.911 23.94s-10.517-.078-32.025-.078c-53.235 0-81.285 44.37-81.285 76.596v95.802c0 34.05 27.235 81.114 81.483 81.114h213.207v-1.608l46.237-46.062V162.45h29.225c18.642 0 33.423 17.238 33.423 33.444v33.444H525.82v48.036h19.356l47.628-48.162s.006-2.274.006-33.318c.006-49.098-43.437-81.114-81.051-81.114zM336.478 229.698c-18.462 0-33.423-14.976-33.423-33.444 0-18.468 14.961-33.444 33.423-33.444 18.462 0 33.423 14.976 33.423 33.444 0 18.468-14.967 33.444-33.423 33.444zm967.972-113.502c-53.23 0-81.28 41.034-81.28 80.754 0 34.038 27.24 81.108 81.49 81.108h54.73v-47.664h-55.15c-26.16 0-33.42-23.94-33.42-33.438 0-18.144 9.73-33.09 33.42-33.09h7.16V183h47.99v-19.374l-47.99-47.358c0 .006-3.49-.072-6.95-.072zm-286.33-1.05c-56.003 0-81.067 48.102-81.067 81.114 0 4.332.036 18.294.083 33.438h-27.894c-18.642 0-33.423-17.232-33.423-33.438v-33.444h18.702V114.78h-18.702V48.018L828.191-.012H808.83v48.03h19.361v114.924s-.012 3.246-.012 33.318c0 49.098 43.437 81.12 81.069 81.12 31.138 0 28.05-.012 28.05-.012l47.395-47.664h-.306l.317-.324v-33.12c0-10.608 8.359-33.444 33.416-33.444h10.13l47.23-47.67c0-.006-55.91 0-57.36 0zm513.74 114.552h-75.44c-18.65 0-33.42-17.232-33.42-33.438v-33.444h18.69V114.78H1423V48.03L1375.36 0H1356v48.03h19.36s-.01 118.152-.01 148.224c0 49.098 43.44 81.12 81.07 81.12 31.14 0 28.05-.012 28.05-.012l47.39-47.664zm-374.23 0h-29.22c-18.63 0-33.42-17.232-33.42-33.438v-33.444h18.7l.01-48.03H1095l-47.63 48.156s-.02 2.274-.02 33.318c0 49.098 43.45 81.12 81.07 81.12 9.01 0 29.22-.012 29.22-.012l.24-.246 47.38-46.914v-114.84l-47.61-.222-.02 114.552z' fill='%23fff'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Cpath fill='%23fff' transform='translate(-53)' d='M0 0h1583v276H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: 100% auto;
  opacity: .1
}

.footer__content {
  padding: 3rem 0 2rem;
  background-color: #fff
}

.footer__links {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(37, 51, 58, .1);
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap
}

.footer__links li {
  text-align: center;
  margin: 0 .4rem
}

@media (min-width:960px) {
  .footer__links {
      justify-content: space-between
  }

  .footer__links li {
      width: 20%;
      margin: 0
  }
}

.footer__link {
  color: #25333a;
  background-color: transparent;
  border: none;
  font-size: inherit
}

.footer__link:active,
.footer__link:hover,
.footer__link:link,
.footer__link:visited {
  color: #25333a;
  text-decoration: none
}

.footer__link:active,
.footer__link:hover {
  text-decoration: underline
}

.footer__links,
.footer__presenter {
  max-width: 1572px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 5vw;
  padding-right: 5vw
}

.presenter {
  text-align: center;
  font-size: 17px;
  color: #25333a
}

@media(min-width:320px) {
  .presenter {
      font-size: calc(.16949vw + 16.45763px)
  }
}

@media(min-width:1500px) {
  .presenter {
      font-size: 19px
  }
}

.presenter__title {
  text-transform: uppercase;
  opacity: .4;
  font-size: 14.45px;
  margin-bottom: 1rem;
  letter-spacing: .07em
}

@media(min-width:320px) {
  .presenter__title {
      font-size: calc(.14407vw + 13.98898px)
  }
}

@media(min-width:1500px) {
  .presenter__title {
      font-size: 16.15px
  }
}

.presenter__logo {
  width: 133px;
  display: block;
  margin: 0 auto 1.3rem
}

.presenter__tagline {
  max-width: 560px;
  margin: 0 auto
}

.infopage {
  display: none;
  padding: 2rem;
  overflow: auto;
  height: 100%
}

.infopage__title {
  margin-bottom: .5em;
  color: #25333a;
  font-size: 2.8rem
}

.infopage .speaker-info__talk-title,
.infopage h2,
.infopage h3 {
  font-size: 2rem;
  margin-bottom: 1rem
}

.infopage p {
  margin-bottom: 2.5rem
}

.infopage__content {
  color: #25333a
}

.overlay .infopage {
  display: block
}

@media (min-width:768px) {
  .infopage__content {
      min-height: 100%
  }

  .infopage__prose {
      width: 50%;
      min-height: calc(100vh - 4rem);
      padding-right: 2rem;
      display: flex;
      align-items: center
  }

  .infopage__title {
      text-shadow: 0 0 12px #fc4de3;
      color: #fff;
      position: fixed;
      top: 50vh;
      transform: translateY(-50%);
      left: calc(50% + 2rem);
      word-wrap: break-word
  }
}

@media (min-width:1240px) {
  .infopage__title {
      font-size: 4rem
  }
}

.intro {
  position: relative;
  margin-top: calc(-180px + -10vh);
  grid-column-start: 1;
  grid-column-end: -1;
  display: grid;
  grid-column-gap: 1rem;
  grid-template-columns: repeat(12, 1fr);
  align-content: start
}

@media (min-width:960px) {
  .intro {
      grid-column-gap: 2rem
  }
}

.intro__when {
  display: block;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #e21fb2;
  margin-bottom: 5px;
  text-align: right
}

.intro__logo {
  max-width: 800px
}

.intro__svg--mob {
  margin-top: -1.4rem
}

.intro__svg--desktop {
  visibility: hidden;
  height: 0
}

.intro__svg path {
  opacity: .87
}

.intro__lede {
  color: #ffccf3;
  font-size: 20.4px;
  margin-bottom: 1em
}

@media(min-width:320px) {
  .intro__lede {
      font-size: calc(.68644vw + 18.20339px)
  }
}

@media(min-width:1500px) {
  .intro__lede {
      font-size: 28.5px
  }
}

.intro__action {
  margin-top: 2.5em
}

.intro__action,
.intro__blurb,
.intro__lede {
  opacity: 0;
  -webkit-animation: fadeIn 3s 1s forwards;
  animation: fadeIn 3s 1s forwards
}

@-webkit-keyframes fadeIn {
  to {
      opacity: 1
  }
}

@keyframes fadeIn {
  to {
      opacity: 1
  }
}

.intro__action,
.intro__blurb,
.intro__lede,
.intro__logo,
.intro__when {
  grid-column-start: 1;
  grid-column-end: -1
}

@media (min-width:480px) {
  .intro__logo {
      margin-left: -6%
  }

  .intro__lede,
  .intro__logo,
  .intro__when {
      grid-column-start: 2;
      grid-column-end: 11
  }

  .intro__action,
  .intro__blurb {
      grid-column-start: 3;
      grid-column-end: 13
  }
}

@media (min-width:768px) {
  .intro__when {
      text-align: left
  }

  .intro__lede,
  .intro__logo,
  .intro__when {
      grid-column-start: 4;
      grid-column-end: 12
  }

  .intro__action,
  .intro__blurb {
      grid-column-start: 5;
      grid-column-end: 13
  }

  .intro__svg--mob {
      visibility: hidden;
      height: 0
  }

  .intro__svg--desktop {
      visibility: visible;
      height: auto
  }
}

@media (min-width:960px) {

  .intro__lede,
  .intro__logo,
  .intro__when {
      grid-column-start: 4;
      grid-column-end: 11
  }

  .intro__action,
  .intro__blurb {
      grid-column-start: 5;
      grid-column-end: 11
  }
}

.location {
  grid-column-start: 1;
  grid-column-end: -1;
  padding-bottom: calc(80px + 5%)
}

@media (min-width:960px) {
  .location {
      grid-column-start: 2;
      grid-column-end: 12
  }
}

.location__address {
  text-align: right;
  font-style: normal
}

.map {
  height: 560px;
  background-color: #252040
}

.map__loading {
  display: none;
  height: 100%
}

.map.is-loading .map__loading {
  display: flex;
  justify-content: center;
  align-items: center
}

.mapboxgl-popup-content {
  color: #000
}

.mapboxgl-popup-tip {
  display: none
}

.nav {
  position: relative;
  z-index: 20;
  opacity: 1
}

.nav__container {
  max-width: 1572px;
  margin: 0 auto;
  padding-right: 5vw;
  padding-left: 5vw;
  position: relative;
  width: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.has-hs .nav__container {
  position: fixed
}

.nav a:active,
.nav a:hover,
.nav a:link,
.nav a:visited {
  text-decoration: none
}

.nav__link {
  color: #fff;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: .07em;
  transition: text-shadow .3s ease;
  position: relative;
  display: inline-block;
  overflow: hidden
}

.nav__items {
  padding-top: 2rem;
  pointer-events: auto
}

.nav__item {
  margin-bottom: .7em;
  text-shadow: 0 0 10px #fc4de3;
  transition: opacity .1s ease
}

.nav__span {
  padding: 0 .3rem
}

.nav__span:after,
.nav__span:before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  background: #fb22c6;
  transition: transform .6s;
  transition-timing-function: cubic-bezier(.7, 0, .3, 1)
}

.nav__span:before {
  bottom: 10%;
  height: 80%;
  transition: transform .6s .1s;
  transform: translate3d(-100%, 0, 0) translate3d(-1px, 0, 0);
  z-index: -1
}

@media(prefers-reduced-motion) {

  .nav__span:after,
  .nav__span:before {
      transition: transform .01s
  }
}

.nav__span:after {
  bottom: 38%;
  height: 14%;
  transform: translate3d(-100%, 0, 0) translate3d(-1px, 0, 0);
  z-index: -1
}

.nav__link:hover .nav__span:before {
  transform: translate3d(110%, 0, 0)
}

.nav__link:hover .nav__span:after {
  transform: translateZ(0)
}

.nav__top {
  position: absolute;
  display: block;
  border-radius: 100%;
  background-color: #000;
  width: 53px;
  height: 53px;
  top: calc(2rem - 12px);
  left: 5vw;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M24.905 11.24L14.715 1.05 4.525 11.24l1.98 1.98 6.81-6.81v18.22h2.8V6.41l6.81 6.81 1.98-1.98z' fill='%23E21FB2'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Cpath fill='%23fff' d='M0 0h24v24H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  background-position: 12px 12px;
  background-size: 24px 24px;
  background-repeat: no-repeat;
  cursor: pointer;
  opacity: 0;
  transition: opacity .1s ease;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none
}

.nav__top span {
  display: none
}

@media (max-width:767px) {
  .nav__items {
      padding-top: 5vw
  }

  .nav__top {
      top: 5vw;
      left: 5vw;
      right: auto
  }

  .nav__item {
      font-size: 17px
  }
}

@media(max-width:767px)and (min-width:320px) {
  .nav__item {
      font-size: calc(.16949vw + 16.45763px)
  }
}

@media(max-width:767px)and (min-width:1500px) {
  .nav__item {
      font-size: 19px
  }
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  height: 100%;
  height: 100vh;
  width: 100vw;
  background-color: #fff;
  pointer-events: none;
  opacity: 0;
  z-index: -10
}

.overlay.is-open {
  opacity: 1;
  z-index: 1000;
  pointer-events: auto;
  transition: opacity .2s ease;
  overflow: scroll
}

.overlay__content {
  height: 100%
}

.overlay__close {
  content: "";
  display: block;
  position: absolute;
  border-radius: 100%;
  background-color: #fff;
  width: 52px;
  height: 52px;
  top: 1rem;
  right: 1rem;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 13.98l7.496 7.495 1.98-1.98L13.98 12l7.495-7.495-1.98-1.98L12 10.02 4.504 2.525l-1.98 1.98L10.021 12l-7.496 7.495 1.98 1.98 7.496-7.495z' fill='%23E21FB2'/%3E%3C/svg%3E");
  background-position: 50%;
  background-size: 24px 24px;
  z-index: 1001;
  background-repeat: no-repeat;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-indent: 200%
}

@media (min-width:960px) {
  .overlay__close {
      top: 2rem;
      right: 2rem
  }
}

@media (min-width:768px) {
  .overlay.is-open {
      background-color: rgba(47, 39, 58, .701)
  }

  .overlay__container {
      position: relative;
      width: 100%;
      height: 100%
  }

  @supports(pointer-events:none) {
      .overlay__container:after {
          content: "";
          position: fixed;
          width: 100%;
          height: 100%;
          top: 0;
          left: 0;
          bottom: 0;
          right: 0;
          background-image: linear-gradient(to left top, #000, rgba(0, 0, 0, .09), rgba(109, 21, 74, .4), hsla(0, 0%, 72.5%, 0), hsla(0, 0%, 100%, 0)), url(/assets/img/bokeh.jpg);
          background-size: cover;
          z-index: -1;
          opacity: .4;
          mix-blend-mode: exclusion;
          pointer-events: none
      }
  }

  .overlay:after {
      right: 0;
      z-index: -2;
      background-color: #0b002d;
      transform: translateX(70%)
  }

  .overlay:after,
  .overlay:before {
      content: "";
      position: absolute;
      width: 50vw;
      height: 100%;
      top: 0;
      bottom: 0;
      opacity: 0;
      transition: transform 1.3s cubic-bezier(.19, 1, .22, 1), opacity .3s ease-out
  }

  .overlay:before {
      left: 0;
      z-index: -1;
      background-color: #fff;
      transform: translateX(-70%)
  }
}

@media(min-width:768px)and (prefers-reduced-motion) {

  .overlay:after,
  .overlay:before {
      transition: transform .01s, opacity .3s
  }
}

@media (min-width:768px) {

  .overlay.is-open:after,
  .overlay.is-open:before {
      transform: translateX(0);
      opacity: 1
  }
}

@media (min-width:768px) {
  .overlay.is-open .overlay__content {
      transition: opacity 1.3s ease-out .6s;
      opacity: 1
  }
}

@media(min-width:768px)and (prefers-reduced-motion) {
  .overlay.is-open .overlay__content {
      transition: opacity 1s ease-out .2s
  }
}

@media (min-width:768px) {
  .overlay__content {
      opacity: 0
  }
}

.has-js [data-overlay] {
  cursor: pointer
}

@media (min-width:768px) {
  .overlay {
      height: 100vh
  }
}

.prose {
  font-size: 1rem
}

.prose>p {
  margin-bottom: 1em
}

.prose>:last-child {
  margin-bottom: 0
}

.panel {
  position: relative;
  z-index: 1;
  background-color: #000
}

.panel__body {
  padding: 0 5vw
}

.has-js .panel__content {
  max-width: 1572px;
  margin: 0 auto;
  position: relative;
  display: grid;
  grid-column-gap: 1rem;
  grid-template-columns: repeat(12, 1fr);
  align-content: start;
  padding-bottom: calc(200 - 5vw);
  min-height: 200px
}

@media (min-width:960px) {
  .has-js .panel__content {
      grid-column-gap: 2rem
  }
}

.panel__main {
  padding-top: 0
}

.panel__title {
  align-self: start;
  grid-column-start: 1;
  grid-column-end: -1;
  -webkit-animation: light 2s ease forwards paused;
  animation: light 2s ease forwards paused
}

@media (min-width:960px) {
  .panel__title {
      grid-column-start: 2;
      grid-column-end: 12
  }
}

.panel__intro-copy {
  text-align: right;
  padding-bottom: 2rem;
  align-self: end;
  grid-column-start: 1;
  grid-column-end: -1
}

@media (min-width:960px) {
  .has-js .panel__intro-copy {
      grid-column-start: 2;
      grid-column-end: 12
  }
}

.panel__copy {
  padding-top: 2rem;
  align-self: end;
  grid-column-start: 1;
  grid-column-end: -1
}

@media (min-width:960px) {
  .panel__copy {
      grid-column-start: 4;
      grid-column-end: 14
  }
}

@-webkit-keyframes light {
  78% {
      opacity: 1;
      text-shadow: 0 0 32px #fc4de3
  }

  79% {
      opacity: .6
  }

  80% {
      opacity: 1;
      text-shadow: none
  }

  81% {
      opacity: 1;
      text-shadow: 0 0 32px #fc4de3
  }

  82% {
      opacity: .5;
      text-shadow: none
  }

  83% {
      opacity: 1;
      text-shadow: 0 0 32px #fc4de3
  }

  92% {
      opacity: .5;
      text-shadow: none
  }

  92.5% {
      opacity: 1;
      text-shadow: 0 0 12px #fc4de3
  }

  95% {
      text-shadow: none
  }

  to {
      opacity: 1;
      text-shadow: 0 0 32px #fc4de3
  }
}

@keyframes light {
  78% {
      opacity: 1;
      text-shadow: 0 0 32px #fc4de3
  }

  79% {
      opacity: .6
  }

  80% {
      opacity: 1;
      text-shadow: none
  }

  81% {
      opacity: 1;
      text-shadow: 0 0 32px #fc4de3
  }

  82% {
      opacity: .5;
      text-shadow: none
  }

  83% {
      opacity: 1;
      text-shadow: 0 0 32px #fc4de3
  }

  92% {
      opacity: .5;
      text-shadow: none
  }

  92.5% {
      opacity: 1;
      text-shadow: 0 0 12px #fc4de3
  }

  95% {
      text-shadow: none
  }

  to {
      opacity: 1;
      text-shadow: 0 0 32px #fc4de3
  }
}

.panel--intro {
  z-index: 1;
  background-image: linear-gradient(#000, #000);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 100% calc(100% - 498px - 20vh);
  background-color: transparent
}

.panel--intro:after,
.panel--intro:before {
  content: "";
  display: block;
  width: 100%;
  height: calc(250px + 10vh);
  background-size: 100% 100%;
  background-repeat: no-repeat
}

.panel--intro:before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' viewBox='0 0 100 100'%3E%3Cpath d='M100 100V0L0 100z'/%3E%3C/svg%3E");
  background-position: bottom;
  position: relative;
  bottom: -1px;
  transform: scaleX(-1)
}

.panel--intro:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' viewBox='0 0 100 100'%3E%3Cpath d='M100 100V0H0z'/%3E%3C/svg%3E");
  background-position: top;
  top: -1px
}

.panel--intro+.panel {
  margin-top: calc(-250px + -10vh)
}

.panel--intro .panel__title {
  margin-top: calc(-1*(250px + 10vh)/4)
}

.panel--speakers {
  z-index: 2;
  background-image: linear-gradient(#000, #000);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 100% calc(100% - 598px - 20vh);
  background-color: transparent
}

.panel--speakers:after,
.panel--speakers:before {
  content: "";
  display: block;
  width: 100%;
  height: calc(300px + 10vh);
  background-size: 100% 100%;
  background-repeat: no-repeat
}

.panel--speakers:before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' viewBox='0 0 100 100'%3E%3Cpath d='M100 100V0L0 100z'/%3E%3C/svg%3E");
  background-position: bottom;
  position: relative;
  bottom: -1px
}

.panel--speakers:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' viewBox='0 0 100 100'%3E%3Cpath d='M100 100V0H0z'/%3E%3C/svg%3E");
  background-position: top;
  top: -1px;
  transform: scaleX(-1)
}

.panel--speakers+.panel {
  margin-top: calc(-300px + -10vh)
}

.has-js .panel--speakers .panel__title {
  margin-top: calc(-1*(300px + 10vh)/4);
  text-align: right
}

.panel--speakers .panel__title:after {
  margin-left: auto;
  transform: scaleX(-1)
}

.panel--schedule {
  z-index: 3;
  background-image: linear-gradient(#000, #000);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 100% calc(100% - 598px - 20vh);
  background-color: transparent
}

.panel--schedule:after,
.panel--schedule:before {
  content: "";
  display: block;
  width: 100%;
  height: calc(300px + 10vh);
  background-size: 100% 100%;
  background-repeat: no-repeat
}

.panel--schedule:before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' viewBox='0 0 100 100'%3E%3Cpath d='M100 100V0L0 100z'/%3E%3C/svg%3E");
  background-position: bottom;
  position: relative;
  bottom: -1px;
  transform: scaleX(-1)
}

.panel--schedule:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' viewBox='0 0 100 100'%3E%3Cpath d='M100 100V0H0z'/%3E%3C/svg%3E");
  background-position: top;
  top: -1px
}

.panel--schedule+.panel {
  margin-top: calc(-300px + -10vh)
}

.panel--schedule .panel__title {
  margin-top: calc(-1*(300px + 10vh)/4)
}

.panel--location {
  background-color: transparent;
  z-index: 4
}

.panel--location__shim {
  background-color: #000;
  transform-origin: right top;
  padding-top: 80px;
  padding-bottom: 20px;
  margin-top: -200px !important
}

.panel--location .panel__map {
  width: 100%
}

.panel--location .panel__content {
  margin-top: -1vw
}

.panel--location .panel__title {
  text-align: right
}

.panel--location .panel__title:after {
  margin-left: auto;
  transform: scaleX(-1)
}

.panel--tickets {
  z-index: 3;
  margin-top: calc(10vw - 140px);
  background-image: linear-gradient(#000, #000);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 100% calc(100% - 498px - 20vh);
  background-color: transparent
}

.panel--tickets:after,
.panel--tickets:before {
  content: "";
  display: block;
  width: 100%;
  height: calc(250px + 10vh);
  background-size: 100% 100%;
  background-repeat: no-repeat
}

.panel--tickets:before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' viewBox='0 0 100 100'%3E%3Cpath d='M100 100V0L0 100z'/%3E%3C/svg%3E");
  background-position: bottom;
  position: relative;
  bottom: -1px;
  transform: scaleX(-1)
}

.panel--tickets:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' viewBox='0 0 100 100'%3E%3Cpath d='M100 100V0H0z'/%3E%3C/svg%3E");
  background-position: top;
  top: -1px
}

.panel--tickets+.panel {
  margin-top: calc(-250px + -10vh)
}

.panel--tickets .panel__title {
  margin-top: calc(-1*(250px + 10vh)/4);
  margin-top: -120px
}

.panel--sponsors {
  z-index: 5;
  background-image: linear-gradient(#000, #000);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 100% calc(100% - 298px - 20vh);
  background-color: transparent
}

.panel--sponsors:after,
.panel--sponsors:before {
  content: "";
  display: block;
  width: 100%;
  height: calc(150px + 10vh);
  background-size: 100% 100%;
  background-repeat: no-repeat
}

.panel--sponsors:before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' viewBox='0 0 100 100'%3E%3Cpath d='M100 100V0L0 100z'/%3E%3C/svg%3E");
  background-position: bottom;
  position: relative;
  bottom: -1px
}

.panel--sponsors:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' viewBox='0 0 100 100'%3E%3Cpath d='M100 100V0H0z'/%3E%3C/svg%3E");
  background-position: top;
  top: -1px;
  transform: scaleX(-1)
}

.panel--sponsors+.panel {
  margin-top: calc(-150px + -10vh)
}

.panel--sponsors .panel__title {
  margin-top: calc(-1*(150px + 10vh)/4);
  text-align: right
}

.panel--sponsors .panel__title:after {
  margin-left: auto;
  transform: scaleX(-1)
}

.panel--location__shim {
  transform: skewY(-8deg)
}

.panel--location .panel__body {
  transform: skewY(8deg)
}

@media (min-width:480px) {
  .panel--location__shim {
      transform: skewY(-8deg)
  }

  .panel--location .panel__body {
      transform: skewY(8deg)
  }
}

@media (min-width:1972px) {
  .panel {
      margin-left: calc((100vw - 1972px)/2 + 200px);
      margin-right: calc((100vw - 1972px)/2 + 200px)
  }

  .panel--intro,
  .panel--sponsors {
      margin-left: 0
  }

  .panel--intro .panel__body,
  .panel--sponsors .panel__body {
      padding-left: calc((100vw - 1972px)/2 + 200px + 5vw)
  }

  .panel--schedule .panel__body {
      padding-right: calc(5vw + 150px)
  }

  .panel--tickets {
      margin-top: 0
  }

  .panel--tickets .panel__title {
      margin-top: -140px
  }
}

.schedule {
  padding-bottom: 2rem;
  grid-column-start: 1;
  grid-column-end: -1;
  display: grid;
  grid-column-gap: 1rem;
  grid-template-columns: repeat(12, 1fr);
  align-content: start
}

@media (min-width:960px) {
  .schedule {
      grid-column-gap: 2rem
  }
}

.schedule__afternoon,
.schedule__empty,
.schedule__morning {
  grid-column-start: 1;
  grid-column-end: -1
}

.schedule__slot {
  padding: 1rem;
  display: flex;
  border-bottom: 1px solid rgba(255, 204, 243, .5)
}

.schedule__time {
  width: 80px;
  padding-right: 1rem;
  text-align: right;
  flex: none;
  font-weight: 700;
  letter-spacing: .07em
}

.schedule__details {
  flex: 1
}

.schedule__label,
.schedule__talk {
  font-family: Barlow, sans-serif;
  font-weight: 400;
  font-size: 17px;
  opacity: .7;
  letter-spacing: .01em
}

@media(min-width:320px) {

  .schedule__label,
  .schedule__talk {
      font-size: calc(.16949vw + 16.45763px)
  }
}

@media(min-width:1500px) {

  .schedule__label,
  .schedule__talk {
      font-size: 19px
  }
}

.schedule__speaker {
  font-size: 17px;
  letter-spacing: .07em;
  text-transform: uppercase;
  margin-bottom: 4px
}

@media(min-width:320px) {
  .schedule__speaker {
      font-size: calc(.16949vw + 16.45763px)
  }
}

@media(min-width:1500px) {
  .schedule__speaker {
      font-size: 19px
  }
}

@media (min-width:960px) {
  .schedule__morning {
      grid-column-start: 2;
      grid-column-end: 7
  }

  .schedule__afternoon {
      grid-column-start: 7;
      grid-column-end: 12
  }

  .schedule__empty {
      grid-column-start: 2;
      grid-column-end: 12
  }
}

@media (min-width:1240px) {
  .schedule__morning {
      grid-column-start: 3;
      grid-column-end: 7
  }

  .schedule__afternoon {
      grid-column-start: 7;
      grid-column-end: 11
  }
}

.has-js .speakers {
  grid-row-gap: 2rem;
  grid-column-start: 1;
  grid-column-end: -1;
  display: grid;
  grid-column-gap: 1rem;
  grid-template-columns: repeat(12, 1fr);
  align-content: start
}

@media (min-width:960px) {
  .has-js .speakers {
      grid-column-gap: 2rem
  }
}

.has-js .speakers__empty {
  grid-column-start: 1;
  grid-column-end: -1;
  text-align: right
}

@media (min-width:960px) {
  .has-js .speakers__empty {
      grid-column-start: 2;
      grid-column-end: 12
  }
}

.has-js .speaker {
  position: relative;
  max-width: 250px
}

.has-js .speaker:nth-child(odd) {
  grid-column-start: 4;
  grid-column-end: 13
}

.has-js .speaker:nth-child(2n) {
  grid-column-start: 1;
  grid-column-end: 10
}

@media (min-width:480px) {
  .has-js .speaker:nth-child(4n+1) {
      grid-column-start: 3;
      grid-column-end: 8
  }

  .has-js .speaker:nth-child(4n+2) {
      grid-column-start: 8;
      grid-column-end: 13
  }

  .has-js .speaker:nth-child(4n+3) {
      grid-column-start: 1;
      grid-column-end: 6
  }

  .has-js .speaker:nth-child(4n+4) {
      grid-column-start: 6;
      grid-column-end: 11
  }
}

@media (min-width:768px) {
  .has-js .speaker:first-child {
      grid-column-start: 4;
      grid-column-end: 8
  }

  .has-js .speaker:nth-child(2) {
      grid-column-start: 8;
      grid-column-end: 12
  }

  .has-js .speaker:nth-child(3) {
      grid-column-start: 2;
      grid-column-end: 6
  }

  .has-js .speaker:nth-child(4) {
      grid-column-start: 6;
      grid-column-end: 10
  }

  .has-js .speaker:nth-child(5) {
      grid-column-start: 3;
      grid-column-end: 7
  }

  .has-js .speaker:nth-child(6) {
      grid-column-start: 7;
      grid-column-end: 11
  }

  .has-js .speaker:nth-child(7) {
      grid-column-start: 1;
      grid-column-end: 5
  }

  .has-js .speaker:nth-child(8) {
      grid-column-start: 5;
      grid-column-end: 9
  }

  .has-js .speaker:nth-child(9) {
      grid-column-start: 8;
      grid-column-end: 12
  }

  .has-js .speaker:nth-child(10) {
      grid-column-start: 1;
      grid-column-end: 5
  }
}

@media (min-width:960px) {
  .has-js .speaker:nth-child(8n+1) {
      grid-column-start: 4;
      grid-column-end: 6
  }

  .has-js .speaker:nth-child(8n+2) {
      grid-column-start: 6;
      grid-column-end: 8
  }

  .has-js .speaker:nth-child(8n+3) {
      grid-column-start: 8;
      grid-column-end: 10
  }

  .has-js .speaker:nth-child(8n+4) {
      grid-column-start: 10;
      grid-column-end: 12
  }

  .has-js .speaker:nth-child(8n+5) {
      grid-column-start: 3;
      grid-column-end: 5
  }

  .has-js .speaker:nth-child(8n+6) {
      grid-column-start: 5;
      grid-column-end: 7
  }

  .has-js .speaker:nth-child(8n+7) {
      grid-column-start: 7;
      grid-column-end: 9
  }

  .has-js .speaker:nth-child(8n+8) {
      grid-column-start: 9;
      grid-column-end: 11
  }
}

.speaker__pic {
  overflow: hidden;
  position: relative;
  height: 200px
}

.speaker__pic__glitch {
  position: absolute;
  width: 110%;
  height: 100%;
  left: -5%;
  top: 0;
  -o-object-fit: cover;
  object-fit: cover
}

.speaker__pic__glitch--middle {
  -webkit-filter: url(#duotone);
  filter: url(#duotone)
}

.speaker__pic__glitch--middle,
.speaker__pic__glitch--top {
  -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
  clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
  webkit-clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%)
}

.speaker__pic__glitch--bottom {
  left: 0;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.speaker__pic__glitch-container {
  content: "";
  height: 100%;
  width: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute
}

.speaker__pic__glitch-container img {
  width: 110%
}

.speaker__name {
  text-transform: uppercase;
  letter-spacing: .07em;
  margin-top: 1em;
  padding-bottom: 1em;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 233 18'%3E%3Cpath d='M0 17h212L232 .56' stroke='%23fff'/%3E%3C/svg%3E");
  background-position: 100% 100%;
  background-repeat: no-repeat
}
.speaker__button {
  display: none;
}
.has-js .speaker__button {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: transparent;
  border: none;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-indent: 200%
}
.speaker-info {
  background-color: #fff;
}
.has-js .speaker-info {
  background-color: transparent;
  display: none;
  height: 100%;
  overflow: auto
}

.overlay .speaker-info {
  display: flex;
  position: relative;
  z-index: 1
}

.speaker-info__container {
  margin: auto
}

.speaker-info__profile {
  color: #25333a
}

.speaker-info__name {
  color: #25333a;
  font-size: 20.4px;
  margin-bottom: 1rem
}

@media(min-width:320px) {
  .speaker-info__name {
      font-size: calc(.68644vw + 18.20339px)
  }
}

@media(min-width:1500px) {
  .speaker-info__name {
      font-size: 28.5px
  }
}

.speaker-info__pic {
  position: relative;
  max-width: 250px;
  height: 250px;
  margin-bottom: .8rem;
  overflow: hidden
}

.speaker-info__group {
  margin-bottom: 2rem
}

.speaker-info__talk-title {
  text-shadow: 0 0 32px #fc4de3
}

.speaker-info__talk-title:after {
  display: none
}

.speaker-info__talk-description p:first-child:not(:last-child) {
  color: #e21fb2;
  font-size: 20.4px;
  line-height: 1.2
}

@media(min-width:320px) {
  .speaker-info__talk-description p:first-child:not(:last-child) {
      font-size: calc(.68644vw + 18.20339px)
  }
}

@media(min-width:1500px) {
  .speaker-info__talk-description p:first-child:not(:last-child) {
      font-size: 28.5px
  }
}

.speaker-info__bio {
  color: #25333a
}

@media (max-width:767px) {
  .speaker-info__container>div {
      padding: 2rem 5vw
  }

  .speaker-info__talk {
      background-color: #252040
  }
}

@media (min-width:768px) {
  .speaker-info__container {
      display: flex;
      margin: auto;
      max-width: calc(1000px + 10vw);
      justify-content: space-between;
      padding: 2rem 5vw
  }

  .speaker-info__container>div {
      width: calc(50% - 3rem);
      flex: none;
      display: flex;
      flex-direction: column;
      justify-content: center
  }
}

.sponsors {
  grid-column-start: 1;
  grid-column-end: -1;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start
}

@media (min-width:960px) {
  .sponsors {
      grid-column-start: 2;
      grid-column-end: 12
  }
}

.sponsors__label {
  opacity: .6;
  font-size: 17px;
  letter-spacing: .07em
}

@media(min-width:320px) {
  .sponsors__label {
      font-size: calc(.16949vw + 16.45763px)
  }
}

@media(min-width:1500px) {
  .sponsors__label {
      font-size: 19px
  }
}

.sponsors__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center
}

.sponsors__logo {
  width: auto;
  max-width: 200px
}

.sponsors__group,
.sponsors__sponsor {
  margin-right: 2rem;
  margin-top: 2rem
}

.sponsors__empty {
  width: 100%;
  text-align: right;
  padding-top: 1rem
}

.tickets {
  grid-column-start: 1;
  grid-column-end: -1;
  display: grid;
  grid-column-gap: 1rem;
  grid-template-columns: repeat(12, 1fr);
  align-content: start;
  padding-bottom: 2rem
}

@media (min-width:960px) {
  .tickets {
      grid-column-gap: 2rem
  }
}

.tickets>* {
  grid-column-start: 1;
  grid-column-end: -1
}

.tickets__info {
  padding-top: 1rem;
  margin-bottom: 2rem
}

@media (min-width:960px) {
  .tickets {
      padding-bottom: 0
  }

  .tickets>* {
      grid-column-start: 3;
      grid-column-end: 11
  }
}

.ticket {
  padding: 1rem 0;
  display: flex;
  width: 100%;
  border-bottom: 1px solid rgba(255, 204, 243, .5)
}

.ticket__label,
.ticket__price {
  font-size: 17px;
  letter-spacing: .07em;
  text-transform: uppercase;
  margin-bottom: 4px;
  font-weight: 700
}

@media(min-width:320px) {

  .ticket__label,
  .ticket__price {
      font-size: calc(.16949vw + 16.45763px)
  }
}

@media(min-width:1500px) {

  .ticket__label,
  .ticket__price {
      font-size: 19px
  }
}

.ticket__price {
  margin-left: auto;
  flex: none
}

.ticket__qualifier {
  font-family: Barlow, sans-serif;
  font-weight: 400;
  font-size: 17px;
  opacity: .7;
  letter-spacing: .01em
}

@media (min-width:320px) {
  .ticket__qualifier {
      font-size: calc(.16949vw + 16.45763px)
  }
}

@media (min-width:1500px) {
  .ticket__qualifier {
      font-size: 19px
  }
}