* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: "Roboto", sans-serif
}

body {
    overflow-x: hidden
}

.maxWidthContent {
    max-width: 1100px
}

.maxWidthContainerBig {
    max-width: 1280px
}

p {
    font-weight: lighter
}

.custom-pipe {
    display: inline-block;
    height: 40px;
    border-left: 1px solid #000;
    margin: 0 10px;
    opacity: 1
}















.linkHover:hover {
    color: #005b31 !important;
    font-weight: bold;
    background-color: #fff !important
}

.dropdown {
    gap: 1rem
}

.customDropdown {
    margin-top: 35px !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    border-radius: 0px !important
}

.customDropdown li a {
    color: #005b31 !important;
    margin-bottom: 5px !important
}

.bannerPrincipal {
    background: url(../images/principal-imagem-capa-degradee.jpg) no-repeat center center/cover;
    /* max-height: 600px; */
    height: 100vh
}


.text-content p {
    position: relative;
    left: 200px;
    top: 35px;
    font-size: 22px;
    line-height: normal
}

.line {
    background-color: #e1d700;
    padding: 21px
}

.customHr {
    width: 80%;
    margin: auto
}

.primaryColor {
    color: #005b31
}

.titleContent {
    font-size: 48px
}

.paragContent {
    font-size: 22px
}

.titleContent2 {
    font-size: 44px
}

.paragContent2 {
    font-size: 25px;
    line-height: 30px
}


.titleContent3 {
    font-size: 38px;
}


.titleWhere {
    font-size: 6em !important;
    letter-spacing: -3px;
    line-height: 0.7em;
}

.titleWhere small {
    font-size: 0.6em !important;
}


.paragWhere {
    font-size: 1.5em;
    width: 250px
}

.sectionWhere {
    background-image: url(../images/principal-imagem-mapa.jpg);
    background-repeat: no-repeat;
    background-position: center 0;
    background-size: auto;
    background-attachment: scroll;
    position: relative;
    margin: 0 auto;
    z-index: 1;
    background-color: transparent;
}

.sectionWhere .container {
    position: relative;
    z-index: 2;
}


.our-numbers {
    max-width: 1078px !important;
    margin: auto
}

.card-main {
    max-width: 516px !important;
    max-height: 700px !important
}






















.onde-estamos {
    max-width: 1078px !important;
    margin: auto
}

.onde-estamos p {
    margin: 0
}

.onde-estamos .wrapper-map-and-popup {
    width: 100%;
    gap: 3rem;
    padding: 2rem 0
}

.onde-estamos .wrapper-map-and-popup .wrapper-image {
    max-width: 39.875rem;
    width: 100%;
    position: relative;
}

.onde-estamos .wrapper-map-and-popup .mapa-brasil {
    max-width: 39.5rem;
    width: 100%;
    display: block;
    height: auto
}

.onde-estamos .wrapper-map-and-popup .mapa-brasil
{
    display: none;
    width: auto;
    height: auto;
    object-fit: contain;
    object-position: center;
    margin-left: auto;
    transform: translate(25px, -20px);
}

.onde-estamos .wrapper-map-and-popup .mapa-brasil-mobile
{
    display: none;
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
    margin-left: 4px;
}

.onde-estamos .wrapper-map-and-popup .mapa-brasil.active,
.onde-estamos .wrapper-map-and-popup .mapa-brasil-mobile.active
{
    display: flex
}

.onde-estamos .wrapper-map-and-popup img {
    width: 100%;
    height: auto
}

.onde-estamos .wrapper-map-and-popup area {
    cursor: pointer
}

.onde-estamos .wrapper-map-and-popup .single-popup {
    display: none;
    padding: 2.5rem 2rem;
    color: #005b31;
    border-radius: 1.25rem;
    max-width: 25.3125rem;
    width: 100%;
    font-size: 1.125rem;
    line-height: 1.5rem;
    position: relative;
    z-index: 1
}

.onde-estamos .wrapper-map-and-popup .single-popup::before {
    content: "";
    width: 3rem;
    height: 3rem;
    background: inherit;
    position: absolute;
    transform: rotate(45deg) translateX(-50%);
    left: 50%;
    top: 0;
    z-index: -1
}

