
*{
    box-sizing: border-box;
  }
  
  html, body{
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    overflow-x: hidden;
  }
  html {
    font-size: var(--unit);
    font-family:SpaceGrotesk;
    
  }
  
  body {
  
    line-height:var(--size-b);
    font-size:calc(var(--size-b) * var(--flr));
  
  }
  
  
  ul, li{
    margin:0;
    padding:0;
  }
  a{
    color:black;
    
  }
  a:hover, a.active{
    color:var(--color-1);
  }
  
  p{
    margin:0 0 1em 0;
  }
  h2, h3{
    line-height: var(--size-c);
    font-size: calc(var(--size-c) * var(--flr));
    margin:1em 0;
  }
  h2:first-child, h3:first-child, h4:first-child{
    margin-top:0;
  }

  h2{
    text-transform:uppercase;
  }
  
  h4{
    line-height: var(--size-a);
    font-size: calc(var(--size-a) * var(--flr));
    margin:1em 0;
    text-transform: uppercase;
  }
    
  h3{
    line-height: var(--size-b);
    font-size: calc(var(--size-b) * var(--flr));
    margin:1em 0 0 0;
  }
  .tmpl-edition header{
    transition:transform 0.2s ease-in-out;
  }
  header{
    width:100%;

    overflow:hidden;
    transform:translateY(-100%) translateY(3.5rem);

    padding-bottom:3rem;
    position:sticky;
    top:0;
    z-index:1000;
  }
  header.no-tr{
    transition:none;
  }
  header.active{
    transform:translateY(0%);
    
    max-height:100%;
  }
  
  .header-content{
    padding:1rem;
    position:relative;
    display:flex;
    background:var(--color-2);
    

  }


  .header-handler{
    height:3.5rem;
    width:100%;
    background:var(--color-2);
    padding-top:0.5rem;
    cursor:pointer;
    position:absolute;
    bottom:0;
  }

  .header-handler .open-close{
    width:2.5rem;
    height:2.5rem;
    position:relative;
    margin-left:1rem;
  }
  .header-handler .open-close span{
    display:block;
    position:absolute;
    width:100%;
    height:0.2rem;
    background:black;
    top:50%;


  } 
  .header-handler .open-close .t1{
    transform:rotate(90deg);
    
  }


  header.active .header-handler .open-close .t1{
    transform:rotate(0);
  }


  
  /*NAV*/
  
  nav{
    
    line-height:var(--size-c);
    font-size:calc(var(--size-c) * var(--flr));
  
  }
  
  nav a{
    text-decoration:none;
    text-transform: lowercase;
    font-weight:bold;
   /* white-space: nowrap;*/
  }
  nav ul{
    list-style: none;
  }
  
  
  nav.main-nav{
    flex:0 1 25%;
  }
  
  nav.main-nav ul ul{
    display:none;
    position:absolute;
    top:0;
    left:50%;
    line-height:var(--size-d);
    font-size:calc(var(--size-d) * var(--flr));
    z-index:1000;
  }
  nav.main-nav ul li{
    position:relative;
  }
  nav.main-nav ul li:hover ul{
    display:block;
  }
  nav.main-nav ul li a.active + ul{
    display:block;
  }
  nav.ui-nav{
    display:flex;
    flex-direction: column;
    flex:1 1 50%;
    padding-left:50%;
    line-height:var(--size-b);
    font-size:calc(var(--size-b) * var(--flr));
  
  }
  nav.ui-nav a{
    text-transform:uppercase;
  }
  nav.ui-nav ul{
    flex:1 0 auto;
  }
  
  nav.ui-nav ul:last-child{
    display:flex;
    flex-direction: column;
    justify-content: end;
    
  }
  li.socials{
    /*position:absolute;
    bottom:1rem;
    right:1rem;
    */margin-top:1rem;
  }

  li.socials svg{
    width:3rem;
    height:auto;
  }
  
  nav.years-nav{
    width:100%;
    flex:0 1 2rem;
    background:var(--color-2);
    padding:1rem;
    line-height:var(--size-b);
    font-size:calc(var(--size-b) * var(--flr));
    z-index:100000;
    position: relative;
    
  }
  
  nav.years-nav ul{
    display:flex;
  }
  
  nav.years-nav ul li{
    margin-right:2rem;
  }
  
  
  section.banner{
    width:100%;
    
  
    text-transform:uppercase;
    display:flex;
    justify-content: center;
    flex-direction:column;
    text-align:center;
  
    line-height:1em;
  }


  section.small.banner {
    text-align:left;
    padding:0.2rem 0 0 0;
    justify-content: left;
    font-size: var(--size-e);
    line-height: var(--size-e);
    flex-direction: row;
    height:var(--size-e);
    overflow:hidden;
    white-space: nowrap; 
    position:sticky;
    top:3.5rem;
  }

  section.small.banner a{
    height:var(--size-e);
    display:block;
    animation: floatText 25s infinite linear;
  }

  section.small.banner:hover a{
    animation-play-state: paused;
  }
  @keyframes floatText {
    to {
      transform: translateX(-100%);
    }
  }

  section.small.banner p{
    display:inline-block;
    margin:0 0 0 4rem;
  }
  .tmpl-edition{
    display:flex;
    flex-flow: column;
  }
  .tmpl-edition .banner{
    height: calc(100vh - 6.5rem);
    transition:height 0.2s ease-in-out;
    flex: 1 0 auto;
    
  }
  .tmpl-edition header.no-tr + .banner{
    transition:none;
  }
  .tmpl-edition header.active + .banner{
    height:calc(100vh - 30vh - 4rem);
    flex: 1 1 auto;
  }

  .tmpl-edition header{
    flex: 0 1 auto;
  }

  main{
    background:#F8F8F8;
    min-height:100vh;
    display:flex;
    flex-wrap: wrap;
    padding-bottom:4rem;
  }

  body:not(.tmpl-events) main a{
    color:var(--color-1);
  }
  body:not(.tmpl-events) main a:hover{
    color:black;
  }
  main>section{
    padding:1rem 2rem 1rem 1rem;
  }
  .main-text {
    /*width: 33%;*/
    padding: 1rem 2rem 1rem 1rem;

  }
  main a{
    word-wrap: break-word;
  }
  .gallery{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    
  }
  .main-medias{
    flex:0 0 33%;
    padding:1rem 1rem 1rem 0;

  }

  .linked-events img{
    width:100%;

  }
  .linked-events h2.event-title{
    margin:0;

  }
  .linked-events a.linked-event{
    border-bottom:2px solid var(--color-2);
    text-decoration:none;
    display:block;
    color:black;
    transition:background-color 0.5s ease-in-out;
    padding:1rem;
  }
  .linked-events a.linked-event:hover{
    background:var(--color-1);
    color:white;
  }
  .linked-events a.linked-event:first-child{
    padding-top:0;
  }
  .main-medias div{
    

  }
  .main-medias div.gallery-item img,   .main-medias div.gallery-item video{
    border:2px solid var(--color-1);
    max-height:50vh;
    max-width:33vw;
    display:block;
    margin-bottom:0.5rem;

  }
