
*, *:before, *:after {
	box-sizing: border-box;
}

* {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
    --amareloardente: #e8bb2e;
    --vermelhobravo: #e7121e;
    color: black;


}

html {
  scroll-behavior: smooth;
}

body {
    background-color: #1c1c1c;
/*    font-family: 'Inter', sans-serif;*/
    font-family: 'Overpass Mono', monospace;
}


@font-face {
  font-family: "BN Carta Noir";
  src: url('/fonts/BNCartaNoir-Bold.otf');
/*  src: url('fonts/fira/eot/FiraSans-Regular.eot') format('embedded-opentype'),
       url('fonts/fira/woff2/FiraSans-Regular.woff2') format('woff2'),
       url('fonts/fira/woff/FiraSans-Regular.woff') format('woff'),
       url('fonts/fira/woff2/FiraSans-Regular.ttf') format('truetype');*/
}




section {
/*  padding: 42px;*/
}

.content-about {
  padding: 42px;
  max-width: 1380px;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;


}

.logo-topo {
    margin: 10px;
    position: absolute;
    top: 7px;
    left: 0px;
    z-index: 100;
}

h1 {
  font-family: 'BN Carta Noir', Arial, sans-serif;
  
/*  padding: 4px 0;*/
}

#quem-somos h1 {
  font-size: 5rem;
}

#quem-somos h2 {

  font-size: 1.2rem;
}

h2 {
  color: #C60000;
}

.slide-container {
  /*  height: 100dvh;  Do this! */
/*   width: 100%;*/
}

video.Main-gridVideo.js-gridLoop {
  height: 100dvh; /*  Do this! */
/*   width: 100%;*/ 

height: 100dvh;
    width: 100%;
}



/* posicao das setas no slider home*/

.slick-next {
  right: 12px !important;
}

.slick-prev {
  left: 12px !important;
  z-index: 4;
}


.slick-dots {
/*  bottom: 25px !important;*/
display: flex !important;
bottom: 0px !important;
margin-left: -50px !important;


}

.slick-dots li button:before {
  color: white !important;
}

.slick-dots li.slick-active button:before {
  color: var(--amareloardente) !important;
}

.slick-dotted.slick-slider {
  margin: 0 !important;
}







.overlay {
  height: 100%;
  width: 0;
  position: fixed;
  z-index: 1;
  top: 0;
  right: 0;
  background-color: rgb(0,0,0);
  background-color: rgba(0,0,0, 1);
  overflow-x: hidden;
  transition: 0.5s;
}

.overlay a {
  padding: 8px;
  text-decoration: none;
  font-size: 42px;
  color: white;
  display: block;
  transition: 0.1s;
  text-transform: uppercase;
  font-family: inter;
}

.overlay a:hover, .overlay a:focus {
  color: var(--vermelhobravo);
}



video {
    position: absolute;
    top: 0;
    left: 0;

    object-fit: cover;
    height: 100%;
    width: 100%;


}



video::-webkit-media-controls-panel {
    display: none !important;
    opacity: 1 !important;
}


.video-wrapper {
    /* Telling our absolute positioned video to 
  be relative to this element */
    position: relative;

    width: 100%;
    height: 840px;

    /* Will not allow the video to overflow the 
  container */
    overflow: hidden;

    /* Centering the container's content vertically 
  and horizontally */
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}


.pattern_overlay {
    position: absolute;
    top: 0;
    width: 100%;
    opacity: 0.3;
    bottom: 0;
    background-image: url(/imgs/03.png);
    z-index: 1;
    height: 840px;
}



.grain_overlay{
  position:absolute;
  /*width:100vw;
  height:100vh;*/
  background-image:linear-gradient(transparent,rgba(0,0,0,0.5));
  z-index:1
}

