/* Base Typography */
b {
  font-weight: bold;
  font-family: 'Gotham';
}

/* About Section - First Block */
#about #about-first-block {
  background: linear-gradient(0deg, rgba(13, 68, 1, 1) 0%, rgba(22, 36, 15, 1) 100%);
  color: #ffffff;
  padding-top: 100px;

  @media (min-width: 992px) {
    padding-top: 160px;
  }
}

/* About Group Layout */
.about-group {
  display: flex;
  justify-content: space-between;
  margin-top: 25px;	

  @media (max-width: 1199px) {
    display: block;
    text-align: center;

    > img {
      max-width: 100%;
      margin-bottom: -5px;
    }
  }
}

.about-group-text {
  padding-top: 20px;
  width: 590px;
  margin-left: 150px;

  @media (max-width: 1199px) {
    text-align: left;
  }

  @media (max-width: 991px) {
    margin-left: 0;
    padding-top: 100px;
  }

  @media (max-width: 768px) {
    min-width: 100%;
    max-width: 100%;
  }
}

#about-intro {
  aspect-ratio: 16 / 9;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
}

/* About Intro Section */
#about #about-first-block #about-intro {
  background-size: cover;
  border-radius: 50px 50px 0 0;
  height: 320px;
  position: relative;

  @media (min-width: 992px) {
    height: 450px;
  }

  @media (max-width: 1280px) {
    margin-left: 30px;
    margin-right: 30px;
  }

  @media (max-width: 768px) {
    margin-left: 0;
    margin-right: 0;
  }
}

#about #about-first-block #about-intro .btn-play {
  width: 60px;
  height: 60px;
  background-color: rgba(255, 255, 255, 0.3);
  border-radius: 60px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  backdrop-filter: blur(30px);

  @media (min-width: 992px) {
    width: 125px;
    height: 125px;
    border-radius: 125px;
  }
}

#about #about-first-block #about-intro .btn-play::before {
  content: "";
  width: 25px;
  height: 28px;
  background: url("../../images/main/ic_play.svg") center / contain no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -14px 0 0 -10px;
  opacity: 0.5;
  transition: all 0.5s linear;

  @media (min-width: 992px) {
    width: 50px;
    height: 56px;
    margin: -28px 0 0 -20px;
  }
}

#about #about-first-block #about-intro .btn-play:hover::before {
  opacity: 1;
}

#about #about-first-block #about-intro h1 {
  position: absolute;
  bottom: -8px;
  font-size: 30px;
  width: 100%;
  text-align: center;
  left: -24.5px;
  right: -24.5px;

  img {
    max-width: initial;
  }

  @media (min-width: 992px) {
    bottom: -75px;
  }

  @media (max-width: 1280px) {
    left: 0;
    right: 0;

    img {
      max-width: 100%;
    }
  }

  @media (max-width: 768px) {
    bottom: -44px;
  }
}

/* Testimonials Section */
#about #about-first-block #about-testimonials {
  background-color: #ffffff;
  border-radius: 0 0 20px 20px;
  padding: 80px 0;

  @media (min-width: 992px) {
    border-radius: 0 0 50px 50px;
  }

  @media (max-width: 1280px) {
    margin: 0 30px;
  }

  @media (max-width: 768px) {
    margin: 0;
  }

  p:not(:last-child) {
    margin-bottom: 30px;
    font-size: 21px;
  }
}

#about #about-first-block #about-testimonials #about-testimonials-quote-start {
  padding-top: 50px;
}

#about #about-first-block #about-testimonials #about-testimonials-quote-start h2,
#about #about-first-block #about-testimonials #about-testimonials-quote-end h2 {
  color: #01dd82;
  font: italic 900 55px/55px 'Gotham';

  @media (min-width: 992px) {
    font-size: 55px;
    line-height: 120%;
    text-transform: uppercase;
  }

  @media (max-width: 1280px) {
    font-size: 50px;
  }

  @media (max-width: 768px) {
    font-size: 42px;
  }
}

#about #about-first-block #about-testimonials #about-testimonials-quote-start p,
#about #about-first-block #about-testimonials #about-testimonials-quote-end p {
  font: 18px/26px 'Gotham';
  color: #7D7D7D;

  @media (min-width: 992px) {
    font-size: 21px;
    line-height: 140%;
  }
}

#about #about-first-block #about-testimonials #about-testimonials-quote-start h2:before {
  content: "";
  display: block;
  width: 96px;
  height: 88px;
  background: url("../../images/about/quote_start.png") top left / contain no-repeat;
  margin-bottom: 26px;
}

#about #about-first-block #about-testimonials #about-testimonials-quote-end {
  margin-top: 50px;
}

