/* css by publiSITIO 10.mar.025 */
@import url('https://fonts.cdnfonts.com/css/neue-haas-grotesk-display-pro');

:root{
	--main-color: #1D1D1B;
}
/* custom scrollbar */
html{
  scroll-behavior: smooth;
}
* {
  scrollbar-color: var(--main-color) transparent;
  scrollbar-width: thin;
}
/* custom scrollbar end */
body{
	font: normal 600 14px/1.15 "Neue Haas Grotesk Display Pro", sans-serif;
	color: var(--main-color) !important;
  padding-top: 66px;
}
a {
  color: var(--main-color);
  transition: opacity .2s ease-in-out;

  &:hover{
    opacity: .8;
  }
}
.navigation{
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1030;
  color: #fff;
  background: var(--main-color);
  padding: 10px 1rem;
}
.navbar-brand{
  font-size: inherit;
  line-height: inherit;
}
.navbar-text{
  color: #fff;
}
.navbar a{
  color: #fff;

  &:hover{
    color: inherit;
    text-decoration: underline;
    opacity: 1;
  }
}
.nav-link:focus{
  color: rgb(134, 134, 134);
}
.navbar-toggler-icon{
  filter: invert(1);
}
h2{
  font-weight: 700;
}
p{
  font-size: 28px;
  line-height: 34px;
}
ul.language-switch {
  display: flex;
  padding: 0;
  margin: 0;
  list-style: none;
  font-size: 14px;
  line-height: 14px;

  & a{
    color: #fff;
    margin-right: 10px;
    text-decoration: none;

    &.active{
      text-decoration: underline;
    }
  }
}
.invert{
  filter: invert(1);
}
.row{
  width: 86%;
  margin: auto;
}
@media screen and (max-width: 900px) { 
  .row{
    width: 100%;
    margin: auto;
  }
  .nav-link{
    font-size: 3rem;
    padding: 1.5rem 0;
  }
  
}
.hero{
	position: relative;
  height: 95vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;

  & video{
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: -1;
      object-fit: cover;
      width: 100%;
      height: 100%;
    }

    & .splash{
      width: 83.5%;
      margin: auto;
      mix-blend-mode: luminosity;
      opacity: 63%;
    }

      & .more-info{
        padding: 1%;
        display: flex;
        font-weight: normal;
      }
}
.header {
  padding-top: 1.25rem;
  padding-bottom: 3.75rem;
  /*height: 190px;
  padding-top: 20px;
  padding-bottom: 20px;*/

  & h1{
    font-size: 50px;
    font-weight: inherit;
    line-height: 50px;
  }
  & h2{
    font-size: clamp(20px, 4vw, 28px);
    font-weight: inherit;
    line-height: clamp(20px, 4vw, 28px);
    /*
    font-size: 28px;
    font-weight: inherit;
    line-height: 34px;*/
  }

  @media screen and (max-width: 900px) { 
    height: auto;
  }
}
.event_text{
  font-style: normal;
  font-size: 14px;
  line-height: 14px;
}
.carousel-control-prev-icon {
  background-image: url(https://www.festivalsemibreve.com/themes/custom/fs24/images/arrow-right.svg);
  transform: rotate(180deg);
}
.carousel-control-next-icon {
  background-image: url(https://www.festivalsemibreve.com/themes/custom/fs24/images/arrow-right.svg);
}

.side-list{
  margin: 0;
  padding: 0;
  font-size: 16px;
  list-style: none;

  & li{
    margin-bottom: 5px;
  }
}
ul.list-footer-partners {
  list-style: none;
  padding: 0px;
  margin: 10px 0 0 0;

  & li{
  	vertical-align: middle;
    margin-right: 28px;
    display: inline-block;
    margin-bottom: 20px;

    & img{
    	vertical-align: middle;
	    height: 46px;
	    width: 100%;
    }
  }
}

.social{
	background: var(--main-color);
  color: #fff;
  margin-top: 100px;
  font-size: 28px;
  font-weight: 700;
  line-height: 52px;
  padding: 17px 0;

  & a{
  	color: #fff;
  }
}
.copyright{
	text-align: right;
}
.title{
  font-size: 50px;
  line-height: 50px;
}
.section-subtitle{
font-size: 14px;
  line-height: 14px;
}
.section, 
.section-title {
  font-size: clamp(30px, 4vw, 50px);
  /*font-size: 50px;
  line-height: 60px;*/
}
.read-more {
  text-align: right;

  & a {
  	/*color: var(--main-color);*/
    text-decoration: underline;
    font-size: 28px;
    line-height: 52px;

    & span {
	    display: inline-block;
	    vertical-align: top;
	    margin-left: 10px;
	  }
  }
}

hr{
  opacity: 1;
}
.artist{
  font-size: clamp(30px, 4vw, 50px);
  font-weight: inherit;
}
/* bio-note - utilizado para notas bio e sinposes */
.bio-note{
  font-weight: 400;
  text-wrap: pretty;
}
.bio-pic{
  position: relative;
}
.photo_credtis{
  position: absolute;
  font-weight: 400;
  bottom: 0;
  left: 0;
  z-index: 1;

  & span{
    position: relative;
    
    &::before{
      background: #fff;
      content: '';
      width: 105%;
      height: 100%;
      position: absolute;
      z-index: -1;
    }
  }
}
.line-up-logos{
  display: flex;
  gap: 15px;
  list-style: none;
  margin: 3rem 0;
  padding: 0;
  align-items: center;

  & a{
    width: 65px;
  }
}

/* PROGRAMA */
.programme{
  background: var(--main-color);
  color: #fff;
  padding: 150px 15px;

  & a{
    color: #fff;
  }
}
.programme-nav{
  background: var(--main-color);
  position: sticky;
  top: 68px;
  font-size: 20px;
  padding: 2rem 0;
  z-index: 999;

  & ul{
    display: flex;
    justify-content: space-between;
    list-style: none;
    margin: 0;
    padding: 0;
  }
}
  .programme-calendar{

    & [id="23"],
      [id="24"],
      [id="25"],
      [id="26"],
      [id="27"]{
      scroll-margin-top: 200px;
    }

    & a{
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      font-size: 22px;
      font-weight: 300;
      padding: 2rem 0;
      border-bottom: 1px solid #fff;
      text-decoration: none;

      &:last-child{
        border-bottom: none;
      }

      & div:nth-child(2){
        font-weight: 600;
        text-wrap: balance;
        transition: all .5s ease-in-out;
        transform: translate(0px);

        @media screen and (max-width: 900px) { 
          margin-bottom: 1rem;
        }

        & span{
          font-weight: normal;
          display: block;
        }
      }

      &:hover div:nth-child(2){
          transform: translate(10px);
        }

      @media screen and (max-width: 900px) { 
        flex-direction: column;
      }
    } 
  }

/* programa paralelo páginas */
.programa-paralelo{
  background: var(--main-color);
  color: #fff;

  a{
    filter: invert(1);
  }

  br{
    display: block;
    margin: 1rem 0;
  }

  .photo_credtis {
    & span {
      &::before {
        background: var(--main-color);
      }
    }
  }

  .notas{
    ul{
      list-style: none;
      font-size: 22px;
      font-weight: 400;
      padding: 2rem 0;

      li{
        padding: .5rem 0;

        span{
          display: block;
          font-weight: 600;
        }
      }
    }
  }

  .goBack{
    padding-bottom: 5rem;
  }
}

.img-xxl{
  width: 100%;
  height: auto;
}

.goBack{
  font-size: clamp(30px, 4vw, 50px);
  text-decoration: none;
  display: block;

  &:hover span{
    padding-left: 45px;
  }

  span{
    padding-left: 5px;
    transition: all .5s ease-in-out;
  }
}

/* bootstrap */

.nav-link.disabled, .nav-link:disabled {
  color: rgb(142, 142, 142);
}