.hero{
  
  display:flex;
  justify-content:center;
  align-items:center;
/*  width:100%;
  height:100vh;*/
  
  background-position:center
}
.hero:after{
  content:"";
  background-image:url("../imgs/1k_Dissolve_Noise_Texture.png");
  height: 300%;
  width: 300%;
  position: fixed;
  opacity:0.1;
   animation: animateGrain 8s steps(10) infinite;
}
@keyframes animateGrain{
  0%, 100% { transform:translate(0, 0) }
  10%{
    transform:translate(-5%,-10%)
  }
  20%{
    transform:translate(-15%,-20%)
  }
  30%{
    transform:translate(-5%,-10%)
  }
  40%{
    transform:translate(-15%,-20%)
  }
  
  50%{
    transform:translate(-5%,-10%)
  }
  60%{
    transform:translate(-15%,-20%)
  }
  70%{
    transform:translate(-5%,-10%)
  }
  80%{
    transform:translate(-15%,-20%)
  }
  90%{
    transform:translate(-5%,-10%)
  }
  100%{
    transform:translate(-15%,-20%)
  }
 
}



.video-item {
  width: 100%;
  height: calc(var(--vh, 1vh) * 100);
  height: 100dvh;
  overflow: hidden;
  position: relative;

}

.Main-gridVideo {
  position: absolute;
  width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: cover;
  top: 0;
  left: 0;

}

h3 {
  font-weight: 200;
    padding: 4px 0;
    font-size: 1rem;
}



h4 {
  padding-left: 1px;
  font-weight: 700;
}

#sideNav a,
.menu-desktop a {
  font-family: 'BN Carta Noir';
  color: white;
  white-space: nowrap;
}

.barra {
  width: 100%;
  max-width: 400px;
}


.info {
   align-self: flex-end;
}

.btn {
  border: none;
  background: 0;
  padding: 8px;
  /*margin-top: 20px;*/
  text-transform: uppercase;
  text-decoration: none;
/*  transition: 0.5s;*/
border-radius: 4px;
}

.btn:hover {
  background-color: white;
  color: black;
  transition: 0.5s;
  
}

.content {
  max-width: 1380px;
  margin: auto;
}

#quem-somos p {
  text-align: justify;
  text-justify: inter-word;
}


.opacity-0 {
  opacity: 0;
}


.menu-desktop {
  display: none;
  margin: 10px;
  position: absolute;
  top: 7px;
  right: 12px;
  z-index: 100;
}

.menu-desktop a {
  text-decoration: none;
  padding: 0 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.menu-mobile {
  display: contents;
}




.work-thumb {
filter: drop-shadow(8px 8px 0px #000);
}

.work-list {
  gap: 20px;

  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(242px, 1fr));

}

.work-single {
display: flex;
    flex-direction: column;
    gap: 10px;
}


.work-single h3 {
  
  display: inline-block;
  font-size: .82rem;
  margin-top: 8px;
}

.work-single span {
  background-color: #E2191F;
  padding: 6px;
}

.work-btn {
  background-color: #E2191F;
  font-family: "BN Carta Noir";
  padding: 12px;
/*  align-self: end;*/
  text-decoration: none;
  float: right;
/*  margin: 12px;*/
}

.lista-combos {
  padding: 20px 20px 0 20px;

      gap: 20px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));

}

.combo {
  background-color: white;
  padding: 20px;
}

.combo h1 {

  font-family: 'Overpass Mono', monospace;
  text-transform: uppercase;
  font-size: 1rem;

}

.combo ol li {
/*  margin-left: -3px;*/
  list-style-type: none;
  font-family: 'BN Carta Noir';
  font-size: 30px;
}

#equipa {
  position: relative;
  background-color: #D9D9D9;
  padding: 40px;
  background-image: url('/imgs/bg-equipa.svg');
  background-size: cover;
    background-position-y: -2px;
}

.lista-equipa {
    text-align: center;
    padding: 40px;
    list-style-type: none;
    line-height: 2.2;

}


.bg-lista-equipa {

    background-image: url('/imgs/boca.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
/*    background-size: 100% 100%;*/
    padding: 180px 0;

}

.lista-equipa li {
  color: white;
}


#clientes {
  background-color: #16151F;
  padding: 120px 20px 0;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  gap: 30px;
}