#about #about-first-block #about-testimonials #about-testimonials-quote-end h2 {
  margin-top: 38px;
  background: linear-gradient(180deg, #009951, #164194);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  @media (min-width: 992px) {
    margin-top: 76px;
  }

  &:after {
    content: "";
    display: block;
    width: 48px;
    height: 44px;
    background: url("../../images/about/quote_end.svg") top left / contain no-repeat;
    margin-top: 52px;
    float: right;

    @media (min-width: 992px) {
      width: 96px;
      height: 88px;
      margin-top: 100px;
    }
  }
}

#about #about-first-block #about-testimonials #about-testimonials-quote-end p {
  margin-top: 24px;

  @media (min-width: 992px) {
    margin-top: 0;
  }
}

/* About Group Content */
#about #about-first-block #about-group h2 {
  font: 42px/55px 'Gotham';

  @media (max-width: 768px) {
    font-size: 32px;
    line-height: 40px;
  }
}

#about #about-first-block #about-group p {
  color: #ffffff;
  margin-top: 36px;
}

/* Logos Section */
#about #about-logos {
  background: #F0F0F0;
  display: flex;
  padding: 20px 34px;
  border-radius: 20px;
  margin-top: 80px;

  #about-logos-students {
    display: none;

    @media (min-width: 992px) {
      display: block;
      position: absolute;
      top: -377px;
      left: 0;
      z-index: 1;
    }
  }

  ul {
    position: relative;
    z-index: 2;
    margin: 40px 0;

    @media (min-width: 992px) {
      margin: 100px 0 0;
    }

    li {
      margin-bottom: 36px;
      text-align: center;

      @media (min-width: 992px) {
        margin-bottom: 0;
      }

      img {
        width: 50%;

        @media (min-width: 992px) {
          width: 100%;
        }
      }
    }
  }
}

/* Numbers Section */
.about-numbers {
  padding-top: 90px;
  background: url(../../images/about/bg.webp) center top / cover no-repeat;
}

.about-numbers-itens {
  display: flex;
  justify-content: center;
}

.areas-itens {
  padding-top: 50px;
  display: flex;

  @media (max-width: 768px) {
    display: block;
    margin-bottom: -4px;
  }

  img {
    @media (max-width: 1199px) {
      max-width: 80%;
    }

    @media (max-width: 768px) {
      margin-left: -50px;
    }
  }
}

.areas-itens-loops {
  position: absolute;
  bottom: 0;
  left: 50%;
  top: 70px;
  width: 1140px;
  margin-left: -570px;

  /* Ajustes base para responsividade */
  @media (max-width: 1199px) {
    width: 900px;
    margin-left: -450px;
    transform: scale(0.8);
    transform-origin: center;
  }

  @media (max-width: 991px) {
    width: 700px;
    margin-left: -350px;
    transform: scale(0.6);
  }

  @media (max-width: 768px) {
    position: relative;
    width: 100%;
    left: 0;
    margin-left: 0;
    transform: none;
    top: 0;
    padding: 20px 0;
  }

  > div {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;

    &.loop-1 {
      top: 130px;
      left: 0;
      height: 304px;
      width: 308px;
      background: url(../../images/about/medalhas.webp) no-repeat;

      @media (max-width: 991px) {
        top: 100px;
        left: 20px;
      }

      @media (max-width: 768px) {
        position: relative;
        top: auto;
        left: auto;
        margin: 0 auto 20px;
        transform: scale(0.8);
      }

      @media (max-width: 480px) {
        transform: scale(0.6);
        width: 100%;
        max-width: 308px;
      }
    }

    &.loop-2 {
      top: 100px;
      right: 150px;
      height: 305px;
      width: 303px;
      background: url(../../images/about/medalhas-2.webp) no-repeat;

      @media (max-width: 991px) {
        top: 80px;
        right: 50px;
      }

      @media (max-width: 768px) {
        position: relative;
        top: auto;
        right: auto;
        margin: 0 auto 20px;
        transform: scale(0.8);
      }

      @media (max-width: 480px) {
        transform: scale(0.6);
        width: 100%;
        max-width: 303px;
      }
    }

    &.loop-3 {
      top: 400px;
      right: 0;
      height: 307px;
      width: 303px;
      background: url(../../images/about/medalhas-3.webp) no-repeat;

      @media (max-width: 991px) {
        top: 300px;
        right: 20px;
      }

      @media (max-width: 768px) {
        position: relative;
        top: auto;
        right: auto;
        margin: 0 auto;
        transform: scale(0.8);
      }

      @media (max-width: 480px) {
        transform: scale(0.6);
        width: 100%;
        max-width: 303px;
      }
    }
  }

  h3 {
    font: 80px 'Gotham Ultra';
    color: #009759;
    text-align: center;

    @media (max-width: 991px) {
      font-size: 60px;
    }

    @media (max-width: 480px) {
      font-size: 40px;
    }
  }

  p {
    color: #0e3006;
    font-size: 16px;
    text-align: center;

    @media (max-width: 480px) {
      font-size: 14px;
    }
  }
}

