@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap');


/*============= Config Geral =============*/

*{
    margin:0;
    padding:0;
    border:0;
}

*, *::before, *::after {
	box-sizing: border-box;
}

body {
	overflow-x: hidden;
	font-family: 'Roboto', sans-serif;
	min-height: 100dvh;
}

input, button, textarea, select {
	font: inherit;
}

p {
	text-wrap: pretty;
}

h1, h2, h3, h4, h5, h6 {
	text-wrap: balance;
}

img, video, svg {
	height: auto;
	max-width: 100%;
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important; 
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
		transition: none;
	}
}


/*--- FIX /// Extra Bootstrap Column Padding --*/
[class*="col-"] {
  padding: 1rem;
}


/*--- FIX /// Bootstrap Mobile Gutter Fix --*/
.row, .container-fluid {
  margin-left: 0px !important;
  margin-right: 0px !important;
}


.bloco {
	display: block;
}

.linha {
	display: inline;
}

.linhabloco {
	display: inline-block;
}


/* Cor dos Botoes */

.btn-primary {
  background-color: #8359c7;
  border: none;
  color: white;
  padding: 10px 20px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 5px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.btn-primary:hover {
  background-color: #5f1aa3; /* Tom mais escuro no hover */
  transform: translateY(-2px);
  box-shadow: 0px 4px 6px rgba(131, 89, 199, 0.3);
}

.btn-primary:active {
  background-color: #4e1387;
  transform: translateY(1px);
  box-shadow: none;
}






/* Barra fina para seleção de idioma */

.language-bar {
  width: 100%;
  background-color: whitesmoke;  
  display: flex;
  justify-content: center;    
  align-items: center;        
  gap: 1.5rem;                /* Espaço entre os links e o separador */
  height: 35px;               /* Altura da barra (ajuste se quiser) */
  font-size: 12px;            /* Tamanho de fonte menor */
  /* Se quiser barra fixa no topo:
     position: fixed;
     top: 0;
     left: 0;
     z-index: 9999;
     // => Adicionar "margin-top" ou "padding-top" no restante do site
  */
}

.language-bar .lang-option {
  display: inline-flex;    /* Ícone + texto na mesma linha */
  align-items: center;
  gap: 0.5rem;             /* Espaço entre bandeira e texto */
  color: #333;
  text-decoration: none;
  font-weight: 400;
  transition: color 0.3s ease;
}

.language-bar .lang-option:hover {
  color: #8359c7;
}

/* Idioma ativo: sublinhado e destaque */
.language-bar .lang-option.active {
  text-decoration: underline;
  font-weight: 600;
  color: black;
}

/* Ajuste do tamanho do ícone (opcional) */
.language-bar .lang-option .fi {
  font-size: 0.8rem; /* Muda a escala do SVG da bandeira */
}

/* Separador (opcional) */
.language-bar .separator {
  font-weight: 700;
  color: #999;
}

/* Responsivo: telas muito pequenas */
@media (max-width: 576px) {
  .language-bar {
    font-size: 12px;
    gap: 1rem;
  }
  .language-bar .lang-option .fi {
    font-size: 0.7rem;
  }
}



/* Fim Barra fina para seleção de idioma */

/*============= Navegação =============*/


.logo {
    display: block;
    max-height: 50px; 
    width: auto;     
}

.navbar-brand:hover .logo {
    content: url('imgs/logo_roxo.png');
    max-height: 50px; 
    width: auto;  
    transform: rotate(3deg) scale(1.05); /* Animação de rotação */
    transition: transform 0.5s ease; /* Tempo da animação de rotação */
}

.topnav {
    display: flex;
    align-items: center; 
    justify-content: space-between; 
    height: 100px;
    position: relative;
    background-color: white;
    overflow: hidden;
}

.topnav-left, .topnav-right {
    display: flex;
    align-items: center;
}

.topnav a {
    color: black;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
    font-size: 18px;
    transition: color 0.3s ease, font-weight 0.3s ease, transform 0.3s ease;

}

.topnav a:hover {
    color: black;
    font-weight:500; 
    font-weight: 500;
    transform: translateY(-2px);
}

.topnav a.active {
    background-color: #8359c7;
    color: white;
}

.topnav-centered {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}


/* 1) Deixa cada link em posição relativa para poder usar ::after */
.topnav-left a,
.topnav-right a {
  position: relative;  
  display: inline-block;
  cursor: pointer;
  
}

/* 2) Cria a barrinha invisível inicialmente (width: 0) */
.topnav-left a::after,
.topnav-right a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 2px;
  background-color: #8359c7;
  transition: width 0.5s ease;
}

/* 3) Ao passar o mouse ou se o link tiver .active */
.topnav-left a:hover::after,
.topnav-right a:hover::after,
.topnav-left a.active::after,
.topnav-right a.active::after {
  width: 100%; /* a barra cresce até a largura total do link */
}


@media screen and (max-width: 800px) {
    .topnav {
        flex-direction: column;
        height: auto;
    }

    .topnav-left, .topnav-right {
        width: 100%;
        justify-content: center;
    }

    .topnav a {
        float: none;
        display: block;
        text-align: center;
    }

    .topnav-centered {
        position: relative;
        left: 0;
        transform: none;
    }
}

/*============= Cabeçalho =============*/

#cabecalho {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	min-height: 60vh;
	background-color: whitesmoke;
	align-items: center;
	align-content: center;
	justify-content: center;
}


#animated-text {
    margin-top: 10px;
    font-size: 40px;
    transition: opacity 0.8s ease;
    color: #8359c7;
    margin-right: 60px;
    font-optical-sizing: auto;
    font-weight: 400;
}


#cabecalhoanima {
	text-align: left;
    padding-left: 60px;
    font-size: 30px;
    font-family: "Playfair Display", serif;
    font-optical-sizing: auto;
    font-weight: 900;
}

#cabecalhobio {
	  padding-left: 60px;
    padding-right: 50px;    
}