.caption{
    width: 0px;
    min-width: 100%;
    line-height:var(--size-a);
    font-size:calc(var(--size-a) * var(--flr));
    background:#F8F8F8;
  }

  div.gallery-item {
    margin:1rem 0;
    display:inline-block;
    cursor:pointer;
  
  }

  .linked-info-pages{
    line-height: var(--size-c);
    font-size: calc(var(--size-c) * var(--flr));
    font-weight: bold;
    
  }
  .linked-info-pages ul, .linked-info-pages li{
    list-style: none;
    margin:0;
    padding:0;
  }
  .linked-info-pages li a:before{
    content:'→ ';
  }
  .linked-info-pages li a{
    text-decoration: none;
  }
  /*lightbox */
  .splide{
    height:100%;
    display:flex;
  }
  .splide__pagination{
    height:2rem;
    bottom:0;
  
  }
  .splide__pagination__page{
    opacity:1;
    display:block;
  }
  .splide__pagination__page.is-active{
    background:var(--color-gray);
    transform: scale(1.2);
  }
  
  #lightbox.active{
    display:block;
  }
  
  #lightbox{
    width:100vw;
    height:100vh;
    position:fixed;
    top:0;
    left:0;
    display:none;
    z-index:10000;
  }
  /*
  #lightbox:after{
    content: '✖';
    position:absolute;
    font-size:2rem;
    top:1rem;
    right:1rem;
    cursor:pointer;

  }*/
  
  #lightbox .content, #lightbox .background{
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
  }
  #lightbox .splide__slide{
    padding:0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display:flex;
  }
  #lightbox .background{
    opacity:0.8;
    background:white;
  
  }
  #lightbox img, #lightbox video{
    cursor:grab;
    max-width:calc(50vw - 8rem);
    max-height:90vh;
    margin-bottom:0.5rem;
  }
  #lightbox .zoom-button{
    display:none;
  }
  #lightbox .gallery-item{
    
  }
  #lightbox.single .splide__track{
    width:100%;
  }
  #lightbox.single .gallery-item{
    margin:0 auto;
  }
  
  .splide__video{
    height: calc(50vw * 0.57);
    top: 50%;
    transform: translateY(-50%);
  }
  #splide-list .splide__slide--has-video:only-child .splide__video{
    width: calc(50vw);
    left:50%;
    transform: translateX(-50%) translateY(-50%);
    margin: 0 auto;
  }
  

  /*File list */
  .sound-files{
    margin-top:2rem;
  }
  .sound-files audio{
    width:100%;
    background:var(--color-1);
  }
  .downloads, .downloads a{
    color:var(--color-1);
  }
  .downloads ul{
    list-style: none;
  }