.onde-estamos .wrapper-map-and-popup .single-popup span {
    font-weight: 700
}

.onde-estamos .wrapper-map-and-popup .single-popup a {
    font-weight: 200;
    color: #005b31;
    text-decoration: none
}

.onde-estamos .wrapper-map-and-popup .single-popup.active {
    display: flex
}

.onde-estamos .wrapper-map-and-popup .single-popup.text-white a {
    color: #fff !important
}

.onde-estamos .wrapper-map-and-popup .single-popup.amazonia {
    background: #73f440
}

.onde-estamos .wrapper-map-and-popup .single-popup.bahia {
    background: #4ebc20
}

.onde-estamos .wrapper-map-and-popup .single-popup.espirito-santo {
    background: #0001ff
}

.onde-estamos .wrapper-map-and-popup .single-popup.pantanal {
    background: #ff050f
}

.onde-estamos .wrapper-map-and-popup .single-popup.pontal {
    background: #ffdc00
}

.onde-estamos .wrapper-map-and-popup .single-popup.paulista {
    background: #ff7e00;
    color: #fff
}

.onde-estamos .wrapper-map-and-popup .single-popup.brasilia {
    background: #ff0dff
}

.onde-estamos .wrapper-map-and-popup .single-popup.brasilia::before {
    top: 2.25rem
}

.onde-estamos .wrapper-map-and-popup .single-popup.caatinga {
    background: #766220
}

.onde-estamos .wrapper-map-and-popup .single-popup.nacional {
    background: #00ffa2
}

.onde-estamos .wrapper-map-and-popup .single-popup.nacional a {
    color: #000
}

.onde-estamos .wrapper-map-and-popup .single-popup.paulista a {
    color: #fff
}












.section-card .in-educacao {
    background-color: #e1d700;
    color: #010101
}

.section-card .in-negocios {
    background-color: #756126;
    color: #fff
}

.section-card .in-articulacao {
    background-color: #8dc64a;
    color: #fff
}

.section-card .in-pesquisa {
    background-color: #00a77e;
    color: #fff
}

.section-card .in-restauracao {
    background-color: #00a77e;
    color: #fff
}

.section-card .in-financeiro {
    background-color: #8dc63f;
    color: #000000;
}

.section-card .in-metas {
    background-color: #ffffff;
    color: #000000;
}

.section-card .bg-modelo-in-educacao {
    background: #fff;
    padding-left: 95px !important;
}

.section-card .bg-modelo-in-negocios {
    background: #fff;
    padding-left: 95px !important;
}

.section-card .bg-modelo-in-articulacao {
    background: #fff;
    padding-left: 95px !important;
}

.section-card .bg-modelo-in-pesquisa {
    background: #fff;
    padding-left: 95px !important;
}

.section-card .bg-modelo-in-restauracao {
    background: #fff;
    padding-left: 95px !important;
}


.section-card h2.text-in-educacao {
    color: #e1d700
}

.section-card h2.text-in-negocios {
    color: #756126
}

.section-card h2.text-in-articulacao {
    color: #8dc64a
}

.section-card h2.text-in-pesquisa {
    color: #005b31
}

.section-card h2.text-in-restauracao {
    color: #00a77e
}

.section-card .contrib-clima {
    background-color: #f2e8bc;
    color: #005b31
}

.section-card .prox-passos {
    background-color: #005b31;
    color: #f2e8bc
}

.section-card .compartilhe-card {
    font-size: 12px
}

.section-card .card-geral-text {
    line-height: 30px
}

.section-card .swiper3 .swiper-pagination2 {
    text-align: center
}

.section-card .swiper3 .swiper-pagination2 .swiper-pagination-bullet {
    text-align: center;
    width: 10px;
    height: 10px;
    outline: 3px solid #fff;
    opacity: 1;
    margin: 0 10px
}

.section-card .swiper-pagination2.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    background-color: #005b31;
    margin: 0 5px !important
}

