/* Bloco de ano/evento ocupa toda a largura, conteúdo centralizado */
.timeline-year-block {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    background: inherit;
    display: flex;
    justify-content: center;
}
.timeline-year-content {
    width: 900px;
    max-width: 100vw;
    margin: 0 auto;
    position: relative;
}
/* Wrapper para mover tudo mais para o meio */
.timeline-wrapper {
    width: 900px;
    max-width: 100vw;
    margin: 0 auto;
    position: relative;
    border: none;
    background-color: #172833;
    
}
.timeline-container {
    width: 100%;
    margin: 0;
    padding: 0;
    
}
.timeline {
    width: 100%;
    margin: 0;
    padding: 0;
}
.linha-branca .timeline-bulletano {
    background: #fff;
}
.linha-vermelha .timeline-bulletano {
    background: #AF1C27;
}
.linha-branca .timeline-bullet {
    background: #fff;
}
.linha-vermelha .timeline-bullet {
    background: #AF1C27;
}
.linha-branca.timeline::before {
    background: #fff;
}
.linha-vermelha.timeline::before {
    background: #AF1C27;
}
#abertura + .timeline::before {
    background: #fff;
}
.timeline-ano + .timeline::before,
.timeline-event + .timeline::before {
    background: #AF1C27;
}
html, body {
    max-width: 100vw;
    overflow-x: hidden;
	background-color: #172833;
    margin: 0;
}

.timeline-content {
    position: relative;
    left: 2em;
}

.timeline-event .timeline-content {
    /* Layout padrão: data em cima (mobile-first) */
    display: block;
}

.timeline-data {
    min-width: auto;
    margin-bottom: 10px;
}

.timeline-evento-container {
    position: relative;
    margin-right: 30px;
}


/* Timeline vertical */
.timeline-container {
    position: relative;
    width: 100%;
    /* padding-left: 60px; */
	background-color: transparent;
}
 
.timeline {
    position: relative;
    margin: 0;
    padding: 0;
	
}
 
.timeline::before {
    content: "";
    position: absolute;
    left: 30px;
    top: 0;
    width: 4px;
    height: 100%;
    
    z-index: 1;
}
 
.timeline-ano, .timeline-event {
    position: relative;
    display: flex;
    align-items: center;
    
}
 
 
.timeline-bulletano {
    position: absolute;
    left: 23px;
    width: 18px;
    height: 18px;
    background: black;
    border-radius: 50%;
    z-index: 2;
}
 
.timeline-bullet {
    position: absolute;
    left: 27px;
    top:  0;
    width: 10px;
    height: 10px;
    background: black;
    border-radius: 50%;
    z-index: 2;
	margin-top: 15px;
}
 
.timeline-content {
    margin-left: 60px;
}
 
#timeline{
    position: relative;
    padding-bottom: 3em;
    margin-bottom: 0;
}
 

 
#timeline::after{
    content: "";
    position: absolute;
    left: calc(20% + 3% - 7.5px);
    top: 0;
    width: 18px;
    height: 18px;
    background-color: black;
    border-radius: 50%;
    z-index: 3;
}

 
 
 /* icone */

 .icone-wrapper {
    position: absolute;
    left: -2em;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 5em;
    height: 5em;
    display: flex;
    align-items: center;
    justify-content: center;
}
.icone {
    width: 5em;
    height: 5em;
    border-radius: 50%;
    
}
 
 
/* class */
 
.branco{
	background-color: #fff;
}

.vermelho{
    background-color: #AF1C27;
}
 
.fonteBranco{
    color: #fff;
    font-size: 16px;
}
 
.fonteVermelha{
 
    color: #AF1C27;
    font-size: 16px;
}
/*Alterações de fonte*/
 
h1{
    font-family: 'Barlow', sans-serif;
    text-transform: uppercase;
    font-size: 3.4em;
    margin:0;
    font-weight: bold;
}
 
h2{
    font-family: 'Barlow', sans-serif;
    font-size: 1.4rem;
    margin:0;
    font-weight: normal;
}
 
