section[id],
div[id],
header[id],
main[id] {
  scroll-margin-top: 12rem; /* ajuste conforme a altura exata do seu menu fixo */
}

body{
	background-image: url('https://d15k2d11r6t6rl.cloudfront.net/public/users/Integrators/7ba73aaa-3da9-4cf1-abf2-ccc85dea5875/uid_3063494/bg-iape.jpg') !important;
	background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
}

nav{
	margin-top: 3em !important;
}


.bee-row-content {
  max-width: 100% !important;
}

.bee-html-block {
  text-align: left !important;
}

.nav-container{
  margin: 0;
}

.nav-container a{
	background-color: #F5CE00;
	border-radius: 15px;
	padding: 0.1em 0.5em 0.1em 0.5em !important;
	color: #07154E !important;
	font-size: 1.8rem;
}

.nav-container nav{
	background-color: #001c60;
	padding: 2rem;
}

.nav-container.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  animation: slideDown 1s ease;
}

.nav-container.fixed.hide {
  transform: translateY(-100%);
  opacity: 0;
  transition: transform 1s ease, opacity 1s ease;
}

/* Evita “pulo” no conteúdo ao fixar */
body.nav-fixed-padding {
  padding-top: 110px; /* altura aproximada do menu */
}

/* Animação suave */
@keyframes slideDown {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.mobile-nav{
  background-color: #001c60 !important;
}

.mobile-nav .navbar-brand{
  color: white;
}
.mobile-nav .navbar-toggler{
  border-color: white;
}

#capa{
  margin-right: 6rem;
  margin-top: 18rem;
	height: 50vh;
}

#capa .container-text p{
	font-size: 105px;
	line-height: 102px;
	color: #001c60;
	font-weight: 600;
}
#capa .container-text p ~ p{
	font-size: 120px;
	line-height: 72px;
	font-weight: bold;
}
#capa .container-btn button{
	font-size: 35px;
	margin-top: 2em;
	opacity: 1 !important;
	border-radius: 40px;
	padding: 8px 3rem;
	color: #000E44;
	margin-left: 2.5rem !important;
}
#capa .container-btn button .text-contrast{
	font-weight: bold;
	font-style: italic;
}

#clube{
  margin-right: 8rem;
  margin-top: 10rem;
  height: 100%;
}

#clube .clube-content-list{
  list-style: none;
  padding-left: 0;
}

#esportes{
  margin-right: 8rem;
  margin-top: 3rem;
  height: 100%;
}

#futebol{
  margin-right: 8rem;
  margin-top: 3rem;
  height: 100%;
}

#transparencia{
  margin-right: 8rem;
  margin-top: 3rem;
  height: 100%;
}

#transparencia .balanco a{
  text-decoration: none;
  color: #3c3c3c;
}

#transparencia .balanco a:hover{
  text-decoration: underline;
  color: #3c3c3c;
}

#imprensa{
  margin-right: 8rem;
  margin-top: 3rem;
  height: 100%;
}

#apoio{
  margin-right: 8rem;
  margin-top: 1rem;
  height: 100%;
}

#last-section{
  margin-right: 8rem;
  margin-top: 13rem;
  margin-bottom: 12rem;
  height: 100%;
}

#last-section .container-text p{
  font-size: 105px;
  line-height: 102px;
  color: #001c60;
  font-weight: 600;
}
#last-section .container-text p ~ p{
  font-size: 120px;
  line-height: 72px;
  font-weight: bold;
}

#back-to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background-color: #001c60;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Exibição quando visível */
#back-to-top.show {
  display: flex;
}

/* Ícone interno */
#back-to-top i {
  font-size: 24px;
  color: #fff;
}

/* Efeito hover */
#back-to-top:hover {
  background-color: #003099;
  transform: scale(1.1);
}

footer{
  border: 3px solid white;
  border-radius: 45px;
  margin: 0 8rem;
  padding: 1.5rem 0.8rem 0.3rem 0.8rem;
  font-size: 22px;
}

@media (max-width: 767px) {
  .nav-container.fixed {
    position: static;
    animation: none;
  }
}