@media screen and (max-width: 768px) {
  #cabecalhoanima {
    text-align: center; /* Centraliza em telas menores */
    padding: 0 20px; 
    margin: 30px auto 50px auto; /* Adiciona um pequeno espaço acima e mantém centralizado */
}

  #animated-text {
    font-size: 40px;
    margin-right: 0px !important;        
}

}

/*=== linha vertical do cabeçalho ===*/
#cabecalhobio { 
	border-color: #999999;
	border-style: hidden hidden hidden solid;
	border-width: 1px;	
}


@media screen and (max-width: 768px) {
	#cabecalhobio {
	  border-style: hidden;
	  
	}
}


@media screen and (max-width: 576px) {
	#cabecalhobio {
    text-align: center; /* Centraliza em telas menores */
    padding: 0 10px; 
    margin: 0 auto; /* Garante centralização */
	}

  #design {
    padding: 0 5px; 
    margin: 0 auto; /* Garante centralização */
	}
}



/*=== Parallax ===*/

.parallax01 {
  height: 300px;
  background-image: url("imgs/parallax/logo_carlos_viana.gif");

  /* Parallax Scrolling Effect */
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;

  /* Padrão */
  background-size: cover;

  /* Prefixos (opcionais, cada vez menos necessários, mas não problemáticos) */
  -o-background-size: cover;
  -moz-background-size: cover;
  -webkit-background-size: cover;
}


/*=== Fim Parallax ===*/


/*=== Parallax Analysis ===*/

.parallax_analysis {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 77px;
  background-image: url("imgs/process/step5.png");

}


/*=== Fim Parallax ===*/









/*=== Portfolio ===*/








/* Ocultar versão desktop e exibir apenas em mobile */
@media screen and (max-width: 768px) {
  #portfolio {
      display: none !important;
  }
  #portfolio-mobile {
      display: block !important;
  }
}

/* Ocultar a versão mobile em telas maiores */
@media screen and (min-width: 769px) {
  #portfolio-mobile {
      display: none !important;
  }
}

/* Estilização do grid */
#portfolio-mobile .grid-mobile {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* Duas colunas por padrão */
  gap: 10px;
  padding: 10px;
  justify-content: center;
  
}

/* Apenas uma coluna para celulares */
@media screen and (max-width: 576px) {
  #portfolio-mobile .grid-mobile {
      grid-template-columns: 1fr; /* Uma coluna */
  }
}

/* Estilo dos itens do portfólio */
#portfolio-mobile .project-mobile {
  width: 100%;
}

#portfolio-mobile .project-mobile a {
  display: block;
}

#portfolio-mobile .project-mobile img {
  width: 100%;
  height: auto;
  object-fit: cover;  
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Efeito de hover */
#portfolio-mobile .project-mobile a:hover img {
  transform: scale(1.05);
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.3);
}






















h1 {
    text-align: center;    
}

.menu-selecao {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;  
    gap: 10px;
    padding-top: 20px;  
}

.menu-selecao a {
    text-align: center;
}

.menu-selecao ul li:hover {
  font-weight: 500;
}

nav {
    margin-bottom: 20px;
}

nav ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;     
    gap: 15px;
    position: relative;
    justify-content: center;  
}

nav ul li {
    cursor: pointer;
    font-weight: normal;
    position: relative;
}



nav.menu-selecao ul li::after {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #8359c7; 
  transition: width 0.5s ease;
}

/* AO HOVER (ou active) */
nav.menu-selecao ul li:hover::after,
nav.menu-selecao ul li.active::after {
  width: 100%;
}


nav.menu-selecao ul li.active {
    font-weight: 500;
    color: #8359c7;
}



/* GRIDS */

.grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(8, 400px); 
    grid-gap: 10px;
    padding: 0 10px;
    max-width: 1920%; 
}

/* Grid dinâmico com 3 colunas e imagens quadradas */
.grid.three-columns {
  grid-template-columns: repeat(3, 1fr); /* 3 colunas */
  grid-auto-rows: 400px; /* Altura automática de 400px */
  grid-template-rows: none; /* Remove a configuração de linhas fixa */
  gap: 20px; /* Espaçamento consistente */
}

/* Garantir que as imagens fiquem quadradas */
.grid.three-columns .project img,
.grid.three-columns .project video {
  width: 100%; /* Preenche a célula */
  height: 100%; /* Preenche a célula */
  object-fit: cover; /* Ajusta o conteúdo sem distorcer */
}
 
.grid.three-columns .project.dense-grid {
  grid-column: auto !important;
  grid-row: auto !important;
}


/* Projetos */

.project {
    position: relative;
    overflow: hidden;
    /* grid-row-end: span 20; // também pode remover se estiver forçando altura */
    border-radius: 0; 
}

.project img,
.project video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block; 
    transition: transform 0.3s, filter 0.3s;
    object-position: 50% 50%;
}

.project:hover img,
.project:hover video {
    transform: scale(1.1);
    filter: blur(2px) brightness(0.6);
}

.project-info {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    text-align: center;
    opacity: 0;
    transition: opacity 0.3s;
}

.project:hover .project-info {
    opacity: 1;
}

.project-info h2 {
    margin: 0;
    font-size: 18px;
}

.project-info p {
    margin: 5px 0 0;
    font-size: 14px;
}
       
       
/* -----------------------
   POSICIONAMENTO EXATO
   ------------------------ */