h2 strong{
    font-family: 'Barlow', sans-serif;
    font-weight: bold;
    font-size: 28px;
    font-variant-caps: all-petite-caps;
    margin:0;  
}
 
p{
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    margin:0;
}
 
.marcarcao{
    background-color: #ED3B48;
    color: #FFFFFF;
    font-weight: bold;
    padding: 2px ;
    padding-left: 10px;
    padding-right: 10px;
 
}
  .fontePreto{
color: black;

  }
.caixatexto h2{
    font-variant-caps: all-petite-caps;
    font-size: 16px; /* Fixo para desktop */
    font-weight: bold;
    text-decoration: none;
}
 

 
.imga{
    width: .8em;
}
 
a:link {
    text-decoration: none;
    color: black;
}
 
a:visited {
     text-decoration: none;
     color: black;
}
 
a:hover {
     text-decoration: none;
     color: black;
}
 
a:active {
     text-decoration: none;
     color: black;
}
 
 
 
 
/*Alterações genericas*/
 
.flex{
    display: flex;
    justify-content: flex-start;
}
 
.paddingtop{
    padding-top: 2em;
    padding-bottom: 1em;
}
 
.esq{
    width:20%;
    text-align: right;
    padding-right: 1rem;
    box-sizing: border-box;
}
 
.dir{
    width:60%;
}
 
 
.caixatexto:hover{
  
   box-shadow: 0px 5px 0px -2px rgb(175, 28, 39);
   background-color: gray;
   color: #fff !important;

 

    
}
.caixatexto:hover h2,
.caixatexto:hover p{
    color: #fff !important;
}
 
 
 
/*OUTROS ELEMENTOS*/
 
#abertura{
  margin: 1em;
  margin-left: 3%;
  padding: 1em;
  background-color: #172833;
  color: #fff;
  border-radius: 6px;
  margin-top:5%;
  margin-bottom:5%;

}
 
 
#abertura h1{
  margin-bottom: 2%;
  font-weight:normal;
}

 
 
/*datas*/
 
.anotexto{
    font-weight: bold;
    font-size: 3em;
}
 
/*bullets*/
 
.divbullet{
    width: 6%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 0.8em;
    position: relative;
    z-index: 2;
}
 
.bulletano{
    background-color: black;
    height: 15px;
    width: 15px;
    border-radius: 50%;
    margin: 0 auto;
    position: relative;
    z-index: 3;
}
 
.bullet{
    background-color: black;
    height: 8px;
    width: 8px;
    border-radius: 50%;
    margin: 0 auto;
    position: relative;
    z-index: 3;
}
 



/*Caixas texto*/
 
.caixatexto{
    border-radius: 30px;
    margin: 20px 0;
    padding:35px 35px 35px 50px; 
    width: 100%;
    max-width: 750px;
    box-sizing: border-box;
    max-height: 300px;
    margin-right: 200px !important;
    transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out, color 0.3s ease-in-out;
}
 
.caixatexto h2{
    font-weight: normal;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px; /* Fixo em px ao invés de em */
    padding: 10px 0 15px 0; /* Fixo em px ao invés de em */
    
}
 
.icone{
    width: 5em;
    height: 5em;
    margin-right: 1em;
}
 
body{
    margin-bottom: 0;
}








/* ================== MEDIA QUERIES ================== */

/* 🔹 DESKTOP: Layout horizontal e caixas responsivas */





@media  (min-width: 1048px) {
    .dir{
        width: 610px;
    }  
   
    #timeline::before{
        left: calc(20% + 3%);
        width: 4px;
    }
   
    #timeline::after{
        left: calc(20% + 3% - 9px);
        width: 18px;
        height: 18px;
    }
   
    .bulletano{
        height: 18px;
        width: 18px;
    }
   
    .bullet{
        height: 10px;
        width: 10px;
    }
   
    #abertura p,h1{
        text-align: left;
    }
}