/* Secondary Numbers */
.about-secondary-numbers {
  background-color: #000;
}

#about #about-secondary-numbers {
  z-index: 1;
  padding-top: 60px;
  background: linear-gradient(180deg, #a0c9ec 0%, #ebf7f1 100%);

  @media (min-width: 992px) {
    padding-top: 120px;
  }

  li {
    text-align: center;
  }

  #about-secondary-numbers-footer {
    margin-top: 75px;

    @media (min-width: 992px) {
      margin-top: 150px;
    }

    img {
      display: block;
    }

    p {
      font: 20px/30px 'Gotham';
      color: #164194;
      margin-top: 24px;

      @media (min-width: 992px) {
        margin-top: 0;
      }
    }

    #about-secondary-numbers-footer-social {
      margin-top: 30px;

      li {
        margin-top: 20px;

        .about-secondary-numbers-footer-social-icon {
          display: inline-block;
          float: left;
        }

        a {
          color: #164194;
          font: 25px/40px 'Gotham';
          display: inline-block;
          margin-left: 24px;
          float: left;
        }
      }
    }

    #about-secondary-numbers-cta {
      margin: 55px 0;
      text-align: center;

      @media (min-width: 992px) {
        margin: 110px 0 0;
        text-align: left;
      }

      h2 {
        font-size: 25px;
        color: #164194;
        margin-bottom: 35px;
      }
    }
  }
}

/* Footer */
#footer {
  #footer-cta {
    background: #0e3006;

    h2 {
      color: #00dd82;
      text-transform: uppercase;
      font: bold 35px/40px 'Gotham';
    }

    p {
      color: #ffffff;
      font-family: 'Gotham';
    }

    a {
      font: bold 20px 'Gotham';
    }
  }

  #footer-contact {
    color: #7D7D7D;
    background-color: #ffffff;

    .wrap {
      h2 {
        color: #009951;
      }

      ul li {
        &.icon-address::before,
        &.icon-phone::before,
        &.icon-mail::before {
          background-color: #009951 !important;
        }
      }
    }

    .icon:before {
      color: #009951 !important;
    }
  }
}

/* Video Modal */
#video-modal {
  background-color: #025068;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  right: 0;
  display: none;
  z-index: 999999;

  #video-modal-container {
    max-height: 80vh;
    max-width: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;

    @media (min-width: 1200px) {
      max-width: 850px;
    }

    video {
      width: 100%;
    }

    .btn-video-close {
      position: absolute;
      width: 50px;
      height: 50px;
      top: -25px;
      right: -15px;
      border-radius: 25px;
      color: #ffffff;
      font-size: 50px;
      text-align: center;
      line-height: 50px;
      background: url("../../images/main/ic_close.svg") center no-repeat #009951;
      transition: all 0.5s ease-in-out;
      cursor: pointer;
      z-index: 1;

      @media (min-width: 992px) {
        top: -25px;
        right: -25px;
      }

      &:hover {
        background-color: #004d29;
        transform: rotate(180deg);
      }
    }
  }
}

/* Tetracampeao Section */
.section-tetracampeao {
  padding-top: 120px;
  background: #009951 url(../../images/about/bg-tretacampeao.webp) top center;

  @media (max-width: 991px) {
    background-size: cover;
  }
}

.head-tetracampeao {
  display: flex;
  margin-bottom: 100px;
  justify-content: center;

  h2 {
    max-width: 830px;
    font: italic 900 'Gotham';

    > img {
      display: block;
    }

    > span {
      display: block;
      color: #ffffff;
      text-transform: uppercase;

      &:not(:first-child) {
        text-align: right;
        margin-top: 15px;
      }
    }
  }
}

.sistema-de-ensino-itens {
  h3 {
    font: 72px 'Gotham Ultra';
    color: #02ff97;
    text-align: center;

    @media (max-width: 1199px) {
      font-size: 55px;
    }

    @media (max-width: 991px) {
      font-size: 45px;
    }
  }

  p {
    color: #ffffff;
    font: 22px/120% 'Gotham';
    text-align: center;
    text-transform: lowercase;
    margin-bottom: 20px;

    @media (max-width: 1199px) {
      font-size: 18px;
    }
  }

  img {
    min-width: 416px;
    margin: 0 -22px;

    @media (max-width: 1199px) {
      max-width: 100%;
      min-width: 100%;
    }
  }

  .col-md-4 {
    &:first-child .ensino-item {
      margin-top: 50px;
    }

    &:last-child .ensino-item {
      margin-top: 25px;
    }

    @media (max-width: 1199px) {
      width: 33.33%;
    }

    @media (max-width: 768px) {
      width: 100%;
    }
  }
}

