/* CSS Document */
:root { 
  --header-background: #000000; 
  --swiper-pagination-bullet-inactive-opacity : 1; 
}
.over-image-title{
  padding-bottom: 10vh;
}
.over-image-title h1{
  max-width: 60%;
}
.over-image-subtitle{
  font-family: "Narkiss Block";
  font-size: 1.6em;
  margin-top: 0.8em;
}
.festival-content-wrapper{
  background: var(--brown-color);
  color: #F8F8F8;
  padding: 3em 0;
}
.festival-content-wrapper a{
  color: #F8F8F8;
}
.festival-container{
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-column-gap: 4em;
}
.festival-content{
  font-size: 1.12em;
}
.festival-side{
  font-family: "Narkiss Block";
  font-size: 0.78em;
  line-height: 1.3em;
}
.festival-side h4{
  font-size: 1.13em;
  font-weight: 700;
}
.festival-container a.inner-button{
  border-color: #F8F8F8;
  margin-top: 1em;
}
.festival-container a.inner-button:hover,
.festival-container a.inner-button:focus{
  border-color: #0E0E0E;
}
.schedule-wrapper{
  background: #000000;
  color: #F8F8F8;
  padding: 5em 0 7em;
}
.schedule-wrapper a{
  color: #F8F8F8;
}
.schedule-wrapper h2{
  text-align: center;
  color: var(--brown-color);
  font-size: 4.2em;
  letter-spacing: 1.4em;
  padding-left: 1.4em;
  margin: 0 0 1em;
}
.day-wrapper{
  padding: 0 0.1em;
}
.day-navigation{
  font-size: 0.68em;
  letter-spacing: 0.2em;
  color: var(--brown-color);
  border-bottom: dashed 2px var(--brown-color);
}
.day-navigation a{
  text-decoration: none;
  display: inline-block;    
  position: relative;
  top: 0.1em;
}
.day-navigation a img{
  height: 1em;
  width: auto;    
}
.day-navigation a.next{
  float: left;
}
.day-navigation a.prev{
  margin-left: 1em;
}
.day-navigation a.prev img{
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}
.event{
  display: grid;
  grid-template-columns: 1fr 10fr 8fr 6fr 14fr 8fr;
  grid-column-gap: 1.5em;
  grid-row-gap: 0;
  grid-template-areas: "opener thumbnail title time subtitle tickets" ". . description description description .";
  align-items: center;
  border-top: solid 1px #F8F8F8;
  padding: 1em 0;
}
.event:first-child{
  border-top: none;
}
.event .opener{
  grid-area: opener;
}
.event .opener a{
  display: block;
  height: 0.8em;
  width: 0.8em;
  padding: 0.4em;
  text-align: center;
  border-radius: 50%;    
  transition: 0.3s all;
}
.event .opener a img{
  width: 100%;
  height: auto;
  display: block;
}
.event .opener a:hover,
.event .opener a:focus{
  background: var(--brown-color);
}
.event .thumbnail{
  grid-area: thumbnail;
}
.event .thumbnail .thumbnail-wrapper{
  position: relative;
  width: 90%;
  height: 0;
  padding-top: 65%;
}
.event .thumbnail .thumbnail-wrapper img{
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.5em;
}
.event .title{
  grid-area: title;
  text-align: center;
  font-size: 2em;
  line-height: 1em;
  letter-spacing: 0.03em;
}
.event .time{
  grid-area: time;
  text-align: center;
  font-family: "Narkiss Block";
  letter-spacing: 0.03em;
}
.event .subtitle{
  font-family: "Narkiss Block";
  grid-area: subtitle;
  text-align: center;
  letter-spacing: 0.03em;
}
.event .tickets{
  grid-area: tickets;
  text-align: left;
}
.event .tickets a.inner-button{
  font-family: "Narkiss Block";
  font-size: 0.9em;
  border-color: #F8F8F8;
  display: inline-block;
  text-align: center;
}
.event .tickets a.inner-button:hover,
.event .tickets a.inner-button:focus{
  border-color: #0E0E0E;
}
.event .description{
  grid-area: description;
  display: none;
  font-family: "Narkiss Block";
  letter-spacing: 0.03em;
}
.event.open .description{
  display: block;
}
.event.open .opener a{
  transform: rotate(45deg);
  background: var(--brown-color);
}
.dates-pagination{
  padding: 2em 0;
  display: flex;
  gap: 5em;
  align-items: center;
  justify-content: center;    
}
.day-button{
  display: flex;
  align-items: center;
  text-decoration: none;
  border: solid 1px var(--brown-color);
  border-radius: 50%;
  height: 6em;
  width: 6em;
  padding: 0.5em;
}
.day-button .day-button-wrapper{
  text-align: center;
  display: block;
  width: 6em;
}
.day-button .day-of-week{
  display: block;
  font-size: 1.8em;
  font-weight: 700;
}
.day-button .day{
  margin-top: 0.35em;
  padding-top: 0.3em;
  font-family: "Narkiss Block";
  letter-spacing: 0.28em;
  font-weight: 700;
  display: block;
}
.day-button:hover,
.day-button.active{
  background: var(--brown-color);
}
.day-button:hover .day,
.day-button.active .day{
  border-top: dashed 1px #F8F8F8;
}
@media (max-width: 767px){
  .festival-container{
    display: block;
  }
  .festival-side{
    margin-top: 2em;
  }
  .festival-content,
  .festival-side{
    font-size: 1.2em;
    line-height: 1.5em;
  }
  .festival-side h4{
    font-size: 1em;
  }
  .festival-container a.inner-button{
    font-size: 1em;
  }
  .schedule-wrapper h2{
    letter-spacing: 0.4em;
    text-align: center;
    padding-left: 0.4em;
    margin-bottom: 0.25em;
  }
  .dates-pagination{
    gap: 0;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-bottom: 0.5em;
  }
  .day-button{
    height: 3.5em;
    width: 3.5em;
  }
  .day-button .day-of-week{
    font-size: 1.5em;
  }
  .day-button .day{
    font-size: 0.86em;
    letter-spacing: 0.1em;
    padding-top: 0;
  }
  .day-button .day .year{
    display: none;
  }
  .day-navigation{
    font-size: 0.95em;
    padding-bottom: 0.5em;
  }
  .event{
    padding: 2em 0;
    grid-template-columns: 3fr 2fr 1fr; 
    grid-template-rows: min-content 1fr min-content min-content min-content;
    grid-column-gap: 0.85em;
    grid-template-areas: "thumbnail title title" 
                         "thumbnail subtitle subtitle" 
                         "thumbnail time opener" 
                         "description description description" 
                         "tickets tickets tickets";
    align-items: flex-start;
  }
  .event .title{
    text-align: inherit;
    font-size: 1.04;
  }
  .event .subtitle{
    text-align: inherit;
    font-size: 0.7;
    line-height: 1.1em;
    align-self: center;
  }
  .event .thumbnail .thumbnail-wrapper {
    width: 100%;
    padding-top: 80%;
  }
  .event .time{
    text-align: inherit;
    letter-spacing: 0.01em;
    font-size: 0.9em;
    font-weight: 700;
    align-self: flex-end;
  }
  .event .opener{
    text-align: left;
    align-self: flex-end;
    align-content: flex-end;
    position: relative;
  }
  .event .opener a{
    display: inline-block;
    height: 1.1em;
    width: 1.1em;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .event .tickets{
    text-align: inherit;
    padding: 1.5em 0 0 0;
  }
  .event .tickets a.inner-button{
    width: 100%;
    padding: 0.5em 0;
    font-size: 1em;
  }
}