body { background: #000 }

@media(max-width:767.98px){
  main,
  section { overflow-x: hidden }
}

.navbar:not(.bg-white) {
  --flex-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

header .navbar-toggler { border: 0 }

header.navbar {
  /* --flex-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); */
  --flex-navbar-toggler-border-color: rgba(0,0,0,.5);
  --flex-navbar-padding-y: 1rem }

header .nav-link {
  color: #FFF !important;
  font-weight: 500;
  text-transform: uppercase;
  transition: 300ms all;
}

header .nav-link:hover,
header .nav-link.active {
  color: var(--flex-primary) !important;
}

@media(max-width:991.98px){

    .navbar-brand img { height: 60px }
  
    header .navbar-collapse { 
      background: #000;
      width: 100%;
      position: fixed;
      z-index: 100000;
      top: 0;
      left: 0  }
  
    header .navbar-nav {
      justify-content: center;
      width: 100%;
      height: 100vh }  
  
    header .nav-link { 
      text-align: center;
      padding: .75rem 3rem !important; 
      width: 100% }

    header .nav-link:not(.text-primary) { 
      color: #FFF !important;
    }
    
    header a { font-size: 120% !important }

    header .dropdown { width: 100% }

    header .dropdown-menu {
      border: 0;
      border-radius: 0;
      width: 100%;
      background-color: rgba(0,0,0,.125) }

    header .dropdown-menu a { 
      text-align: center;
      padding: .5rem 1rem;
      color: #FFF }
}

@media(max-width: 767.98px) {

    #hero img { opacity:.125}
}

.ls-sm { 
  letter-spacing: -.25rem;
}

@media(max-width: 767.98px) {
  .ls-sm { letter-spacing: -.125rem; }
}

.grayscale-1 {
  filter: grayscale(1);
}

.bg-gradient-transparent-black { background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,1)) }
.bg-gradient-transparent-white { background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1)) }
.bg-gradient-primary { background: linear-gradient(to bottom, #bba277, #866f45) }

.btn { 
  padding: .75rem 1.5rem;
  transition: all 300ms;
  letter-spacing: 0;
  font-weight: bold;
  overflow: hidden;
  position: relative }

.btn-gradient.border-white { 
  border-color: transparent !important;
  box-shadow: 0 0 0 2px #FFF !important }

.btn-gradient-primary { color: #FFF !important; box-shadow: 0 0 0 2px var(--flex-primary) !important }
.btn-gradient-secondary { color: #FFF !important; box-shadow: 0 0 0 2px var(--flex-secondary) !important }
.btn-gradient-success { box-shadow: 0 0 0 2px rgba(40,217,135,1) !important }

.btn-gradient-primary:before { background: linear-gradient(to right, #866f45, #bba277, #866f45); }
.btn-gradient-secondary:before { background: linear-gradient(to right, #6F2C31, #b2484f, #6F2C31) }
.btn-gradient-success:before { background: linear-gradient(to right, rgba(25,135,84,1), rgba(40,217,135,1), rgba(25,135,84,1)) }

.btn-gradient:before {
  display: block;
  position: relative;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-size: 300% 100%;
  background-position: left;
  content: "";
  z-index: 1;
  transition: all 500ms }

.btn-gradient:hover:before {
  background-position: right;
  background-size: 200% 100% }

.btn-gradient span { 
  position: relative;
  z-index: 2 }

.animate-word {
  display: inline-block;
  white-space: normal;
  word-wrap: break-word;
}

.word {
  display: inline-block;
  white-space: nowrap; /* Impede quebra da palavra */
  margin-right: 0.25em; /* Espaço entre palavras */
}

.animate-letter {
    opacity: 0;
    filter: blur(5px);
    display: inline-block;
    transform: translateY(10px);
    transition: opacity 0.4s ease-out, transform 0.4s ease-out, filter 0.4s ease-out;
}

.brand-carousel-wrapper {
  position: relative;
  overflow: hidden;
  padding: 2rem 0;
}

.brand-carousel {
  display: flex;
  width: max-content; /* necessário para rolar de forma fluida */
  animation: scroll 30s linear infinite;
}

.brand-carousel img {
  /* height: 24px; */
  margin: 0 2rem;
  opacity: 0.7;
  transition: opacity 0.3s ease;
  flex-shrink: 0; /* evita colapso da imagem */
}

.brand-carousel img:hover {
  opacity: 1;
}

@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

@media(min-width: 992px) {
  .position-md-absolute {
    position: absolute !important;
  }
}


.slot-counter {
  display: flex;
  overflow: hidden;
}

.slot-digit {
  width: 3.125rem;
  height: 5rem;
  position: relative;
}

@media(max-width: 767.98px) {
  .slot-digit {
    width: 1.75rem;
    height: 2.5rem;
  }
}

.digit-strip {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transition: transform 1s ease-in-out;
}

.digit-strip span {
  display: block;
  height: 1em;
  text-align: center;
  line-height: 1em;
  transition: filter 0.3s, opacity 0.3s;
}

.digit-strip.stable span {
  filter: none;
  opacity: 1;
}

.border-transparent { border-color: transparent !important; }

.accordion{
  --flex-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23C0A679'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important;
  --flex-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23C0A679'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important;
}

.accordion .accordion-item { 
  transition: all 300ms;
  position: relative }

/* .accordion .accordion-item:nth-child(even) { left: -1.5rem } */

.accordion .accordion-item button { box-shadow: none !important }

.accordion .accordion-item .accordion-header { position: relative }

.accordion .accordion-item .accordion-header:before {
  width: 5px;
  height: 30%;
  background: var(--flex-primary) !important;
  content: "";
  position: absolute;
  left: -1.5rem;
  top: 50%;
  transform: translate(0, -50%);
 }

.accordion .accordion-item:has(.accordion-button:not(.collapsed)) {
  /* background: rgba(0,0,0,.5) !important */
  /* background: rgba(0,0,0,1) !important; */
}

.accordion .accordion-item .accordion-button:not(.collapsed) { 
  /* font-weight: bold !important; */
  color: var(--flex-primary) !important }

/* .accordion .accordion-item:last-child { border: 0 !important } */

@media (max-width: 767.98px) {
  .accordion .accordion-item .accordion-button.fs-2 { font-size: 1.25rem !important }
}

@media(min-width: 992px) {
  .pt-md-5.mt-md-5.mx-auto {
    margin-top: 10rem !important
  }
}

#cases article {
  transition: all 0.3s ease;
}
#cases article:hover {
  background: var(--flex-primary) !important
}

#cases article:hover .ti {
  color: #FFF !important
}



#reviews #scroll-wrapper {
  width: 100%;
  overflow: hidden;
  position: relative;
}

#reviews #infinite-scroll {
  display: flex;
  gap: 1rem;
  flex-wrap: nowrap;
  white-space: nowrap;
  will-change: transform;
}

#reviews #infinite-scroll > div {
  flex-shrink: 0;
  width: 25rem;
}

@media(max-width: 767.98px) {
  #reviews #infinite-scroll > div {
    width: 20rem;
  }
}

#reviews img {
  filter: grayscale(1) contrast(1.25);
}

#reviews article:hover:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: linear-gradient(180deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .25) 100%);;
}