.bg-lista-clientes {

    background-image: url('/imgs/bg-clientes-wide.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-size: 100% 100%;
/*    padding: 180px 0;*/
max-width: 560px;
margin: auto;

}

.lista-clientes {

  font-family: "BN Carta Noir";
  color: white;
  padding: 42px;
  text-align: center;
  font-size: 1.5rem;

}


.raios-clientes {

    width: 120px;
    position: absolute;
}

.contact {
  padding: 20px 0;
  line-height: 1.5;
}

.lista-contacts {

  padding: 20px 0;

display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1;


}

.contact-name {
  background-color: #dfd3bc7d;
  display: inline;
}

.contact a {
  display: block;
  text-decoration: none;
}

.socials  ul{
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: center;
  justify-content: center;
}

.social-logo {
  width: 28px;
  list-style-type: none;
}


.rotate-90-cw {
  -webkit-animation: rotate-90-cw 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) 0s both;
          animation: rotate-90-cw 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) 0s both;
}



/**
 * ----------------------------------------
 * animation rotate-90-cw
 * ----------------------------------------
 */
@-webkit-keyframes rotate-90-cw {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}
@keyframes rotate-90-cw {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}




/*classes do botao de menu e animacao */



.btn10 {
  position: absolute;
  width: 30px;
  height: 30px;
  /*top: 30px;*/
  right: 0;
  transition-duration: 0.5s;
  z-index: 100;
  padding: 42px 28px 42px 42px;
  top: 0;
}
.btn10 .icon {
  transition-duration: 0.5s;
  position: absolute;
  /*top: 6px;*/
  height: 6px;
  width: 6px;
  border-radius: 30px;
  background-color: #ffffff;
  top: 30px;

}
.btn10 .icon:before {
  transition-duration: 0.5s;
  position: absolute;
  height: 6px;
  width: 6px;
  border-radius: 30px;
  background-color: #ffffff;
  content: "";
  top: -14px;
}
.btn10 .icon:after {
  transition-duration: 0.5s;
  position: absolute;
  height: 6px;
  width: 6px;
  border-radius: 30px;
  background-color: #ffffff;
  content: "";
  top: 14px;
}



.btn10.open {
  right: 19px;
}

.btn10.open .icon {
  transition-duration: 0.5s;
  transform: rotateZ(-180deg);

  height: 6px;
  width: 33px;
/*  top: 30px;*/
/*  border-radius: 0px;*/


}
.btn10.open .icon:before {
  transform: rotateZ(-45deg) scaleX(0.75) translate(-20px, -6px);

  width: 37px;
  height: 6px;
/*  border-radius: 0px;*/
  


}
.btn10.open .icon:after {
  transform: rotateZ(45deg) scaleX(0.75) translate(-20px, 6px);

  width: 37px;
  height: 6px;
/*  border-radius: 0px;*/
  

}
.btn10:hover {
  cursor: pointer;
}




.work-video {
  width: 100%;
  position: sticky;
  top: 0;
}

.work-info {
   display: flex;
   flex-direction: column;
   align-items: start;
   justify-content: end;
   padding: 20px;
/*   padding-top: 450px;*/
/*   margin: 20px;*/
}

.work-info h2 {
  padding-top: 12px;
}


.jazz-rays {
  position: relative;
  float: left;
  margin: auto;
  display: flex;
      width: 90%;

}

.gratidao {
  display: inline;
  max-width: 315px;
  margin: auto;


}

.jazz-hands {
  display: none;
  max-width: 580px;
  margin: auto;



}


.raios-clientes {
  bottom: 80%;

}

@media only screen and (min-width: 480px) { }

@media only screen and (min-width: 768px) {

.content-about {

  flex-direction: row-reverse;
  align-items: center;
}

.jazz-rays {

      width: inherit;

}

.gratidao {
  display: none;

}

.jazz-hands {
  display: inline;

}


  .menu-desktop {
  display: flex;
}

.menu-mobile {
  display: none;
}



  .work-container {
    flex-direction: column;
  }

  .work-container video {
    position: initial;
/*    width: 50%;*/
  }

  .work-info {
     padding-top: 20px;
  }






}



@media only screen and (min-width: 1080px) {
  
}

@media only screen and (min-width: 1200px) { 
}