@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Anton&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
* {
  font-family: "Montserrat", sans-serif;
}

.icon-circle-green {
  color: #60FCD0;
  background-color: rgba(96, 252, 208, 0.2);
  border-radius: 100%;
}

.text-green-dark {
  color: #1FA982;
}

.btn-base {
  font-weight: 600;
  padding: 0;
  display: flex;
  align-items: center;
  border-radius: 4px;
  border: unset;
}
.btn-base i {
  width: 44px;
  height: 44px;
  border-radius: 4px;
  display: grid;
  place-items: center;
  transition: inherit;
}
.btn-base span {
  padding: 0 1rem;
}

@media (max-width: 992px) {
  .btn-base {
    font-size: 0.9rem;
  }
}
.btn-green {
  background-color: #60FCD0;
}
.btn-green:hover {
  background-color: #57e6be;
  color: #000;
}
.btn-green:hover i {
  background-color: #23c194;
}
.btn-green i {
  background-color: #29E2AE;
}

.btn-green-dark {
  background-color: #00333E;
  color: #60FCD0;
}
.btn-green-dark:hover {
  background-color: #002a34;
  color: #60FCD0;
}
.btn-green-dark:hover i {
  background-color: #23c194;
}
.btn-green-dark i {
  background-color: #29E2AE;
  color: #043E49;
}

.font-aton {
  font-family: "Anton", sans-serif;
}

#pride {
  background: linear-gradient(90deg, #04444D, #03B4AE);
  font-size: 18px;
}

:root {
  --swiper-navigation-sides-offset: 1.4rem ;
}

.swiper {
  max-width: 1100px;
  padding: 3rem 0 !important;
}

@media screen and (max-width: 768px) {
  .swiper {
    padding: 2rem 0 !important;
  }
}
.swiper-pagination-bullet-active {
  background: #29E2AE !important;
}

.swiper-button-next,
.swiper-button-prev {
  color: white !important;
  width: 58px !important;
  height: 58px !important;
  border-radius: 100%;
  background: #29E2AE;
  font-size: 1.5rem;
}
.swiper-button-next::after,
.swiper-button-prev::after {
  display: none;
}

#pride {
  overflow: hidden;
  position: relative;
}

#pride div {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  animation: scroll-marquee 50s linear infinite;
}

@keyframes scroll-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.session-title {
  font-size: 48px;
}

@media (max-width: 768px) {
  .session-title {
    font-size: 38px;
  }
}
.btn-outline-green {
  border-color: #043D47;
  color: #043D47;
  padding: 0.6rem 1rem;
}
.btn-outline-green:hover {
  background-color: #043D47;
  color: white;
}

.cursor-pointer {
  cursor: pointer;
}

section {
  scroll-margin-top: 97px;
}

@media screen and (max-width: 1200px) {
  section {
    scroll-margin-top: 80px;
  }
}
header {
  background-color: rgba(255, 255, 255, 0.05);
  color: #fff;
  height: 97px;
  transition: 0.5s ease-in-out;
  z-index: 50;
}
@media screen and (min-width: 1200px) {
  header #auth-buttons {
    height: 100%;
  }
}
header #auth-buttons #register-button {
  background-color: #29E2AE;
  text-align: center;
  color: #043D47;
  transition: 0.4s;
}
header #auth-buttons #register-button::before {
  transition: inherit;
}
header #auth-buttons #register-button:hover {
  background-color: #26d1a1;
}
header #auth-buttons #register-button:hover::before {
  background-color: #26d1a1;
}
@media screen and (min-width: 1440px) {
  header #auth-buttons #register-button::before {
    width: 72px !important;
  }
}
@media screen and (min-width: 1200px) {
  header #auth-buttons #register-button {
    position: relative;
    height: 100%;
  }
  header #auth-buttons #register-button::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background-color: #29E2AE;
    top: 0;
    left: 100%;
  }
}
header nav {
  transition: 0.5s ease-in-out;
}
header.scrolled {
  background-color: #002232;
}