/* Linha 1 */
.project-20  {
    grid-column: 1 / 3; /* ocupa colunas 1 e 2 */
    grid-row: 1;        /* ocupa a “primeira” faixa de linha */
  }
  .project-19  {
    grid-column: 3; /* 3ª coluna */
    grid-row: 1;
  }
  .project-18  {
    grid-column: 4; /* 4ª coluna */
    grid-row: 1;
  }
    
  .project-17  {
    grid-column: 1;
    grid-row: 2; 
  }
  .project-16  {
    grid-column: 2;
    grid-row: 2;
  }
  .project-15  {
    grid-column: 3 / 5;  /* ocupa as colunas 3 e 4 */
    grid-row: 2 / 4;     /* estende-se da linha 2 até a 3 (duas faixas de altura) */
  }
  .project-14  {
    grid-column: 1;
    grid-row: 3;
  }
  .project-13  {
    grid-column: 2;
    grid-row: 3;
  }
  
  /* Linha 4 */
  .project-12  {
    grid-column: 1;
    grid-row: 4;
  }
  .project-11 {
    grid-column: 2;
    grid-row: 4;
  }
  .project-10 {
    grid-column: 3 / 5; /* colunas 3 e 4 */
    grid-row: 4;
  }
  
  /* Linha 5 (projeto único ocupando todas as colunas) */
  .project-9 {
    grid-column: 1 / 5;
    grid-row: 5;
  }
  
  /* Linha 6 */
  .project-8 {
    grid-column: 1;
    grid-row: 6;
  }
  .project-7 {
    grid-column: 2;
    grid-row: 6;
  }
  .project-6 {
    grid-column: 3;
    grid-row: 6;
  }
  .project-5 {
    grid-column: 4;
    grid-row: 6;
  }
  
  /* Linha 7 (cada item ocupando 2 colunas) */
  .project-4 {
    grid-column: 1 / 3;
    grid-row: 7;
  }
  .project-3 {
    grid-column: 3 / 5;
    grid-row: 7;
  }
  
  /* Linha 8 */
  .project-2 {
    grid-column: 1;
    grid-row: 8;
  }
  .project-1 {
    grid-column: 2 / 5; /* ocupa as colunas 2, 3 e 4 */
    grid-row: 8;
  }




/*=== Contact ====*/

.contact-container {
  background-color: whitesmoke; /* cor de fundo suave */
  padding: 40px 20px;
  border-top: 7px solid #eee; /* linha divisória */
  border-bottom: 7px solid #eee; 
}

.contact-container h2, .contact-container h3 {
  color: #8359c7; /* cor principal do site */
}

/* Ajustes simples de formulário */
.contact-container form .form-label {
  font-weight: 600; 
}

.contact-container .btn-primary {
  background-color: #8359c7;
  border: none;
}

/* Caso queira um "focus" diferenciado nos inputs */
.contact-container input:focus,
.contact-container textarea:focus {
  border-color: #8359c7;
  box-shadow: 0 0 0 0.2rem rgba(131, 89, 199, 0.25);
}

.btn-primary:active {
  background-color: #5f1aa3 !important;
  border-color: #5f1aa3 !important;
  color: #fff;
}

/* Links da coluna direita (exemplo usando a classe col-md-4.mb-4) */
.col-md-4.mb-4 p a {
  color: #000; /* cor normal do link (preto, se quiser) */
  text-decoration: none; /* se quiser remover sublinhado, por exemplo */
  transition: color 0.5s ease;
}

.col-md-4.mb-4 p a:hover {
  color: #8359c7;
  font-weight: 500;
}






.btn-primary {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0px 4px 6px rgba(131, 89, 199, 0.3);
}

.btn-primary:active {
  transform: translateY(1px);
  box-shadow: none;
}



.contact-container input:focus,
.contact-container textarea:focus {
  transition: border 0.3s ease, box-shadow 0.3s ease;
  border-color: #8359c7;
  box-shadow: 0 0 5px rgba(131, 89, 199, 0.5);
}





/*=== End Contact ====*/




        
/*=== FOOTER ====*/

.footer {
  background-color: #333;
  color: #fff;
  padding: 40px 16px;
  text-align: center;
}

.footer-container {
  display: flex;
  flex-direction: column; /* Menu em cima, texto embaixo */
  align-items: center;    /* Centraliza horizontalmente */
  justify-content: center;
  padding: 20px;
}


.footer-container h3 {
  font-size: 18px;
  margin-bottom: 16px;
  color: #fff;
}

.footer-container p, 
.footer-container a {
  font-size: 14px;
  color: #ccc;
  text-decoration: none;
}

.footer-links ul,
.footer-social ul {
  list-style: none;
  padding: 0;
}

.footer-links li,
.footer-social li {
  margin: 8px 0;
}

.footer-menu a:hover::after,
.footer-menu a.active::after {
  background-color: #fff !important; 
}


.footer-bottom {
  margin-top: 20px;
  font-size: 14px;
  color: #ccc;
  border-top: 1px solid #444;
  padding-top: 20px;
}



/* Ajustes para o nav dentro do footer */
.footer-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  
  /* Para centralizar horizontalmente */
  display: flex;
  justify-content: center;
  gap: 1rem; /* Espaço entre os itens (ajuste se quiser) */
}

.footer-menu li {
  display: inline-block;
}

.footer-menu a {
  position: relative;  /* Necessário para posicionar o ::after corretamente */
  display: inline-block;/* Garante que cada link tenha “área própria” */
  cursor: pointer;
  text-decoration: none;
  color: #fff; /* cor do texto do footer */
  font-weight: 400; /* ajuste como preferir */
}

/* No footer: sublinhado branco */
.footer-menu a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 2px;
  background-color: #fff; /* branco */
  transition: width 0.5s ease;
}

.footer-menu a:hover::after {
  width: 100%;
}


.footer-menu a:hover {
  color: #FFF;
  font-weight: 500; 
}






/*=== End Footer ====*/


/*=== @Media ====*/