.section-card .swiper-pagination2 .swiper-pagination-bullet-active {
    background-color: #fff !important
}

#in-corredores .bg-modelo-in-pesquisa .pt-5 .card-geral-text .col-md-5:has(.py-1) {
    width: 66.66666667% !important;
    flex-direction: row !important;
    margin-right: 0 !important
}

#in-corredores .bg-modelo-in-pesquisa .pt-5 .card-geral-text .col-md-5 .py-1:first-child {
    margin-right: 2rem !important
}

#in-corredores .bg-modelo-in-pesquisa .pt-5 .card-geral-text .col-md-5:has(.py-2) {
    width: 25% !important
}

#in-corredores .bg-modelo-in-restauracao .pt-5 .card-geral-text .col-md-5:has(.py-1) {
    width: 66.66666667% !important;
    flex-direction: row !important;
    margin-right: 0 !important
}

#in-corredores .bg-modelo-in-restauracao .pt-5 .card-geral-text .col-md-5 .py-1:first-child {
    margin-right: 2rem !important
}

#in-corredores .bg-modelo-in-restauracao .pt-5 .card-geral-text .col-md-5:has(.py-2) {
    width: 25% !important
}

.team-participants {
    text-align: center;
    color: #000000 !important;
    width: 65%
}

@media (max-width: 768px) {
    .team-participants .fw-bold {
        display: block;
        margin-top: 0.5rem
    }

    .sectionWhere {
        background-image: url(../images/principal-imagem-mapa-mobile.jpg);
        background-position: center 0;
        background-size: 1050px auto !important;
        background-attachment: scroll;
        background-repeat: no-repeat;
        background-color: black;
    }

}



























.text-in-financeiro {
    color: #000000;
}

.section-btn-parceiros {
    padding: 5rem 0 !important;
    max-width: 1370px;
    margin: auto
}

.custom-btn-parceiros {
    outline-color: #ffffff;
    color: #ffffff !important;
    outline-style: solid;
    outline-width: 1px;
    font-size: 50px !important
}

.custom-btn-parceiros:hover {
    background-color: #ffffff !important;
    color: #756126 !important
}
.border-orange {
    border-color: #cc4d00 !important;
}








p.size-22 {
    font-size: 22px !important
}

footer .d-flex a:first-child {
    display: none
}




























#parceiros {
	color: #ffffff !important;	
    background-color: #756126;
    padding: 1rem !important;
    justify-content: center;
    align-items: center;
}

#participants {
	color: #000000 !important;	
    background-color: #ffffff;
    padding: 1rem !important;
    justify-content: center;
    align-items: center;
}

#footer {
    background-color: #756126;
    padding: 1rem !important;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 2rem
}

#footer .site-footer,
#footer .d-flex.gap-3 {
    flex-wrap: wrap;
    justify-content: center;
    max-width: 100%;
}








.bg-color-pesquisa {
    background-color: #005b31;
}
.border-color-pesquisa {
    border-color: #005b31 !important;
}
.text-color-pesquisa {
    color: #005b31 !important;
}



.bg-color-restauracao {
    background-color: #b0c368;
}
.border-color-restauracao {
    border-color: #b0c368 !important;
}
.text-color-restauracao {
    color: #b0c368 !important;
}



.bg-color-articulacao {
    background-color: #8dc63f;
}
.border-color-articulacao {
    border-color: #8dc63f !important;
}
.text-color-articulacao {
    color: #8dc63f !important;
}



.bg-color-educacao {
    background-color: #59aa47;
}
.border-color-educacao {
    border-color: #59aa47 !important;
}
.text-color-educacao {
    color: #59aa47 !important;
}




.bg-color-negocios {
    background-color: #756126;
}
.border-color-negocios {
    border-color: #756126 !important;
}
.text-color-negocios {
    color: #756126 !important;
}


.text-color-metas {
    color: #005b31 !important;
}







