.container-carousel, .documentos, .sobre {
    padding-top: 10.4rem !important;
}

.title {
    display: flex;
    flex-direction: column;
    align-items: center;

    h1 { text-align: center; }

     h2 {
        padding: 0 3.2rem;
        text-align: center;

        border-radius: 3.2rem;
        border: 0.1rem solid rgb(0, 0, 85);
    }
}

.biblioteca, .faq-container, .materiais, .conteudos-diversos, .documentos, .sobre {
    background: rgb(240, 240, 240);

    padding: 8dvh 3.2rem;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
}

.container-carousel {
    width: 100%;
    height: 60dvh;

    display: flex;
    justify-content: center;
    align-items: center;

    background-color: rgb(240, 240, 240);
}

.carousel-wrapper {
  width: 80%;
  height: 100%;

  overflow: hidden;
  position: relative;
}

.carousel {
  display: flex;
  transition: transform 0.5s ease;
  height: 100%;
}

.slide {
  flex: 0 0 30rem;
  height: 100%;
  background-size: cover;
  background-position: center;
  position: relative;
  margin-right: 1rem; /* espaçamento entre slides */
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  opacity: 0;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
  text-align: center;
  transition: opacity 0.4s ease;

  h3 {
    font-size: var(--font-medium);
    color: rgb(215, 215, 0);
  }

  a, p {
    font-size: var(--font-small);
  }

  a {
    margin-top: 1.6rem;
    padding: 0.8rem 1.6rem; 

    border-radius: 3.2rem;
    background-color: rgb(215, 215, 0);

    font-weight: bold;
  }
}

.slide:hover .overlay {
  opacity: 1;
}

.nav-buttons {
  position: absolute;
  top: 50%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  padding: 0 20px;
  z-index: 10;
}

.nav-buttons button {
  background: rgb(0, 0, 85);
  color: rgb(215, 215, 0);

  border: none;
  border-radius: 3.2rem;
  font-size: 1.6rem;

  cursor: pointer;
  padding: 0.8rem;

  transition: background 0.3s ease;
}

.nav-buttons button:hover {
  background: rgb(215, 215, 0);
  color: rgb(0, 0, 85);
}

.biblioteca {
    width: 100%;

    p { width: 80%; text-align: center; font-weight: 300; }
}

.faq-container {
  width: 100%;
  margin: auto;
}

.faq-item {
  width: 80%;
  border-bottom: 0.05rem solid rgb(200, 200, 200);

  button { font-weight: bold; }
}

.faq-question {
  background: none;
  border: none;

  width: 100%;

  text-align: left;
  padding: 1.6rem;
  font-size: var(--font-medium);

  cursor: pointer;
  position: relative;
}

.faq-question::after {
  content: "+";
  position: absolute;
  right: 10px;
  font-size: var(--font-medium);
  transition: transform 0.3s;
}

.faq-question.active::after {
  content: "−";
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.3s ease;
  padding: 0 1.6rem;

  p {
    padding-bottom: 1.6rem;
  }
}

@media ( max-width: 1100px ) {
  .faq-item { width: 100%; }
}

@media ( max-width: 1000px ) {
    .biblioteca p, .faq-item {
        width: 100%;
    }

    .carousel-wrapper {
        width: calc( 100% - 6.4rem);
    }
}

@media ( max-width: 760px ) {
    .biblioteca .title {
        h1 { font-size: calc( var(--font-sec) + 1.2rem ); }
    }
}

.documentos .container {
  width: 100%;

  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;

  h3 {
    font-size: var(--font-medium);
  }

  a {
    text-decoration: underline;

    color: rgb(0, 0, 85);
    font-size: var(--font-medium);
    font-weight: 300;
  }

  .content {
    padding: 3.2rem;
    min-width: 32rem;

    
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}

.sobre { gap: 3.2rem; }

.sobre .content {
  display: flex;
  justify-content: space-evenly;

  .title-content {
    display: flex;
    gap: 0.8rem;

    .listra { 
      width: 0.3rem;
      height: 7.2rem;

      background-color: black;
    }

    h3 { font-size: var(--font-large); }
    h4 { font-size: var(--font-sec); font-weight: 300; }

    .text { line-height: 2.4rem; padding: 0.8rem 0; }
  }

  .text-content {
    max-width: 60%;

    display: flex;
    flex-direction: column;
    gap: 2.4rem;

    font-style: italic;
  }
}

@media ( max-width: 1100px ) {
  .sobre .content {
    flex-direction: column;
    align-items: left;
    gap: 3.2rem;

    .text-content { max-width: 100%; }
  }
}

.video {
    display: flex;
    justify-content: space-evenly;
    gap: 3.2rem;

    padding-top: 12dvh;

    background-image: url(../images/background.png);
    background-size: cover;
    background-position: center;

    button {
      padding: 0.8rem 4.8rem;

      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.8rem;

      color: #264AD6;
      font-weight: 500;
      background-color: white;

      border: none;
      border-radius: 3.2rem;
  }

    img, video { 
        width: 30%; 
        aspect-ratio: 1 / 1.3; 

        border-radius: 3.2rem; 
        box-shadow: 0 0.8rem 1.6rem rgba(0, 0, 0, 0.200);
    }

    video {
        transform-origin: center center;
        object-fit: cover;
    }

    .text { 
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 1.6rem;

        width: 40%;

        color: white;
    }

    .fale-conosco { background-color: rgb(215, 215, 0); color: rgb(0, 0, 85) }
}

.video-reverse { position: relative; flex-direction: row-reverse; padding: 0 0 12dvh 0; }
.video video, .video .text { z-index: 1; } 

.video-reverse::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url(../images/background.png);
    background-position: center;
    background-size: cover;
    transform: scaleY(-1);
    z-index: 0;
}

@media ( max-width: 1100px ) {
    .video { flex-direction: column; padding: 8dvh 3.2rem; }
    .video, .video-reverse { 
        align-items: center; 

        .text { display: flex; flex-direction: column; align-items: center; text-align: center; }
        .text, img, video { width: 75%; }
    }
}

@media ( max-width: 760px ) {
    .video, .video-reverse { .text, img, video { width: 100%; border-radius: 1.6rem; } }
}

.location {
  display: flex;
  justify-content: space-evenly;
  padding: 8dvh 3.2rem;
  background-color: rgb(240, 240, 240);
  align-items: stretch; 
}

.location iframe {
  width: 40%;
  height: 450px; 
  border-radius: 1.6rem;
  box-shadow: 0 0.4rem 0.8rem rgba(0, 0, 0, 0.1);
}

.forms {
  width: 40%;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;

  h2 { border: none; text-align: left; padding: 0; }
}

.forms .title {
  align-items: flex-start;
  line-height: 1.6rem;
}

form {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  height: 100%; 

  button {
      padding: 0.8rem 4.8rem;

      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.8rem;

      color: white;
      font-weight: bold;
      background-color: rgb(0, 0, 85);

      border: none;
      border-radius: 3.2rem;
  }
}

input, textarea {
  width: 100%;
  min-height: 3.2rem;

  padding-left: 1.6rem;

  border: none;
  border-radius: 1.6rem;
  box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.1);

  outline: none;
}

textarea {
  height: 100%;
  padding-top: 0.8rem;
}

@media ( max-width: 1100px ) {
  .location {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3.2rem;
  }

  .forms .title { 
    width: 100%;

    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .location iframe, .forms {
    width: 75%;
  }
}

@media ( max-width: 760px ) {
  .location iframe, .forms {
    width: 100%;
  }
}