/* Exemplo: abaixo de 992px (tablets, por volta de Bootstrap md) */
@media screen and (max-width: 992px) {
  .grid {
    grid-template-columns: repeat(2, 1fr);
    /* Remove o grid-template-rows fixo e deixa a altura ser calculada automaticamente */
    grid-template-rows: none;
    grid-auto-rows: 400px; /* ou auto, se quiser altura automática */
    gap: 20px; /* espaço entre os items */
  }

  /* Override das posições fixas dos projetos */
  .project {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .grid.three-columns {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: none;     /* Remove qualquer row fixa */
    grid-auto-rows: 400px;        /* Altura base de cada item (pode ser auto se preferir) */
    gap: 20px;
  }
  
  /* Reseta posicionamento */
  .grid.three-columns .project {
    grid-column: auto !important;
    grid-row: auto !important;
  }

}



/* Exemplo: abaixo de 768px (celulares, por volta de Bootstrap sm) */
@media screen and (max-width: 768px) {
  /* A .grid passa a ter 1 coluna */
  .grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-rows: auto; /* ou auto, conforme desejar */
    gap: 10px;
    width: 100%;
  }

  .project img,
  .project video {
    width: 100%;
    height: auto; 
    object-fit: cover;
  }

   .project {
    grid-column: auto !important;
    grid-row: auto !important;
    
  }

  .grid.three-columns {
    grid-template-columns: 1fr;   /* Fica só 1 coluna */
    grid-template-rows: none;
    grid-auto-rows: auto;         /* Ajusta a altura automaticamente */
    gap: 10px;
  }
  .grid.three-columns .project {
    grid-column: auto !important;
    grid-row: auto !important;
  }
  /* Garantir que as imagens não vazem horizontalmente */
  .grid.three-columns .project img,
  .grid.three-columns .project video {
    width: 100%;
    height: auto;
  }
 
}

@media screen and (max-width: 650px) {
  .menu-selecao ul li {
    flex: 1 1 30%;       /* ou 33% */
    min-width: 100px;    /* opcional: evita ficar muito pequeno */
    margin-bottom: 10px; /* espaço extra entre linhas */
    text-align: center;  
    padding: 0 10px;      /* espaço extra entre linhas */
} 
}




/*=== End @Media ====*/



/* Animações */

.slide-in {
  opacity: 0;           /* Estado inicial */
  transform: translateX(-50px);
  animation: slideIn 1s forwards; /* <--- Chama a animação */
}

@keyframes slideIn {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.slide-in2 {
  opacity: 0;           /* Estado inicial */
  transform: translateX(-50px);
  animation: slideIn 2s forwards; /* <--- Chama a animação */
}

@keyframes slideIn2 {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.slide-in3 {
  opacity: 0;           /* Estado inicial */
  transform: translateX(-50px);
  animation: slideIn 4s forwards; /* <--- Chama a animação */
}

@keyframes slideIn3 {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}


/* Estilo inicial para a animação */
.animate {
  opacity: 0;
  transform: translateY(100px);
  transition: opacity 1s ease, transform 1s ease;
}

/* Estilo final quando o elemento entra em exibição */
.animate.visible {
  opacity: 1;
  transform: translateY(0);
}



/* Estado inicial */
.portfolio-item {
  opacity: 0;
  transform: scale(0.77);
  transition: opacity 1.5s ease, transform 1.5s ease;
}

/* Estado visível */
.portfolio-item.visible {
  opacity: 1;
  transform: scale(1);
}


.portfolio-item:nth-child(1) {
  transition-delay: 0.1s;
}
.portfolio-item:nth-child(2) {
  transition-delay: 0.2s;
}
.portfolio-item:nth-child(3) {
  transition-delay: 0.3s;
}


.portfolio-item {
  will-change: opacity, transform;
}




/* ABOUT ME */


/* CABEÇALHO ABOUT-ME */

#cabecalho2 {
  min-height: 60vh; /* Define altura mínima para posicionamento adequado */
  display: flex;
  flex-wrap: wrap;
  align-items: center; /* Centraliza verticalmente os itens */
  justify-content: center; /* Garante alinhamento horizontal */
  background-color: whitesmoke; /* Cor de fundo para destaque */
}

/* Contêiner da imagem */
#cabecalhobio2 {
  display: flex;
  justify-content: center; /* Centraliza a imagem horizontalmente */
  align-items: center; /* Centraliza verticalmente */
}

/* Estilo da imagem */
.circular-crop {
  width: 350px; /* Tamanho da imagem */
  height: 350px; /* Mantém a proporção circular */
  border-radius: 50%; /* Faz o crop circular */
  object-fit: cover; /* Garante que a imagem preencha o espaço sem distorcer */
  border: 2px solid #ccc; /* Borda opcional */
}

/* Responsividade para dispositivos menores */
@media screen and (max-width: 768px) {
  #cabecalho2 {
    flex-direction: column; /* Empilha os itens verticalmente */
    text-align: center; /* Centraliza o texto */
    padding-top: 30px;
  }

  .circular-crop {
    width: 250px; /* Reduz o tamanho da imagem */
    height: 250px; /* Mantém a proporção */
  }
}

/* FIM CABEÇALHO ABOUT-ME */


/* About Me */

.presentation-container{
  padding-right: 30px;
  padding-left: 30px;
}

/* Fim About Me*/



/* Formação */

/* Timeline Container */
.timeline-container {
  margin: 50px auto;
  padding: 20px;
  background-color: whitesmoke;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  align-items: center; /* Centraliza os itens horizontalmente */
  max-width: 640px; /* Reduz a largura do quadro cinza */
}

/* Timeline */
.timeline {
  position: relative;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  align-items: center; /* Centraliza os itens horizontalmente */
}

/* Timeline Item */
.timeline-item {
  position: relative;
  margin-bottom: 30px;
  max-width: 600px; /* Limita a largura máxima */
  width: 100%; /* Garante que ocupe a largura total do contêiner */
  display: flex;
  align-items: center;
}

/* Timeline Icon */
.timeline-icon {
  position: relative;
  width: 50px; /* Tamanho maior para os círculos */
  height: 50px; /* Tamanho maior para os círculos */
  border-radius: 50%;
  background-color: #8359c7;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px; /* Aumenta o tamanho do ícone */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  flex-shrink: 0; /* Garante que o ícone não encolha */
}