/* Custom styles for the slider */
.slider-container {
    max-width: 75%;
    margin: 0 auto;
    position: relative;
  }
  
  .slider-content {
    overflow: hidden;
  }
  
  .slider-content img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .slider-text {
      font-size:20px;
      line-height: 1.2em;

    bottom: 0;
    left: 0;
    right: 0;
    padding-left: 5%;
    padding-right: 5%;
    padding-bottom: 20px;
    padding-top: 10%;

  }

  #carouselDestaques .slider-text {
    text-align:center;
    background: linear-gradient(to top, rgba(0,0,0,0.8) 30%, rgba(0,0,0,0.7) 70%, rgba(0,0,0,0) 100%);
  }

  #destaques .slider-content img {
    height: 359px;
    object-fit: cover;
  }

  #destaques .slider-text {
    text-align: center;
    font-size: 13px;
    background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.45) 60%, rgba(0,0,0,0) 100%);
  }

  #destaques .slider-text h3 {
    font-size: 1rem;
  }

  /* Mosaico Negócios: mesmas características do mosaico de Destaques */
  #mosaicoNegocios .slider-content img {
    height: 280px;
    object-fit: cover;
  }

  #mosaicoNegocios .slider-text {
    text-align: center;
    font-size: 14px;
    background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.45) 60%, rgba(0,0,0,0) 100%);
  }

  #mosaicoNegocios .slider-text h3 {
    font-size: 1rem;
  }

  .slider-text h3 {
      text-align: center;
  }
  
  /* Custom carousel indicators to match the example */
  .carousel-indicators {
    bottom: 0;
    margin-bottom: 0;
    margin-top:-25px;
  }
  



  #carouselDestaques .carousel-indicators button {
    width: 12px !important;
    height: 12px !important;
    border-radius: 50% !important;
    background-color: #000 !important;
    border: 1px solid #000 !important;
    margin: 0 5px !important;
    opacity: 0.1;
  }
  
  #carouselDestaques .carousel-indicators button.active {
    opacity: 1;
    background-color: #000 !important;
  }
  

  #carouselNegocios .carousel-indicators button {
    width: 12px !important;
    height: 12px !important;
    border-radius: 50% !important;
    background-color: #fff !important;
    border: 1px solid #fff !important;
    margin: 0 5px !important;
    opacity: 0.5;
  }
  
  #carouselNegocios .carousel-indicators button.active {
    opacity: 1;
    background-color: #fff !important;
  }
  



  #carouselNegocios .slider-content img {
    width: 100%;
    height: auto !important;
    object-fit: none !important;
  }
  
  #carouselNegocios .slider-text {
    padding-top: 0;
  }


 #carouselNegocios .slider-text h3 {
	text-align: left !important;
  }




  /* Estilo para o link "SAIBA +" */
  a.text-white {
    text-decoration: none;
  }
  
  a.text-white:hover {
    text-decoration: underline;
  }






  .accordion-content {
      display: none;
      color: #fff;
      padding: 20px;
  }
  
  .accordion-content.active {
      display: block;
  }







































@media(min-width: 768px) {
    .onde-estamos .wrapper-map-and-popup {
        gap: 2rem
    }

    .onde-estamos .wrapper-map-and-popup .wrapper-image img {
        margin: 0 0 0 50px
    }

    .onde-estamos .wrapper-map-and-popup .single-popup::before {
        transform: rotate(45deg);
        left: -5%;
        top: 4rem
    }

    .pt-desktop {
        padding-top: 20% !important
    }
}

@media (max-width: 1023px) {
    .sectionWhere {
        background-size: cover;
        background-attachment: scroll;
    }
}

@media (max-width: 991px) {
    .slider-container{
        max-width: 100% !important;
    }
}

