/* Fontes */
@font-face {
  font-family: "CeraPro";
  src: url("../fonts/Cera-Pro/CeraProRegular.otf");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "CeraPro";
  src: url("../fonts/Cera-Pro/CeraProBold.otf");
  font-weight: 700;
  font-style: normal;
}

:root {
  --tblr-pink: #c24990;
  --tblr-font-sans-serif: "CeraPro";
  --tblr-bitbucket: #203768;
  --tblr-orange: #f08f19;
  --tblr-teal: #203768;
  --tblr-lime: #2480c1;
}

/* @link https://utopia.fyi/type/calculator?c=320,16,1.2,1400,18,1.2,6,1,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */

:root {
  /* Step -1: 13.3333px → 15px */
  --step--1: clamp(0.8333rem, 0.8025rem + 0.1543vw, 0.9375rem);
  /* Step 0: 16px → 18px */
  --step-0: clamp(1rem, 0.963rem + 0.1852vw, 1.125rem);
  /* Step 1: 19.2px → 21.6px */
  --step-1: clamp(1.2rem, 1.1556rem + 0.2222vw, 1.35rem);
  /* Step 2: 23.04px → 25.92px */
  --step-2: clamp(1.44rem, 1.3867rem + 0.2667vw, 1.62rem);
  /* Step 3: 27.648px → 31.104px */
  --step-3: clamp(1.728rem, 1.664rem + 0.32vw, 1.944rem);
  /* Step 4: 33.1776px → 37.3248px */
  --step-4: clamp(2.0736rem, 1.9968rem + 0.384vw, 2.3328rem);
  /* Step 5: 39.8131px → 44.7898px */
  --step-5: clamp(2.4883rem, 2.3962rem + 0.4608vw, 2.7994rem);
  /* Step 6: 47.7757px → 53.7477px */
  --step-6: clamp(2.986rem, 2.8754rem + 0.553vw, 3.3592rem);
}

h2, .h2 {
  font-size: var(--step-5);
  line-height: 1.0;
}

h3, .h3 {
  font-size: var(--step-3);
  line-height: 1.0;
}

h4, .h4 {
  font-size: var(--step-2);
  line-height: 1.0;
}

h5, .h5 {
  font-size: var(--step-1);
  line-height: 1.0;
}

p {
  font-size: var(--step-0);
  line-height: 1.2;
}

.display-5 {
  font-size: var(--step-5);
  line-height: 1.0;
}

.display-6 {
  font-size: var(--step-3);
  line-height: 1.0;
}

.fs-1 {
  font-size: var(--step-2);
  line-height: 1.0;
}

.fs-2 {
  font-size: var(--step-0);
  line-height: 1.0;
}


/* Animação */


/* Cria a animação chamada 'fadeIn' */
@keyframes fadeIn {
  0% {
    opacity: 0;
    scale: 1;
  }
  50%{
    scale:1.1;
  }
  100% {
    scale: 1;
    opacity: 1;
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


/* Aplica a animação em uma classe */
.elemento-animado {
  opacity: 0;
  animation-name: fadeIn;
  animation-fill-mode: forwards;
  animation-duration: .3s;
}

.movatitulo{
    animation-delay: 3s;
  }
.movatexto{
    animation-delay: 3.5s;
  }
.conhecabutton{
  opacity: 0;
  animation-name: fadeInUp;
  animation-fill-mode: forwards;
  animation-duration: .5s;
  animation-delay: 4s;
}
.setabaixobutton img{
  transition: all 0.3s;
}
.setabaixobutton:hover img{
  transform: translateY(20px);
}


/* ==========================================================================
   Base / Mobile first (< 576px)
   ========================================================================== */
section {
  isolation: isolate;
}

.bg-enfeite-wrapper {
  position: relative;
  isolation: isolate;
}

.bg-enfeite {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
}

.bg-enfeite .elemento-esquerda-evento {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../img/bg-01.png');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
}

.bg-enfeite .elemento-esquerda-apresentacao {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../img/bg-03.png');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
}

.bg-enfeite .elemento-direita-apresentacao {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-image: url('../img/bg-02.png');
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
}

.bg-enfeite .elemento-meio-palestrantes {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../img/bg-04.png');
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
}

.bg-enfeite .elemento-palestrantes-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../img/bg-palestrante.png');
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
}

.bg-enfeite .elemento-modal-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../img/bg-02.png');
  background-repeat: no-repeat;
  background-position: right top;
  background-size: 181% auto;
}