/* Para telas maiores que 600px, aplica layout horizontal */
@media (min-width: 601px) {
    .timeline-event .timeline-content {
        display: flex !important;
        align-items: flex-start !important;
        gap: 20px !important;
    }
    
    .timeline-data {
        min-width: 150px !important;
        flex-shrink: 0 !important;
        margin-bottom: 0 !important;
    }
    
    .timeline-evento-container {
        flex: 1 !important;
    }
}
@media  (max-width: 600px) {
    /* 🔹 MOBILE: FORÇA FONT-SIZE BASE FIXO */
    html {
        font-size: 16px !important;
    }
    
    body {
        font-size: 16px !important;
    }
    
    .timeline-container {
        padding-left: 30px;
    }
    .timeline-content {
        margin-left: 40px;
        left: 20px;
    }
    .timeline::before {
        left: 15px;
        width: 3px;
    }
    .timeline-bulletano {
        left: 7px;
        width: 14px;
        height: 14px;
    }
    .timeline-bullet {
        left: 11px;
        width: 7px;
        height: 7px;
    }
    
    /* 🔹 MOBILE: FORÇA ESTILOS PARA ELEMENTOS CRIADOS VIA JS */
    .timeline-year-content .caixatexto[style],
    .timeline-year-content .caixatexto.vermelho,
    .timeline-year-content .caixatexto.branco,
    div[style] .caixatexto {
        width: calc(100% - 40px) !important;
        max-width: 500px !important;
        margin: 20px auto !important;
        padding: 15px !important;
        box-sizing: border-box !important;
        min-height: auto !important;
    }
    
    /* 🔹 MOBILE: FORÇA FONTES PARA ELEMENTOS CRIADOS VIA JS */
    .timeline-year-content .caixatexto h2[style],
    .timeline-year-content .caixatexto h2.fonteBranco,
    .timeline-year-content .caixatexto h2.fonteVermelha,
    div[style] .caixatexto h2 {
        font-size: 14px !important;
        line-height: 1.3 !important;
        font-family: 'Open Sans', sans-serif !important;
    }
    
    .timeline-year-content .caixatexto p[style],
    .timeline-year-content .caixatexto p.fonteBranco,
    .timeline-year-content .caixatexto p.fonteVermelha,
    .timeline-year-content .caixatexto p.fontePreto,
    div[style] .caixatexto p {
        font-size: 16px !important;
        line-height: 1.4 !important;
        font-family: 'Open Sans', sans-serif !important;
    }
    
    /* 🔹 MOBILE: CONTROLA FONTES GRANDES QUE ESTAVAM ESCALANDO */
    h1 {
        font-size: 18px !important;
        line-height: 1.2 !important;
        font-family: 'Barlow', sans-serif !important;
        text-transform: uppercase !important;
        font-weight: bold !important;
    }
    
    .anotexto {
        font-size: 20px !important;
        line-height: 1.3 !important;
        font-weight: bold !important;
    }
    
    /* 🔹 MOBILE: FORÇA PARA STRONG DENTRO DOS H2 */
    h2 strong {
        font-size: 14px !important;
        line-height: 1.3 !important;
        font-variant-caps: all-petite-caps !important;
    }
    
    .timeline-year-content .caixatexto h2 strong,
    div[style] .caixatexto h2 strong {
        font-size: 14px !important;
        line-height: 1.3 !important;
    }
    
    /* 🔹 MOBILE: GARANTE QUE TODOS OS P NAS CAIXAS SEJAM 16PX */
    .caixatexto p {
        font-size: 16px !important;
        line-height: 1.4 !important;
        font-family: 'Open Sans', sans-serif !important;
    }
    
    .timeline-evento-container {
        width: 100% !important;
    }
}

@media  (min-width: 1048px) {
    .dir{ width: 610px; }  
   
    #timeline::before{ left: calc(20% + 3%); width: 4px; }
    #timeline::after{ left: calc(20% + 3% - 9px); width: 18px; height: 18px; }
    .bulletano{ height: 18px; width: 18px; }
    .bullet{ height: 10px; width: 10px; }
    #abertura p,h1{ text-align: left; }
} 