/* Timeline Content */
.timeline-content {
  background-color: white;
  padding: 15px;
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin-left: 20px; /* Espaço entre o ícone e o conteúdo */
  text-align: left; /* Alinha o texto à esquerda */
  flex-grow: 1; /* Faz o quadro ocupar o espaço restante */
}

/* Title Alignment */
.timeline-content h5 {
  text-align: center; /* Centraliza os títulos */
  color: #8359c7;
}

/* Responsividade */
@media screen and (max-width: 768px) {
  .timeline-item {
    flex-direction: column; /* Empilha os itens verticalmente */
    align-items: center; /* Centraliza os itens */
  }

  .timeline-icon {
    margin-bottom: 15px; /* Espaço entre o ícone e o conteúdo */
  }

  .timeline-content {
    margin-left: 0; /* Remove a margem lateral */
    width: 100%; /* Garante que ocupe a largura total */
    text-align: left; /* Garante o alinhamento à esquerda no responsivo */
  }

  .timeline-container {
    max-width: 90%; /* Ajusta a largura para telas menores */
  }
}



/* fim da formação */



/* Work In Action  */

.work-action-container h3 {
  color: #8359c7;
  font-weight: 700;
  margin-bottom: 10px;
}

.work-action-container p {
  color: #333;
  line-height: 1.6;
}

.work-action-container img {
  border-radius: 8px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.work-action-container img:hover {
  transform: scale(1.05);
  box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.2);
}

/* Texto alinhado à direita para linhas 1 e 3 */
.work-action-container .row:nth-child(2n-1) .col-md-6.text-md-end {
  text-align: right;
}

/* Texto alinhado à esquerda para linha 2 */
.work-action-container .row:nth-child(2n) .col-md-6.text-md-start {
  text-align: left;
}

/* Responsividade */
@media (max-width: 768px) {
  .work-action-container .row .col-md-6 {
    text-align: center; /* Centraliza o texto para dispositivos menores */
  }

  .work-action-container img {
    margin: 20px 0; /* Espaço entre imagem e texto */
  }
}

/* Fim Work in Action */






/* Habilidade */

.skills-container i {
  color: unset; /* Remove o estilo aplicado diretamente */
  transform: unset; /* Garante que o CSS tenha prioridade */
  
  transition: transform 0.3s ease, color 0.3s ease !important;
}

.skills-container i:hover {
  transform: scale(1.2);
  color: #5f1aa3;
}

/* Fim Habilidade */







/* Work as a Professor  */

.professor-container {
  padding: 40px 20px;
  background-color: #f9f9f9;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.professor-container h2 {
  color: #8359c7;
}

.professor-card {
  max-width: 90%; /* Reduz a largura máxima dos cards */
  margin: 0 auto; /* Centraliza os cards dentro da coluna */
  border: 1px solid #ddd;
  border-radius: 10px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: transform 0.5s ease, box-shadow 0.5s ease;
}

.professor-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.professor-card .card-title {
  color: #8359c7;
  font-weight: bold;
}


/* Estilo para os títulos na seção de trabalho como professor */
.professor-container h2,
.professor-card .card-title {
  color: #000; /* Define a cor como preto */
  font-weight: bold; /* Mantém o destaque no texto */
}

/* Work as a Professor  */


/* Estatísticas */

.stats-item {
  background: #f9f9f9;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.stats-item:hover {
  transform: translateY(-10px);
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
}

.stats-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #eaf2fd;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  margin: 0 auto;
}

.stats-icon i {
  color: #8359c7;
}

h3 span {
  font-size: 1em;
  color: #8359c7;
}

h3 {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 5px;
  color: #8359c7;
}

/* Fim estatísticas */

/* END about.html */


















/* START process.html */

/* CABEÇALHO process */

#cabecalho3 {
  min-height: 60vh; /* Define altura mínima para posicionamento adequado */
  display: flex;
  flex-wrap: wrap;
  align-items: center; /* Centraliza verticalmente os itens */
  justify-content: center; /* Garante alinhamento horizontal */
  /* background-color: whitesmoke; /* Cor de fundo para destaque */
}






/* Cabeçalho 3 */

/* Estilo do contêiner */
.image-container {
  position: relative;
  display: inline-block;
  overflow: visible; /* Garante que o efeito externo seja exibido */
}



/* Estilo inicial da imagem */
.image-container .custom-image {
  max-height: 50vh;
  max-width: 100%;
  transition: transform 0.6s ease, filter 0.6s ease, box-shadow 0.6s ease;
  /* border-radius: 10px; */
  /* box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); /* Sombra inicial */     
  cursor: pointer;
}












