/*---------------------------------------
geral
---------------------------------------*/
* {
  position: relative; }

/*bloco especial */
@media (max-width: 991px) {
  .noBr-mob br {
    display: none; } }
/*---------------------------------------
reveal
---------------------------------------*/
main .col {
  opacity: 0;
  transition: all .5s ease-out;
  transform: translate(0, 30px) scale(0.9); }
  main .col.active {
    opacity: 1;
    transform: none; }

/*---------------------------------------
footer
---------------------------------------*/
.copyright {
  opacity: 0.7;
  font-size: 13px; }
  .copyright a {
    color: var(--bs-dark); }
    .copyright a:hover {
      color: black; }

.footer {
  background-color: var(--bs-beige);
  border-radius: 2em;
  padding: 2em 0;
  max-width: 1320px;
  margin: 0 auto; }
  .footer a {
    text-decoration: none;
    color: var(--bs-dark);
    font-size: 1.3em;
    font-weight: bold;
    margin-top: .5em;
    margin-bottom: 1em; }
    .footer a .ico {
      display: block;
      max-width: 90px;
      width: 33%;
      aspect-ratio: 1/1;
      border-radius: 100%;
      margin: 0 auto 0.25em;
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center center;
      transition: var(--transition); }
    .footer a:hover .ico {
      background-color: white; }

@media (min-width: 992px) {
  .footer {
    padding: 3.5em 0; } }
/*---------------------------------------
swiper pages
---------------------------------------*/
.swiper-pages .swiper-slide {
  border-radius: 2em;
  padding: 2em 1em; }
  .swiper-pages .swiper-slide img {
    width: 80%;
    max-width: 150px !important;
    margin-bottom: .5em; }

@media (min-width: 992px) {
  .swiper-pages .swiper-slide {
    padding: 2.5em 1.5em; } }
/*---------------------------------------
header
---------------------------------------*/
header {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  padding: 1.5em;
  background-color: var(--bs-light);
  z-index: 11; }
  header ul {
    list-style: none;
    padding: 0;
    margin: 0; }
    header ul a {
      text-transform: uppercase;
      text-decoration: none; }
      header ul a a:hover {
        text-decoration: none; }
  header .lg a {
    background-position: 4px center;
    background-repeat: no-repeat;
    padding-left: 20px;
    display: inline-block;
    background-color: white;
    border-radius: 30px;
    padding: 1px 5px 1px 24px;
    color: var(--bs-dark) !important;
    font-size: 10px; }
    header .lg a.lg-en {
      background-image: url("../images/ico-us.png"); }
    header .lg a.lg-br {
      background-image: url("../images/ico-br.png"); }
  header .menu-btn {
    cursor: pointer;
    width: 36px;
    height: 36px;
    position: relative;
    overflow: hidden;
    float: right;
    margin-left: 1em; }
  header .menu-btn .bar {
    width: 24px;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 25%;
    transform: translate(-50%, -50%);
    background-color: var(--bs-gray);
    transition: var(--transition);
    z-index: 12; }
    header .menu-btn .bar:nth-of-type(2) {
      top: calc(50% - 7px); }
    header .menu-btn .bar:nth-of-type(3) {
      top: calc(50% + 7px); }
  header.menu-ativo .menu-btn .bar {
    top: 50%; }
    header.menu-ativo .menu-btn .bar:nth-of-type(1) {
      display: none; }
    header.menu-ativo .menu-btn .bar:nth-of-type(2) {
      transform: translate(-50%, 0%) rotate(45deg); }
    header.menu-ativo .menu-btn .bar:nth-of-type(3) {
      transform: translate(-50%, 0%) rotate(-45deg); }

@media (max-width: 991px) {
  header #menu-topo {
    transition: var(--transition); }
  header a.logo-white {
    display: none; }
  header.menu-ativo #menu-topo {
    display: flex !important;
    position: fixed;
    background-color: var(--bs-light);
    font-weight: bold;
    left: 0;
    top: 100px;
    right: 0;
    bottom: 0;
    justify-content: center;
    align-items: center;
    text-align: center; }
    header.menu-ativo #menu-topo li {
      font-size: 20px;
      display: block;
      padding: 1em 0;
      border-bottom: 1px solid var(--bs-gray); }
      header.menu-ativo #menu-topo li:last-child {
        border-bottom: none; } }
