:root {
  --bs-primary: #f1c40f;
  --bs-secondary: #2c2c2c;
  --opttech-yellow-light: #FFD54F;  /* topo mais claro */
  --opttech-yellow-dark:  #E6B800;  /* base um pouco mais escura */
  --opttech-text-dark:    #2C2C2C;
}
body, html {
  width: 100%; height: 100%; margin: 0; padding: 0;
}
body {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  margin: 0;
  padding: 0;
}


.masthead {
  background: url('..\\img\\hero_yellow.png') center/cover no-repeat;
  min-height: 85vh; 
  position: relative; 
  box-sizing: border-box;
  padding-top: 70px; 
  display: flex; 
  align-items: center; 
  justify-content: center;
}
.masthead::before {
  /* display: none; */
  content: '';
  position: absolute; 
  inset: 0;
  /* background: rgba(44,44,44,0.4); */
}
.masthead .container {
  max-width: 100%;
  position: relative; 
  z-index: 1;
}
.masthead h1 {
  color: var(--bs-primary); 
  font-size: 5.0rem; 
  margin-bottom: 1rem;
  margin-right: 12rem;
}
.masthead p {
  color: var(--bs-secondary); 
  font-size: 3.0rem;
  margin-right: 12rem;
}


.text-secondary {
  color: var(--bs-secondary) !important;
}
.bg-secondary {
  background-color: var(--bs-secondary) !important;
}

/* Empurra todas as seções para baixo na ancoragem */
section[id] {
  /* afasta o topo em 70px quando navegamos via hash */
  scroll-margin-top: 100px;
  /* para mostrar parte da próxima seção */
  /* padding-top: 50px; */
  /* padding-bottom: 50px; */
  /* para mostrar parte da seção anterior */
  margin-top: -70px;
  margin-bottom: -70px;
}

.section-heading {
  font-family: 'Archivo Black', sans-serif;
}

.section-subtitle {
  font-family: 'Archivo Black', sans-serif;
  color: #737577;
}

/* (Opcional) Para smooth scroll via CSS nativo */
html {
  scroll-behavior: smooth;
}

/* barra inteira em amarelo */
.navbar-opttech {
  /* gradiente vertical para profundidade */
  background: linear-gradient(
    to bottom,
    var(--opttech-yellow-light) 0%,
    var(--opttech-yellow-dark) 100%
  ) !important;

  /* sombra interna simulando bisel */
  box-shadow: inset 0 1px 2px rgba(255,255,255,0.4),
              inset 0 -1px 2px rgba(0,0,0,0.1);
}
/* texto / links em cinza‑escuro para contraste */
.navbar-opttech .navbar-brand,
.navbar-opttech .nav-link {
  color: var(--opttech-dark) !important;
  font-weight: 600;
}
.navbar-opttech .nav-link:hover,
.navbar-opttech .nav-link.active {
  color: var(--opttech-text-dark);
  opacity: 0.8;
}

/* toggler-icon no mesmo tom escuro */
.navbar-opttech .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' stroke='%232c2c2c'%3e%3cpath stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* full-height sections */
.section {
  min-height: 92vh;
  display: flex;
  align-items: center;
  padding-top: 80px;
}

/* alternating background color for even sections (2nd, 4th, ...) */
.section:nth-of-type(even) {
  background-color: #f5f5f5;
}

/* Alt background for gallery override */
/* .bg-alt {
  background-color: #f5f5f5;
} */


/* 3D yellow navbar */
.navbar-opttech {
  background: linear-gradient(to bottom, var(--opttech-yellow-light) 0%, var(--opttech-yellow-dark) 100%);
  box-shadow: inset 0 1px 2px rgba(255,255,255,0.4), inset 0 -1px 2px rgba(0,0,0,0.1);
}
.navbar-opttech .navbar-brand,
.navbar-opttech .nav-link {
  color: var(--opttech-text-dark) !important;
  font-weight: 600;
}
.navbar-opttech .nav-link:hover,
.navbar-opttech .nav-link.active {
  opacity: .8;
}
.navbar-opttech .navbar-toggler {
  border-color: rgba(0,0,0,.1);
}
.navbar-opttech .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' stroke='%232c2c2c'%3e%3cpath stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}



/* Garante que o rodapé seja a última área visível */
footer {
  margin-top: 0; /* Remove qualquer margem superior */
  padding: 1rem 0; /* Ajusta o espaçamento interno */
  background-color: var(--bs-secondary); /* Cor de fundo */
  color: white; /* Cor do texto */
  text-align: center; /* Centraliza o texto */
  position: relative; /* Garante que o rodapé fique no fluxo normal */
  z-index: 1;
}

/* 6) Barra de copyright */
footer.copyright-bar {
  background-color: #d0d0d0 !important;
  color: #333;
}

/* Custom CSS for resizing the owner.png image */
.owner-image {
  max-width: 100%;
  height: auto;
  width: 300px; /* Adjust the width as needed */
}


.text-organization {
  text-align: justify;
}