/* Animação do gradiente */
@keyframes gradientMove {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

/* Fim cabeçalho 3 */




/* START My Design Process */

.my-design-process {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  padding: 0 60px;
}

.my-design-process .process-content {
  max-width: 790px;
  text-align: center;
  margin: 0 auto;
}

.my-design-process h2 {
  color: #8359c7; 
  margin-bottom: 20px;
}

.my-design-process p {
  font-size: 1.1rem;
  line-height: 1.6;
}



/* SEÇÃO: Detalhamento das Etapas do Processo de Design */


.word {
  display: inline-block;
  opacity: 0;
  transform: translateY(20px);
  filter: blur(3px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out, filter 0.6s ease-out;
}

.word.visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

.word:nth-child(1) { transition-delay: 0.1s; }
.word:nth-child(2) { transition-delay: 0.2s; }
.word:nth-child(3) { transition-delay: 0.4s; }
.word:nth-child(4) { transition-delay: 0.6s; }
.word:nth-child(5) { transition-delay: 0.7s; }
.word:nth-child(6) { transition-delay: 0.9s; }
.word:nth-child(7) { transition-delay: 1.0s; }
.word:nth-child(8) { transition-delay: 1.1s; }



.design-steps {
  padding: 60px 0;
  background-color: #f9f9f9; /* Cor de fundo suave */
}

.design-steps .section-title {
  text-align: center;
  color: #8359c7;
  margin-bottom: 40px;
  font-size: 1.8rem;
  
}

.design-steps .step {
  display: flex;
  align-items: center;
  margin-bottom: 60px;
  flex-wrap: nowrap; /* Impede que os itens quebrem para a próxima linha */
}

.design-steps .step-icon {
  flex: 0 0 60px;
  height: 60px;
  background-color: #8359c7;
  color: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  margin-right: 40px; /* Aumenta a margem entre o ícone e o texto */
}

.design-steps .step-content {
  flex: 1;
  max-width: 50%; /* Garante que o conteúdo ocupe até 50% da largura */
  padding-right: 40px; /* Aumenta a margem entre o texto e a imagem */
}

.design-steps .step-content h3 {
  color: #8359c7;
  font-size: 1.5rem;
  margin-bottom: 10px;
  
}

.design-steps .step-content h4 {
  color: #333;
  margin-top: 15px;
  margin-bottom: 5px;
}

.design-steps .step-content p {
  color: #555;
  line-height: 1.6;
}

.design-steps .step-content ul {
  list-style-type: disc;
  padding-left: 20px;
  color: #555;
}

.design-steps .step-content ul li {
  margin-bottom: 10px;
}

.design-steps .step-image {
  flex: 0 0 50%; /* Ocupa 50% da largura */
  height: 100vh;  /* Ocupa 100vh de altura */
  position: relative;
  overflow: hidden;
}

.design-steps .step-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  
}



/* Etapa 3: Desenvolver */
.design-steps .step-3 {
  display: flex;
  align-items: center;
  margin-bottom: 60px;
  flex-wrap: nowrap; /* Mantém os elementos na mesma linha */
}

.design-steps .step-3 .step-image {
  flex: 0 0 50%; /* Ocupa 50% da largura */
  height: 100vh; /* Ocupa 100vh de altura */
  position: relative;
  overflow: hidden;
  margin-right: 40px; /* Espaço entre a imagem e o texto */
}

.design-steps .step-3 .step-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  
}

.design-steps .step-3 .step-content {
  flex: 1;
  max-width: 40%; /* Ajusta o tamanho do texto */
  margin-right: 40px; /* Espaço entre o texto e o ícone */
}

.design-steps .step-3 .step-icon {
  flex: 0 0 auto;
  height: 60px;
  width: 60px;
  background-color: #8359c7;
  color: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  overflow: hidden; /* Previne distorções visuais */

}



/* Responsividade: Etapa 3 em dispositivos menores */
@media (max-width: 992px) {
  .design-steps .step-3 {
    flex-direction: column; /* Alinha os elementos verticalmente */
    text-align: center; /* Centraliza o texto e os ícones */
  }

  .design-steps .step-3 .step-icon {
    order: 1; /* Ícone vem primeiro */
    margin: 0 auto 20px auto; /* Centraliza o ícone e adiciona espaçamento inferior */
    
  }

  .design-steps .step-3 .step-content {
    order: 2; /* Texto vem depois */
    max-width: 100%; /* O texto ocupa toda a largura */
    margin: 0 auto 20px auto; /* Centraliza e adiciona espaçamento inferior */
    padding: 0 20px; /* Espaçamento interno lateral para melhor legibilidade */
  }

  .design-steps .step-3 .step-image {
    order: 3; /* Imagem vem por último */
    max-width: 100%; /* A imagem ocupa toda a largura */
    height: auto; /* Remove a altura fixa */    
  }

  .design-steps .step-3 .step-image img {
    width: 100%; /* Faz a imagem ocupar toda a largura do container */
    height: auto; /* Ajusta a altura proporcionalmente */
  }
}







/* Responsividade */
@media (max-width: 992px) {
  .design-steps .step {
    flex-direction: column;
    align-items: center; /* Centraliza todos os elementos horizontalmente */
    text-align: left;
  }

  .design-steps .step-content,
  .design-steps .step-image {
    max-width: 100%;
    padding-right: 0;
  }

  .design-steps .step-content {
    max-width: 100%; /* O texto ocupa toda a largura disponível */
    padding: 0 20px; /* Adiciona espaçamento interno lateral */
    margin: 0 auto; /* Centraliza o texto */
  }

  .design-steps .step-icon {
    margin-right: 0;
    margin-bottom: 20px;
    display: flex; /* Garante que o ícone esteja centralizado */
    justify-content: center; /* Centraliza o conteúdo horizontalmente */
    align-items: center; /* Centraliza o conteúdo verticalmente */
  }
}

@media (max-width: 576px) {
  .design-steps .step-icon {
    width: 50px; /* Ajusta o tamanho do círculo para dispositivos menores */
    height: 50px; /* Garante proporção do círculo */
    font-size: 1.2rem; /* Ajusta o tamanho do ícone */
  }

  .design-steps .section-title {
    font-size: 1.5rem;
  }

  .design-steps .step-content h3 {
    font-size: 1.3rem;
  }

  .design-steps .letter {
    font-size: 1.2rem; /* Ajusta o tamanho das letras para dispositivos pequenos */
  }
}






/* Ajuste do Espaço Entre a Imagem e o Texto */
.design-steps .step-3 .step-image,
.design-steps .step-4 .step-image {
  margin-right: 40px; /* Espaço entre a imagem e o texto */
}

.design-steps .step-3 .step-content,
.design-steps .step-4 .step-content {
  padding-right: 40px; /* Espaço interno no texto para consistência */
}



/* Adicionando media queries para dispositivos menores */
@media (max-width: 768px) {
  .design-steps .step-3 .step-image,
  .design-steps .step-4 .step-image {
    margin-right: 0; /* Remove o espaço à direita da imagem */
    margin-bottom: 20px; /* Adiciona espaço abaixo da imagem */
  }

  .design-steps .step-3 .step-content,
  .design-steps .step-4 .step-content {
    padding-right: 0; /* Remove o padding à direita do texto */
  }

  .design-steps .step-3,
  .design-steps .step-4 {
    display: flex;
    flex-direction: column; /* Alinha a imagem e o texto em coluna */
    align-items: center; /* Centraliza os itens */
  }

  .design-steps .step-3 .step-image img,
  .design-steps .step-4 .step-image img {
    width: 100%; /* Ajusta a largura da imagem para 100% */
    height: auto; /* Mantém a proporção da imagem */
  }
}