.downloads h2{
  margin-top:1em;
}

  /*listing*/
  .listing-elems{
    flex-basis:100%;
    padding:0;
  }

  .listing-elems a{
    display:flex;
    width:100%;
    text-decoration:none;
    padding:1rem;
    border-bottom:2px solid var(--color-2);
    background-color:white;
    transition:background-color 0.5s ease-in-out;

  }
  .listing-elems a:hover{
    background-color:var(--color-1);
    color:white;
  }
  .listing-elems h2{
    margin:0;
  }
  .listing-elems a>div{
    flex:1 1 33%;
    padding:1rem;
  }

  .listing-elems img{
    width:100%;
  }
  .event-date{
    margin:0;
  }
  .event-date span{
    display:block;
  }
  .event-title{
    margin-bottom:0;
  }
  .event-artists{
    text-transform: none;
    margin-top:0;
  }
  .event-categories{
    line-height: var(--size-c);
    font-size: calc(var(--size-c) * var(--flr));
    font-weight:bold;
    margin-left:3rem;

  }

  main section{
    flex:0 1 33%;
    line-height: var(--size-b);
    font-size: calc(var(--size-b) * var(--flr));
  }

  main.listing{
    padding:1rem;

  }
  main.listing ul{
    line-height: var(--size-c);
    font-size: calc(var(--size-c) * var(--flr));
  }

  .listing ul{
    line-height: var(--size-c);
    font-size: calc(var(--size-c) * var(--flr));
   
    list-style: none;
    margin:0;
    text-transform:capitalize;

  }

  .listing ul li{
    display:inline;
    font-weight:bold;
    margin:0;
    padding:0;
  }
  .listing ul li:not(li:last-child):after{
    content:', ';
  }

  main.listing ul li a{
    white-space: nowrap;
    text-decoration: none;
  }
  .listing ul li a{
    text-decoration: none;
  }