/* #reviews article:hover {
  background: url(img/bg-review.webp) center  no-repeat;
  background-size: cover;
} */

#reviews article .font-serif { transition: all 300ms; }
#reviews article:hover .font-serif {  color: #FFF !important }

#banner {
  opacity:.15;
  position: relative;
  overflow: hidden;
  transform: rotate(2deg);
  width: 100%;
  transition: all 300ms
}

#banner:hover {
  opacity:1;
  background: var(--flex-primary) !important;
} 

#banner .scroll-track {
  display: inline-flex;
  white-space: nowrap;
  animation: scroll-track 60s linear infinite;
}

@keyframes scroll-track {
  0%   { transform: translateX(0); }
  100% { transform: translateX(50%); }
}

.follow-button {
  position: absolute;
  text-align: center;
  /* background: var(--flex-primary); */
  color: #FFF;
  border-radius: 50%;
  padding: .5rem;
  line-height: 1;
  width: 110px;
  height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  font-size: .875rem;
  z-index: 10;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease;
  transform: translate(-50%, -50%);
}

.modal-backdrop {--flex-backdrop-opacity: .75 }


.posts .col > article { 
  top: 0;
  transition: all 300ms }

.posts .col > article:hover {
  background: #FFF;
  top: -.5rem;
  box-shadow: 0 0 0 1.5rem rgba(255,255,255,1), 0 .5rem 2rem 1.5rem rgba(0,0,0,0.075)
}