@media(max-width: 768px) {

    #carouselDestaques .slider-text {
        position: static !important; /* !important para sobrescrever position-absolute da classe Bootstrap */
        padding: 0;
        padding-top: 15px;
        padding-bottom: 15px;
        color: #000 !important;
        background: none;
        min-height: 180px;
        font-weight: normal;;
        text-align: left;
    }
    #carouselDestaques .slider-text a {
        color: #000 !important;
    }

    #carouselDestaques .slider-text h3 {
        font-size: 1.3rem !important;
        margin-bottom: 0.5rem !important;
    }

    #carouselDestaques .carousel-indicators {
        margin-top: 0.5rem !important;
    }




    #carouselNegocios .slider-text {
        position: static !important; /* !important para sobrescrever position-absolute da classe Bootstrap */
        padding: 0;
        padding-top: 15px;
        padding-bottom: 15px;
        background: none;
        line-height: 1.6rem;
        text-align: left;
    }


    #carouselNegocios .carousel-indicators button {
        width: 10px !important;
      }

    .pt-desktop {
        padding-top: 0 !important
    }


}



	.embed div.col-md-6 {
        padding-right: 0 !important;
        padding-left: 0 !important;
		padding-bottom: 30px !important;
		padding-top: 30px !important;
    }
    .embed p, .embed span {
        font-size: 0.9em;
        text-align: center;
    }

	/* O YouTube escolhe a qualidade "Auto" pelo tamanho de layout do player:
	   o iframe ocupa 200% do wrapper e volta ao tamanho visual com scale(0.5),
	   fazendo o YouTube servir stream em HD (720p/1080p) em vez de 360p/480p */
	.embed-hd {
		width: 100%;
		max-width: 380px;
		aspect-ratio: 9 / 16;
		margin: 0 auto;
		overflow: hidden;
	}
	.embed-hd iframe {
		width: 200%;
		height: 200%;
		border: 0;
		transform: scale(0.5);
		transform-origin: top left;
	}
	/* Poster clicavel exibido no lugar do player ate o primeiro clique */
	.embed-hd-poster {
		display: block;
		position: relative;
		width: 100%;
		height: 100%;
		padding: 0;
		border: 0;
		background: #000;
		cursor: pointer;
	}
	.embed-hd-poster img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.embed-hd-play {
		position: absolute;
		top: 50%;
		left: 50%;
		margin: -24px 0 0 -34px;
		opacity: 0.9;
		transition: opacity 0.2s;
		pointer-events: none;
	}
	.embed-hd-poster:hover .embed-hd-play,
	.embed-hd-poster:focus .embed-hd-play {
		opacity: 1;
	}