/* ============================= */
/* Mobile bem pequeno (até 576px) */
@media (max-width: 576px) {
  @supports (-webkit-touch-callout: none) {
    body {
      background-attachment: fixed !important;
      background-position: center;
      background-size: cover;
      background-repeat: no-repeat;
    }
  }

  body{
		background-image: url('https://d15k2d11r6t6rl.cloudfront.net/public/users/Integrators/7ba73aaa-3da9-4cf1-abf2-ccc85dea5875/uid_3063494/bg-mobile.jpg') !important;
		background-repeat: no-repeat;
	  background-attachment: fixed;
	  background-size: cover;
	}

	header{
		margin-top: 0;
	}

  nav {
    margin-top: 0 !important;
  }

	#capa {
    margin: 0 auto;            /* remove margin lateral e centraliza */
    width: 90vw;               /* ocupa quase toda a tela */
    align-items: center !important;       /* centraliza filhos horizontalmente */
    text-align: center;        /* centraliza textos */
    padding: 0 !important;
    margin-top: 5rem;
    height: 82vh;
  }

  #capa .container-text p {
    font-size: 36px;
    line-height: 42px;
  }

  #capa .container-text p ~ p {
    font-size: 42px;
    line-height: 48px;
  }

  #capa .container-btn button {
    font-size: 14px;
    padding: 6px 1.5rem;
    border-radius: 25px;
    margin-left: 0 !important;
    margin-right: 0.5rem;
  }

  #capa .img-logo{
    margin-bottom: 3rem;
  }

  #capa .img-logo > img{
    width: 170px;
  }

  #clube{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
    margin-left: -2rem;
  }

  #clube .club-img img{
    width: 100% !important;
    padding-bottom: 2rem;
  }

  #futebol{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
    margin-left: -2rem;
  }

  #esportes{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
    margin-left: -2rem;
  }

  #esportes .esportes-img img{
    width: 100% !important;
    padding-bottom: 2rem;
  }

  #imprensa{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
    margin-left: -2rem;
  }

  #apoio{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
    margin-left: -2rem;
  }

  #apoio .apoio-img img{
    width: 100% !important;
    padding-bottom: 2rem;
  }

  #transparencia{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
    margin-left: -2rem;
  }

  #last-section {
    margin: 0 auto;            /* remove margin lateral e centraliza */
    width: 90vw;               /* ocupa quase toda a tela */
    align-items: center !important;       /* centraliza filhos horizontalmente */
    text-align: center;        /* centraliza textos */
    padding: 0 !important;
    margin-top: 12rem;
    margin-bottom: 12rem;
    height: 42vh;
  }

  #last-section .container-text p {
    font-size: 36px;
    line-height: 42px;
  }

  #last-section .container-text p ~ p {
    font-size: 42px;
    line-height: 48px;
  }

  #last-section .img-logo{
    margin-bottom: 5rem;
  }

  #last-section .img-logo > img{
    width: 170px;
  }

  #back-to-top {
    display: none !important;
  }

  #back-to-top i {
    font-size: 20px;
  }

  footer{
    border: 3px solid white;
    border-radius: 45px;
    margin: 0;
    padding: 0.8rem 0.1rem 0 0.1rem;
    font-size: 12px;
    width: 100%;
  }
}