@media screen and (max-width: 1200px) {
  header {
    height: 80px;
    transition: 0.4s;
  }
  header .logo {
    max-width: 180px;
  }
  header nav {
    position: fixed;
    transition: 0.5s ease-in-out;
    top: 0;
    right: -100vw;
    z-index: 1000;
    background-color: #0D2D3C;
    max-width: 260px;
    top: 80px;
    display: flex;
    flex-direction: column;
    justify-content: start !important;
  }
  header nav div {
    width: 100%;
  }
  header nav a {
    padding: 1.4rem;
    border-top: 1px solid rgba(0, 14, 50, 0.2);
    width: 100%;
    text-align: end;
  }
  header nav.open {
    right: 0vw;
  }
  header.scrolled nav {
    background-color: #002232;
  }
}
main {
  height: 702px;
  background-color: #002232;
  background: url("../assets/banner_01.webp") center no-repeat #002232;
  padding-top: 140px;
}
main .container h1 {
  background: linear-gradient(90deg, #60FCD0, #29E2AE);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media (max-width: 1400px) {
  main {
    background: url("../assets/banner_01.webp") -50px center no-repeat #002232;
  }
}
@media (max-width: 576px) {
  main {
    background: url("../assets/banner_01_mobile.webp") center bottom no-repeat #002232;
    height: 950px;
  }
  main .container {
    justify-content: start !important;
  }
  main .container h1 br {
    display: none;
  }
}
#experience {
  padding: 4rem 0;
}
#experience b {
  background: #29E2AE;
  color: #043D47;
  padding: 0.1rem 0.2rem;
  border-radius: 4.6px;
}
#experience h3 {
  font-size: 36px;
}

@media screen and (max-width: 768px) {
  #experience {
    padding: 2rem 0;
  }
  #experience b {
    font-size: 14px;
  }
  #experience h3 {
    font-size: 26px;
  }
  #experience h3 br {
    display: none;
  }
}
#tools {
  padding: 3rem 0;
  background: linear-gradient(264.53deg, #FFFFFF 6.36%, #F2F2F2 100.13%);
}
#tools h3 {
  background: linear-gradient(90.26deg, #043D47 3.21%, #03AAA5 151.14%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#tools .tool_card {
  width: 174px;
  height: 210px;
  display: flex;
  justify-content: start;
  align-items: center;
  flex-direction: column;
  text-align: center;
  padding: 1.4rem;
  gap: 1rem;
}
#tools .tool_card_shadow {
  background: #FFFFFF;
  box-shadow: 0px 4px 9.3px 5px rgba(0, 0, 0, 0.04);
  border-radius: 15px;
}

@media screen and (max-width: 1200px) {
  #tools h3 {
    text-align: center;
  }
  #tools .tool_card {
    width: 100%;
    height: auto;
    padding: 1rem;
    text-align: start;
    flex-direction: row;
  }
}
#history {
  color: #043D47;
}
#history p {
  max-width: 466px;
}

@media screen and (max-width: 1200px) {
  #history p {
    max-width: auto;
    font-size: 1rem !important;
  }
}
#member-area {
  background: #60FCD0;
  color: #01090A;
}
#member-area p {
  font-size: 1.2rem;
}
#member-area .comment {
  background: rgba(238, 245, 246, 0.32);
  border: 1px solid rgba(216, 222, 223, 0.8);
  -webkit-backdrop-filter: blur(40px);
          backdrop-filter: blur(40px);
  border-radius: 15px;
  margin-top: -5rem;
  max-width: 423px;
}
#member-area .comment span {
  font-size: 12px;
  letter-spacing: 0.2px;
  line-height: 1.5;
}

@media (max-width: 992px) {
  #member-area .perfect-academy-image {
    max-width: 260px !important;
    margin: auto;
  }
  #member-area .left {
    padding: 0 1rem;
  }
  #member-area h1,
  #member-area p {
    text-align: center;
  }
  #member-area p {
    font-size: 1rem;
  }
  #member-area .comment {
    background: unset;
    border: unset;
    -webkit-backdrop-filter: unset;
            backdrop-filter: unset;
    border-radius: 15px;
    margin-top: unset;
    max-width: unset;
  }
  #member-area .comment br {
    display: none;
  }
  #member-area .comment span {
    font-size: 14px;
    letter-spacing: unset;
    line-height: 1.5;
  }
}
#resources {
  background: #00333E;
  color: #60FCD0;
}
#resources p {
  font-size: 1.2rem;
}
#resources .comment {
  background: rgba(238, 245, 246, 0.32);
  border: 1px solid rgba(216, 222, 223, 0.8);
  -webkit-backdrop-filter: blur(40px);
          backdrop-filter: blur(40px);
  border-radius: 15px;
  margin-top: -5rem;
  max-width: 423px;
}
#resources .comment span {
  font-size: 12px;
  letter-spacing: 0.2px;
  line-height: 1.5;
}

