*,
*::before,
*::after {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

:root {
  --clr-bronze: #ffb042;
  --clr-white: #fffafb;
  --clr-black: #071013;
  --ff-montserrat: "Montserrat", sans-serif;
  --ff-roboto: "Roboto", sans-serif;
  --fs-small: clamp(1rem, 0.8846rem + 0.5128vw, 1.15rem);
  --fs-med: clamp(1.3125rem, 1.1797rem + 0.625vw, 1.625rem);
  --fs-lg: clamp(1.625rem, 1.4055rem + 1.0976vw, 2.1875rem);
  --fs-big: clamp(2.1875rem, 1.5234rem + 3.125vw, 3.75rem);
  --select-border: rgb(170, 170, 170);
  --select-focus: var(--clr-bronze);
  --select-arrow: var(--select-border);
}

html {
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
  font-family: var(--ff-roboto);
  font-weight: 400;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  padding: 0;
  margin: 0;
  font-family: var(--ff-montserrat);
}

h1 {
  font-size: var(--fs-big);
  color: var(--clr-bronze);
}

h3 {
  font-size: var(--fs-med);
}

p {
  line-height: 1.4;
  letter-spacing: -0.0027777778rem;
}

.section-center {
  width: 90%;
  max-width: 1140px;
  margin: 0 auto;
}

.section-center--lg {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}

.flex {
  display: flex;
}

.flex--col {
  flex-direction: column;
}

.sr-only {
  position: absolute;
  top: auto;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

@keyframes afl {
  0% {
    opacity: 0;
    transform: translateX(-3.125rem);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes afr {
  0% {
    opacity: 0;
    transform: translateX(3.125rem);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes afb {
  0% {
    opacity: 0;
    transform: translateY(3.125rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes aft {
  0% {
    opacity: 0;
    transform: translateY(-3.125rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.strip-banner {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 1000;
  display: none;
  width: 100%;
  max-height: 4.375rem;
  background-color: #292929;
}
.strip-banner .img-wrapper {
  display: flex;
  justify-content: flex-end;
  width: 25%;
  padding: 0.5em 0;
  padding-right: 4rem;
}
.strip-banner .img-wrapper img {
  height: auto;
  max-height: 3.125rem;
}
.strip-banner .information {
  display: flex;
  justify-content: center;
  gap: 2em;
  width: 100%;
  padding: 1em 2em;
  background-color: #e69e3b;
}
.strip-banner .btn {
  width: 50%;
  font-size: var(--fs-small);
}

@media screen and (min-width: 37.5rem) {
  .strip-banner {
    display: flex;
  }
}
.btn {
  display: flex;
  justify-content: space-around;
  gap: 0.5em;
  align-items: center;
  justify-content: center;
  text-align: left;
  width: 100%;
  max-width: 26rem;
  padding: 0.65em 1.2em;
  font-size: clamp(1.2rem, 0.975rem + 1vw, 1.5rem);
  font-weight: 600;
  color: var(--clr-white);
  text-decoration: none;
  cursor: pointer;
  background: var(--clr-black);
  border: 0.375rem solid transparent;
  border-radius: 0.25em;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 0.375em 0.75em -0.125em, rgba(0, 0, 0, 0.3) 0px 0.1875em 0.4375em -0.1875em;
  transition: opacity 250ms ease-in;
  animation: pulse-black 2s infinite;
}

.btn:hover {
  opacity: 0.8;
}

.btn:focus-visible {
  border: 0.375rem solid var(--clr-black);
  outline: none;
  transform: scale(1.025);
}

@keyframes pulse-black {
  0% {
    box-shadow: 0 0 0 0 rgba(7, 16, 19, 0.7);
    transform: scale(0.99);
  }
  70% {
    box-shadow: 0 0 0 0.3125em rgba(7, 16, 19, 0);
    transform: scale(1);
  }
  100% {
    box-shadow: 0 0 0 0.3125em rgba(7, 16, 19, 0);
    transform: scale(0.99);
  }
}
.slider {
  width: 100%;
}

/*  padding-bottom is based on the width. It calcs the padding-bottom (height)
    based on the aspect ratio (1/2) then it multiplies by 100% to keep the ratio.
    The max-width is 1000px 
*/
.slider .flickity-viewport {
  padding-bottom: min(50%, 1000px);
}

.slider__cell {
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
}

.slider__cell img {
  width: 100%;
  height: auto;
}

.slider .flickity-page-dots {
  bottom: 2%;
}

/* dots are lines */
.slider .flickity-page-dots .dot {
  width: 2.5rem;
  height: 0.25rem;
  margin: 0;
  background-color: var(--clr-white);
  border-radius: 0;
}

.slider .flickity-page-dots .dot + .dot {
  margin-left: 0.2em;
}

/* smaller, dark, rounded square */
.slider .flickity-button {
  background: #333;
}

.slider .flickity-button:hover {
  background: #f90;
}

.slider .flickity-prev-next-button {
  width: clamp(1.6525rem, 1.0779rem + 2.8732vw, 3.125rem);
  height: clamp(1.6525rem, 1.0779rem + 2.8732vw, 3.125rem);
  border-radius: 0.3125rem;
}

/* icon color */
.slider .flickity-button-icon {
  fill: white;
}

/* position outside */
.slider .flickity-prev-next-button.previous {
  left: 2%;
}

.slider .flickity-prev-next-button.next {
  right: 2%;
}

.diferenciais {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 8rem;
  justify-items: center;
}

.diferenciais__item {
  display: grid;
  grid-template-rows: 5rem 1fr;
  gap: 1rem;
  align-content: flex-start;
  text-align: center;
  
}

.diferenciais__item .wrapper {
  justify-content: center;
}

.diferenciais__item h2 {
  margin-bottom: 0.5rem;
}

.video.video lite-youtube {
  width: 100%;
  max-width: 100%;
  height: auto;
  background-image: url("../public/images/video-placeholder.png") !important;
}

.testimonial {
  position: relative;
  display: flex;
  flex-direction: column;
  width: clamp(18.75rem, 16.311rem + 12.1951vw, 25rem);
  height: 18rem;
  margin-right: clamp(0.5rem, -0.4756rem + 4.878vw, 3rem);
  color: var(--clr-black);
  text-align: center;
  background: var(--clr-white);
  border-radius: 0.5rem;
  box-shadow: 0px 0.4375em 2.1875em 0px rgba(0, 0, 0, 0.15);
  transition: all 0.6s;
}

.testimonial:hover {
  transform: scale(1.05);
}

.testimonials .flickity-viewport {
  box-sizing: content-box;
  padding: 3em 0;
}

.testimonial__upper-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.25em;
}

.testimonial__text {
  margin: auto 0;
  font-weight: 200;
}

.testimonial__background {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 25%;
  padding: 2em 0;
  background-color: #ffc068;
  border-bottom-right-radius: 0.5em;
  border-bottom-left-radius: 0.5em;
}

.testimonial__background--upper {
  width: 100%;
  height: 5%;
  margin-top: auto;
  background-color: #ffd08e;
}

.testimonial__image-wrapper {
  position: absolute;
  top: -60%;
  left: 50%;
  z-index: 10;
  width: clamp(5.40625rem, 5.077rem + 1.6463vw, 6.25rem);
  height: clamp(5.40625rem, 5.077rem + 1.6463vw, 6.25rem);
  margin: 0 auto;
  overflow: hidden;
  border-radius: 50%;
  box-shadow: 0 0.625em 1.25em rgba(0, 0, 0, 0.2);
  transform: translate(-50%, 0);
}

.testimonial__image-wrapper img {
  width: 100%;
  height: 100%;
}

.testimonial__name {
  font-size: var(--fs-med);
  color: var(--clr-black);
}

.exit-form__trigger {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
  width: 100%;
  height: 2vh;
  background: transparent;
}

.exit-form__trigger-activator {
  position: fixed;
  top: 2vh;
  left: 0;
  z-index: 2000;
  width: 100%;
  height: 3vh;
}

.modal {
  /* background */
  position: fixed;
  /* Stay in place */
  top: 0;
  left: 0;
  z-index: 1000;
  /* Sit on top */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: black;
  /* Fallback color */
  background-color: rgba(0, 0, 0, 0.9);
  /* Black w/ opacity */
}

.modal__image-wrapper {
  display: none;
  width: 50%;
  height: 90%;
}

.modal__image-wrapper img {
  object-fit: cover;
  height: 100%;
  border-top-left-radius: 0.5em;
  border-bottom-left-radius: 0.5em;
}

.form {
  position: relative;
  z-index: 1000;
  display: flex;
  align-items: center;
  height: 90%;
}
.form .wrapper {
  position: relative;
  width: 90%;
  max-width: 31.25rem;
  height: 100%;
  padding: 2.25rem;
  margin: 0 auto;
  overflow-y: auto;
  background-color: #fff;
  border-radius: 0.5em;
  box-shadow: rgba(0, 0, 0, 0.35) 0px 0.3125em 0.9375em;
}

.btn--close {
  position: absolute;
  top: 0.5em;
  right: 0.5em;
  max-width: 2rem;
  padding: 0;
  font-size: var(--ff-sm);
  color: var(--clr-white);
  box-shadow: rgba(0, 0, 0, 0.1) 0px 0.25em 0.375em -0.0625em, rgba(0, 0, 0, 0.06) 0px 0.125rem 0.25em -0.0625em;
  animation: none;
}

.form h6 {
  margin-bottom: 0.5em;
  font-size: var(--fs-lg);
  text-align: left;
}

.form p {
  margin-bottom: 1.5em;
}

/* Style the input fields */
.form input {
  width: 100%;
  padding: 0.625rem;
  font-family: var(--ff-montserrat);
  font-size: 1.0625rem;
  border: 0.0625rem solid #aaaaaa;
  border-radius: 0.25rem;
}

.form__field-wrapper {
  margin-top: 1em;
}

.form select {
  width: 100%;
  padding: 0 1em 0 0;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  cursor: inherit;
  /* Additional resets for further consistency */
  background-color: transparent;
  border: none;
  outline: none;
  /* A reset of styles, including removing the default dropdown arrow */
  appearance: none;
}

.form__select-wrapper {
  display: grid;
  grid-template-areas: "select";
  align-items: center;
  width: 100%;
  padding: 0.625em;
  font-size: 1.25rem;
  line-height: 1.1;
  cursor: pointer;
  background-color: #fff;
  background-image: linear-gradient(to top, #f9f9f9, #fff 33%);
  border: 0.0625em solid var(--select-border);
  border-radius: 0.25em;
}

.form__select-wrapper:focus-within {
  border: 0.0625em solid var(--select-focus);
}

.form__select-wrapper::after {
  justify-self: end;
  width: 0.8em;
  height: 0.5em;
  clip-path: polygon(100% 0%, 0 0%, 50% 100%);
  content: "";
  background-color: var(--select-arrow);
}

select,
.form__select-wrapper::after {
  grid-area: select;
}

.form .btn--submit {
  max-width: 100%;
  margin-top: 1em;
}

.carousel-main-9 .carousel__cell {
  height: 500px;
}
.carousel-main-9 .carousel__cell img {
  width: 100%;
  height: 100%;
}
.carousel-main-9 .flickity-viewport {
  height: 500px !important;
}


.carousel-main-10 .carousel__cell {
  height: 500px;
}
.carousel-main-10 .carousel__cell img {
  width: 100%;
  height: 100%;
}
.carousel-main-10 .flickity-viewport {
  height: 500px !important;
}


.carousel-main-11 .carousel__cell {
  height: 500px;
}
.carousel-main-11 .carousel__cell img {
  width: 100%;
  height: 100%;
}
.carousel-main-11 .flickity-viewport {
  height: 500px !important;
}



.carousel-main-12 .carousel__cell {
  height: 500px;
}
.carousel-main-12 .carousel__cell img {
  width: 100%;
  height: 100%;
}
.carousel-main-12 .flickity-viewport {
  height: 500px !important;
}

@media screen and (min-width: 56.25rem) {
  .modal__image-wrapper {
    display: block;
  }

  .form .wrapper {
    margin: 0;
    border-radius: 0;
    border-top-right-radius: 0.5em;
    border-bottom-right-radius: 0.5em;
  }
}
.form--exit {
  color: #fff;
}
.form--exit .wrapper {
  background-color: #d21b1b;
}
.form--exit h6 {
  font-weight: 800;
  text-align: center;
  text-transform: uppercase;
}
.form--exit p {
  font-weight: 600;
  text-align: center;
}
.form--exit .btn {
  background-color: #5e1717;
}

.carousel-position {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 1010;
  display: grid;
  height: 100%;
  background: #000;
  transform: translate(-50%, -50%);
}
.carousel-position .btn {
  position: absolute;
  top: 5%;
  right: 5%;
  z-index: 999;
  width: 1.5rem;
  height: 2rem;
  font-weight: bold;
  color: var(--clr-black);
  background: var(--clr-bronze);
}

.wrapper--carousel {
  display: grid;
  grid-auto-rows: 20vh 60vh;
  place-content: center;
  width: 100%;
}

.carousel-main {
  display: grid;
  align-content: center;
  width: 100vw;
}

.carousel-main .carousel__cell img {
  padding: 0 1rem;
}

.carousel-main-2 .carousel__cell img {
  height: 95%;
}

.carousel-main-3 .carousel__cell {
  height: 500px;
}
.carousel-main-3 .carousel__cell img {
  width: 100%;
  height: 100%;
}
.carousel-main-3 .flickity-viewport {
  height: 500px !important;
}

.carousel-main-4 .carousel__cell {
  height: 500px;
}
.carousel-main-4 .carousel__cell img {
  width: 100%;
  height: 100%;
}
.carousel-main-4 .flickity-viewport {
  height: 500px !important;
}

.carousel-main-5 .carousel__cell {
  height: 500px;
}
.carousel-main-5 .carousel__cell img {
  width: 100%;
  height: 100%;
}
.carousel-main-5 .flickity-viewport {
  height: 500px !important;
}

.carousel-main-6 .carousel__cell {
  height: 500px;
}
.carousel-main-6 .carousel__cell img {
  width: 100%;
  height: 100%;
}
.carousel-main-6 .flickity-viewport {
  height: 500px !important;
}



.carousel-main-0 .carousel__cell {
  height: 500px;
}
.carousel-main-0 .carousel__cell img {
  width: 100%;
  height: 100%;
}
.carousel-main-0 .flickity-viewport {
  height: 500px !important;
}

.carousel-main-7 .carousel__cell {
  height: 500px;
}
.carousel-main-7 .carousel__cell img {
  width: 100%;
  height: 100%;
}
.carousel-main-7 .flickity-viewport {
  height: 500px !important;
}


.carousel-main-8 .carousel__cell {
  height: 500px;
}
.carousel-main-8 .carousel__cell img {
  width: 100%;
  height: 100%;
}
.carousel-main-8 .flickity-viewport {
  height: 500px !important;
}


.carousel-main-9 .carousel__cell {
  height: 500px;
}
.carousel-main-9 .carousel__cell img {
  width: 100%;
  height: 100%;
}
.carousel-main-9 .flickity-viewport {
  height: 500px !important;
}



.carousel-main-10 .carousel__cell {
  height: 500px;
}
.carousel-main-10 .carousel__cell img {
  width: 100%;
  height: 100%;
}
.carousel-main-10 .flickity-viewport {
  height: 500px !important;
}





.carousel__cell {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70%;
  height: auto;
}

.carousel__cell img {
  object-fit: contain;
}

.carousel-nav .flickity-slider {
  display: flex;
  align-items: center;
  height: 20vh;
}

.carousel-nav .flickity-viewport {
  height: 20vh !important;
}

.carousel-nav .carousel__cell {
  width: 100px;
  height: auto;
  margin-left: 0.5rem;
  filter: grayscale(1);
}

.carousel-nav .carousel__cell:hover {
  cursor: pointer;
}

.carousel-nav .carousel__cell.is-nav-selected {
  filter: saturate(4);
}

@media screen and (min-width: 34.375rem) {
  .carousel-position .btn {
    top: 2.5%;
    right: 2.5%;
    font-size: clamp(0.5rem, 0.0789rem + 2.1053vw, 1.5rem);
  }
  .carousel-position .wrapper--carousel {
    grid-auto-rows: 20vh 80vh;
  }

  .carousel__cell img {
    transform: none;
  }

  .carousel-main-2 .flickity-viewport,
.carousel-main-2 .carousel__cell {
    height: 80vh !important;
    overflow: hidden;
  }
}
.section--hero {
  position: relative;
  z-index: 0;
  min-height: 100vh;
}
.section--hero .background-image {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-image: url(../public/images/slider-3/imagem10.JPG);
  filter: blur(6px);
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
}
.section--hero .section-center {
  position: relative;
  z-index: 3;
  align-items: center;
  justify-content: center;
  height: 100vh;
  padding: 2em 0;
}
.section--hero .logo-wrapper {
  justify-content: center;
  width: 50%;
  max-width: 300px;
  margin: 0 0 0.25rem 0;
}
.section--hero h1 {
  max-width: 43.75rem;
  font-weight: 900;
  text-align: center;
  margin-bottom: 0.5rem;
}
.section--hero .subtitle {
  max-width: 60ch;
  margin-bottom: 2rem;
  padding-bottom: 0.5em;
  font-family: var(--ff-montserrat);
  text-align: center;
  color: var(--clr-white);
  letter-spacing: 0.05em;
}

.section--hero::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgba(0, 0, 0, 0.541);
}

.section--diferenciais {
  padding-block: min(10vh, 8rem);
}
.section--diferenciais .section-title {
  margin-bottom: 0.75em;
  font-size: var(--fs-big);
  text-align: center;
}
.section--diferenciais .btn {
  margin: 0 auto;
  margin-top: 1em;
}

.section--slider {
  background-color: var(--clr-bronze);
}
.section--slider h2 {
  padding: 0.75em 0;
  font-size: var(--fs-big);
  text-align: center;
}

.section--mensais {
  color: var(--clr-black);
  text-align: center;
  background-color: var(--clr-bronze);
  padding-block: min(10vh, 8rem);
}
.section--mensais h3 {
  padding: 0.75rem 0;
  font-size: var(--fs-lg);
}
.section--mensais p {
  max-width: 60ch;
  margin: 0 auto;
  font-size: var(--fs-small);
  text-align: justify;
}
.section--mensais .btn {
  margin: 1em auto 0 auto;
}

.section--videos {
  max-height: calc(1920px - 4.375rem);
}

.section--casas {
  padding: 2rem 0;
  text-align: center;
}
.section--casas > h2 {
  margin-bottom: 0.25rem;
  font-size: var(--fs-big);
}
.section--casas > p {
  margin-bottom: 1.5rem;
}
.section--casas .diferenciais__item {
  grid-template-rows: 1fr 6rem;
  cursor: pointer;
  transition: transform 250ms ease-in-out;
}
.section--casas .diferenciais__item:hover {
  transform: scale(1.025);
}
.section--casas img {
  border-radius: 0.5rem;
}

.section--testimonials {
  padding: 2rem 0;
}
.section--testimonials .btn {
  margin: 0 auto;
  margin-top: 2em;
}

.footer {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4em 0;
  background-color: var(--clr-bronze);
}
.footer p {
  display: flex;
  justify-content: center;
  font-size: var(--fs-med);
}

.sticky {
  position: fixed;
  width: 100%;
  background-color: var(--clr-bronze);
}

.alert {
  padding: 0.5em;
  font-size: 1rem;
  font-weight: 300;
  color: #c83030;
  text-align: center;
  background-color: #fff5f5;
  border: 0.125rem solid #c83030;
  border-radius: 0.5rem;
}

.is-hidden {
  display: none;
}

.is-invisible {
  pointer-events: none;
  visibility: hidden;
}

/*# sourceMappingURL=style.css.map */