/* ============================= */
/* Tablet pequeno (577px até 768px) */
@media (min-width: 577px) and (max-width: 768px) {
  body{
  	background-image: url('https://d15k2d11r6t6rl.cloudfront.net/public/users/Integrators/7ba73aaa-3da9-4cf1-abf2-ccc85dea5875/uid_3063494/bg-mobile.jpg') !important;
  	background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
  }

  header{
  	margin-top: 0;
  }

  nav {
    margin-top: 0 !important;
  }

  .gap-5{
    gap: 0 !important;
  }

  .nav-container a {
    font-size: 1.4rem;   /* diminui a fonte */
    padding: 0.1em 0.3em !important; /* encurta o espaçamento */
    border-radius: 10px; /* arredondamento mais leve */
  }

  #capa {
    width: 80vw;
    height: 82vh;
    margin: 5rem auto;
    align-items: center !important;
    text-align: center;
    padding: 0 !important;
  }

  #capa .container-text p {
    font-size: 56px;
    line-height: 60px;
  }

  #capa .container-text p ~ p {
    font-size: 64px;
    line-height: 66px;
  }

  #capa .container-btn button {
    font-size: 18px;
    padding: 8px 2rem;
    border-radius: 30px;
    margin-right: 3rem;
  }

  #capa .img-logo {
    margin-bottom: 3rem;
  }

  #clube{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
    margin-left: -2rem;
  }

  #clube .club-img img{
    width: 100% !important;
    padding-bottom: 2rem;
  }

  #futebol{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
    margin-left: -2rem;
  }

  #esportes{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
    margin-left: -2rem;
  }

  #esportes .esportes-img img{
    width: 100% !important;
    padding-bottom: 2rem;
  }

  #imprensa{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
    margin-left: -2rem;
  }

  #apoio{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
    margin-left: -2rem;
  }

  #apoio .apoio-img img{
    width: 100% !important;
    padding-bottom: 2rem;
  }

  #transparencia{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
    margin-left: -2rem;
  }

  #last-section {
    width: 90vw;               /* ocupa quase toda a tela */
    height: 62vh;
    margin: 12rem auto;            /* remove margin lateral e centraliza */
    align-items: center !important;       /* centraliza filhos horizontalmente */
    text-align: center;        /* centraliza textos */
    padding: 0 !important;
  }

  #last-section .container-text p {
    font-size: 36px;
    line-height: 42px;
  }

  #last-section .container-text p ~ p {
    font-size: 42px;
    line-height: 48px;
  }

  #last-section .img-logo {
    margin-bottom: 5rem;
  }

  #back-to-top {
    display: none !important;
  }

  #back-to-top i {
    font-size: 20px;
  }

  footer{
    border: 3px solid white;
    border-radius: 45px;
    margin: 0;
    padding: 0.8rem 0.1rem 0 0.1rem;
    font-size: 20px;
    width: 100%;
  }
}

/* ============================= */
/* Telas médias específicas (810px até 1080px) */
@media (min-width: 769px) and (max-width: 991px) {
  body{
    background-image: url('../img/bg-800x1200.png') !important;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
  }
  
  .nav-container a {
    font-size: 1.4rem;   /* diminui a fonte */
    padding: 0.1em 0.3em !important; /* encurta o espaçamento */
    border-radius: 10px; /* arredondamento mais leve */
  }
  .nav.nav-masthead {
    gap: 0 !important; /* diminui o espaçamento entre links */
  }

  header{
    margin-top: 0;
  }

  nav {
    margin-top: 0 !important;
  }

  #capa {
    width: 80vw;
    height: 62vh;
    margin: 2rem auto;
    align-items: center !important;
    text-align: center;
    padding: 0 !important;
  }

  #capa .container-text p {
    font-size: 56px;
    line-height: 60px;
  }

  #capa .container-text p ~ p {
    font-size: 64px;
    line-height: 66px;
  }

  #capa .container-btn button {
    font-size: 18px;
    padding: 8px 2rem;
    border-radius: 30px;
    margin-right: 3rem;
  }

  #capa .img-logo {
    margin-bottom: 3rem;
    display: block !important;
  }

  #clube{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
    margin-left: -2rem;
  }

  #clube .club-img img{
    width: 100% !important;
    padding-bottom: 2rem;
  }

  #futebol{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
    margin-left: -2rem;
  }

  #esportes{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
    margin-left: -2rem;
  }

  #esportes .esportes-img img{
    width: 100% !important;
    padding-bottom: 2rem;
  }

  #imprensa{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
    margin-left: -2rem;
  }

  #apoio{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
    margin-left: -2rem;
  }

  #apoio .apoio-img img{
    width: 100% !important;
    padding-bottom: 2rem;
  }

  #transparencia{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
    margin-left: -2rem;
  }

  #last-section {
    width: 90vw;               /* ocupa quase toda a tela */
    height: 42vh;
    margin: 12rem auto;            /* remove margin lateral e centraliza */
    align-items: center !important;       /* centraliza filhos horizontalmente */
    text-align: center;        /* centraliza textos */
    padding: 0 !important;
  }

  #last-section .container-text p {
    font-size: 62px;
    line-height: 52px;
  }

  #last-section .container-text p ~ p {
    font-size: 72px;
    line-height: 58px;
  }

  #last-section .img-logo {
    margin-bottom: 5rem;
    display: block !important;
  }

  #back-to-top {
    display: none !important;
  }

  #back-to-top i {
    font-size: 20px;
  }

  footer{
    border: 3px solid white;
    border-radius: 45px;
    margin: 0;
    padding: 0.8rem 0.1rem 0 0.1rem;
    font-size: 20px;
    width: 100%;
  }
}