@media (max-width: 992px) {
  #resources .perfect-pay-image {
    max-width: 200px !important;
    margin: auto;
  }
  #resources .right {
    padding: 0 1rem;
  }
  #resources h1,
  #resources p {
    text-align: center;
  }
  #resources p {
    font-size: 1rem;
  }
  #resources .comment {
    background: unset;
    border: unset;
    -webkit-backdrop-filter: unset;
            backdrop-filter: unset;
    border-radius: 15px;
    margin-top: unset;
    max-width: unset;
    color: white !important;
  }
  #resources .comment br {
    display: none;
  }
  #resources .comment span {
    font-size: 14px;
    letter-spacing: unset;
    line-height: 1.5;
  }
}
#support {
  position: relative;
}
#support .support-card {
  z-index: 5;
  background-color: #60FCD0;
  width: 210px;
  height: 210px;
  box-shadow: 0px 4px 9.3px 5px rgba(0, 0, 0, 0.04);
}
#support .comment {
  max-width: 707px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: rgba(96, 252, 208, 0.19);
  border: 1px solid #60FCD0;
  -webkit-backdrop-filter: blur(40px);
          backdrop-filter: blur(40px);
  border-radius: 15px;
  padding: 1rem;
  gap: 1rem;
}
#support .comment small {
  font-size: 13px;
}
#support .left {
  position: absolute;
  left: 0;
  top: 10rem;
}
#support .right {
  position: absolute;
  right: 0;
  bottom: 0rem;
  z-index: 5;
}

@media (max-width: 1400px) {
  #support .right {
    z-index: 0;
  }
}
@media (max-width: 768px) {
  #support .support-card {
    width: unset;
    height: unset;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: start !important;
    text-align: start !important;
    max-width: 380px;
  }
  #support .right,
  #support .left {
    display: none;
  }
  #support .comment {
    background-color: transparent;
    border: unset;
    text-align: center;
    justify-content: center;
    align-items: center;
  }
}
#integrations {
  background-color: #EEF5F6;
}
#integrations button {
  font-weight: 500;
  border-bottom: 1px solid #ACB3B4;
  color: #ACB3B4;
}
#integrations button.integration-active {
  border-bottom: 2px solid #086D71;
  color: #086D71;
}
#integrations .grid-area {
  display: none;
  grid-template-columns: repeat(3, 1fr);
  /*max-width: 900px;*/
}
#integrations .grid-area img {
  max-width: 100%;
  width: 180px;
  height: 80px;
  -o-object-fit: contain;
     object-fit: contain;
  filter: grayscale(1);
}
#integrations .integration-open {
  display: grid;
}

@media (max-width: 768px) {
  #integrations .grid-area {
    grid-template-columns: 1fr 1fr;
  }
}
#app {
  background-color: #60FCD0;
}
#app .app-image {
  margin-bottom: -4.5rem;
}

@media screen and (max-width: 992px) {
  #app .app-image {
    margin-right: -3rem;
  }
}
#numbers {
  background-color: #00333E;
  color: #60FCD0;
}
#numbers .number-card {
  flex: 1;
  padding: 1.4rem;
  min-width: 200px;
  min-height: 164px;
  border: 1px solid #60FCD0;
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
#numbers .number-card.number-card-active {
  background-color: #60FCD0;
  color: #00333E;
}
#numbers .number-card .title {
  font-size: 50px;
  margin-top: -20px;
  margin-bottom: -5px;
}
#numbers .number-card small {
  font-size: 10px;
}

@media (max-width: 768px) {
  #numbers .number-card .title {
    font-size: 54px;
  }
}
details {
  width: 100% !important;
}
details p {
  margin-top: 1rem;
  font-size: 14px;
  margin-bottom: unset !important;
}

details summary {
  font-weight: 600;
  list-style: none;
  /* remove seta padrão no Firefox */
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  /* joga os itens para extremos */
  align-items: center;
}

details summary::-webkit-details-marker {
  display: none;
  /* remove seta padrão no Chrome/Safari */
}

details summary::after {
  font-family: "Font Awesome 6 Free";
  content: "\f054";
  /* seta fechada */
  display: inline-block;
  margin-left: 0.5em;
  transition: transform 0.2s ease;
}

details[open] summary::after {
  transform: rotate(90deg);
  /* gira seta quando aberto */
}

#doubets .doubet-card {
  cursor: pointer;
  background-color: #E6ECED;
  min-height: 150px;
  padding: 1.4rem;
  border-radius: 20px;
  display: flex;
  align-items: center;
}

footer {
  background-color: #EEF5F6;
}
footer .btn-icon {
  width: 36px;
  height: 36px;
  background-color: #D3E5E5;
  border-radius: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
}
footer .btn-icon:hover {
  background-color: #c5d7d7;
}
