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

header .navbar-toggler { 
  box-shadow: none !important;
  border: 0 }

/* .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") !important;
} */

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: #333 !important;
  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 { 
      width: 100%;
      border-radius: 0 !important;
      position: fixed;
      z-index: 100000;
      background: var(--flex-dark) !important;
      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 }
}

.bg-gradient-transparent-black { background: linear-gradient(61deg, rgba(0,0,0,0), rgba(0,0,0,1)) }
.bg-gradient-transparent-white { background: linear-gradient(61deg, rgba(255,255,255,0), rgba(255,255,255,1)) }
.bg-gradient-light { background: linear-gradient(61deg,rgba(0, 121, 235, 0.01) 0%, rgba(0, 121, 235, 0.2)) fixed }

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

.btn-lg { 
  font-size: 100%;
  padding: 1em 1.5rem;
}

.btn-outline-primary:hover { color: #FFF }

.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-dark { box-shadow: 0 0 0 2px rgba(30,30,30,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-dark:before { background: linear-gradient(to right, rgba(30,30,30,1), rgba(100,100,100,1), rgba(30,30,30,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 }

.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 } 

.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;
}


.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 */
}
@media(min-width:768px){
  .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;
  }
}



#timeline ul:before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 100%;
    background: #000;
}

#timeline ul li { 
    display: flex;
    flex-direction: column;
}

@media(min-width:768px){

    #timeline ul li { width: 42% }
    #timeline ul li:nth-child(even){ text-align: right }
    #timeline ul li:nth-child(odd){ margin-left: auto }
    #timeline ul li.timeline-item:not(:first-child) { margin-top: -5rem}


    #timeline ul li .timeline-date {
        position: relative;
    }

    #timeline ul li .timeline-date:before,
    #timeline ul li .timeline-date:after {
        content: '';
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background: #000;
    }

    #timeline ul li .timeline-date:before {
        height: 1px;
        width: calc(19.05% + 1rem);
    }

    #timeline ul li .timeline-date:after {
        width: 8px;
        height: 8px;
        border-radius: 50%;
    }

    #timeline ul li:nth-child(odd) .timeline-date:before {
        right: calc(100% + 3rem);
    }
    #timeline ul li:nth-child(odd) .timeline-date:after {
        right: calc(121% + 3.5rem - 2px);
    }
    #timeline ul li:nth-child(even) .timeline-date:before {
        left: calc(100% + 3rem);
    }
    #timeline ul li:nth-child(even) .timeline-date:after {
        left: calc(121% + 3.5rem - 2px);
    }

}

.table {
  --flex-table-bg: transparent;
}

.ratio img { object-fit:cover}