/* ============================= */
/* Desktop grande (≥1200px) */
@media (min-width: 992px ) and (max-width: 1200px) {
  body{
    background-image: url('../img/bg-800x1200.png') !important;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
  }
  
  .nav-container a {
    font-size: 1.8rem;   /* diminui a fonte */
    padding: 0.1em 0.3em !important; /* encurta o espaçamento */
    border-radius: 10px; /* arredondamento mais leve */
  }
  .nav.nav-masthead {
    gap: 0 !important; /* diminui o espaçamento entre links */
  }

  header{
    margin-top: 0;
  }

  nav {
    margin-top: 0 !important;
  }

  #capa {
    width: 150vw !important;
    height: 70vh;
    margin: 1rem auto;
    align-items: center !important;
    text-align: center;
  }

  #capa .col-lg-8{
    width: 100% !important;
  }

  #capa .container-text p {
    font-size: 76px;
    line-height: 60px;
  }

  #capa .container-text p ~ p {
    font-size: 84px;
    line-height: 66px;
  }

  #capa .container-btn button {
    font-size: 28px;
    padding: 8px 2rem;
    border-radius: 30px;
    margin-right: 3rem;
  }

  #capa .img-logo {
    margin-bottom: 3rem;
    display: block !important;
  }

  #clube{
    height: 100%;
    margin-top: 0;
    padding-right: 11rem;
    margin-left: 6rem;
  }

  #clube .col-10{
    width: 100% !important;
  }

  #clube .club-img img{
    width: 100% !important;
    padding-bottom: 2rem;
  }

  #futebol{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
  }

  #futebol .col-10{
    width: 100% !important;
  }

  #esportes{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
  }

  #esportes .col-10{
    width: 100% !important;
  }

  #esportes .esportes-img img{
    width: 100% !important;
    padding-bottom: 2rem;
  }

  #imprensa{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
  }

  #imprensa .col-10{
    width: 100% !important;
  }

  #apoio{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
  }

  #apoio .col-10{
    width: 100% !important;
  }

  #apoio .apoio-img img{
    width: 100% !important;
    padding-bottom: 2rem;
  }

  #transparencia{
    margin-right: 8rem;
    height: 100%;
    margin-top: 0;
  }

  #transparencia .col-10{
    width: 100% !important;
  }

  #last-section {
    width: 90vw;               /* ocupa quase toda a tela */
    height: 52vh;
    margin: 12rem auto;            /* remove margin lateral e centraliza */
    align-items: center !important;       /* centraliza filhos horizontalmente */
    text-align: center;        /* centraliza textos */
    padding: 0 !important;
  }

  #last-section .col-lg-8{
    width: 100% !important;
  }

  #last-section .container-text p {
    font-size: 66px;
    line-height: 62px;
  }

  #last-section .container-text p ~ p {
    font-size: 76px;
    line-height: 58px;
  }

  #last-section .img-logo {
    margin-bottom: 5rem;
    display: block !important;
  }

  #back-to-top {
    display: none !important;
  }

  #back-to-top i {
    font-size: 20px;
  }

  footer{
    border: 3px solid white;
    border-radius: 45px;
    margin: 0;
    padding: 0.8rem 0.1rem 0 0.1rem;
    font-size: 20px;
    width: 100%;
  }
}

