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

:root {
  --c-grey: rgb(216, 216, 216);
  --c-grey1: rgba(216, 216, 216, 0.5);
  --c-grey2: rgba(216, 216, 216, 0.25);
  --c-black: #111;
  --c-white: #fff;
  --c-white1: rgba(255, 255, 255, 0.5);
  --c-red: #cc635f;
  --c-red2: #cb4d4d;
  --c-red3: #c6524d;
  --c-red4: #d85252;
  --f-special: "FF ArberVintageExtended";
  --f-normal: "FF Barlow", sans-serif;
  --bg-white: var(--c-white) url("/static/images/style/bg-light.jpg") repeat-x;
  --bg-black: var(--c-black) url("/static/images/style/bg-dark.jpg");
  --bg-photo-max-width: 384px;
  --bg-photo-width: 35vw;
  --inner-gap-horizontal: 24px;
  --outer-gap-horizontal: 0;
  --inner-gap-vertical: 24px;
  --outer-gap-vertical: 0;
  --logo-width: 0;
  font-size: 10px;
}

@media (min-width: 768px) {
  :root {
    --inner-gap-horizontal: 0;
    --outer-gap-horizontal: 32px;
    --inner-gap-vertical: 32px;
    --outer-gap-vertical: 32px;
  }
}

@media (min-width: 1024px) {
  :root {
    --logo-width: 350px;
  }
}

@media (min-width: 1440px) {
  :root {
    --logo-width: 512px;
  }
}

body {
  background: var(--bg-black);
  color: var(--c-white);
  font-family: var(--f-normal);
  font-size: 1.7rem;
  line-height: 1.41;
  margin: 0;
}

a {
  color: var(--c-red4);
}

a:hover, a:focus {
  color: inherit;
}

*:target {
  padding-top: 80px !important;
}

.cursor-help {
  cursor: help;
}

/* === Show dynamic background image as if it was a proper photo */
.dynamic-image::before {
  background: var(--bg-photo) no-repeat;
  background-size: cover;
  display: block;
  line-height: 0;
}

.dynamic-image--square::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E");
}

/* === Tag */
.tag {
  background: var(--c-grey1);
  color: inherit;
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 2;
  padding: 0 1em 1px;
  text-decoration: none;
  text-transform: uppercase;
}

a.tag:hover, a.tag:focus {
  background: var(--c-black);
  color: var(--c-white);
}

/* === Markdown text from mdx */
.section--mdx .section__wrapper {
  padding-bottom: var(--inner-gap-vertical);
}

@media (min-width: 768px) {
  .section--mdx .section__wrapper {
    padding-left: var(--outer-gap-horizontal);
    padding-right: var(--outer-gap-horizontal);
  }
}

.section--mdx h1,
.section--mdx h2,
.section--mdx h3,
.section--mdx h4,
.section--mdx h5,
.section--mdx h6 {
  font-weight: 500;
  margin: 1.2em 0 0.8em;
}

.section--mdx h1 {
  font-size: 3.2rem;
  line-height: 1;
  margin: 0 0 32px;
}

@media (min-width: 768px) {
  .section--mdx h1 {
    font-size: 4rem;
  }
}

.section--mdx h2 {
  font-size: 2.4rem;
}

.header {
  font-family: var(--f-special);
  text-align: center;
  text-transform: uppercase;
}

.header__date,
.header__location-place,
.header__location-city,
.logo,
.header__intro {
  padding-left: var(--inner-gap-horizontal);
  padding-right: var(--inner-gap-horizontal);
}

.header__date,
.header__location {
  font-size: 2rem;
  line-height: 1.2;
}

.header__date,
.logo {
  padding-top: var(--inner-gap-vertical);
}

.header__location,
.logo,
.header__intro {
  padding-bottom: var(--inner-gap-vertical);
}

.header__location-place,
.header__location-city {
  display: block;
}

.header__intro {
  font-size: 3.2rem;
  line-height: 1;
}

.logo__link {
  display: block;
  margin: 0 auto;
  max-width: 117px;
  width: 100%;
}

.logo__image {
  display: block;
  width: 100%;
}