/* Responsividade: Etapa 4 em dispositivos menores */
@media (max-width: 992px) {
  .design-steps .step-4 {
    flex-direction: column; /* Alinha os elementos verticalmente */
    text-align: left; /* Centraliza o texto e os ícones */
  }

  .design-steps .step-4 .step-icon {
    order: 1; /* Ícone vem primeiro */
    margin: 0 auto 20px auto; /* Centraliza o ícone e adiciona espaçamento inferior */
  }

  .design-steps .step-4 .step-content {
    order: 2; /* Texto vem depois */
    max-width: 100%; /* O texto ocupa toda a largura */
    margin: 0 auto 20px auto; /* Centraliza e adiciona espaçamento inferior */
    padding: 0 20px; /* Espaçamento interno lateral para melhor legibilidade */
  }

  .design-steps .step-4 .step-image {
    order: 3; /* Imagem vem por último */
    max-width: 100%; /* A imagem ocupa toda a largura */
    height: auto; /* Remove a altura fixa */
  }

  .design-steps .step-4 .step-image img {
    width: 100%; /* Faz a imagem ocupar toda a largura do container */
    height: auto; /* Ajusta a altura proporcionalmente */
  }
}

@media (max-width: 576px) {
  .design-steps .step-4 .step-icon {
    flex: 0 0 50px;
    height: 50px;
    font-size: 1.2rem; /* Ajusta o tamanho do ícone */
  }

  .design-steps .step-4 .step-content h3 {
    font-size: 1.3rem; /* Ajusta o tamanho do título */
  }

  .design-steps .step-4 .step-content {
    font-size: 1rem; /* Ajusta o tamanho do texto para melhor leitura */
  }
}

/* Garantir que os círculos ao redor dos ícones sejam sempre proporcionais */
.design-steps .step-icon {
  flex: 0 0 auto; /* Evita que o tamanho seja alterado com base no espaço disponível */
  width: 60px; /* Largura fixa para o círculo */
  height: 60px; /* Altura fixa igual à largura para manter o círculo */
  background-color: #8359c7;
  color: #fff;
  border-radius: 50%; /* Garante que seja um círculo */
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  margin-right: 40px; /* Espaço entre o ícone e o texto */
}

/* Ajustes em dispositivos menores */
@media (max-width: 576px) {
  .design-steps .step-icon {
    width: 50px; /* Reduz o tamanho do círculo */
    height: 50px; /* Reduz a altura para manter a proporção */
    font-size: 1.2rem; /* Ajusta o tamanho do ícone dentro do círculo */
    margin-right: 0; /* Remove margem lateral em telas pequenas */
    margin-bottom: 20px; /* Adiciona espaço inferior */
  }
}





/* Etapa 5: Análise de Impacto */
.step-5 {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: left;
  margin-bottom: 80px;
}

.step-5 .step-icon i {
  color: #ffffff !important; /* Força a cor branca no ícone */
}

.step-5 .step-icon {
  font-size: 1.5rem;
  color: #ffffff; /* Cor do ícone ajustada para branco */
  background-color: #8359c7; /* Fundo do círculo */
  border-radius: 50%;
  width: 60px; /* Largura do círculo */
  height: 60px; /* Altura do círculo */
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
  text-align: center;
}




.step-5 .step-content {
  max-width: 70%;
  margin-bottom: 40px;  
}

.step-5 .step-content h3 {
  color: #8359c7;
  font-size: 1.8rem;
  margin-bottom: 10px;
}

.step-5 .step-content h4 {
  color: #333;
  margin-top: 15px;
  margin-bottom: 5px;
}

.step-5 .step-content p {
  color: #555;
  line-height: 1.6;
}

.step-5 .step-content ul {
  list-style-type: disc;
  padding-left: 20px;
  color: #555;
}

.step-5 .step-content ul li {
  margin-bottom: 10px;
}

.step-5 .step-image {
  width: 100%;
  max-height: 30vh;
  overflow: hidden;  
}

.step-5 .step-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}


@media (max-width: 768px) {
  .step-5 .step-content {
      max-width: 100%; /* Alinha largura com a Etapa 4 */
      padding: 0 20px; /* Espaçamento interno lateral */
  }
}

/* END Design Process */


/* Projetos Individuais */



/* Links da coluna direita (exemplo usando a classe col-md-4.mb-4) */
.link {
  color: #000; /* cor normal do link (preto, se quiser) */
  text-decoration: none; /* se quiser remover sublinhado, por exemplo */
  transition: color 0.5s ease;
}

.link:hover {
  color: #8359c7;
  font-weight: 500;
}





.cinza {
  color: #808080;
}



/* ===== GALERIA PROJETOS ===== */

/* Estilização das miniaturas */
.gallery-thumbnail {
  width: 100%;
  height: 200px; /* Define um tamanho fixo para as miniaturas */
  object-fit: cover; /* Mantém a proporção e corta excesso */
  border-radius: 7px;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}



.gallery-thumbnail:hover {
  transform: scale(1.05);
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
}

/* Estilização do pop-up */
.popup-container {
  display: none; /* Oculto por padrão */
  position: fixed;
  z-index: 10000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  align-items: center;
  justify-content: center;
}

/* Estilização da imagem dentro do pop-up */
.popup-content {
  max-width: 80%;
  max-height: 80%;  
  border-radius: 10px;
  box-shadow: 0px 8px 20px rgba(255, 255, 255, 0.3);
  animation: fadeIn 0.3s ease-in-out;
}

/* Botão de fechar */
.close-popup {
  position: absolute;
  top: 20px;
  right: 40px;
  font-size: 40px;
  font-weight: bold;
  color: white;
  cursor: pointer;
  transition: color 0.3s ease;
}