/* ============================= */
/* Desktop grande (≥1200px) */
@media (min-width: 1201px) and (max-width: 1700px) {
  body {
    background-image: url('../img/bg-1200x1400.jpg') !important;
    margin: 0;
      /*background-image: url('bg-iape.jpg');*/
      background-repeat: no-repeat;
      background-position: fixed;
      background-size: 100% auto; /* largura total, altura proporcional */
      background-color: #FFD700; /* fundo amarelo caso sobre espaço */
  }

  nav{
    margin-top: 3em !important;
  }

  .nav-container{
    margin: 0;
  }

  .nav-container a{
    background-color: #F5CE00;
    border-radius: 15px;
    padding: 0.1em 0.5em 0.1em 0.5em !important;
    color: #07154E !important;
    font-size: 1.8rem;
  }

  .nav-container nav{
    background-color: #001c60;
    padding: 2rem;
  }

  .nav-container.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    animation: slideDown 1s ease;
  }

  .nav-container.fixed.hide {
    transform: translateY(-100%);
    opacity: 0;
    transition: transform 1s ease, opacity 1s ease;
  }

  /* Evita “pulo” no conteúdo ao fixar */
  body.nav-fixed-padding {
    padding-top: 110px; /* altura aproximada do menu */
  }

  /* Animação suave */
  @keyframes slideDown {
    from {
      transform: translateY(-100%);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  .mobile-nav{
    background-color: #001c60 !important;
  }

  .mobile-nav .navbar-brand{
    color: white;
  }
  .mobile-nav .navbar-toggler{
    border-color: white;
  }

  #capa{
    margin-right: 6rem;
    margin-top: 8rem;
    height: 25vh;
  }

  #capa .container-text p{
    font-size: 95px;
    line-height: 102px;
    color: #001c60;
    font-weight: 600;
  }

  #capa .container-text p ~ p{
    font-size: 110px;
    line-height: 72px;
    font-weight: bold;
  }

  #capa .container-btn button{
    font-size: 35px;
    margin-top: 2em;
    opacity: 1 !important;
    border-radius: 40px;
    padding: 8px 3rem;
    color: #000E44;
    margin-left: 1rem !important;
  }

  #capa .container-btn button .text-contrast{
    font-weight: bold;
    font-style: italic;
  }

  #clube{
    margin-right: 8rem;
    margin-top: 10rem;
    height: 100%;
    width: 77vw;
    margin-left: 16rem;
  }

  #clube .clube-content-list{
    list-style: none;
    padding-left: 0;
  }

  #esportes{
    margin-right: 8rem;
    margin-top: 3rem;
    height: 100%;
    width: 77vw;
    margin-left: 16rem;
  }

  #futebol{
    margin-right: 8rem;
    margin-top: 3rem;
    height: 100%;
    width: 77vw;
    margin-left: 16rem;
  }

  #transparencia{
    margin-right: 8rem;
    margin-top: 3rem;
    height: 100%;
    width: 77vw;
    margin-left: 16rem;
  }

  #imprensa{
    margin-right: 8rem;
    margin-top: 3rem;
    height: 100%;
    width: 77vw;
    margin-left: 16rem;
  }

  #apoio{
    margin-right: 8rem;
    margin-top: 1rem;
    height: 100%;
    width: 77vw;
    margin-left: 16rem;
  }

  #apoio .apoio-img img{
    width: 100% !important;
  }

  #last-section{
    margin-right: 9rem !important;
    margin-top: 13rem;
    margin-bottom: 12rem;
    height: 100%;
    width: 77vw;
  }

  #last-section .container-text p{
    font-size: 90px;
    line-height: 102px;
    color: #001c60;
    font-weight: 600;
  }
  #last-section .container-text p ~ p{
    font-size: 105px;
    line-height: 72px;
    font-weight: bold;
  }

  #back-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #001c60;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    transition: opacity 0.3s ease, transform 0.3s ease;
  }

  /* Exibição quando visível */
  #back-to-top.show {
    display: flex;
  }

  /* Ícone interno */
  #back-to-top i {
    font-size: 24px;
    color: #fff;
  }

  /* Efeito hover */
  #back-to-top:hover {
    background-color: #003099;
    transform: scale(1.1);
  }

  footer{
    border: 3px solid white;
    border-radius: 45px;
    margin: 0 8rem;
    padding: 1.5rem 0.8rem 0.3rem 0.8rem;
    font-size: 22px;
  }
}