@media screen and (max-width: 600px) {

    .principais-resultados div.col-md-6 {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
    .principais-resultados p, .principais-resultados span {
        font-size: 0.9em;
        text-align: center;
    }
	
	
/**/	
	.embed div.col-md-6 {
        padding-right: 10px !important;
        padding-left: 10px !important;
		padding-bottom: 30px !important;
		padding-top: 30px !important;
    }
    .embed p, .embed span {
        font-size: 0.9em;
        text-align: center;
    }
	

    .section-card p {
        line-height: inherit
    }

    .section-card .intro-card {
        padding: auto !important
    }

    .section-card .card-geral img.w-100 {
        height: 30vh;
        object-fit: cover
    }

    .section-card .card-geral .contrib-clima,
    .section-card .card-geral .prox-passos {
        padding: 2rem !important
    }

    .section-card .bg-modelo {
        padding: 1rem !important
    }

    .section-card .bg-modelo h5.ps-4 {
        font-size: .8rem !important;
        padding-left: 1rem !important
    }

    .section-card .card-geral-text {
        flex-direction: column !important
    }

    .section-card .card-geral-text .me-5,
    .section-card .card-geral-text .ms-5 {
        margin: 0 !important;
        font-size: 16px !important
    }

    .section-card .card-geral-text .me-5 span,
    .section-card .card-geral-text .ms-5 span {
        font-size: 20px !important
    }

    .section-card .linha-card {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .section-card .swiper3 .swiper-slide {
        flex-direction: column
    }

    .section-card .swiper3 .swiper-slide .col-md-7 {
        padding-top: 30px !important;
        padding-left: 0 !important
    }

    #in-corredores .bg-modelo-in-pesquisa .pt-5 .card-geral-text .col-md-5:has(.py-1) {
        width: 100% !important;
        flex-direction: column !important
    }

    #in-corredores .bg-modelo-in-pesquisa .pt-5 .card-geral-text .col-md-5:has(.py-2) {
        width: 100% !important
    }

    #ods-parceiros .container-fluid .gap-3 {
        gap: .3rem !important
    }

    #ods-parceiros .container-fluid .maxContentWidth {
        width: 100% !important;
        padding: 2rem 0 !important
    }

    #ods-parceiros .container-fluid .maxContentWidth .team-participants {
        width: 100% !important
    }

    #parceiros .section-btn-parceiros {
        padding: 2rem 0 !important;
        gap: 1rem !important
    }

    #parceiros .custom-btn-parceiros {
        font-size: 16px !important
    }

    #header {
        font-size: 11px
    }

    .dropdown {
        gap: 5px !important
    }

    .dropdown img.ps-2 {
        width: 120px;
        object-fit: contain
    }

    .relatorio {
        width: 90px;
        margin-left: 5px
    }

    .custom-pipe {
        margin: 0
    }

    .bannerPrincipal .maxWidthContainerBig .row {
        flex-direction: column !important;
        max-width: 100%;
        margin: auto !important
    }

    .bannerPrincipal .maxWidthContainerBig div img {
        width: 60%;
        height: auto
    }

    .bannerPrincipal .maxWidthContainerBig .col-md-4 {
        text-align: center;
        width: 100%
    }

    .bannerPrincipal .maxWidthContainerBig .col-md-12 {
        /* font-size: 15px !important; */
        width: 100%;
        padding: 30px !important;
        text-align: center
    }

    .sobre-ipe div {
        margin: auto
    }

    .sobre-ipe .d-flex {
        flex-direction: column
    }

    .sobre-ipe .d-flex .ps-3 {
        padding: 1rem 0 0 0 !important
    }

    .titleContent,
    .titleContent2 {
        font-size: 28px
    }

    .titleContent2 {
        padding-top: 20px
    }

    .paragContent,
    .paragContent2 {
        font-size: 21px;
		line-height: 1.1em;
    }

    .titleContent3 {
        font-size: 23px;
    }

    .swiper1 .swiper-wrapper {
        gap: 0
    }

    .swiper-slide.swiper-slide-prev {
        opacity: .3 !important
    }

    .our-numbers {
        justify-content: center !important
    }

    .titleWhere {
        font-size: 3em !important;
        letter-spacing: 1px;
        line-height: 0.7em;
    }


    .our-numbers .paragWhere {
        font-size: 20px
    }

    .our-numbers .col-md-4 {
        text-align: center;
        margin-bottom: 1rem !important
    }

    .our-numbers .text-destaque {
        font-size: 20px !important
    }

    .swiper2 .card-img-top {
        object-fit: cover
    }

    .swiper2 .card-body {
        padding-left: 1rem !important;
        padding-right: 1rem !important
    }

    .swiper2 .card-body .card-text {
        font-size: 20px
    }
}


#comunicacao .bg-white {
	background-size: cover;
	background-attachment: scroll;
}


@media(max-width: 768px) {
	#comunicacao .bg-white {
     background: linear-gradient(rgb(241, 233, 251), rgb(190, 210, 234))!important;
	}
	#comunicacao .p-5 {
     padding: 0.5rem !important;
}	
}



.ods-row .col-md-2:last-child {
	margin: auto
}




.pilar-box {
    transition: all .3s ease;
    padding: 10px;
    cursor: pointer;
}

.pilar {
    transition: all .3s ease;
    opacity: .8;
}

/* Reduz tamanho dos pilares em 60% no mobile */
@media (max-width: 576px) {
    .pilar-box {
        transform: scale(0.6);
        padding: 0px;
        margin: 0px;
        margin-top: -50px;
        margin-bottom: -50px;
    }

    .row-cols-1.row-cols-sm-2.row-cols-md-3.row-cols-lg-5.g-3 {
        gap: 0 !important;
    }
}

.pilar-box:hover .pilar,
.pilar-box.ativo .pilar {
    opacity: 1;
    transform: translateY(-8px);
    filter: drop-shadow(0 10px 15px rgba(0,0,0,.25));
}

.pilar-section {
    display: none;
}

