/* BACK TO TOP -------------------- */

#backToTop {
  position: fixed;

  right: 25px;
  bottom: 25px;

  width: 50px;
  height: 50px;

  border: none;

  background: #111827;
  color: #ffffff;

  font-size: 1rem;

  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  opacity: 0;
  visibility: hidden;

  transition: all 0.3s ease;

  z-index: 999;
}

#backToTop.show {
  opacity: 1;
  visibility: visible;
}

#backToTop:hover {
  transform: translateY(-4px);
  opacity: 0.9;
}


/* NAVBAR -------------------- */

.navbar{

  position:fixed;

  top:0;
  left:0;

  width:100%;

  padding:28px 8%;

  display:flex;
  justify-content:space-between;
  align-items:center;

  z-index:1000;

  transition:0.4s ease;
}

.nav-links{
  display:flex;
  gap:40px;
}

.nav-links a{

  color:white;

  text-decoration:none;

  transition:0.3s;

  position:relative;

  font-size: 0.9rem;
}

.nav-links a::after{

  content:'';

  position:absolute;

  left:0;
  bottom:-8px;

  width:0;
  height:2px;

  background:var(--primary-color);

  transition:0.3s;
}

.nav-links a:hover::after{
  width:100%;
}

.nav-links a:hover{
  color:var(--primary-color);
}

.navbar.scrolled{

  background:rgba(0,0,0,0.82);

  backdrop-filter:blur(14px);

  padding:18px 8%;

  border-bottom:
    1px solid rgba(255,255,255,0.05);
}

.navbar ul {
  list-style: none;
}

.navbar li {
  position: relative;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;

  min-width: 260px;

  background: white;

  display: none;

  box-shadow: 0 5px 20px rgba(0,0,0,0.1);

  z-index: 999;
}

.dropdown-menu li a {
  display: block;

  padding: 14px 20px;

  color: #333;
  text-decoration: none;
}

.dropdown-menu li a:hover {
  background: #f5f5f5;
}

.dropdown {
  padding-bottom: 0px;
}

.dropdown-menu {
  position: absolute;

  top: calc(100% + 15px);

  left: 0;
}

.dropdown {
  position: relative;
}

.dropdown-menu::before {
  content: "";

  position: absolute;

  top: -15px;
  left: 0;

  width: 100%;
  height: 15px;
}

.dropdown,
.dropdown-submenu {
  list-style: none;
}

.dropdown:hover > .dropdown-menu {
  display: block;
}

/* Submenu lateral */