.bg-enfeite .elemento-meio-programacao {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../img/bg-05.png');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
}

.bg-enfeite .elemento-direita-programacao {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../img/bg-06.png');
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
}

/* Versão mobile do banner de "chamada": mais alta, imagem em cover */
.bg-enfeite .elemento-meio-chamada {
  position: absolute;
  top: 160px;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 1080px;
  background-image: url('../img/bg-07.png');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.bg-enfeite .elemento-meio-faq {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../img/bg-08.png');
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: unset;
}

.bg-enfeite .elemento-meio-somos {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../img/bg-09.png');
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 500px auto;
}

.quemsomos {
  padding: 0 0 110px 0;
}

.local-mapa {
  position: relative;
  z-index: -2;
  margin: -200px auto;
}

.shadow-box-edited {
  box-shadow: 6px 10px 10px 0px rgba(0, 0, 0, 0.2);
}

.navbar {
  --tblr-border-width: 0px !important;
}

.navbar-nav .nav-item .nav-link:hover {
  color: var(--tblr-pink) !important;
}

.titulo-space {
  padding-bottom: 64px;
}

/* --- Card "local" (mapa) --- */
.card-limitex,
.card-body-limitex {
  width: unset;
}

#local .card-limitex {
  padding-bottom: 250px;
}

#local .local-imagem-mapa {
  margin-top: -250px;
  position: relative;
  z-index: 2;
}

/* --- Card "dá o papo" (programação) — mesmo padrão do card-limitex --- */
.card-daopapo,
.card-body-daopapo {
  width: unset;
}

#programacao .card-daopapo {
  padding-bottom: 164px;
}

#programacao .local-imagem-mapa {
  margin-top: -138px;
  position: relative;
  z-index: 2;
}

.imagem-daopapo {
  max-width: unset;
  width: auto;
  height: 50%;
}
/* --- Imagem do card "dá o papo" --- */
@media (min-width: 768px) {
.imagem-daopapo {
  max-width: unset;
  width: auto;
  height: auto;
}
}

/* Decorações que só aparecem a partir do md (768px) */
.decoracao_capa,
.decoracao_apresenta {
  visibility: hidden;
}

.programacao-texto {
  border-top: 2px solid;
  padding-left: 0;
  word-break: break-word;
}

/* ==========================================================================
   sm — >= 576px
   ========================================================================== */
@media (min-width: 576px) {}

/* ==========================================================================
   md — >= 768px
   ========================================================================== */
@media (min-width: 768px) {

  .decoracao_capa,
  .decoracao_apresenta {
    visibility: visible;
  }

  .programacao-texto {
    border-top: none;
    border-left: 2px solid;
    padding-left: 1rem;
    /* ajuste esse valor conforme o espaçamento desejado */
  }
    /* Card "dá o papo" */
  .card-daopapo {
    width: 124%;
  }

  .card-body-daopapo {
    width: 550px;
  }

  #programacao .card-daopapo {
    padding-bottom: 0;
  }

  #programacao .local-imagem-mapa {
    margin-top: 0;
    position: static;
    z-index: auto;
  }

  .imagem-daopapo {
    max-width: 120%;
  }
}

/* ==========================================================================
   lg — >= 992px
   ========================================================================== */
@media (min-width: 992px) {
  .bg-enfeite .elemento-modal-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('../img/bg-01.png');
    background-repeat: no-repeat;
    background-position: left center;
    background-size: cover;
  }

  .bg-enfeite .elemento-meio-chamada {
    top: 143px;
    height: 600px;
    background-size: 100% 600px;
  }

  .bg-enfeite .elemento-meio-somos {
    background-size: contain;
  }

  .quemsomos {
    padding: 0 0 409px 0;
  }

  /* Card "local" */
  .card-limitex {
    width: 150%;
  }

  .card-body-limitex {
    width: 500px;
  }

  #local .card-limitex {
    padding-bottom: 0;
  }

  #local .local-imagem-mapa {
    margin-top: 0;
    position: static;
    z-index: auto;
  }


}

@media (min-width: 1200px) {}

/* ==========================================================================
   xxl — >= 1400px
   ========================================================================== */
@media (min-width: 1400px) {
  .bg-enfeite .elemento-meio-chamada {
    top: 275px;
  }
}