/* Setinha flutuante para voltar aos quadros dos pilares */
.voltar-pilares {
    position: fixed;
    bottom: 25px;
    right: 25px;
    z-index: 1050;
    height: 56px;
    padding: 0 22px 0 16px;
    border: none;
    border-radius: 28px;
    background-color: #5a9e2f;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(0,0,0,.3);
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: opacity .3s ease, transform .3s ease, visibility .3s ease;
}

.voltar-pilares.visivel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.voltar-pilares:hover {
    background-color: #4a8526;
}

.voltar-pilares svg {
    width: 26px;
    height: 26px;
    flex-shrink: 0;
}

.voltar-pilares-texto {
    font-size: .95rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    white-space: nowrap;
}

/* Mosaico negocios novo */
.mosaico-negocios-novo .titleContent6 {
    font-size: 1.15rem;
}

.mosaico-negocios-novo p.text-black {
    font-size: .95rem;
}

/* Mosaico de tecnologia */
.tech-modal-trigger {
    cursor: pointer;
}

.mosaico-tecnologia {
    justify-content: center;
}

/* Modal de tecnologia */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 2000;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.modal-overlay.ativo {
    display: flex;
    opacity: 1;
}

.modal-conteudo {
    background-color: white;
    border-radius: 12px;
    height: 80vh;
    width: 40%;
    position: relative;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
}

.modal-header {
    flex-shrink: 0;
    padding: 40px 40px 0 40px;
}

.modal-body {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 20px 16px 40px 40px;
    margin-right: 24px;
    scrollbar-gutter: stable;
}

.modal-body::-webkit-scrollbar {
    width: 8px;
}

.modal-body::-webkit-scrollbar-track {
    background: transparent;
}

.modal-body::-webkit-scrollbar-thumb {
    background-color: rgba(0, 91, 49, 0.3);
    border-radius: 8px;
}

.modal-body::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0, 91, 49, 0.5);
}

.modal-fechar {
    position: absolute;
    top: 15px;
    right: 15px;
    background: none;
    border: none;
    font-size: 28px;
    cursor: pointer;
    color: #005b31;
    padding: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
    z-index: 10;
}

.modal-fechar:hover {
    color: #003d21;
}

.modal-titulo {
    font-size: 1.8rem;
    font-weight: bold;
    margin: 0 0 20px 0;
    color: #005b31;
    padding-right: 30px;
	text-transform: uppercase;
}
		
.modal-titulo-minusculo {
    font-size: 1.8rem;
    font-weight: bold;
    margin: 0 0 20px 0;
    color: #005b31;
    padding-right: 30px;
}
		
.modal-subtitulo {
    font-size: 1.2rem;
    font-weight: bold;
    margin: 30px 0 10px 0;
    color: #005b31;

    padding-right: 30px;
	text-transform: uppercase;	
}
		
.modal-subtituloX {
    font-size: 1.2rem;
    font-weight: bold;
    margin: 30px 0 10px 0;
    color: #005b31;
    padding-right: 30px;
}

.modal-texto {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #005b31;
    margin-bottom: 16px;
}
		
.metas-subtitulo {
    font-size: 44px;
    font-weight: 600;
    margin: 30px 0 10px 0;
    color: #000000;
    padding-right: 30px;
}
		
.metas-subtituloX {
    font-size: 1.9rem;
    font-weight: 400;
    margin: 30px 0 10px 0;
    color: #000000;
    padding-right: 30px;
}

@media (max-width: 768px) {
    .modal-conteudo {
        width: calc(100% - 40px);
        margin: 20px;
        height: 80vh;
    }

    .modal-header {
        padding: 24px 24px 0 24px;
    }

    .modal-body {
        padding: 16px 8px 24px 24px;
        margin-right: 16px;
    }

    .modal-titulo {
        font-size: 1.4rem;
	    text-transform: uppercase;		
    }
	

    .modal-titulo-minusculo {
        font-size: 1.4rem;
    }	
	
    .modal-subtitulo {
        font-size: 1.1rem;
	    text-transform: uppercase;				
    }
	
    .modal-subtituloX {
        font-size: 1.1rem;
    }

    .modal-texto {
        font-size: 1rem;
    }
}