/* Farias Britos Section */
.farias-britos {
  padding: 280px 0 100px;

  @media (max-width: 991px) {
    padding-top: 83px;
  }
}

.head-britos {
  display: flex;
  justify-content: center;
  margin-bottom: 130px;

  h2 {
    color: #02ff97;
    font: italic 40px/120% 'Gotham';
    max-width: 415px;
    text-transform: uppercase;
    text-align: center;

    b {
      font-family: 'Gotham Ultra';
    }
  }
}

.itens-britos {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;

  @media (max-width: 991px) {
    justify-content: center;
  }
}

.item-brito {
  max-width: 463px;
  padding: 0 50px 50px;
  flex: 0 0 auto;
  border: 2px solid #00dd82;
  border-top-color: transparent;
  border-radius: 0 0 40px 40px;
  position: relative;

  @media (max-width: 1199px) {
    max-width: 440px;
    padding: 0 30px 50px;
  }

  @media (max-width: 991px) {
    min-width: 440px;

    &:last-child {
      margin-top: 130px;
    }
  }

  @media (max-width: 768px) {
    min-width: 100%;
    width: 100%;
  }

  &:before {
    content: '';
    position: absolute;
    width: 130px;
    height: 50px;
    left: -2px;
    top: -40px;
    border: 2px solid #00dd82;
    border-bottom: none;
    border-radius: 40px 0 0 0;
  }

  &:after {
    content: '';
    position: absolute;
    width: 130px;
    height: 50px;
    right: -2px;
    top: -40px;
    border: 2px solid #00dd82;
    border-bottom: none;
    border-radius: 0 40px 0 0;
  }

  .icone {
    display: block;
    margin: -95px auto 0;
    width: 124px;
    text-align: center;

    &:first-child {
      margin-bottom: 49px;
    }

    &:last-child {
      margin-bottom: 25px;
    }
  }

  h3 {
    color: #00dd82;
    font: italic 900 37px 'Gotham';
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 10px;

    @media (max-width: 768px) {
      font-size: 32px;
    }
  }

  p {
    color: #ffffff;
    font: 21px/130% 'Gotham';
    text-align: center;

    @media (max-width: 768px) {
      font-size: 18px;
    }
  }
}

/* Social Media Section */
.section-redes-sociais {
  padding: 90px 0;
  background: url(../../images/about/bg-redes-sociais.webp) top center / cover no-repeat;
}

.flex-sociais {
  display: flex;
  align-items: center;
  justify-content: space-between;

  @media (max-width: 991px) {
    display: block;
  }

  h2 {
    color: #ffffff;
    font: 40px/120% 'Gotham';
    text-transform: uppercase;

    b {
      font-family: 'Gotham Ultra';
      font-weight: 500;
    }

    @media (max-width: 991px) {
      text-align: center;
      margin-bottom: 20px;
    }

    @media (max-width: 768px) {
      font-size: 32px;
    }
  }
}

.itens-sociais {
  min-width: 300px;
  display: flex;

  @media (max-width: 991px) {
    justify-content: center;
  }

  > a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100px;
    height: 100px;
    border: 2px solid #02ff97;
    border-radius: 20px;
    transform: scale(0.9);
    transition: all 0.5s ease;

    &:not(:last-child) {
      margin-right: 70px;

      @media (max-width: 768px) {
        margin-right: 6px;
      }
    }

    &:hover {
      transform: scale(1);
    }
  }
}

/* Images */
.about-group img {
  margin-top: auto !important;
  width: 100% !important;
  display: flex;
}

.img-personalizada {
  max-width: 100%;	
  height: 508px;
  object-fit: cover;

  @media (max-width: 767px) {
    height: auto;
  }
}

.img-numeros-personalizada {
  max-width: 100% !important;
  height: 812px !important;
  object-fit: cover !important;
  margin-top: auto !important;
  width: 100%;
}

img.webpexpress-processed.noFilter.noFilterAP {
  max-width: 100% !important;
  margin: 44px 167px 0 0;
  object-fit: cover;
  width: auto;
}

/* Media Queries para diferentes breakpoints */
@media screen and (max-width: 1024px) {
  .img-numeros-personalizada {
    height: auto !important;
    margin-top: 20px !important;
  }
  
  img.webpexpress-processed.noFilter.noFilterAP {
    margin: 20px 80px 0 0;
  }
}

@media screen and (max-width: 768px) {
  .img-numeros-personalizada {
    height: auto !important;
    margin-top: 15px !important;
  }
  
  img.webpexpress-processed.noFilter.noFilterAP {
    margin: 15px 40px 0 0;
  }
}

@media screen and (max-width: 480px) {
  .img-numeros-personalizada {
    height: auto !important;
    margin-top: 10px !important;
  }
  
  img.webpexpress-processed.noFilter.noFilterAP {
    margin: 10px 0 0 0;
  }
}