.post-body { font-weight: 500 !important; }

.post-body h2, 
.post-body h3 {
  letter-spacing: -1px;
  margin: 2.5rem 0 1rem } 

  
.post-body h2:first-child, 
.post-body h3:first-child { margin-top: 0 } 

.bg-dark .post-body *:not(h2, h3) { color: rgba(255,255,255,.5) }

.bg-dark .post-body strong,
.bg-dark .post-body em  { color: rgba(255,255,255,1) }

.post-body em {
  font-weight: normal;
  font-family: "Libre Baskerville", serif;
  font-style: italic }

.post-body blockquote {
  padding: 0 2rem;
  margin: 2rem 0;
  border-left: 5px solid var(--flex-primary);
}

.post-body blockquote > *,
.post-body li > * { margin: 0 }

.post-body li  { margin-bottom: .5rem !important }
.post-body li > * { margin-top: .5rem !important }

.post-body li:has(br)  { margin-bottom: 1rem !important }

.post-body pre {
  background: var(--flex-light);
  padding: 2rem;
  border-radius: .5rem;
  overflow-x: auto;
  line-height: 1.5;
}

.lh-05 { line-height: 1 !important }

@media(min-width: 992px) {

  .lh-05 { line-height: .75 !important }

  .scale-2 {
    transform-origin: left center; /* escala a partir da esquerda */
    transform: scale(1.5);
  }
  .scale-2-center {
    transform-origin: center top; /* escala a partir da esquerda */
    transform: scale(1.5);
  }
}

@media(min-width:1336px){
  
  .g-md-10  {
      --flex-gutter-x: 9rem;
  }
}


.color-hover {
  transition: all 300ms;
  filter:grayscale(1)
}
.color-hover:hover {
  filter:grayscale(0)
}

.start-25 {
  left: 25%
}



/* Estado inicial */
.reveal {
  opacity: 0;
  transform: translateX(0);
  filter: blur(3rem);
  transition: all 1s ease-out;
}

/* Estado final (ativo) */
.reveal.active {
  opacity: 1;
  filter: blur(0);
  transform: translateX(0);
}

/* Movimento específico */
.reveal.reveal-left {
  transform: translateX(25%);
}

.reveal.reveal-left.active {
  transform: translateX(0);
}

.reveal.reveal-right {
  transform: translateX(-25%);
}

.reveal.reveal-right.active {
  transform: translateX(0);
}

.bg-dark-hover { transition: all 300ms !important }

.bg-dark-hover:hover {
  background: rgba(var(--flex-dark-rgb),.75) !important
}

.btn-wapp {
  background: rgba(37, 211, 102, 1);
  padding: .5rem;
  border-radius: 100%;
  right: 1.25rem;
  bottom:  1.25rem;
  transition-duration: 0.5s !important;
  animation: pulse-shadow 3s infinite !important;
  z-index: 10000;
}

@-webkit-keyframes pulse-shadow {
  0% {
      -webkit-box-shadow: 0 0 0 0 rgba(37, 211, 102, 1);
  }

  70% {
      -webkit-box-shadow: 0 0 0 20px rgba(37, 211, 102, 0);
  }

  100% {
      -webkit-box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
  }
}


.bg-dark::placeholder {
  color: #FFF;
  opacity: .25 }

input.bg-dark:focus::placeholder,
textarea.bg-dark:focus::placeholder {
  opacity: .5; /* Firefox */
}

.bg-opacity-05 {--flex-bg-opacity: .05; }
.bg-opacity-85 {--flex-bg-opacity: .85; }
.bg-opacity-95 {--flex-bg-opacity: .95; }

.start-75 {
  left: 75%;
}