.submenu {
  position: absolute;

  top: 0;
  left: 100%;

  min-width: 280px;

  background: white;

  display: none;

  box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

.dropdown-submenu:hover > .submenu {
  display: block;
}

/* ROOT -------------------- */

:root{
  --primary-color: #2f80ed; 
}

*{
  border-radius:0 !important;
}

/* RESET -------------------- */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

/* HTML -------------------- */

html{
  scroll-behavior:smooth;
}

/* BODY -------------------- */

body{
  font-family:'Poppins',sans-serif;
  background:#0b0b0b;
  color:white;
  overflow-x:hidden;
}

/* CONTAINER -------------------- */

.container{
  max-width:1400px;
  margin:auto;
}

/* LOGO -------------------- */

.logo {
  display: flex;
  align-items: center;

  gap: 12px;

  text-decoration: none;
}

.logo-img {
  width: 60px;
  height: auto;
}

.logo-text {
  display: flex;
  flex-direction: column;

  line-height: 1.2;
}

.logo-sigla {
  font-size: 1.9rem;
  font-weight: 700;

  color: #2F80ED;
}

.logo-nome {
  font-size: 0.75rem;

  /* color: #6b7280; */
  color: #838b9b;

  max-width: 260px;
}

/* MENU TOGGLE -------------------- */

.menu-toggle{
  display:none;
  font-size:34px;
  cursor:pointer;
}

/* HERO -------------------- */

.hero{

  min-height:40vh;

  background:
    linear-gradient(
      rgba(4,9,30,0.8),
      rgba(4,9,30,0.8)
    ),
    url('../banner-bg.jpg');

  background-size:cover;
  background-position:center;
  background-attachment:fixed;

  display:flex;
  /* align-items:center; */
  align-items: flex-end;
  justify-content: center;

  text-align: center;

  position:relative;

  padding:0 10%;
}

.hero-content{
  max-width:850px;
}

.text-uppercase{
  text-transform:uppercase;
}

.hero h1{

  /* font-size:clamp(3rem,8vw,6rem); */
  font-size: clamp(38px, 6vw, 48px);
  
  line-height:1.1;

  margin-bottom:28px;

  font-weight:700;
}

.hero h2{
  font-size: clamp(24px, 4vw,48px);
  /* font-size: 48px;
  font-weight: 600; */
  text-align: center;
  margin-top: 50px;
}

.hero p{

  font-size:16px;

  line-height:1.9;

  /* color:#d0d0d0; */
  color: #777;

  margin-bottom:45px;

  max-width:700px;
}

.hero-buttons{
  display:flex;
  gap:20px;
}

/* BUTTONS -------------------- */

.btn{

  display:inline-flex;

  align-items:center;
  justify-content:center;

  padding:18px 38px;

  border-radius:12px;

  text-decoration:none;

  transition:0.35s ease;

  font-weight:600;
}

.btn-primary{

  background:var(--primary-color);

  color:white;

  box-shadow:
    0 10px 30px rgba(247,99,27,0.35);
}

.btn-primary:hover{

  transform:translateY(-4px);

  box-shadow:
    0 16px 40px rgba(247,99,27,0.45);
}

.btn-secondary{

  border:
    1px solid rgba(255,255,255,0.18);

  color:white;

  background:
    rgba(255,255,255,0.04);

  backdrop-filter:blur(8px);
}

.btn-secondary:hover{

  background:white;
  color:black;
}

/* SCROLL INDICATOR -------------------- */

.scroll-indicator{

  position:absolute;

  bottom:40px;
  left:50%;

  transform:translateX(-50%);

  font-size:28px;

  animation:float 2s infinite;

  opacity:0.8;
}

/* keyframes -------------------- */

@keyframes float{

  0%,100%{
    transform:
      translateX(-50%)
      translateY(0);
  }

  50%{
    transform:
      translateX(-50%)
      translateY(10px);
  }

}

/* SECTIONS -------------------- */

.section{
  padding:130px 10%;
}

.section-title{

  /* font-size:clamp(2.5rem,5vw,2.5rem); */
  font-size: clamp(28px, 4vw, 36px);

  margin-bottom:25px;
  
  color: #000;
}

.section-text{

  max-width:900px;

  line-height:2;

  color:#bdbdbd;

  font-size:18px;
}

.section-light{

  background:white;

  color:#111827;
}

.section-light .section-title{
  color:#111827;
}

.section-light .section-text{
  color:#4b5563;
}

.section-soft{
  background:#eef2f7;
}

.section-soft .stat-card{

  background:white;

  border:
    1px solid rgba(15,23,42,0.06);

  box-shadow:
    0 10px 30px rgba(15,23,42,0.06);
}

.section-soft .stat-label{
  color:#475569;
}

/* ANIMAÇÕES -------------------- */

.dropdown > a i {
  transition: 0.3s;
}

.dropdown:hover > a i {
  transform: rotate(180deg);
}

.reveal,
.reveal-left,
.reveal-right,
.reveal-scale{

  opacity:0;

  transition:
    opacity 1s ease,
    transform 1s ease;

  will-change:
    transform,
    opacity;
}

.reveal{
  transform:translateY(80px);
}

.reveal-left{
  transform:translateX(-80px);
}

.reveal-right{
  transform:translateX(80px);
}

.reveal-scale{
  transform:scale(0.8);
}

.reveal.active,
.reveal-left.active,
.reveal-right.active,
.reveal-scale.active{

  opacity:1;

  transform:none;
}

/* BOTÃO LINGUA -------------------- */

.language-floating {
  position: fixed;

  top: 18px;
  right: 18px;

  display: flex;
  align-items: center;

  gap: 6px;

  z-index: 9999;
}

/* Bandeiras */

.lang-btn {
  display: flex;

  transition: 0.3s ease;
}

.lang-btn:hover {
  transform: scale(1.08);

  opacity: 0.85;
}

.lang-btn img {
  width: 28px;
  height: 20px;

  object-fit: cover;

  /* border: 1px solid rgba(255,255,255,0.35); */

  display: block;
}

/* FOOTER -------------------- */

.footer{

  /*background: rgba(0,0,0,0.82);*/
  background: rgba(60, 60, 60, 0.82);

  padding:60px 10%;

  border-top:
    1px solid rgba(255,255,255,0.06);

  color:#8c8c8c;

  text-align:center;
}

/* responsivo */

.footer-map {
  width: 100%;
  height: 350px;

  overflow: hidden;
}

.footer-map iframe {
  width: 100%;
  height: 100%;

  border: 0;
}

.footer {
  background: #111827;
  color: white;

  padding: 60px 40px;
}

.footer-addresses {
  display: flex;
  gap: 40px;
}

.footer-column {
  flex: 1;
}

.footer-column h4 {
  margin-bottom: 20px;

  font-size: 20px;
  font-weight: 600;

  color: #0c51ae;
}

.footer-column p {
  line-height: 1.8;
  color: #d1d5db;
}

.footer-bottom {
  margin-top: 50px;
  padding-top: 25px;

  border-top: 1px solid rgba(255,255,255,0.1);

  text-align: center;
}

.footer-bottom p {
  margin: 0;

  font-size: 14px;
  color: #9ca3af;
}

/* MOBILE -------------------------------- */

@media (max-width: 768px) {

  #backToTop {
    width: 44px;
    height: 44px;

    right: 18px;
    bottom: 18px;
  }

  /* .hero h1{
    font-size:24px;
  } */
  
  .hero p {
    color: #bcbcbc;
    line-height: 1.9;
  }

  .menu-toggle{
    display:block;
  }

  .nav-links{

    position:absolute;

    top:100%;
    left:0;

    width:100%;

    background:#111111;

    padding:30px;

    flex-direction:column;

    display:none;

    border-bottom:
      1px solid rgba(255,255,255,0.05);
  }

  .nav-links.active{
    display:flex;
  }

  .hero,
  .parallax{
    background-attachment:scroll;
  }

  .hero{
    text-align:center;
  }

  .hero p{
    font-size:18px;
  }

  .hero-buttons{
    flex-direction:column;
  }

  .section{
    padding:100px 8%;
  }

  .footer-addresses {
    flex-direction: column !important;
  }

  .footer-column {
    width: 100%;
  }

}