.close-popup:hover {
  color: #E55E48;
}

/* Efeito de fade-in ao abrir */
@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.8); }
  to { opacity: 1; transform: scale(1); }
}


/* Setas de navegação */
.prev-popup, .next-popup {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 40px;
  font-weight: bold;
  color: white;
  cursor: pointer;
  transition: 0.3s;
  user-select: none;
  padding: 10px;
}

.prev-popup { left: 20px; }  /* Posição da seta esquerda */
.next-popup { right: 20px; } /* Posição da seta direita */

.prev-popup:hover, .next-popup:hover {
  color: #5AC872; /* Destaque ao passar o mouse */
}


/* Indicadores de progresso (pequenos círculos) */
.popup-indicators {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
}

.indicator {
  width: 12px;
  height: 12px;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.indicator.active {
  background-color: #5AC872; /* Cor destacada para a imagem ativa */
}



/* ===== FIM GALERIA PROJETOS ===== */



/* You may also like to see  */

.related-projects {
  margin-top: 80px; /* Espaçamento superior */
  text-align: center;
  padding: 10px 20px;
  
}

.related-projects h2 {
  color: #8359c7;
  font-size: 1.7rem;
  margin-bottom: 30px;
}

.related-projects-container {
  display: flex;
  justify-content: center;
  gap: 77px; /* Espaço entre os projetos */
  flex-wrap: wrap;
}

/* Estiliza os itens do grid */
.related-project {
  width: 350px;  /* Largura fixa para manter o quadrado */
  height: 350px; /* Altura fixa para manter o quadrado */
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.related-project img,
.related-project video {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Garante que a imagem preencha o espaço sem distorcer */
  transition: transform 0.3s ease, filter 0.3s ease;
}

/* Efeito ao passar o mouse */
.related-project:hover img,
.related-project:hover video {
  transform: scale(1.1); /* Pequeno zoom */
  filter: brightness(0.8);
}

/* Estiliza os títulos dos projetos */
.related-project-title {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(95, 26, 163, 0.6);
  color: white;
  padding: 8px 12px;
  border-radius: 5px;
  font-size: 16px;
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;

  /* Ajustes para manter sempre em uma linha */
  max-width: 90%;         /* Garante que não ultrapasse os limites */
  white-space: nowrap;     /* Evita quebra de linha */
  overflow: hidden;        /* Esconde o excesso de texto */
  text-overflow: ellipsis; /* Adiciona "..." caso o texto seja muito grande */
  text-align: center;
}

/* Título aparece ao passar o mouse */
.related-project:hover .related-project-title {
  opacity: 1;
  transform: translateX(-50%) translateY(-5px);
}

/* Responsividade para telas menores */
@media (max-width: 768px) {
  .related-project {
    width: 300px; /* Ajusta tamanho para telas menores */
    height: 300px;
  }
}

@media (max-width: 480px) {
  .related-project {
    width: 250px; /* Ajusta tamanho para celulares */
    height: 250px;
  }
}


/* FIM You may also like to see  */




/* END Projetos */




/* Disciplinas */


/* Container para centralizar e limitar a largura da tabela */
.tabela-container {
  max-width: 900px; /* Ajuste conforme necessário */
  margin: 0 auto; /* Centraliza o container na página */
  overflow-x: auto; /* Permite rolagem horizontal em telas pequenas */
}

/* Estilo para a tabela de disciplinas */
.tabela-disciplinas {
  width: 100%;
  border-collapse: collapse;
  font-size: 1em;
  font-family: Arial, sans-serif;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Estilizando o cabeçalho da tabela */
.tabela-disciplinas thead tr {
  background-color: #8359c7;
  color: #ffffff;
  text-align: left;
}

/* Estilizando as células do cabeçalho e corpo */
.tabela-disciplinas th, 
.tabela-disciplinas td {
  padding: 12px 15px;
  border: 1px solid #ddd;
}

/* Alternando cores das linhas para melhor leitura */
.tabela-disciplinas tbody tr:nth-child(even) {
  background-color: #f9f9f9;
}

/* Efeito hover nas linhas */
.tabela-disciplinas tbody tr:hover {
  background-color: #eaf2fd;
  transition: background-color 0.3s ease-in-out;
}

/* Responsividade */
@media (max-width: 768px) {
  .tabela-container {
    padding: 0 15px; /* Adiciona um pequeno espaçamento lateral */
  }

  .tabela-disciplinas {
    font-size: 0.9em;
  }
}






/* Estilo para a tabela de disciplinas */
.tabela-disciplinas {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: 1em;
  font-family: Arial, sans-serif;
  min-width: 600px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Estilizando o cabeçalho da tabela */
.tabela-disciplinas thead tr {
  background-color: #8359c7;
  color: #ffffff;
  text-align: left;
}

/* Estilizando as células do cabeçalho */
.tabela-disciplinas th, 
.tabela-disciplinas td {
  padding: 12px 15px;
  border: 1px solid #ddd;
}

/* Alternando cores das linhas para melhor leitura */
.tabela-disciplinas tbody tr:nth-child(even) {
  background-color: #f9f9f9;
}

/* Efeito hover nas linhas */
.tabela-disciplinas tbody tr:hover {
  background-color: #eaf2fd;
  transition: background-color 0.3s ease-in-out;
}

/* Responsividade */
@media (max-width: 768px) {
  .tabela-disciplinas {
    font-size: 0.9em;
    min-width: auto;
  }
}






/* END Disciplinas */







/*============ BOOTSTRAP BREAK POINTS:

Extra small (xs) devices (portrait phones, less than 576px)
No media query since this is the default in Bootstrap

Small (sm) devices (landscape phones, 576px and up)
@media (min-width: 576px) { ... }

Medium (md) devices (tablets, 768px and up)
@media (min-width: 768px) { ... }

Large (lg) devices (desktops, 992px and up)
@media (min-width: 992px) { ... }

Extra (xl) large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }

=============*/