.title {
    display: flex;
    flex-direction: column;
    align-items: center;

    h1 { text-align: center; line-height: 3.6rem; }

     h2 {
        padding: 0 3.2rem;
        text-align: center;

        border-radius: 3.2rem;
        border: 0.1rem solid rgb(0, 0, 85);
    }
}

.sobre, .depoimentos {
    background: rgb(240, 240, 240);

    display: flex; 
    flex-direction: column; 
    gap: 3.2rem; 
}

.depoimentos {
  background: rgb(0, 0, 85);

  .title { color: white; }
  h2 { border-color: rgb(215, 215, 0); }
}

.sobre { padding: 10.4rem 3.2rem 8dvh 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;
  }
}

.content-reverse {
  flex-direction: row-reverse;

  .text { text-align: right; }
}

@media ( max-width: 1100px ) {
  .sobre .content {
    flex-direction: column;
    align-items: left;
    gap: 3.2rem;

    .text-content { max-width: 100%; }
  }

  .content-reverse .title-content {
    display: flex;
    flex-direction: row-reverse;
    justify-content: start;
  }

  .sobre .content .title-content .text { text-align: left; line-height: 2.8rem; }
  .sobre .content .title-content .listra { height: auto; }
}

.depoimentos { padding: 8dvh 3.2rem; gap: 7.2rem }

.container-depoimentos {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 3.2rem;
}

.card-depoimento {
    position: relative;
    width: 40rem;
    padding: 3.2rem;

    text-align: center;

    border-radius: 1.6rem;
    border: 0.2rem solid rgb(0, 0, 85);
}

.isolados .card-depoimento { border-color: rgb(215, 215, 0); }

.profile-pic {
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    width: 10rem;
    height: 10rem;
    border-radius: 50%;
    overflow: hidden;
    border: 0.2rem solid rgb(0, 0, 85);
}

.isolados .profile-pic { border-color: rgb(215, 215, 0); }

.profile-pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.content-depoimento { 
  margin-top: 3.2rem; 
  
  display: flex;
  flex-direction: column;
  gap: 1.6rem;

  .title { line-height: 1.6rem; }
}

.content-depoimento h3 { font-size: var(--font-medium); }
.content-depoimento .subtitle { font-size: var(--font-small); color: rgb(40, 40, 40); }
.isolados .content-depoimento .subtitle { color: white; }
.content-depoimento .text { font-size: var(--font-small); }
.isolados .content-depoimento .text { color: rgb(240, 240, 240); }

.video {
    display: flex;
    justify-content: space-evenly;
    gap: 3.2rem;

    padding: 12dvh 3.2rem;

    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) }
}

@media ( max-width: 1100px ) {
    .video { flex-direction: column; }
    .video { 
        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 { .text, img, video { width: 100%; border-radius: 1.6rem; } }
}

.sobre .container-depoimentos {
    margin-top: 4.8rem;

    .profile-pic {
      width: 8rem;
      height: 8rem;
    }
}

.coordinator-card {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}

.coordinator-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.6rem;
}

.coordinator-left img {
    width: 9.6rem;
    height: 9.6rem;

    border-radius: 50%;
    object-fit: cover;
}

.coordinator-name { line-height: 1.2rem; }
.coordinator-name strong { font-size: var(--font-medium); }

.coordinator-name span { font-size: var(--font-small); }
.coordinator-right { max-width: 60%; text-align: center; }

.coordinator-right p {
    font-size: var(--font-medium);
    text-align: center;
    line-height: 1.6;
}

@media ( max-width: 1100px ) {
  .coordinator-card { flex-direction: column; gap: 1.6rem; }
  .coordinator-left, .coordinator-right { max-width: 100%; }
}

.faq-container {
  width: 100%;

  display: flex;
  flex-direction: column;
  align-items: center;

  padding: 8dvh 3.2rem;

  background-color: rgb(240, 240, 240);
}

.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%; }
}

.planos {
    padding: 3.2rem;
    background-color: rgb(0, 0, 85);

    display: flex;
    align-items: center;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 3.2rem;
}

.container-planos {
    display: flex;
    justify-content: center;
    gap: 3.2rem;
}

.planos {
    color: white;

    min-width: 100%;

    .title {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.8rem;
    }

    h2 {
        font-weight: 300;

        padding: 0.8rem 2.4rem;

        display: flex;
        align-items: center;
        justify-content: center;

        border-radius: 3.2rem;
        border: 0.1rem solid rgb(215, 215, 0);
    }

    .container-planos {
        width: 95%;
        justify-content: left;
    }

    .container-servicos {
        .left-arrow {
            display: block;
            left: 2.5%;
        }
    
        .right-arrow {
            display: block;
            right: 2.5%;
        }
    }

    .plano {
        min-width: 45rem;

        padding: 4rem;

        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        flex-direction: column;
        gap: 1.6rem;

        border-radius: 3.2rem;
        border: 0.1rem solid #EEEEEE29;
        background: linear-gradient(180deg, rgba(217, 217, 217, 0.08) 0%, rgba(36, 36, 36, 0.08) 100%);
    }

    h3 { font-size: calc( var(--font-sec) + 0.8rem ); }

    p, span { font-size: var(--font-medium); }

    .valor {
        display: flex;
        flex-direction: column;
        gap: 0.4rem;

        p { font-size: 3.2rem; font-weight: bold; }

        span { font-weight: 300; }
    }

    .vantagens {
        display: flex;
        align-items: start;
        flex-direction: column;
        gap: 1.6rem;

        height: 100%;
    }

    li { list-style: none; font-size: var(--font-small); }

    .inscricao {
        padding: 1.2rem 3.6rem;

        color: rgb(0, 0, 85);
        font-size: var(--font-medium);
        font-weight: bold;

        border: none;
        border-radius: 1.6rem;
        background-color: rgb(215, 215, 0);
    }
}

.carousel-container {
    position: relative;

    max-width: 45%;

    display: flex;
    align-items: center;

    .arrow {
        position: absolute;
        z-index: 1;
        top: 50%;
        cursor: pointer;

        padding: 0.8rem 1.2rem;

        font-size: 1.5rem;
        
        background: inherit;
        border: 0.1rem solid white;
        border-radius: 50%;

        color: white;

        transform: translateY(-50%);
    }

    .arrow {
        width: 4rem;
        height: 4rem;

        display: flex;
        align-items: center;
        justify-content: center;

        border: none;
        border-radius: 1.6rem;
        background-color: rgb(215, 215, 0);
        color: rgb(0, 0, 85);
    }

    .container-servicos {
        display: flex;
        gap: 3.2rem;

        max-width: 100%;
        padding: 1.6rem 0;

        overflow: hidden;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;

        .servico {
            scroll-snap-align: start;   
            
            img {
                aspect-ratio: 1 / 1;
            }
        }
    }
}


.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%;
  }
}