@media (min-width: 992px) {
  header a.logo-white {
    display: none; }
  header ul {
    text-align: end; }
    header ul li {
      display: inline-block;
      margin-left: 1em; }
      header ul li a {
        color: var(--bs-green);
        font-size: 14px;
        font-weight: bold; }
        header ul li a:hover {
          color: var(--bs-dark); }

  header.special {
    background-color: transparent; }
    header.special a.logo-color {
      display: none; }
    header.special a.logo-white {
      display: block; }
    header.special ul li a {
      color: white; } }
/*---------------------------------------
banner
---------------------------------------*/
.banner {
  aspect-ratio: 4/3;
  max-height: 600px;
  color: white; }
  .banner.banner-shadow .areoi-background:after {
    content: '';
    background: black;
    background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5116640406) 20%, rgba(0, 0, 0, 0) 99%);
    background: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5116640406) 20%, rgba(0, 0, 0, 0) 99%);
    background: linear-gradient(to top, rgba(0, 0, 0, 0.5116640406) 20%, rgba(0, 0, 0, 0) 99%);
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    bottom: 0; }
  .banner.banner-home {
    margin-top: 60px;
    aspect-ratio: auto;
    min-height: 600px;
    max-height: 90vh; }
    .banner.banner-home .areoi-background .areoi-background__image {
      background-position: 25%, 0; }

@media (min-width: 992px) {
  .banner {
    aspect-ratio: auto;
    height: 80vh;
    max-height: 758px; }
    .banner + .only-p {
      display: none; }
    .banner.banner-home {
      margin-top: 0; } }
/*---------------------------------------
lotes
---------------------------------------*/
.lotes .um-lote {
  border-bottom: 1px solid white; }
  .lotes .um-lote .btn {
    float: right;
    font-size: 14px;
    z-index: 1; }

/*---------------------------------------
lotes
---------------------------------------*/
.sobre {
  margin-top: -3em; }

@media (max-width: 991px) {
  .sobre {
    margin-bottom: 4em; }
    .sobre img {
      margin-top: 1em;
      margin-bottom: -5em; } }
@media (min-width: 992px) {
  .sobre img {
    margin-top: -1em;
    margin-bottom: -1em;
    transform: scale(1.2); } }
/*---------------------------------------
produtos
---------------------------------------*/
ul.produtos-grid {
  list-style: none;
  padding: 0;
  margin: 0; }
  ul.produtos-grid li.col .produtos-item {
    border-radius: var(--radius);
    background-color: white;
    height: 100%;
    box-shadow: -1px 8px 13px -4px rgba(0, 0, 0, 0.15); }
    ul.produtos-grid li.col .produtos-item img {
      max-width: 70%;
      margin: 0 auto 1em;
      display: block; }
    ul.produtos-grid li.col .produtos-item h2 {
      font-size: 1.2em;
      color: var(--bs-green-dark);
      font-weight: bold; }
    ul.produtos-grid li.col .produtos-item ul {
      padding: 0;
      margin: 0;
      opacity: 0.7;
      font-size: 0.8em; }
      ul.produtos-grid li.col .produtos-item ul li {
        list-style: none; }
        ul.produtos-grid li.col .produtos-item ul li:before {
          content: '- '; }
    ul.produtos-grid li.col .produtos-item p.preco {
      margin-top: 1em; }

.produtos-single h1 {
  color: var(--bs-green);
  font-weight: bold;
  margin-bottom: 1em;
  font-size: 32px; }
.produtos-single .produtos-descricao {
  color: var(--bs-dark); }
  .produtos-single .produtos-descricao h2 {
    font-size: 1.4em;
    color: var(--bs-green-dark); }