@media (min-width: 768px) {
  .header__location-place,
  .header__location-city {
    display: inline;
  }
  .header__intro {
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media (min-width: 1024px) {
  .header__date,
  .header__location {
    font-size: 2.6rem;
    line-height: 1;
    padding-bottom: var(--inner-gap-vertical);
    padding-top: var(--inner-gap-vertical);
  }
  .header__intro {
    align-self: center;
    font-size: 5.6rem;
    line-height: 0.86;
    padding: var(--inner-gap-vertical) var(--outer-gap-horizontal);
  }
  .logo {
    align-items: center;
    display: flex;
    padding: 120px 0;
  }
  .logo__link {
    max-width: 232px;
  }
}

@media (min-width: 1440px) {
  .logo {
    padding: 200px 0;
  }
}

.button {
  --button-color-main: var(--c-red);
  --button-color-secondary: var(--c-white);
  --button-color-hover: var(--c-black);
  background: var(--button-color-main);
  border: 1px solid var(--button-color-main);
  color: var(--button-color-secondary);
  display: inline-block;
  font-family: var(--f-special);
  font-size: 2.6rem;
  line-height: 2.1rem;
  padding: 18px 31px 17px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

.button:hover, .button:focus {
  --button-color-main: var(--button-color-hover);
  color: var(--button-color-secondary);
}

.button--outline {
  background: var(--button-color-secondary);
  color: var(--button-color-main);
}

.button--outline:hover, .button--outline:focus {
  color: var(--button-color-hover);
}

.nav-main {
  font-family: var(--f-special);
  text-transform: uppercase;
}

.nav-main__list {
  align-items: center;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 24px 0;
  grid-area: list;
}

.nav-main__item {
  padding: 12px 0;
}

.nav-main__link {
  border-bottom: 2px solid transparent;
  color: var(--c-white);
  font-size: 3.2rem;
  line-height: 1.25;
  padding-bottom: 4px;
  text-decoration: none;
}

.nav-main__link:hover, .nav-main__link:focus {
  border-bottom-color: var(--c-red2);
}

@media (min-width: 768px) {
  .nav-main {
    background: var(--bg-black);
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1;
  }
  .nav-main__content {
    display: flex;
    width: 100%;
  }
  .nav-main__list {
    align-items: stretch;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-evenly;
    padding: 0;
    width: 100%;
  }
  .nav-main__list.nav-main__list.nav-main__list.nav-main__list.nav-main__list {
    border-bottom: 0 none;
  }
  .nav-main__item {
    padding: 0;
    display: flex;
    align-items: center;
    position: relative;
  }
  .nav-main__link {
    font-size: 2.6rem;
    line-height: 1;
    padding-bottom: 0;
    border-bottom: 0 none;
  }
  .nav-main__link:hover:after {
    content: '';
    border-bottom: 2px solid var(--c-red2);
    position: absolute;
    bottom: -2px;
    width: 100%;
    left: 0;
    right: 0;
  }
}

/* NavMainMore */
.nav-main-more {
  display: block;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1;
}

.nav-main__menu-button {
  background: var(--bg-black);
  border: 0 none;
  color: inherit;
  cursor: pointer;
  display: block;
  font-family: var(--f-special);
  font-size: 2.6rem;
  padding: 18px 0 17px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  grid-area: menu;
}

.nav-main__menu-button:hover, .nav-main__menu-button:focus {
  color: var(--c-red2);
}

.nav-main__ticket-button {
  display: block;
  line-height: unset;
  padding-left: 0;
  padding-right: 0;
}

.nav-main__ticket-button:hover, .nav-main__ticket-button:focus {
  background: var(--c-red4);
  --button-color-main: var(--c-red4);
}

@media (min-width: 768px) {
  .nav-main__ticket-button {
    min-width: 150px;
    padding-left: 1vw;
    padding-right: 1vw;
  }
  .nav-main__ticket-button {
    position: relative;
  }
  .nav-main__ticket-button:after {
    border-right: var(--border);
    content: '';
    display: block;
    position: absolute;
    right: -1px;
    top: -1px;
    bottom: -1px;
  }
}

@media (min-width: 1024px) {
  .nav-main__ticket-button {
    width: var(--logo-width);
  }
}

.nav-full__list {
  align-items: center;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  list-style: none;
  margin: 0 var(--outer-gap-horizontal);
  padding: var(--inner-gap-vertical) var(--inner-gap-horizontal);
}

@media (min-width: 768px) {
  .nav-full__list {
    flex-direction: row;
    justify-content: center;
  }
}

.nav-full__item {
  padding: 0.4em;
}

.nav-full__link {
  text-decoration: none;
}

.nav-previous-years__list {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 0 var(--outer-gap-horizontal);
  padding: var(--inner-gap-vertical) var(--inner-gap-horizontal);
}

.nav-previous-years__item {
  padding: 0.4em;
  width: 50%;
}

@media (min-width: 640px) {
  .nav-previous-years__item {
    padding: 0.6em;
    width: auto;
  }
}

.nav-previous-years__link {
  color: var(--c-white1);
  text-decoration: none;
}

.nav-previous-years__link:hover, .nav-previous-years__link:focus {
  color: var(--c-red4);
}

.footer {
  font-family: var(--f-special);
  font-size: 2.4rem;
  text-align: center;
  text-transform: uppercase;
}

.footer .nav-full__list {
  flex-direction: row;
}

.footer .nav-full__list .nav-full__item {
  padding: 0 0.4em;
}

.footer .nav-full__list .nav-full__item a {
  color: var(--c-white1);
}

.footer .nav-full__list .nav-full__item a:hover {
  color: var(--c-red4);
}

.footer__content {
  padding-bottom: calc(var(--inner-gap-vertical) * 2);
  padding-top: calc(var(--inner-gap-vertical) * 2);
}

.footer__content a {
  text-decoration: none;
}

.footer__content p {
  margin: 0 var(--outer-gap-horizontal) 1em;
  padding: 0 var(--inner-gap-horizontal);
}

.footer__content p:last-child {
  margin-bottom: 0;
}

.section {
  color: var(--c-black);
}

.section:target {
  padding-top: 73px;
}

.section__wrapper {
  background: var(--bg-white);
  padding: var(--inner-gap-vertical) var(--inner-gap-horizontal) 0;
  margin-left: var(--outer-gap-horizontal);
  margin-right: var(--outer-gap-horizontal);
}

.section__title {
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1;
  margin: 0 0 var(--inner-gap-vertical);
  text-transform: lowercase;
}

@media (min-width: 768px) {
  .section__title {
    font-size: 4rem;
  }
}

.sponsors-category__list {
  display: grid;
}

.sponsors-category__title {
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 2;
  margin: 0 0 32px;
  overflow: hidden;
  text-align: center;
  text-transform: uppercase;
}

.sponsors-category__title:before, .sponsors-category__title:after {
  background-color: var(--c-grey1);
  content: "";
  display: inline-block;
  height: 2px;
  position: relative;
  vertical-align: middle;
  width: 50%;
}

.sponsors-category__title:before {
  right: 1em;
  margin-left: -50%;
}

.sponsors-category__title:after {
  left: 1em;
  margin-right: -50%;
}

.sponsor {
  flex: 0 0 auto;
  margin: 0 auto 48px;
}

.sponsor--1st {
  width: 255px;
}

.sponsor--2nd,
.sponsor--3rd,
.sponsor--4th,
.sponsor--5th {
  width: calc(95px * 2);
}

.sponsor__link--image {
  display: block;
  height: 100%;
  position: relative;
  text-align: center;
  width: 100%;
}

.sponsor__link--image::before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.sponsor__image {
  border: 0 none;
  max-height: 100%;
  max-width: 100%;
  text-transform: uppercase;
  vertical-align: middle;
}

.sponsor__image::after {
  align-items: center;
  background: var(--c-white);
  bottom: 0;
  content: attr(alt);
  display: flex;
  justify-content: center;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.sponsor__intro {
  margin-bottom: 32px;
}

.sponsors-category--available {
  margin-bottom: 48px;
}

.sponsor__link--available {
  width: 100%;
}

@media (min-width: 768px) {
  .sponsors-category {
    padding-bottom: 0.1px;
    padding-left: var(--outer-gap-horizontal);
    padding-right: var(--outer-gap-horizontal);
  }
  .sponsors__title {
    text-align: center;
  }
  .sponsors-category__list {
    background: var(--c-grey2);
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    grid-column-gap: 2px;
    margin: 48px;
  }
  .sponsors-category__title {
    margin-bottom: 48px;
  }
  .sponsor {
    background: var(--c-white);
    margin: 0;
    padding: 12px;
    width: 100%;
  }
  .sponsors-category--available {
    text-align: center;
  }
  .sponsor__link--available {
    width: auto;
  }
  .sponsor__link--image {
    margin: auto;
    max-width: calc(95px * 3);
  }
  .sponsor--1st .sponsor__link--image {
    width: 233px;
  }
}

.introduction-image {
  grid-area: ii-pic;
  padding-bottom: 24px;
  width: var(--bg-photo-width);
  width: auto;
  display: none;
}

@media (min-width: 1024px) {
  .introduction-image {
    padding-bottom: 32px;
    width: 386px;
    display: block;
  }
}

@media (min-width: 768px) {
  .introduction__item {
    padding-left: var(--outer-gap-horizontal);
    padding-right: var(--outer-gap-horizontal);
  }
}

@media (min-width: 1024px) {
  .introduction__item {
    display: grid;
    grid-column-gap: 48px;
    grid-template-columns: max-content;
    grid-template-rows: min-content;
    grid-template-areas: "ii-pic ii-header" "ii-pic ii-info";
  }
}

.introduction__header {
  font-size: 0;
  grid-area: ii-header;
}

.introduction__title {
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1;
  margin: 0;
  padding-bottom: 32px;
}

.introduction__info {
  grid-area: ii-info;
  padding-bottom: 32px;
}

.introduction__sessions {
  border-collapse: collapse;
  width: 100%;
  margin: 0 -0.2em;
  border-bottom: 1px solid var(--c-grey2);
}

.introduction__sessions th {
  text-align: left;
}

.introduction__sessions tbody tr:nth-child(2n + 1) {
  background: var(--c-grey2);
}

.introduction__sessions td, .introduction__sessions th {
  padding: 0.4em 0.2em;
}

.sessions {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sessions__item {
  border-bottom: 2px solid var(--c-black);
  padding: 32px 0 0;
}

.sessions__item:first-child {
  padding-top: 0;
}

.sessions__item:last-child {
  border-bottom: 0 none;
}

.speaker-image {
  width: var(--bg-photo-width);
}

.talk__header {
  font-size: 0;
}

.break__title,
.talk__title {
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1;
  margin: 0;
  padding-bottom: 32px;
}

.talk__buy {
  margin-bottom: 32px;
}

.speaker-image,
.talk-content,
.speaker-bio,
.talk__material {
  padding-bottom: 24px;
}

.speaker-image:last-child,
.talk-content:last-child,
.speaker-bio:last-child,
.talk__material:last-child {
  padding-bottom: 32px;
}

.talk-content__title,
.speaker-bio__title {
  font-weight: 600;
  margin: 0;
}

.talk-content__text p {
  margin: 0;
  padding-bottom: 24px;
}

.talk-content__text p:last-child {
  padding-bottom: 0;
}

.speaker-bio__text {
  margin: 0;
}

.speaker__name,
.speaker__twitter,
.talk__time,
.break__time {
  margin-bottom: 24px;
}

a.speaker__twitter {
  background: var(--c-black);
  color: var(--c-white);
}

a.speaker__twitter:hover {
  background: var(--c-red);
}

.talk__time,
.break__time,
.speaker__name,
.talk__link {
  margin-right: 8px;
}

.break__info {
  margin-top: -12px;
  padding-bottom: 32px;
}

.break__info a {
  font-weight: bold;
}

.break__info p {
  margin: 0;
}

@media (min-width: 768px) {
  .sessions__item {
    padding-left: var(--outer-gap-horizontal);
    padding-right: var(--outer-gap-horizontal);
  }
  .sessions__item--talk {
    display: grid;
    grid-column-gap: 48px;
    grid-template-columns: max-content auto;
    grid-template-rows: auto;
    grid-template-areas: "si-pic si-header" "si-pic si-info" "si-pic si-material";
  }
  .speaker-image {
    grid-area: si-pic;
    display: block;
    max-width: var(--bg-photo-max-width);
  }
  .talk__header {
    grid-area: si-header;
  }
  .talk__info {
    grid-area: si-info;
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    grid-column-gap: 32px;
  }
  .talk_material {
    grid-area: si-material;
  }
  .break__title,
  .talk__title {
    font-size: 4rem;
  }
  .speaker-image,
  .talk-content,
  .speaker-bio {
    padding-bottom: 32px;
  }
}

@media (min-width: 1440px) {
  .sessions__item--talk {
    grid-column-gap: 76px;
  }
}

.workshop__tag,
.workshop__speaker {
  margin-bottom: 24px;
}

.workshop__tag {
  margin-right: 8px;
}

.workshop__image {
  display: none;
}

@media (min-width: 768px) {
  .workshop__image {
    grid-area: wi-pic;
    display: block;
    margin-bottom: 32px;
    max-width: var(--bg-photo-max-width);
    width: var(--bg-photo-width);
  }
}

.workshop__header {
  font-size: 0;
}

.workshop__title {
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1;
  margin: 0;
  padding-bottom: 32px;
}

@media (min-width: 768px) {
  .workshop-wrapper {
    display: grid;
    grid-column-gap: 48px;
    grid-template-columns: max-content auto;
    grid-template-rows: auto;
    grid-template-areas: "wi-pic ." "wi-pic ." "wi-pic .";
    padding-left: var(--outer-gap-horizontal);
    padding-right: var(--outer-gap-horizontal);
  }
}

@media (min-width: 1440px) {
  .workshop-wrapper {
    grid-column-gap: 76px;
  }
}

.workshops__item {
  border-bottom: 2px solid var(--c-black);
  margin-bottom: 32px;
}

.workshops__item:last-child {
  border-bottom: 0 none;
  margin-bottom: 0;
}

.workshops__link,
.workshops__buy {
  margin-bottom: 16px;
  width: 100%;
}

.workshops__link {
  margin-right: 16px;
}

.workshops__description,
.workshops__intro {
  font-size: 1.7rem;
  margin: 0;
}

.workshops__description {
  padding: 0 0 24px;
}

.workshops__intro {
  padding-bottom: 32px;
}

@media (min-width: 640px) {
  .workshops__link,
  .workshops__buy {
    width: auto;
  }
}

.locations {
  text-transform: lowercase;
}

.locations,
.locations-category__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.locations-category__title {
  font-size: 3.2rem;
  font-weight: 500;
  margin: 0 0 32px;
}

.locations-category__item {
  margin-bottom: 24px;
}

.locations-category__item:after {
  border-bottom: 2px solid var(--c-grey1);
  content: "";
  display: block;
  margin-top: 24px;
  width: 42px;
}

.locations-category__item:last-child:after {
  border-bottom-color: var(--c-black);
  margin-top: 32px;
  width: 100%;
}

.locations__category:last-child .locations-category__item:last-child {
  margin-bottom: 0;
}

.locations__category:last-child .locations-category__item:last-child:after {
  border-bottom-color: transparent;
}

.location__link {
  color: inherit;
  font-weight: 600;
  text-decoration: none;
}

.location__link:hover, .location__link:focus {
  color: var(--c-red4);
}

.location__detail,
.location__extra {
  margin: 0;
}

@media (min-width: 768px) {
  .locations {
    background: var(--bg-black);
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    grid-column-gap: var(--outer-gap-horizontal);
    text-align: center;
  }
  .locations__category {
    background: var(--bg-white);
    padding: var(--outer-gap-vertical) var(--outer-gap-horizontal) 0;
  }
  .locations-category__title {
    font-size: 4rem;
    margin-bottom: 48px;
  }
  .locations-category__item:after {
    margin-left: auto;
    margin-right: auto;
  }
  .locations-category__item:last-child:after {
    border-bottom-color: transparent;
  }
}

abbr[title="proudly"] {
  text-decoration: none;
  font-weight: 900;
  background-image: linear-gradient(to left, violet, indigo, blue, green, yellow, orange, red);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.section--diversity {
  padding-bottom: 0;
  padding-top: 0;
}

.section--diversity .section__wrapper:after {
  background: url("/static/images/style/diversity-small.png") no-repeat bottom;
  background-size: contain;
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 406'%3E%3C/svg%3E");
  display: block;
  margin-top: 32px;
}

@media (min-width: 768px) {
  .section--diversity .section__wrapper {
    display: grid;
    grid-template-columns: 60%;
    padding-right: 0;
    position: relative;
  }
  .section--diversity .section__wrapper:after {
    background-image: url("/static/images/style/diversity-big.png");
    background-position: center;
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 920 1006'%3E%3C/svg%3E");
    height: 100%;
    margin-top: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 34%;
  }
}

.quote__wrapper {
  margin: 0 var(--outer-gap-horizontal);
  margin: 0 10%;
  padding: var(--inner-gap-vertical) var(--inner-gap-horizontal);
  text-align: center;
}

.quote__icon {
  margin: 0 auto 24px;
  width: 44px;
}

.quote__text {
  font-family: var(--f-special);
  font-size: 2.4rem;
  line-height: 1;
  margin: 0 0 16px;
  text-transform: uppercase;
}

.quote__link {
  color: var(--c-red3);
  font-style: normal;
  font-weight: 600;
  text-decoration: none;
}

@media (min-width: 768px) {
  .quote__text {
    font-size: 4rem;
  }
}

.icon img {
  display: block;
}

:root {
  --gap: 16px;
  --border: 2px solid var(--c-white);
  --gap-border: 18px;
}

@media (min-width: 768px) {
  :root {
    --gap: 32px;
    --gap-border: 34px;
  }
}

.wrapper {
  border-left: var(--border);
  border-right: var(--border);
  margin: 0 var(--gap);
}

.special,
.nav-full,
.nav-main,
.nav-main-more,
.quote,
.section,
.header__location,
.header,
.footer__content {
  border-bottom: var(--border);
  margin-left: calc(-1 * var(--gap-border));
  margin-right: calc(-1 * var(--gap-border));
  padding-left: var(--gap-border);
  padding-right: var(--gap-border);
}

.section {
  padding-bottom: var(--outer-gap-vertical);
  padding-top: var(--outer-gap-vertical);
}

@media (min-width: 768px) {
  .section--locations .section__wrapper {
    padding-top: 0;
  }
  .wrapper-content {
    display: grid;
    grid-template-areas: "more nav" "main main";
    grid-template-columns: max-content 1fr;
    grid-template-rows: auto;
  }
  .nav-main-more {
    grid-area: more;
    margin-right: 0;
    padding-right: 0;
  }
  .nav-main {
    background: var(--bg-black);
    display: flex;
    grid-area: nav;
    margin-left: 0;
    padding-left: 0;
  }
  .nav-main__content {
    position: relative;
  }
  .nav-main__content:after {
    border-right: var(--border);
    content: "";
    display: block;
    position: absolute;
    right: -2px;
    top: -1px;
    bottom: -1px;
  }
  .main {
    grid-area: main;
  }
}

@media (min-width: 1024px) {
  .header {
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: var(--logo-width) 1fr;
  }
  .header__date,
  .logo {
    border-right: var(--border);
  }
  .header__date {
    border-bottom: var(--border);
    margin-left: calc(-1 * var(--gap-border));
    padding-left: var(--gap-border);
  }
  .logo {
    max-width: unset;
  }
}

.workshop__date,
.workshop__time {
  margin-bottom: 24px;
}

.workshop__date {
  margin-right: 8px;
}

.workshop__topics-title,
.workshop__description-title {
  font-weight: 500;
  margin: 0;
  padding-bottom: 24px;
}

.workshop__topics-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.workshop__topic {
  padding-bottom: 24px;
}

.workshop__topic-title,
.workshop__extended-description strong {
  font-weight: 600;
  margin: 0;
}

.workshop__description p {
  margin-top: 0;
}

.workshop__extended-description {
  margin-bottom: 32px;
}

.workshop__extended-description ul {
  margin: 0;
}

.workshop__buy {
  margin-bottom: 32px;
  width: 100%;
}

.workshop__intro {
  font-size: 1.7rem;
  margin: 0;
  padding-bottom: 24px;
}

@media (min-width: 640px) {
  .workshop__buy {
    width: auto;
  }
}

@media (min-width: 1024px) {
  .workshop__buy:first-child {
    margin-right: 16px;
  }
}

