/*----------------------------------------------------------------------
    Template Name: Indoconexaog - Architecture and Interiors HTML Template
    Template URI: https://indoconexaog.conexaogtecnologia.com.br
    Author: Lohatheme
    Author URI:  https://indoconexaog.conexaogtecnologia.com.br
    Version: 1.0

    Note: This is Main Style CSS File. */
/*----------------------------------------------------------------------
  CSS INDEX
  ----------------------

    ## Default Style
    ## Common Classes
    ## Repeat Style
    ## Padding Margin
    ## Custom Animation
    ## Header style
    ## Hero Area
    ## Page Banner
    ## About Area
    ## Services Area
    ## Projects Area
    ## Timeline Area
    ## Testimonials Area
    ## CTA Area
    ## Blog Area
    ## About Style 2
    ## Counter Area
    ## Team Area
    ## Contact Area
    ## 404 Area
    ## Main Footer
    ## Intro*/
/* -------------------------------------------------------------- */
/*******************************************************/
/******************* ## Default Style ******************/
/*******************************************************/
* {
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--black-20);
  background: #141414;
  font-weight: 400;
  line-height: 28px;
  font-size: 14px;
  --border-radius: 7px;
  font-family: "Poppins", sans-serif;
  --main-color: #E1B78C;
  --heading-color: #f5f5f5;
  --heading-soft-color: #fdfdfd;
  --secondary-color: #141414;
  --black-120: #101010;
  --black-110: #121212;
  --black-100: #141414;
  --black-90: #2C2C2C;
  --black-80: #434343;
  --black-70: #5B5B5B;
  --black-60: #727272;
  --black-50: #8A8A8A;
  --black-40: #a1a1a1;
  --black-30: #B9B9B9;
  --black-20: #d0d0d0;
  --black-10: #f5f5f5;;
  --blue-10: rgb(115, 163, 221);
  --blue-120: #3C5F89;
  --blue-gradient-130: #0e2644;
  --gradient-color-start: #002f69 ;
  --gradient-color-end: #263B5C ;
  --border-color-10: #D9DFE7;
}

body:has(.light-mode) {
  color: var(--black-90);
}

a {
  color: var(--black-20);
  cursor: pointer;
  outline: none;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  text-decoration: none;
}

a:hover, a:focus, a:visited {
  text-decoration: none;
  outline: none;
}

a:hover {
  color: var(--blue-10);
}

a.hero-btn.wow.fadeInUp.animated:hover {
  color: var(--blue-10)!important;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: var(--heading-color);
}

.text-white h1, .text-white h1 a,
.text-white h2, .text-white h2 a,
.text-white h3, .text-white h3 a,
.text-white h4, .text-white h4 a,
.text-white h5, .text-white h5 a,
.text-white h6, .text-white h6 a,
.text-white .h1, .text-white .h1 a,
.text-white .h2, .text-white .h2 a,
.text-white .h3, .text-white .h3 a,
.text-white .h4, .text-white .h4 a,
.text-white .h5, .text-white .h5 a,
.text-white .h6, .text-white .h6 a {
  color:var(--heading-color);
}

ul, li {
  list-style: none;
  padding: 0;
  margin: 0;
}

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

mark {
  color: var(--secondary-color);
  background: transparent;
  text-decoration: underline;
}



/*======= Input Styles =======*/
input,
select,
textarea,
.nice-select,
.form-control {
  width: 100%;
  height: auto;
  padding: 16px 32px;
  background-color: var(--black-100);
  border: 1px solid var(--black-90);
}

.nice-select {
  font-size: 18px;
  line-height: 1.3;
}

.nice-select:after {
  height: 8px;
  width: 8px;
  right: 25px;
  border-color: var(--heading-color);
}

.nice-select .current {
  font-weight: 500;
  color: var(--heading-color);
}

.nice-select .list {
  width: 100%;
  border-radius: 8px;
}

textarea {
  display: inherit;
  padding-top: 20px;
}

label {
  cursor: pointer;
  font-weight: 500;
  margin-bottom: 5px;
  color: var(--black-20);
}

.form-group {
  position: relative;
  margin-bottom: 20px;
}

input:focus,
button:focus,
.form-control:focus {
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-color: var(--black-90);
}

input[type=search]::-ms-clear {
  display: none;
  width: 0;
  height: 0;
}

input[type=search]::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
  display: none;
}

input[type=checkbox], input[type=radio] {
  height: auto;
  width: auto;
}

.fa, .fas{
  font-weight: lighter;
}

.fa-long-arrow-right:before,
.fa-long-arrow-left:before {
  font-weight: lighter;
}

.fa-star{
  color: var(--main-color);
}

.fa-star:before{
  font-size: 12px;
  font-weight: bolder;
}

button.load-more{
  padding: 16px 32px;
  background: var(--main-color);
  color: var(--black-100);
}

.blue-120-bg{
  background-color: var(--blue-120);
   /* Aplica a cor do texto usando a variável global do tema */
    color: var(--heading-color)!important;
}

.blue-120-bg-gd {

    /* Aplica o fundo usando as variáveis definidas acima */
    background: linear-gradient(45deg, var(--main-color) 0%, var(--gradient-color-end) 100%);
    
    /* Aplica a cor do texto usando a variável global do tema */
    color: var(--heading-color)!important;
}

.black-120-bg{
  background-color: var(--black-120);
}

.black-110-bg{
  background-color: var(--black-110);
}

.black-100-bg{
  background-color: var(--black-100);
}

.black-90-bg{
  background-color: var(--black-90);
}

.black-80-bg{
  background-color: var(--black-80);
}

.black-70-bg{
  background-color: var(--black-70);
}

.black-50-bg{
  background-color: var(--black-60);
}

.black-50-bg{
  background-color: var(--black-50);
}

.black-50-bg{
  background-color: var(--black-40);
}

.black-30-bg{
  background-color: var(--black-20);
}

.black-30-bg{
  background-color: var(--black-20);
}

.black-10-bg{
  background-color: var(--black-10);
}

.theme-btn{
  padding: 16px 32px;
  background:var(--heading-color);
  border-radius: 8px;
  color: var(--black-100);
}
/*******************************************************/
/******************  ## Common Classes *****************/
/*******************************************************/
.page-wrapper {
  position: relative;
  z-index: 9;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  min-width: 300px;
}

@media only screen and (min-width: 1400px) {
  .container {
    max-width: 1410px;
  }
}

.container-fluid {
  padding-left: 0;
  padding-right: 0;
}

@media only screen and (max-width: 375px) {
  .col-small {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.row {
  --bs-gutter-x: 0;
}

.no-gap {
  --bs-gutter-x: 0;
}

@media only screen and (min-width: 1400px) {
  .gap-10 {
    --bs-gutter-x: 10px;
  }
}

@media only screen and (min-width: 1400px) {
  .gap-20 {
    --bs-gutter-x: 20px;
  }
}

@media only screen and (min-width: 1400px) {
  .gap-30 {
    --bs-gutter-x: 30px;
  }
}

@media only screen and (min-width: 1400px) {
  .gap-40 {
    --bs-gutter-x: 40px;
  }
}

@media only screen and (min-width: 1400px) {
  .gap-50 {
    --bs-gutter-x: 50px;
  }
}

@media only screen and (min-width: 1400px) {
  .gap-60 {
    --bs-gutter-x: 60px;
  }
}

@media only screen and (min-width: 1400px) {
  .gap-70 {
    --bs-gutter-x: 70px;
  }
}

@media only screen and (min-width: 1400px) {
  .gap-80 {
    --bs-gutter-x: 80px;
  }
}

@media only screen and (min-width: 1400px) {
  .gap-90 {
    --bs-gutter-x: 90px;
  }
}

@media only screen and (min-width: 1400px) {
  .gap-100 {
    --bs-gutter-x: 100px;
  }
  .gap-128 {
    --bs-gutter-x: 128px;
  }
}

@media only screen and (min-width: 1200px) {
  .row-cols-xl-7>* {
    width: 14.2857%;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }
}

/** Section Title style **/
.section-title {
  position: relative;
}

.section-title .sub-title {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  color: var(--main-color);
  text-transform: uppercase;
  text-align: center;
}

.sub-title {
  color: var(--main-color);
}

@media only screen and (max-width: 575px) {
  .section-title .sub-title {
    font-size: 16px;
  }
}

.section-title h2 span {
  color: var(--main-color);
}

.section-title.text-center .bg-text {
  color:var(--heading-color);
}

/** Button style **/
.theme-btn,
a.theme-btn {
  z-index: 1;
  cursor: pointer;
  overflow: hidden;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  text-align: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  color:var(--heading-color);
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.theme-btn i,
a.theme-btn i {
  margin-right: 10px;
}

@media only screen and (max-width: 479px) {

  .theme-btn,
  a.theme-btn {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/* Read More */
.read-more {
  font-weight: 500;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  text-decoration: underline;
  text-transform: capitalize;
}

.read-more i {
  float: right;
  font-weight: 400;
  margin-left: 7px;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

.read-more:hover {
  color: var(--secondary-color);
  text-decoration: underline;
}

.read-more:hover i {
  margin-left: 10px;
}

/* List style One */
.list-style-one li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.list-style-one li:not(:last-child) {
  margin-bottom: 18px;
}

.list-style-one li:before {
  width: 7px;
  height: 7px;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  content: '';
  margin-top: 8px;
  border-radius: 50%;
  margin-right: 10px;
  background: var(--main-color);
}

/** Social Link One **/
.social-style-one {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-left: -10px;
  margin-right: -10px;
}

.social-style-one a {
  width: 36px;
  height: 36px;
  line-height: 35px;
  text-align: center;
  border-radius: 50%;
  margin-left: 10px;
  margin-right: 10px;
  color: var(--heading-color);
  border: 1px solid var(--heading-color);
}

.social-style-one a:hover {
  color: var(--main-color);
  border-color: var(--main-color);
}

/** Tab Style One **/
ul.nav-pills.tab-style-one{
  margin-left: auto;
  margin-right: auto;
  width: fit-content;
  max-width: 100%;
}

ul.nav-pills.tab-style-one li{
  flex: unset;
}

ul.nav-pills.tab-style-one .nav-link{
  padding: 16px 32px;
}

.tab-style-one .nav-link {
  border-radius: 8px;
  background: transparent;
  border-bottom: 1px solid var(--border-color-10);
}

.light-mode .tab-style-one .nav-link{
  border-bottom: 1px solid var(--black-20);
}

@media only screen and (max-width: 575px) {
  .tab-style-one .nav-link {
    font-size: 16px !important;
  }
}

.tab-style-one .nav-link.active {
  color: var(--main-color);
  background: transparent;
  border-bottom-color: var(--main-color);
}

.light-mode .tab-style-one .nav-link.active{
  color: var(--main-color);
}

/*** Preloader style ** */
.preloader {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #FFFFFF;
  background-repeat: no-repeat;
  background-position: center center;
}

.preloader .custom-loader {
  width: 55px;
  aspect-ratio: 1;
  --c: conic-gradient(from -90deg, #E1B78C 90deg, #0000 0);
  background: var(--c), var(--c);
  background-size: 40% 40%;
  -webkit-animation: preloader 1s infinite alternate;
  animation: preloader 1s infinite alternate;
}

@-webkit-keyframes preloader {

  0%,
  10% {
    background-position: 0 0, 0 calc(100%/3);
  }

  50% {
    background-position: 0 0, calc(100%/3) calc(100%/3);
  }

  90%,
  100% {
    background-position: 0 0, calc(100%/3) 0;
  }
}

@keyframes preloader {

  0%,
  10% {
    background-position: 0 0, 0 calc(100%/3);
  }

  50% {
    background-position: 0 0, calc(100%/3) calc(100%/3);
  }

  90%,
  100% {
    background-position: 0 0, calc(100%/3) 0;
  }
}

/* =================================================================
   PAGINAÇÃO - VERSÃO 2: ESTILO CORRIGIDO E ELEGANTE
================================================================= */

/* --- Container Principal da Paginação --- */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px; /* Espaçamento moderno entre os botões */
}

/* Remove estilos padrão da lista <li>, se houver */
.pagination li {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* --- ESTILO BASE UNIFICADO para TODOS os itens (links <a> e o <span> atual) --- */
.pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    min-width: 44px; /* Largura mínima para botões numéricos */
    padding: 0 15px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    
    background-color: transparent;
    color: var(--black-40); /* Cor mais suave para itens inativos */
    border: 1px solid var(--black-90);
    border-radius: 22px; /* Bordas arredondadas no estilo "pílula" */
    
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* Links de texto (Próximo/Anterior) devem ter largura automática */
.pagination .prev,
.pagination .next {
    width: auto;
    padding: 0 20px;
}

/* --- EFEITO HOVER - Aplica-se apenas aos links <a> --- */
.pagination a.page-numbers:hover {
    background-color: var(--main-color);
    border-color: var(--main-color);
    color: var(--heading-color);
}

/* --- ITEM ATIVO - Aplica-se ao <span> com a classe .current --- */
.pagination .page-numbers.current {
    background-color: var(--main-color);
    border-color: var(--main-color);
    color: var(--heading-color);
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    cursor: default;
}

/* --- Adaptação para Light Mode --- */
.light-mode .pagination .page-numbers {
    color: var(--black-70);
    border-color: #ddd;
}

.light-mode .pagination a.page-numbers:hover {
    color: #fff;
}

.light-mode .pagination .page-numbers.current {
    color: #fff;
}
/*** Scroll Top style ***/
.scroll-top {
  position: fixed;
  bottom: 25px;
  right: 0;
  width: 40px;
  height: 40px;
  z-index: 99;
  color: var(--heading-soft-color);
  display: none;
  font-size: 14px;
  cursor: pointer;
  line-height: 40px;
  border-radius: 50px;
  background: var(--main-color);
  -webkit-animation: pulse 2s infinite;
  animation: pulse 2s infinite;
}

/* Textvar(--heading-color) */
.text-white *, .text-white a,
.text-white .read-more,
.text-white .list-style-one li,
.text-white .list-style-one li:before,
.text-white .counter-text-wrap .count-text,
.text-white .hotline .content a:not(:hover) {
  color:var(--heading-color);
}

/*Project Filter*/
.filter-btns-one {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
}

.filter-btns-one li {
  cursor: pointer;
  font-size: 16px;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  font-weight: 700;
  padding: 8px 15px;
  margin: 0 10px 20px;
  color: var(--main-color);
  text-transform: uppercase;
  border: 1px solid var(--border-color-10);
}

.filter-btns-one li.current {
  color:var(--heading-color);
  background: var(--main-color);
  border-color: var(--main-color);
}

/* Position */
.rel {
  position: relative;
}

.z-0 {
  z-index: 0;
}

.z-1 {
  z-index: 1;
}

.z-2 {
  z-index: 2;
}

.z-3 {
  z-index: 3;
}

.z-4 {
  z-index: 4;
}

.z-5 {
  z-index: 5;
}

.overlay {
  z-index: 1;
  position: relative;
}

.overlay::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  z-index: -1;
  top: 0;
  left: 0;
  opacity: 0.3;
  background-color: var(--heading-color);
}

/* Backgruond Size */
.bgs-cover {
  background-size: cover;
  background-position: center;
}

/* Border Radius */
.br-5 {
  border-radius: 5px;
}

.br-10 {
  border-radius: 10px;
}

.br-15 {
  border-radius: 15px;
}

.br-20 {
  border-radius: 20px;
}

.br-25 {
  border-radius: 25px;
}

.br-30 {
  border-radius: 30px;
}

/*******************************************************/
/******************* ## Repeat Style ******************/
/*******************************************************/
.heading,
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
.tab-style-one .nav-link,
h6,
.h6 {  
  color: var(--heading-color);
  font-family: "Poppins", sans-serif;
}

.light-mode .heading,
.light-mode  h1,
.light-mode .h1,
.light-mode h2,
.light-mode .h2,
.light-mode h3,
.light-mode .h3,
.light-mode h4,
.light-mode .h4,
.light-mode h5,
.light-mode .h5,
.light-mode .tab-style-one .nav-link,
.light-mode h6,
.light-mode .h6 {  
  color: var(--black-100);
}

.heading,
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4{
  font-weight: 800;
}



/*.light-mode h1, .light-mode .h1,
.light-mode h2, .light-mode .h2 {
  text-shadow: 2px 0 var(--black-100);
}*/

@media only screen and (min-width: 1600px) {
.big-text{
    font-size: 105px;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: -10px;
  }
}

@media (min-width: 1400px) and (max-width: 1599px) {
  .big-text{
    font-size: 95px;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: -10px;
  }
}

@media only screen and (min-width: 1400px) {
  h1, .h1 {
      line-height: 1.2;
      font-size: 35px;
      letter-spacing:  -1px;
    }

    h2, .h2 {
      line-height: 1.2;
      font-size: 30px;
      letter-spacing:  0px;
    }

    h3, .h3 {
      line-height: 1.2;
      font-size: 23px;
      letter-spacing:  0px;
    }

    h4, .h4{
      line-height: 1.32;
      font-size: 17px;
    }
    h5, .h5{
      line-height: 1.32;
      font-size: 13px;
    }

    h6, .h6 {
      line-height: 1.5;

    }

}

@media only screen and (max-width: 1399px) {
  .big-text{
    font-size: 73px;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: -5px;
  }

  h1, .h1 {
    line-height: 1.2;
    font-size: 35px;
    letter-spacing:  -1px;
  }

  h2, .h2 {
    line-height: 1.2;
    font-size: 30px;
    letter-spacing:  0px;
  }

  h3, .h3 {
    line-height: 1.2;
    font-size: 23px;
    letter-spacing:  0px;
  }

  h4, .h4{
    line-height: 1.32;
    font-size: 17px;
  }
  h5, .h5{
    line-height: 1.32;
    font-size: 13px;
  }

  h6, .h6 {
    line-height: 1.5;

  }
}

@media only screen and (max-width: 1199px) {
  .big-text{
    font-size: 43px;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing:  -1px;
  }

  h1, .h1 {
    line-height: 1.2;
    font-size: 33px;
    letter-spacing:  -1px;
  }

  h2, .h2 {
    line-height: 1.2;
    font-size: 28px;
    letter-spacing:  0px;
  }

}

@media only screen and (max-width: 991px) {
  .big-text{
    font-size: 41px;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing:  -1px;
  }

  h1, .h1 {
    line-height: 1.2;
    font-size: 35px;
    letter-spacing:  0px;
    text-shadow: unset;
  }

  h2, .h2 {
    line-height: 1.2;
    font-size: 27px;
    letter-spacing:  0px;
    text-shadow: unset;
  }

  .light-mode h1, .light-mode .h1,
  .light-mode h2, .light-mode .h2 {
    text-shadow: unset;
  }

}


@media only screen and (max-width: 767px) {

  h1, .h1 {
    line-height: 1.2;
    font-size: 35px;
    letter-spacing:  0px;
  }

  h2, .h2 {
    line-height: 1.2;
    font-size: 25px;
    letter-spacing:  0px;
  }

  h3, .h3{
    line-height: 1.32;
    font-size: 23px;
  }

  h4, .h4 {
    line-height: 1.5;
    font-size: 19px;
  }

  h5, .h5 {
    line-height: 1.5;
    font-size: 15px;
  }
}

/*******************************************************/
/************** ## Padding Margin Spacing *************/
/*******************************************************/
/* Padding Around */
.p-5 {
  padding: 5px !important;
}

.p-10 {
  padding: 10px;
}

.p-15 {
  padding: 15px;
}

.p-20 {
  padding: 20px;
}

.p-25 {
  padding: 25px;
}

.p-30 {
  padding: 30px;
}

.p-35 {
  padding: 35px;
}

.p-40 {
  padding: 40px;
}

.p-45 {
  padding: 45px;
}

.p-50 {
  padding: 50px;
}

.p-55 {
  padding: 55px;
}

.p-60 {
  padding: 60px;
}

.p-65 {
  padding: 65px;
}

.p-70 {
  padding: 70px;
}

.p-75 {
  padding: 75px;
}

.p-80 {
  padding: 80px;
}

.p-85 {
  padding: 85px;
}

.p-90 {
  padding: 90px;
}

.p-95 {
  padding: 95px;
}

.p-100 {
  padding: 100px;
}

.p-105 {
  padding: 105px;
}

.p-110 {
  padding: 110px;
}

.p-115 {
  padding: 115px;
}

.p-120 {
  padding: 120px;
}

.p-125 {
  padding: 125px;
}

.p-130 {
  padding: 130px;
}

.p-135 {
  padding: 135px;
}

.p-140 {
  padding: 140px;
}

.p-145 {
  padding: 145px;
}

.p-150 {
  padding: 150px;
}

.p-155 {
  padding: 155px;
}

.p-160 {
  padding: 160px;
}

.p-165 {
  padding: 165px;
}

.p-170 {
  padding: 170px;
}

.p-175 {
  padding: 175px;
}

.p-180 {
  padding: 180px;
}

.p-185 {
  padding: 185px;
}

.p-190 {
  padding: 190px;
}

.p-195 {
  padding: 195px;
}

.p-200 {
  padding: 200px;
}

.p-205 {
  padding: 205px;
}

.p-210 {
  padding: 210px;
}

.p-215 {
  padding: 215px;
}

.p-220 {
  padding: 220px;
}

.p-225 {
  padding: 225px;
}

.p-230 {
  padding: 230px;
}

.p-235 {
  padding: 235px;
}

.p-240 {
  padding: 240px;
}

.p-245 {
  padding: 245px;
}

.p-250 {
  padding: 250px;
}

/* Padding Top */
.pt-5,
.py-5 {
  padding-top: 5px !important;
}

.pt-10,
.py-10 {
  padding-top: 10px;
}

.pt-15,
.py-15 {
  padding-top: 15px;
}

.pt-20,
.py-20 {
  padding-top: 20px;
}

.pt-25,
.py-25 {
  padding-top: 25px;
}

.pt-30,
.py-30 {
  padding-top: 30px;
}

.pt-35,
.py-35 {
  padding-top: 35px;
}

.pt-40,
.py-40 {
  padding-top: 40px;
}

.pt-45,
.py-45 {
  padding-top: 45px;
}

.pt-50,
.py-50 {
  padding-top: 50px;
}

.pt-55,
.py-55 {
  padding-top: 55px;
}

.pt-60,
.py-60 {
  padding-top: 60px;
}

.pt-65,
.py-65 {
  padding-top: 65px;
}

.pt-70,
.py-70 {
  padding-top: 70px;
}

.pt-75,
.py-75 {
  padding-top: 75px;
}

.pt-80,
.py-80 {
  padding-top: 80px;
}

.pt-85,
.py-85 {
  padding-top: 85px;
}

.pt-90,
.py-90 {
  padding-top: 90px;
}

.pt-95,
.py-95 {
  padding-top: 95px;
}

.pt-100,
.py-100 {
  padding-top: 100px;
}

.pt-105,
.py-105 {
  padding-top: 105px;
}

.pt-110,
.py-110 {
  padding-top: 110px;
}

.pt-115,
.py-115 {
  padding-top: 115px;
}

.pt-120,
.py-120 {
  padding-top: 120px;
}

.pt-125,
.py-125 {
  padding-top: 125px;
}

.pt-128{
  padding-top: 128px;
}

.py-128{
  padding:  128px 0;
}

.pt-130,
.py-130 {
  padding-top: 130px;
}

.pt-135,
.py-135 {
  padding-top: 135px;
}

.pt-140,
.py-140 {
  padding-top: 140px;
}

.pt-145,
.py-145 {
  padding-top: 145px;
}

.pt-150,
.py-150 {
  padding-top: 150px;
}

.pt-155,
.py-155 {
  padding-top: 155px;
}

.pt-160,
.py-160 {
  padding-top: 160px;
}

.pt-165,
.py-165 {
  padding-top: 165px;
}

.pt-170,
.py-170 {
  padding-top: 170px;
}

.pt-175,
.py-175 {
  padding-top: 175px;
}

.pt-180,
.py-180 {
  padding-top: 180px;
}

.pt-185,
.py-185 {
  padding-top: 185px;
}

.pt-190,
.py-190 {
  padding-top: 190px;
}

.pt-195,
.py-195 {
  padding-top: 195px;
}

.pt-200,
.py-200 {
  padding-top: 200px;
}

.pt-205,
.py-205 {
  padding-top: 205px;
}

.pt-210,
.py-210 {
  padding-top: 210px;
}

.pt-215,
.py-215 {
  padding-top: 215px;
}

.pt-220,
.py-220 {
  padding-top: 220px;
}

.pt-225,
.py-225 {
  padding-top: 225px;
}

.pt-230,
.py-230 {
  padding-top: 230px;
}

.pt-235,
.py-235 {
  padding-top: 235px;
}

.pt-240,
.py-240 {
  padding-top: 240px;
}

.pt-245,
.py-245 {
  padding-top: 245px;
}

.pt-250,
.py-250 {
  padding-top: 250px;
}

.pt-324{
  padding-top: 324px;
}
/* Padding Bottom */
.pb-5,
.py-5 {
  padding-bottom: 5px !important;
}

.pb-10,
.py-10 {
  padding-bottom: 10px;
}

.pb-15,
.py-15 {
  padding-bottom: 15px;
}

.pb-20,
.py-20 {
  padding-bottom: 20px;
}

.pb-25,
.py-25 {
  padding-bottom: 25px;
}

.pb-30,
.py-30 {
  padding-bottom: 30px;
}

.pb-35,
.py-35 {
  padding-bottom: 35px;
}

.pb-40,
.py-40 {
  padding-bottom: 40px;
}

.pb-45,
.py-45 {
  padding-bottom: 45px;
}

.pb-50,
.py-50 {
  padding-bottom: 50px;
}

.pb-55,
.py-55 {
  padding-bottom: 55px;
}

.pb-60,
.py-60 {
  padding-bottom: 60px;
}

.pb-64,
.py-64 {
  padding-bottom: 64px;
}

.pb-64{
  padding-bottom: 64px;
}

.pb-65,
.py-65 {
  padding-bottom: 65px;
}

.pb-70,
.py-70 {
  padding-bottom: 70px;
}

.pb-75,
.py-75 {
  padding-bottom: 75px;
}

.pb-80,
.py-80 {
  padding-bottom: 80px;
}

.pb-85,
.py-85 {
  padding-bottom: 85px;
}

.pb-90,
.py-90 {
  padding-bottom: 90px;
}

.pb-95,
.py-95 {
  padding-bottom: 95px;
}

.pb-100,
.py-100 {
  padding-bottom: 100px;
}

.pb-105,
.py-105 {
  padding-bottom: 105px;
}

.pb-110,
.py-110 {
  padding-bottom: 110px;
}

.pb-115,
.py-115 {
  padding-bottom: 115px;
}

.pb-120,
.py-120 {
  padding-bottom: 120px;
}

.pb-125,
.py-125 {
  padding-bottom: 125px;
}

.pb-128{
  padding-bottom: 128px;
}

.pb-130,
.py-130 {
  padding-bottom: 130px;
}

.pb-135,
.py-135 {
  padding-bottom: 135px;
}

.pb-140,
.py-140 {
  padding-bottom: 140px;
}

.pb-145,
.py-145 {
  padding-bottom: 145px;
}

.pb-150,
.py-150 {
  padding-bottom: 150px;
}

.pb-155,
.py-155 {
  padding-bottom: 155px;
}

.pb-160,
.py-160 {
  padding-bottom: 160px;
}

.pb-165,
.py-165 {
  padding-bottom: 165px;
}

.pb-170,
.py-170 {
  padding-bottom: 170px;
}

.pb-175,
.py-175 {
  padding-bottom: 175px;
}

.pb-180,
.py-180 {
  padding-bottom: 180px;
}

.pb-185,
.py-185 {
  padding-bottom: 185px;
}

.pb-190,
.py-190 {
  padding-bottom: 190px;
}

.pb-195,
.py-195 {
  padding-bottom: 195px;
}

.pb-200,
.py-200 {
  padding-bottom: 200px;
}

.pb-205,
.py-205 {
  padding-bottom: 205px;
}

.pb-210,
.py-210 {
  padding-bottom: 210px;
}

.pb-215,
.py-215 {
  padding-bottom: 215px;
}

.pb-220,
.py-220 {
  padding-bottom: 220px;
}

.pb-225,
.py-225 {
  padding-bottom: 225px;
}

.pb-230,
.py-230 {
  padding-bottom: 230px;
}

.pb-235,
.py-235 {
  padding-bottom: 235px;
}

.pb-240,
.py-240 {
  padding-bottom: 240px;
}

.pb-245,
.py-245 {
  padding-bottom: 245px;
}

.pb-250,
.py-250 {
  padding-bottom: 250px;
}

.pr-64{
  padding-right: 64px;
}

.pr-128{
  padding-right: 128px;
}

.pl-64{
  padding-left: 64px;
}

.pl-128{
  padding-right: 128px;
}

/* Margin Top */
.mt-5,
.my-5 {
  margin-top: 5px !important;
}

.mt-10,
.my-10 {
  margin-top: 10px;
}

.mt-15,
.my-15 {
  margin-top: 15px;
}

.mt-20,
.my-20 {
  margin-top: 20px;
}

.mt-25,
.my-25 {
  margin-top: 25px;
}

.mt-30,
.my-30 {
  margin-top: 30px;
}

.mt-35,
.my-35 {
  margin-top: 35px;
}

.mt-40,
.my-40 {
  margin-top: 40px;
}

.mt-45,
.my-45 {
  margin-top: 45px;
}

.mt-50,
.my-50 {
  margin-top: 50px;
}

.mt-55,
.my-55 {
  margin-top: 55px;
}

.mt-60,
.my-60 {
  margin-top: 60px;
}

.mt-64
.my-64{
  margin-top: 64px;
}

.mt-65,
.my-65 {
  margin-top: 65px;
}

.mt-70,
.my-70 {
  margin-top: 70px;
}

.mt-75,
.my-75 {
  margin-top: 75px;
}

.mt-80,
.my-80 {
  margin-top: 80px;
}

.mt-85,
.my-85 {
  margin-top: 85px;
}

.mt-90,
.my-90 {
  margin-top: 90px;
}

.mt-92{
  margin-top: 92px;
}

.mt-95,
.my-95 {
  margin-top: 95px;
}

.mt-96,
.my-96 {
  margin-top: 96px;
}


.mt-100,
.my-100 {
  margin-top: 100px;
}

.mt-105,
.my-105 {
  margin-top: 105px;
}

.mt-110,
.my-110 {
  margin-top: 110px;
}

.mt-115,
.my-115 {
  margin-top: 115px;
}

.mt-120,
.my-120 {
  margin-top: 120px;
}

.mt-125,
.my-125 {
  margin-top: 125px;
}

.mt-130,
.my-130 {
  margin-top: 130px;
}

.mt-135,
.my-135 {
  margin-top: 135px;
}

.mt-140,
.my-140 {
  margin-top: 140px;
}

.mt-145,
.my-145 {
  margin-top: 145px;
}

.mt-150,
.my-150 {
  margin-top: 150px;
}

.mt-155,
.my-155 {
  margin-top: 155px;
}

.mt-160,
.my-160 {
  margin-top: 160px;
}

.mt-165,
.my-165 {
  margin-top: 165px;
}

.mt-170,
.my-170 {
  margin-top: 170px;
}

.mt-175,
.my-175 {
  margin-top: 175px;
}

.mt-180,
.my-180 {
  margin-top: 180px;
}

.mt-185,
.my-185 {
  margin-top: 185px;
}

.mt-190,
.my-190 {
  margin-top: 190px;
}

.mt-195,
.my-195 {
  margin-top: 195px;
}

.mt-200,
.my-200 {
  margin-top: 200px;
}

.mt-205,
.my-205 {
  margin-top: 205px;
}

.mt-210,
.my-210 {
  margin-top: 210px;
}

.mt-215,
.my-215 {
  margin-top: 215px;
}

.mt-220,
.my-220 {
  margin-top: 220px;
}

.mt-225,
.my-225 {
  margin-top: 225px;
}

.mt-230,
.my-230 {
  margin-top: 230px;
}

.mt-235,
.my-235 {
  margin-top: 235px;
}

.mt-240,
.my-240 {
  margin-top: 240px;
}

.mt-245,
.my-245 {
  margin-top: 245px;
}

.mt-250,
.my-250 {
  margin-top: 250px;
}

/* Margin Bottom */
.mb-0{
  margin-bottom: 0;
}

.mb-5,
.my-5 {
  margin-bottom: 5px !important;
}

.mb-10,
.my-10 {
  margin-bottom: 10px;
}

.mb-15,
.my-15 {
  margin-bottom: 15px;
}

.mb-16{
  margin-bottom: 16px;
}

.mb-20,
.my-20 {
  margin-bottom: 20px;
}

.mb-25,
.my-25 {
  margin-bottom: 25px;
}

.mb-30,
.my-30 {
  margin-bottom: 30px;
}

.mb-32{
  margin-bottom: 32px;
}

.mb-35,
.my-35 {
  margin-bottom: 35px;
}

.mb-40,
.my-40 {
  margin-bottom: 40px;
}

.mb-45,
.my-45 {
  margin-bottom: 45px;
}

.mb-48,
.my-48{
  margin-bottom: 48px;
}

.mb-50,
.my-50 {
  margin-bottom: 50px;
}

.mb-55,
.my-55 {
  margin-bottom: 55px;
}

.mb-60,
.my-60 {
  margin-bottom: 60px;
}

.mb-64,
.my-64{
  margin-bottom: 64px;
}

.mb-65,
.my-65 {
  margin-bottom: 65px;
}

.mb-70,
.my-70 {
  margin-bottom: 70px;
}

.mb-75,
.my-75 {
  margin-bottom: 75px;
}

.mb-80,
.my-80 {
  margin-bottom: 80px;
}

.mb-85,
.my-85 {
  margin-bottom: 85px;
}

.mb-90,
.my-90 {
  margin-bottom: 90px;
}

.mb-95,
.my-95 {
  margin-bottom: 95px;
}

.mb-96{
  margin-bottom: 96px;
}

.mb-100,
.my-100 {
  margin-bottom: 100px;
}

.mb-105,
.my-105 {
  margin-bottom: 105px;
}

.mb-110,
.my-110 {
  margin-bottom: 110px;
}

.mb-115,
.my-115 {
  margin-bottom: 115px;
}

.mb-120,
.my-120 {
  margin-bottom: 120px;
}

.mb-125,
.my-125 {
  margin-bottom: 125px;
}

.mb-128{
  margin-bottom: 128px;
}

.mb-130,
.my-130 {
  margin-bottom: 130px;
}

.mb-135,
.my-135 {
  margin-bottom: 135px;
}

.mb-140,
.my-140 {
  margin-bottom: 140px;
}

.mb-145,
.my-145 {
  margin-bottom: 145px;
}

.mb-150,
.my-150 {
  margin-bottom: 150px;
}

.mb-155,
.my-155 {
  margin-bottom: 155px;
}

.mb-160,
.my-160 {
  margin-bottom: 160px;
}

.mb-165,
.my-165 {
  margin-bottom: 165px;
}

.mb-170,
.my-170 {
  margin-bottom: 170px;
}

.mb-175,
.my-175 {
  margin-bottom: 175px;
}

.mb-180,
.my-180 {
  margin-bottom: 180px;
}

.mb-185,
.my-185 {
  margin-bottom: 185px;
}

.mb-190,
.my-190 {
  margin-bottom: 190px;
}

.mb-195,
.my-195 {
  margin-bottom: 195px;
}

.mb-200,
.my-200 {
  margin-bottom: 200px;
}

.mb-205,
.my-205 {
  margin-bottom: 205px;
}

.mb-210,
.my-210 {
  margin-bottom: 210px;
}

.mb-215,
.my-215 {
  margin-bottom: 215px;
}

.mb-220,
.my-220 {
  margin-bottom: 220px;
}

.mb-225,
.my-225 {
  margin-bottom: 225px;
}

.mb-230,
.my-230 {
  margin-bottom: 230px;
}

.mb-235,
.my-235 {
  margin-bottom: 235px;
}

.mb-240,
.my-240 {
  margin-bottom: 240px;
}

.mb-245,
.my-245 {
  margin-bottom: 245px;
}

.mb-250,
.my-250 {
  margin-bottom: 250px;
}

/* Margin Top */
.mt-16{
  margin-top: 16px!important;
}

.mt-32{
  margin-top: 32px;
}

/* Margin Right */
.mr-64{
  margin-right: 64px;
}

.mr-128{
  margin-right: 128px;
}

/* Margin Left */
.ml-64{
  margin-left: 64px;
}
/*******************************************************/
/***************** ## Custom Animation ****************/
/*******************************************************/
/* Animation Delay */
.delay-1-0s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.delay-2-0s {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}

.delay-0-1s {
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
}

.delay-0-2s {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

.delay-0-3s {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}

.delay-0-4s {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

.delay-0-5s {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.delay-0-6s {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}

.delay-0-7s {
  -webkit-animation-delay: 0.7s;
  animation-delay: 0.7s;
}

.delay-0-8s {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
}

.delay-0-9s {
  -webkit-animation-delay: 0.9s;
  animation-delay: 0.9s;
}

.delay-1-1s {
  -webkit-animation-delay: 1.1s;
  animation-delay: 1.1s;
}

.delay-1-2s {
  -webkit-animation-delay: 1.2s;
  animation-delay: 1.2s;
}

.delay-1-3s {
  -webkit-animation-delay: 1.3s;
  animation-delay: 1.3s;
}

.delay-1-4s {
  -webkit-animation-delay: 1.4s;
  animation-delay: 1.4s;
}

.delay-1-5s {
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s;
}

.delay-1-6s {
  -webkit-animation-delay: 1.6s;
  animation-delay: 1.6s;
}

.delay-1-7s {
  -webkit-animation-delay: 1.7s;
  animation-delay: 1.7s;
}

.delay-1-8s {
  -webkit-animation-delay: 1.8s;
  animation-delay: 1.8s;
}

.delay-1-9s {
  -webkit-animation-delay: 1.9s;
  animation-delay: 1.9s;
}

/* Menu Sticky */
@-webkit-keyframes sticky {
  0% {
    top: -100px;
  }

  100% {
    top: 0;
  }
}

@keyframes sticky {
  0% {
    top: -100px;
  }

  100% {
    top: 0;
  }
}

/* Hero Circle */
@-webkit-keyframes upDownLeft {

  0%,
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
  }

  25%,
  75% {
    -webkit-transform: translate(0px, 50px);
    transform: translate(0px, 50px);
  }

  50% {
    -webkit-transform: translate(-50px, 50px);
    transform: translate(-50px, 50px);
  }
}

@keyframes upDownLeft {

  0%,
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
  }

  25%,
  75% {
    -webkit-transform: translate(0px, 50px);
    transform: translate(0px, 50px);
  }

  50% {
    -webkit-transform: translate(-50px, 50px);
    transform: translate(-50px, 50px);
  }
}

@-webkit-keyframes shapeAnimationOne {
  0% {
    -webkit-transform: translate(0px, 0px) rotate(0deg);
    transform: translate(0px, 0px) rotate(0deg);
  }

  25% {
    -webkit-transform: translate(0px, 150px) rotate(90deg);
    transform: translate(0px, 150px) rotate(90deg);
  }

  50% {
    -webkit-transform: translate(150px, 150px) rotate(180deg);
    transform: translate(150px, 150px) rotate(180deg);
  }

  75% {
    -webkit-transform: translate(150px, 0px) rotate(270deg);
    transform: translate(150px, 0px) rotate(270deg);
  }

  100% {
    -webkit-transform: translate(0px, 0px) rotate(360deg);
    transform: translate(0px, 0px) rotate(360deg);
  }
}

@keyframes shapeAnimationOne {
  0% {
    -webkit-transform: translate(0px, 0px) rotate(0deg);
    transform: translate(0px, 0px) rotate(0deg);
  }

  25% {
    -webkit-transform: translate(0px, 150px) rotate(90deg);
    transform: translate(0px, 150px) rotate(90deg);
  }

  50% {
    -webkit-transform: translate(150px, 150px) rotate(180deg);
    transform: translate(150px, 150px) rotate(180deg);
  }

  75% {
    -webkit-transform: translate(150px, 0px) rotate(270deg);
    transform: translate(150px, 0px) rotate(270deg);
  }

  100% {
    -webkit-transform: translate(0px, 0px) rotate(360deg);
    transform: translate(0px, 0px) rotate(360deg);
  }
}

@-webkit-keyframes shapeAnimationTwo {
  0% {
    -webkit-transform: translate(0px, 0px) rotate(0deg);
    transform: translate(0px, 0px) rotate(0deg);
  }

  25% {
    -webkit-transform: translate(-150px, 0px) rotate(270deg);
    transform: translate(-150px, 0px) rotate(270deg);
  }

  50% {
    -webkit-transform: translate(-150px, 150px) rotate(180deg);
    transform: translate(-150px, 150px) rotate(180deg);
  }

  75% {
    -webkit-transform: translate(0px, 150px) rotate(90deg);
    transform: translate(0px, 150px) rotate(90deg);
  }

  100% {
    -webkit-transform: translate(0px, 0px) rotate(360deg);
    transform: translate(0px, 0px) rotate(360deg);
  }
}

@keyframes shapeAnimationTwo {
  0% {
    -webkit-transform: translate(0px, 0px) rotate(0deg);
    transform: translate(0px, 0px) rotate(0deg);
  }

  25% {
    -webkit-transform: translate(-150px, 0px) rotate(270deg);
    transform: translate(-150px, 0px) rotate(270deg);
  }

  50% {
    -webkit-transform: translate(-150px, 150px) rotate(180deg);
    transform: translate(-150px, 150px) rotate(180deg);
  }

  75% {
    -webkit-transform: translate(0px, 150px) rotate(90deg);
    transform: translate(0px, 150px) rotate(90deg);
  }

  100% {
    -webkit-transform: translate(0px, 0px) rotate(360deg);
    transform: translate(0px, 0px) rotate(360deg);
  }
}

@-webkit-keyframes shapeAnimationThree {
  0% {
    -webkit-transform: translate(0px, 0px) rotate(0deg);
    transform: translate(0px, 0px) rotate(0deg);
  }

  25% {
    -webkit-transform: translate(50px, 150px) rotate(90deg);
    transform: translate(50px, 150px) rotate(90deg);
  }

  50% {
    -webkit-transform: translate(150px, 150px) rotate(180deg);
    transform: translate(150px, 150px) rotate(180deg);
  }

  75% {
    -webkit-transform: translate(150px, 50px) rotate(270deg);
    transform: translate(150px, 50px) rotate(270deg);
  }

  100% {
    -webkit-transform: translate(0px, 0px) rotate(360deg);
    transform: translate(0px, 0px) rotate(360deg);
  }
}

@keyframes shapeAnimationThree {
  0% {
    -webkit-transform: translate(0px, 0px) rotate(0deg);
    transform: translate(0px, 0px) rotate(0deg);
  }

  25% {
    -webkit-transform: translate(50px, 150px) rotate(90deg);
    transform: translate(50px, 150px) rotate(90deg);
  }

  50% {
    -webkit-transform: translate(150px, 150px) rotate(180deg);
    transform: translate(150px, 150px) rotate(180deg);
  }

  75% {
    -webkit-transform: translate(150px, 50px) rotate(270deg);
    transform: translate(150px, 50px) rotate(270deg);
  }

  100% {
    -webkit-transform: translate(0px, 0px) rotate(360deg);
    transform: translate(0px, 0px) rotate(360deg);
  }
}

@-webkit-keyframes shapeAnimationFour {
  0% {
    -webkit-transform: translate(0px, 0px) rotate(0deg);
    transform: translate(0px, 0px) rotate(0deg);
  }

  25% {
    -webkit-transform: translate(-150px -50px) rotate(90deg);
    transform: translate(-150px -50px) rotate(90deg);
  }

  50% {
    -webkit-transform: translate(-150px, -150px) rotate(180deg);
    transform: translate(-150px, -150px) rotate(180deg);
  }

  75% {
    -webkit-transform: translate(-50px, -150px) rotate(270deg);
    transform: translate(-50px, -150px) rotate(270deg);
  }

  100% {
    -webkit-transform: translate(0px, 0px) rotate(360deg);
    transform: translate(0px, 0px) rotate(360deg);
  }
}

@keyframes shapeAnimationFour {
  0% {
    -webkit-transform: translate(0px, 0px) rotate(0deg);
    transform: translate(0px, 0px) rotate(0deg);
  }

  25% {
    -webkit-transform: translate(-150px -50px) rotate(90deg);
    transform: translate(-150px -50px) rotate(90deg);
  }

  50% {
    -webkit-transform: translate(-150px, -150px) rotate(180deg);
    transform: translate(-150px, -150px) rotate(180deg);
  }

  75% {
    -webkit-transform: translate(-50px, -150px) rotate(270deg);
    transform: translate(-50px, -150px) rotate(270deg);
  }

  100% {
    -webkit-transform: translate(0px, 0px) rotate(360deg);
    transform: translate(0px, 0px) rotate(360deg);
  }
}

@-webkit-keyframes shapeAnimationFive {
  0% {
    -webkit-transform: translate(0px, 0px) rotate(0deg);
    transform: translate(0px, 0px) rotate(0deg);
  }

  25% {
    -webkit-transform: translate(-100px -100px) rotate(90deg);
    transform: translate(-100px -100px) rotate(90deg);
  }

  50% {
    -webkit-transform: translate(100px, 50px) rotate(180deg);
    transform: translate(100px, 50px) rotate(180deg);
  }

  75% {
    -webkit-transform: translate(-100px, 150px) rotate(270deg);
    transform: translate(-100px, 150px) rotate(270deg);
  }

  100% {
    -webkit-transform: translate(0px, 0px) rotate(360deg);
    transform: translate(0px, 0px) rotate(360deg);
  }
}

@keyframes shapeAnimationFive {
  0% {
    -webkit-transform: translate(0px, 0px) rotate(0deg);
    transform: translate(0px, 0px) rotate(0deg);
  }

  25% {
    -webkit-transform: translate(-100px -100px) rotate(90deg);
    transform: translate(-100px -100px) rotate(90deg);
  }

  50% {
    -webkit-transform: translate(100px, 50px) rotate(180deg);
    transform: translate(100px, 50px) rotate(180deg);
  }

  75% {
    -webkit-transform: translate(-100px, 150px) rotate(270deg);
    transform: translate(-100px, 150px) rotate(270deg);
  }

  100% {
    -webkit-transform: translate(0px, 0px) rotate(360deg);
    transform: translate(0px, 0px) rotate(360deg);
  }
}

@-webkit-keyframes down-up-one {
  0% {
    -webkit-transform: rotateX(0deg) translateY(0px);
    transform: rotateX(0deg) translateY(0px);
  }

  50% {
    -webkit-transform: rotateX(0deg) translateY(25px);
    transform: rotateX(0deg) translateY(25px);
  }

  100% {
    -webkit-transform: rotateX(0deg) translateY(0px);
    transform: rotateX(0deg) translateY(0px);
  }
}

@keyframes down-up-one {
  0% {
    -webkit-transform: rotateX(0deg) translateY(0px);
    transform: rotateX(0deg) translateY(0px);
  }

  50% {
    -webkit-transform: rotateX(0deg) translateY(25px);
    transform: rotateX(0deg) translateY(25px);
  }

  100% {
    -webkit-transform: rotateX(0deg) translateY(0px);
    transform: rotateX(0deg) translateY(0px);
  }
}

@-webkit-keyframes down-up-two {
  0% {
    -webkit-transform: rotateX(0deg) translate(0px);
    transform: rotateX(0deg) translate(0px);
  }

  50% {
    -webkit-transform: rotateX(0deg) translate(0, -25px);
    transform: rotateX(0deg) translate(0, -25px);
  }

  100% {
    -webkit-transform: rotateX(0deg) translate(0px);
    transform: rotateX(0deg) translate(0px);
  }
}

@keyframes down-up-two {
  0% {
    -webkit-transform: rotateX(0deg) translate(0px);
    transform: rotateX(0deg) translate(0px);
  }

  50% {
    -webkit-transform: rotateX(0deg) translate(0, -25px);
    transform: rotateX(0deg) translate(0, -25px);
  }

  100% {
    -webkit-transform: rotateX(0deg) translate(0px);
    transform: rotateX(0deg) translate(0px);
  }
}

@-webkit-keyframes leftRightOne {

  0%,
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  50% {
    -webkit-transform: translateX(50px);
    transform: translateX(50px);
  }
}

@keyframes leftRightOne {

  0%,
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  50% {
    -webkit-transform: translateX(50px);
    transform: translateX(50px);
  }
}

@-webkit-keyframes zoomInOut {

  0%,
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  50% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }
}

@keyframes zoomInOut {

  0%,
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  50% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }
}

@-webkit-keyframes pulse {
  to {
    -webkit-box-shadow: 0 0 0 35px rgba(255, 255, 255, 0);
    box-shadow: 0 0 0 35px rgba(255, 255, 255, 0);
  }
}

@keyframes pulse {
  to {
    -webkit-box-shadow: 0 0 0 35px rgba(255, 255, 255, 0);
    box-shadow: 0 0 0 35px rgba(255, 255, 255, 0);
  }
}

/*******************************************************/
/******************* ## Header style ******************/
/*******************************************************/
.main-header {
  position: relative;
  left: 0px;
  top: 0px;
  z-index: 999;
  width: 100%;
  -webkit-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
}

.main-header .header-upper {
  z-index: 5;
  width: 100%;
  position: absolute;
  -webkit-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
}

.main-header.fixed-header .header-upper{
  background: var(--blue-120);
}
.main-header .logo-outer {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
}

@media only screen and (max-width: 991px) {
  .main-header .logo-outer {
    display: none;
  }
}

.main-header .logo {
  z-index: 9;
  padding: 2px 0;
  position: relative;
}

.main-header.menu-absolute .header-upper {
  position: absolute;
}

.main-header.fixed-header .header-upper {
  top: 0;
  left: 0;
  position: fixed;
  -webkit-animation: sticky 1s;
  animation: sticky 1s;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(87, 95, 245, 0.1);
  box-shadow: 0px 0px 30px 0px rgba(87, 95, 245, 0.1);
}

.light-mode .header-upper .search-icon .fa-search:before{
  color: var(--black-20);
}

@media only screen and (min-width: 1200px) {
  .nav-outer + .search-btns{
    margin-left: 64px;
  }

  .search-btns .search-icon {
    margin-left: 64px;
  }
}

@media only screen and (max-width: 1199px) {
  .nav-outer + .search-btns{
    margin-left: 16px;
  }

  .search-btns .search-icon {
    margin-left: 16px;
  }
}

@media only screen and (min-width: 992px) {
  .main-header.fixed-header .main-menu .navbar-collapse>ul>li {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .main-menu .navbar-collapse li:last-child{
    padding-right: 0;
  }
}

@media only screen and (max-width: 991px) {
  .nav-outer{
    width: 100%;
  }

}

.header-top{
  padding: 16px 0;
}

.header-top .header-info{
  text-align: right;
}

.light-mode .header-top {
  color: var(--black-20);
}

.header-top .header-info i{
  color: var(--main-color);
  margin-right: 8px;
}

.header-top .header-info .email{
  margin-left: 64px;
}
/** Header Main Menu **/
@media only screen and (max-width: 991px) {
  .main-menu {
    width: 100%;
  }
}

.main-menu .mobile-logo {
  margin-right: auto;
  width: 150px;
}

@media only screen and (max-width: 575px) {
  .main-menu .mobile-logo {
    max-width: 150px;
  }
}

@media only screen and (max-width: 991px) {
  .main-menu .collapse {
    overflow: auto;
  }
}

.main-menu .navbar-collapse {
  padding: 0px;
}

.main-menu .navbar-collapse>ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media only screen and (max-width: 991px) {
  .main-menu .navbar-collapse>ul {
    display: block;
    padding: 25px 0;
    background: var(--black-100);
  }

  .main-menu .navbar-collapse>ul>li:last-child {
    border-bottom: 1px solid var(--black-90);
  }
}

@media only screen and (min-width: 992px) {
  .main-menu .navbar-collapse>ul>li {
    position: relative;
  }

}

.main-menu .navbar-collapse>ul>li>a {
  text-transform: uppercase;
}

@media only screen and (min-width: 992px) {
  .main-menu .navbar-collapse>ul>li>a {
    color: var(--black-20);
  }
  .header-upper.style-2 .main-menu .navbar-collapse>ul>li>a{
    color:var(--heading-color);
  }
}

@media only screen and (max-width: 991px) {
  .main-menu .navbar-collapse {
    left: 0;
    width: 100%;
    position: absolute;
    max-height: calc(100vh - 80px);
  }
}

.main-menu .navbar-collapse li {
  padding: 25px 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media only screen and (max-width: 1399px) {
  .main-menu .navbar-collapse li {
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media only screen and (max-width: 991px) {
  .main-menu .navbar-collapse li {
    display: block;
    padding: 0 15px;
    border-top: 1px solid var(--black-90);
  }
}

.main-menu .navbar-collapse li.dropdown .dropdown-btn {
  cursor: pointer;
  font-size: 12px;
  margin-left: 5px;
}

@media only screen and (min-width: 992px) {
  .main-menu .navbar-collapse li.dropdown .dropdown-btn {
    color: var(--black-20);
  }

  .main-menu .navbar-collapse li li:first-child {
    border-top: none;
  }
}

@media only screen and (max-width: 991px) {
  .main-menu .navbar-collapse li.dropdown .dropdown-btn {
    position: absolute;
    right: 10px;
    top: 0;
    width: 50px;
    height: 43px;
    border-left: 1px solid var(--black-90);
    text-align: center;
    line-height: 43px;
  }
}

.main-menu .navbar-collapse li a {
  display: block;
  opacity: 1;
  font-size: 16px;
  position: relative;
  text-transform: capitalize;
  -webkit-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
}

@media only screen and (max-width: 991px) {
  .main-menu .navbar-collapse li a {
    padding: 10px 10px;
    line-height: 22px;
  }
}

.main-menu .navbar-collapse li.current>a, .main-menu .navbar-collapse li.current-menu-item>a {
  font-weight: 500;
}

.main-menu .navbar-collapse li li {
  border-top: 1px solid var(--black-90);
  background: var(--black-100);
}

.main-menu .navbar-collapse li li a {
  text-transform: capitalize;  
  color: var(--black-20);
}

.main-menu .navbar-collapse li li a:before {
  display: none;
}

.main-menu .navbar-collapse li .megamenu {
  position: absolute;
  left: 0px;
  top: 100%;
  width: 100%;
  z-index: 100;
  display: none;
  padding: 20px 0;
  background: #ffffff;
  -webkit-box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.05), -2px 0px 5px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.05), -2px 0px 5px 1px rgba(0, 0, 0, 0.05);
}

.main-menu .navbar-collapse li .megamenu:after {
  display: block;
  clear: both;
  content: "";
}

@media only screen and (max-width: 991px) {
  .main-menu .navbar-collapse li .megamenu {
    position: relative;
    -webkit-box-shadow: none;
    box-shadow: none;
    width: 100%;
  }

  .main-menu .navbar-collapse li .megamenu .container {
    max-width: 100%;
  }

  .main-menu .navbar-collapse li .megamenu .row {
    margin: 0px;
  }
}

.main-menu .navbar-collapse li .megamenu ul {
  display: block;
  position: relative;
  top: 0;
  width: 100%;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.main-menu .navbar-collapse li ul {
  position: absolute;
  left: inherit;
  top: 100%;
  min-width: 250px;
  z-index: 100;
  display: none;
  background: #ffffff;
  -webkit-box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.05), -2px 0px 5px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.05), -2px 0px 5px 1px rgba(0, 0, 0, 0.05);
}

@media only screen and (max-width: 991px) {
  .main-menu .navbar-collapse li ul {
    position: relative;
    display: none;
    width: 100%;
    -webkit-box-shadow: none;
    box-shadow: none;
  }

  .main-menu .navbar-collapse li ul:after {
    display: block;
    clear: both;
    content: "";
  }
}

@media only screen and (max-width: 991px) and (max-width: 375px) {
  .main-menu .navbar-collapse li ul {
    min-width: auto;
  }
}

.main-menu .navbar-collapse li ul li {
  width: 100%;
  padding: 10px 20px;
}

@media only screen and (max-width: 991px) {
  .main-menu .navbar-collapse li ul li {
    padding: 0 15px;
  }
}

.main-menu .navbar-collapse li ul li ul {
  left: 100%;
  top: 0%;
}

@media only screen and (max-width: 991px) {
  .main-menu .navbar-collapse li ul li ul {
    left: auto;
  }
}

.main-menu .navbar-header {
  display: none;
}

@media only screen and (max-width: 991px) {
  .main-menu .navbar-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
  }
}

.main-menu .navbar-header .navbar-toggle {
  width: 46px;
  height: 46px;
  float: right;
  cursor: pointer;
  padding: 5px 14px;
  background: var(--main-color);
}

.main-menu .navbar-header .navbar-toggle .icon-bar {
  background:var(--heading-color);
  height: 2px;
  display: block;
  margin: 4px 0;
}

.main-menu .navbar-header .navbar-toggle .icon-bar:nth-child(2) {
  margin-right: 30%;
}

.main-menu .navbar-header .navbar-toggle .icon-bar:nth-child(3) {
  margin-right: 60%;
}

/* Search Btns */
.search-btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-left: 1px solid var(--black-20);
}

/* Menuvar(--heading-color) */
.main-header.menu-white .nav-search>button {
  color:var(--heading-color);
}

@media only screen and (min-width: 992px) {

  .main-header.menu-white .main-menu .navigation>li>a,
  .main-header.menu-white .main-menu .navigation>.dropdown>.dropdown-btn {
    color:var(--heading-color);
  }
}

.main-header.menu-white .main-menu .navigation li li a:hover {
  color: var(--main-color);
}

.main-header.menu-white .menu-sidebar button .icon-bar,
.main-header.menu-white .main-menu .navbar-toggle .icon-bar {
  background:var(--heading-color);
}

.main-header.menu-white .toggle-btn {
  --c: conic-gradient(from -90deg,var(--heading-color) 90deg, #0000 0);
}

.light-mode .fa-chevron-down:before{
  color: var(--black-20);
}

/*******************************************************/
/******************** ## Hero Area ********************/
/*******************************************************/

.hero-area {
  position: relative;
  padding-top: 26px;
  margin-top: 78px;
}

.light-mode .hero-area{
  background: var(--heading-color);
}

.rotate-hero{
  width: 725px;
  color: var(--black-20);
  font-size: 136px;
  text-align: center;
  text-transform: uppercase;
  transform: rotate(-90deg);
  letter-spacing: -6px;
  position: absolute;
  left: -282px;
  line-height: 0px;
  bottom: 275px;  
  white-space: nowrap;
}

.rotate-hero.texto-longo{
   bottom: 295px!important;  
}

.light-mode .rotate-hero{
  color: var(--black-100);
}

.light-mode  .blue-bg.rotate-hero{
  color: var(--black-20);
}


.hero-area .bg-img{
  margin-left: 240px;
}

.hero-img{
  height: 725px;
  object-fit: cover;
}

.hero-content{
  position: absolute;
  bottom: 72px;
  background-color: var(--black-100);
  max-width: 310px;
  padding: 32px;
  z-index: 9;
  
}

.blue-120-bg.hero-content{
    /* Aplica o degradê */
    background: linear-gradient(
      90deg,              /* 90deg: da esquerda para a direita. Use 180deg para cima/baixo */
      var(--blue-120) 0%, /* Ou substitua por #3b5a7c */
      #25395a 100%        /* Azul mais escuro, ajuste se quiser outro tom */
    );

    border-radius: 8px;
}

.carousel-indicators{
    margin-bottom: -23px;
}

.carousel-indicators [data-bs-target]{
  width: 8px;
  height: 8px;
  border-radius: 4px;
  margin-right: 8px;
  margin-left: 8px;
  border: 1px solid var(--heading-color);
  background-color: transparent;
}

.light-mode .carousel-indicators [data-bs-target]:not(.active){
  border: 1px solid var(--black-100);
}

.light-mode .carousel-indicators:has(.carousel-list-images) [data-bs-target]:not(.active){
  border: none;
}

.carousel-indicators button.active{
  border: 1px solid var(--main-color);
  background-color: var(--main-color);
}

.carousel-item{
    transition: transform 1s ease-in-out;
}

.hero-content .hero-btn {
  margin-top: 96px;
}

.hero-btn {
  height: 100%;
  display: flex;
  vertical-align: middle;
}

.hero-btn .btn-icon{
  margin-left: 16px;
  display: flex;
}

.btn-icon .circle{
  border: 1px solid var(--black-20);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: inline-block;
  margin: auto 0;
}

.btn-icon .dot{
  background: var(--black-20);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  display: inline-block;
  margin: auto 0 auto -18px;
}

.btn-icon .line{
  background: var(--black-20);
  width: 40px;
  height: 1px;
  display: inline-block;
  margin: auto 0;
}
.btn-icon .fa{
  margin: auto 0 auto -12px;
  line-height: inherit;
}

@keyframes rotate {
  from {transform: rotate(0deg);}
  to {transform: rotate(360deg);}
}

.hero-btn:hover .circle{
  border-style: dashed;
  border-color: var(--blue-10);
  webkit-animation: rotate 4s infinite linear 0.3s;
  -khtml-animation: rotate 4s infinite linear 0.3s;
  -moz-animation: rotate 4s infinite linear 0.3s;
  -ms-animation: rotate 4s infinite linear 0.3s;
  -o-animation: rotate 4s infinite linear 0.3s;
  animation: rotate 4s infinite linear 0.3s;*/
  animation: rotate 4s infinite linear 0.3s;
}

.hero-btn:hover .line,
.hero-btn:hover .dot{
  background: var(--blue-10);
  border-color: var(--blue-10);
}

.hero-content .hero-btn {
  margin-right: 40px;
}

.hero-area form{
  display: none;
  position: relative;
  margin:  64px 0;
  padding-top: 64px;
}

.banner-area form{
  display: none;
  max-width: 630px;
  position: relative;
  margin: 96px auto 0 auto;
}

.hero-area form.current,
.banner-area form.current{
  display: inherit;
}

.hero-area form input,
.banner-area form input{
  color:var(--heading-color);
}

.hero-area form button,
.banner-area form button{
  color:var(--heading-color);
  background: transparent;
  padding: 16px 32px;
  position: absolute;
  right: 0;
}

@media only screen and (max-width: 1500px) {
  .hero-area .bg-img {
    margin-left: 100px;
  }
   .rotate-hero{
    font-size: 120px;    
    left: -305px;
  }
}

@media only screen and (max-width: 1333px) {

  .rotate-hero{
    font-size: 110px;
    letter-spacing: -6px;
    left: -305px;
  }

  .hero-img {
    height: 556px;
    object-fit: cover;
  }

}



.light-mode .hero-area h6{
  color: var(--black-20);
  font-size: 1.0rem;
}

/*hero-area-2  ---- index-2*/
.hero-area-2{
  margin-top: -104px;
}

.light-mode .hero-area-2 h1{
  color: white;
}

@media(min-width: 992px){
  .light-mode .hero-area-2 h1{
    text-shadow: 2px 0 white;
  }
}

.hero-area-2 .slider-content{
  background-size: cover;
  padding: 372px 0 268px 0;
}

.hero-area-2 .search-form{
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.hero-area-2 form{
  position: relative;
}

.hero-area-2 form input{
  border: 1px solid var(--heading-color);
  color:var(--heading-color);
}

.hero-area-2 form button{
  color:var(--heading-color);
  background: transparent;
  padding: 16px 32px;
  position: absolute;
  right: 0;
}

@media only screen and (max-width: 991px) {
  .header-top .mobile-none{
    display: none;
  }
  .hero-area-2 .search-form {
    width: 85%;
  }
}

@media only screen and (max-width: 576px) {
  .header-top .header-info{
    display: grid;
  }
}



/* Garante que o container respeite o grid do site */
.hero-container-custom,
.hero-area .container {
    max-width: 1380px;  /* ajuste para seu grid */
    width: 100%;
    margin: 0 auto;
    height: 100vh;

    padding: 0 24px;   /* gutter/grid padding */
    box-sizing: border-box;
}

/* Colunas internas: VIVER, TEXTO, IMAGEM */
.hero-text-img {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 32px;
    min-width: 0;
}

.hero-content {

    padding: 40px 32px;
    min-width: 320px;
    max-width: 340px;
    margin-right: 40px;
    align-self: center;
   
    border-radius: 8px;
}

.bg-img {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
}

.bg-img picture,
.bg-img img.hero-img {
    width: 100%;
    max-width: 900px;      /* limite máximo da imagem */
    height: 80vh;          /* para não estourar no desktop */
    min-height: 300px;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

.hero-area { min-height: calc(100vh - 92px); }
.hero-container-custom, .hero-area .container { height: calc(100vh - 92px); }
/* ===== HERO MOBILE FULL-BLEED (mantendo estrutura) ===== */
@media (max-width: 767px) {
  :root { --header-h: 64px; } /* ajuste se seu header fixo tiver outra altura */
  .hero-container-custom, .hero-area .container {
    padding: 0px!important;
    min-height: 100vh;
   }
  /* container geral do slide ocupa a primeira dobra */
  .hero-area {
    margin-top: 0;                 /* já compensaremos o header abaixo */
    padding-top: 0;
    padding-bottom: 0;
    min-height: 100vh!important;
  }

  .hero-area .carousel-item .d-flex {
    position: relative;
    min-height: calc(100svh );
    isolation: isolate;            /* overlay sem vazar */
    border-radius: 0;
    overflow: hidden;
  }

  /* a coluna do texto+imagem já existe (.hero-text-img).
     Aqui tornamos a imagem um "fundo absoluto" da dobra. */
  .hero-area .hero-text-img {
    position: relative;
    min-height: inherit;
    padding: 0;                    /* remove espaços laterais */
  }

  .hero-area .bg-img,
  .hero-area .bg-img picture,
  .hero-area .bg-img img.hero-img {
    position: absolute !important;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
  }
  .hero-area .bg-img img.hero-img {
    object-fit: cover;
    object-position: center;       /* troque p/ 'center right' se quiser foco no casal */
    border-radius: 0 !important;
    transform: none !important;
  }

  /* overlay para legibilidade do texto */
  .hero-area .hero-text-img::after {
    content: "";
    position: absolute;
    inset: 0;
    /* gradiente sutil que conversa com seu blue-120 */
    background: linear-gradient(
      180deg,
      rgba(8,23,45,.60) 0%,
      rgba(8,23,45,.35) 40%,
      rgba(8,23,45,.12) 100%
    );
    z-index: 0;
  }

  /* bloco do texto sobre a imagem */
  .hero-area .hero-content {
    position: relative !important;
    z-index: 1;
    background: transparent !important; /* remove cartão azul */
    max-width: 42ch;                    /* coluna mais elegante */
    width: auto;
    padding: 24px 20px 28px 20px !important;
    margin: 0;
    display: grid;
    align-content: end;                 /* ancora o texto no rodapé da dobra */
    min-height: inherit;                /* garante o “full height” */
    color: #fff;
    bottom: 20px;
    text-shadow: 0 1px 16px rgba(0,0,0,.35);
  }

  .hero-area .hero-content h6 {
    color: #fff;               /* override do light-mode */
    font-size: clamp(1rem, 1.0vw + .8rem, 1.15rem);
    line-height: 1.55;
    margin: 0;
    text-wrap: balance;
  }

  


  /* indicadores do carousel sobre a imagem */
  .hero-area .carousel-indicators {
    position: absolute;
    left: 0; right: 0;
    bottom: 10px;
    margin: 0 auto;
    z-index: 2;
  }
  .hero-area .carousel-indicators [data-bs-target] {
    border-color: #fff;
    background: transparent;
  }
  .hero-area .carousel-indicators .active {
    background: #fff !important;
    border-color: #fff !important;
  }

  /* correções utilitárias existentes */
  .hero-area .hero-img { width: 100%; height: 100%; }
  .hero-area .bg-img { margin-left: 0 !important; }
  .hero-area .carousel-item .col-lg-10.d-flex { display: block !important; }
}

/* aperto leve nos 576–767px para tipografia e paddings */
@media (max-width: 576px) {
  .hero-area .hero-content { padding: 20px 16px 24px 16px !important; max-width: 38ch; }
}


/* ===== FIX 1: zera o left herdado no tablet/mobile ===== */
@media (max-width: 991px){
  .hero-area .hero-content{
    left: unset !important;
    right: auto !important;
    transform: none !important;
  }
}

/* ===== FIX 2: evita margem/altura extra por <p> dentro do <h6> ===== */
/* (o the_content() solta <p> — normalizamos sem mexer no PHP) */
.hero-area .hero-content h6{ margin:0; padding:0; }
.hero-area .hero-content h6 p{
  margin:0;
  font: inherit;
  color: inherit;
}

/* ===== FIX 3: botão “voltar ao original” (sem pill/ghost) ===== */
@media (max-width: 767px){
  .hero-area .hero-content .hero-btn{
    background: transparent !important;
    border: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 18px 0 0 0 !important;
    color: #fff; /* contraste no overlay */
    text-decoration: none;
  }
  /* ícones do botão com contraste no overlay */
  .hero-area .hero-content .btn-icon .circle{
    border-color: #fff !important;
  }
  .hero-area .hero-content .btn-icon .dot,
  .hero-area .hero-content .btn-icon .line{
    background: #fff !important;
  }
}

/* ===== FIX 4: leitura elegante do texto no mobile ===== */
@media (max-width: 767px){
  /* Sem mudar HTML — usamos o wrapper já existente (.wow) como “cartão translúcido” */
  .hero-area .hero-content > .wow{
    background: rgba(8, 23, 45, .28);   /* azul-escuro translúcido */
    backdrop-filter: blur(2.5px);
    -webkit-backdrop-filter: blur(2.5px);
    border-radius: 12px;
    padding: 16px;
  }
  .hero-area .hero-content{
    color: #fff;
    text-shadow: 0 1px 14px rgba(0,0,0,.35);
    max-width: 50ch; /* coluna elegante */
  }
}
@media (max-width: 767px){
  /* Coluna do texto de destaque ocupa o centro */
  .hero-area .col-lg-2{
    display: flex !important;
    justify-content: center;
    position: absolute !important;
    top: 50%;                   /* ~meio da dobra, ajuste % se quiser mais alto/baixo */
    left: 0;
    right: 0;
    width: 100% !important;
    z-index: 3;                 /* acima do overlay */
    pointer-events: none;       /* não atrapalha cliques */
  }

  .hero-area .rotate-hero{
    display: block !important;
    position: static !important;
    transform: none !important;
    margin: 0 auto;
    white-space: normal;
    text-align: center;
    font-size: clamp(2rem, 8vw, 3rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -1px;
    color: #fff;
    text-shadow: 0 3px 16px rgba(0,0,0,.5);
  }
}




/*******************************************************/
/******************* ## Page Banner *******************/
/*******************************************************/
.banner-area {
  background-size: cover;
  background-color: var(--black-80);
  background-position: bottom;
}

.banner-content h1 {
  color:var(--heading-color);
}

.banner-content p {
  color:var(--heading-color);
}

.banner-content .error-text {
  color:var(--heading-color);
  display: block;
  line-height: 1;
  font-size: 170px;
  font-weight: 700;
}

/* ===================================
   HERO ABOUT BANNER - OPÇÃO FULL HEIGHT
=================================== */

.banner-area.banner-full-height {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 92px 0 0 0 !important; /* Adiciona padding-top para o header e remove o resto */
}

@media only screen and (max-width: 767px) {
  .banner-content .error-text {
    font-size: 120px;
  }
}

@media only screen and (max-width: 479px) {
  .banner-content .error-text {
    font-size: 80px;
  }
}

@media only screen and (min-width: 992px) {
  .banner-content .theme-btn.style-three {
    padding: 16px 30px;
  }
}

.banner-content .blog-meta {
  font-size: 16px;
}

.breadcrumb {
  padding: 0;
  margin: 0 auto;
  font-size: 16px;
  background: transparent;
  text-transform: capitalize;
  display: inline-block;
}

.breadcrumb .breadcrumb-item {
  padding: 0;
  display: inline-block;
}

.breadcrumb .breadcrumb-item a:not(:hover) {
  color:var(--heading-color);
}

.breadcrumb .breadcrumb-item {
  color:var(--heading-color);
}

.breadcrumb .breadcrumb-item:not(:first-child)::before {
  margin-left: 16px;
  margin-right: 16px;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  color:var(--heading-color);
  padding-right: 0;
  content: "/";
}

/*******************************************************/
/******************** ## About Area ********************/
/*******************************************************/
.light-mode .about-area{
  background: var(--black-10);
}

.light-mode .empreendimentos-retrato-section{
   background: var(--black-10);
}

.about-area .nav-tabs{
  border-bottom: none;
  width: 100%;
}

.about-area .nav-tabs .nav-link{
  padding: 0 15px;
}

.about-area .nav-tabs li:first-child .nav-link{
  padding-left: 0!important;
}

.about-area .nav-tabs li:last-child .nav-link{
  padding-right: 0!important;
}

.about-area .nav-tabs .nav-item:has(.nav-link.active){
  height: 100%;
  max-height: 780px;
}

.about-area .nav-tabs .nav-item .text{
  width: 37%;
  max-width: 330px;
  height: 100%;
  max-height: 780px;
  padding-right: 30px;
  text-align: left;
}

.about-area .nav-tabs .nav-item .big-image{
  width: 100%;
  max-width: 550px;
  height: 100%;
  max-height: 80%;
  position: relative;
}

.about-area .nav-tabs .nav-item .small-image{
  width: 100%;
  max-width: 203px;
  height: 100%;
  max-height:  80%;
}

.about-area .nav-tabs .nav-item:has(.nav-link) .text,
.about-area .nav-tabs .nav-item:has(.nav-link) .big-image{
  display: none;
}

.about-area .nav-tabs .nav-item:has(.nav-link.active) .small-image{
  display: none;
}

.about-area .nav-tabs .nav-item:has(.nav-link.active) .text,
.about-area .nav-tabs .nav-item:has(.nav-link.active) .big-image{
  display: block;
}

.about-area .nav-tabs .nav-item.show .nav-link, 
.about-area .nav-tabs .nav-link.active{
  background-color: unset;
  border-color: unset;
  color: var(--black-20);
}

.about-area  .nav-tabs .nav-link{
  border: unset;
  color: var(--black-20);
}

.light-mode .about-area .nav-tabs .nav-item.show .nav-link, 
.light-mode .about-area .nav-tabs .nav-link.active,
.light-mode .about-area  .nav-tabs .nav-link{
  color: var(--black-90);
}

.about-area .h4-rotate{
  transform: rotate(-90deg);
  width: 350px;
  position: absolute;
  height: 45.6px;
  left: -159px;
  top: 151px;
  text-align: end;
  font-size: 36px;
}

.light-mode .about-area .h4-rotate{
  color: var(--black-40);
}

.about-area .text{
  align-self: center;
}

.about-area [type=button]:not(:disabled),  
.about-area button:not(:disabled),
.about-area button {
  cursor: auto;
}

.about-area button .small-image{
  cursor: pointer;
}

.about-area .about-content{
  position: relative;
  display: flex;
}

.p-rotate{
  transform: rotate(-90deg);
  background-color: var(--black-100);
  color:var(--heading-color);
  padding: 8px 16px;
  width: fit-content;
  position: absolute;
  top: 66px;
  right: -36px;
}

.about-content .number{
  position: absolute;
  bottom: -12px;
  right: 16px;
  z-index: 1;
}

.light-mode .about-content .number{
  color: white;
}

@media(min-width: 992px){
  .light-mode .about-content .number{
    text-shadow: 2px 0 white;
  }
}

.about-area .big-image {

  transition: transform 1.5s ease;
  border-radius: 8px;
}

img.small-image{
  border-radius: 8px!important;
}


.about-area .nav-tabs .nav-item:has(.nav-link.active) .big-image {
  transform: transform 1.5s ease;
}

@media only screen and (max-width: 1420px) {
  .about-area .nav-tabs .nav-item .text{
    max-width: 310px;
  }

  .about-area .nav-tabs .nav-item .big-image{
    max-width: 441px;
    object-fit: cover;
    
  }

  .about-area .nav-tabs .nav-item .small-image{
    max-width: 110px;
    height: 663px;
    object-fit: cover;
  
  }

}

@media only screen and (max-width: 1199px) {
  .about-area .h4-rotate{
    transform: unset;
    position: unset;
    text-align: left;
    height: auto;
    width: auto;
  }

  .about-area .nav-tabs .nav-item .text{
    width: 48%;
  }

  .about-area .nav-tabs .nav-item .big-image{
    max-width: 340px;
    object-fit: cover;
  }

  .about-area .nav-tabs .nav-item .small-image{
    height: 521px;
    object-fit: cover;
  }
}

@media only screen and (max-width: 991px) {
  
  .about-area .nav-tabs .nav-item .text {
    width: 52%;
  }

  .about-area .nav-tabs .nav-item .big-image {
    max-width: 286px;
    object-fit: cover;
  }

  .about-area .nav-tabs .nav-item .small-image{
    width: 40px;
    height: 521px;
    object-fit: cover;
  }

  .about-style-2 .left{
    margin-bottom: 64px;
    margin-right: 0px;
  }

  .about-area .nav-tabs .nav-link{
    padding: 0 5px;
  }

  .about-content .number{
    right: 32px;
  }

  .about-area .p-rotate {
    right: -18px;
  }

  .about-area .nav-link:not(.active) .p-rotate,
  .about-area .nav-link:not(.active) .number{
    display: none;
  }

}

@media only screen and (max-width: 767px) {
  .about-area .nav-tabs .nav-item:has(.nav-link) .text, 
  .about-area .nav-tabs .nav-item:has(.nav-link) .big-image {
    display: block;
  }

  .about-area .nav-tabs .nav-item:has(.nav-link) .small-image{
    display: none;
  }

  .about-area .nav-link:not(.active) .p-rotate,
  .about-area .nav-link:not(.active) .number{
    display: inherit;
  }

  .about-area button:not(:disabled){
    cursor: unset;
  }

  .about-area .nav-tabs .nav-item:has(.nav-link.active){
    height: auto;
  }

  .about-area .nav-tabs .nav-item:not(:last-child){
    margin-bottom: 64px;
  }

  .about-content .number{
    bottom: 0;
  }

  .about-area .h4-rotate{
    margin-bottom: 16px;
  }

}

@media only screen and (max-width: 576px) {
  .about-area .nav-tabs .nav-item .text {
    width: 100%;
    max-width: 100%;
    padding-right: 0;
    margin-bottom: 25px;
  }

  .about-area .nav-tabs .nav-item:has(.nav-link) .big-image{
    max-width: 100%;
  }

  .about-area .nav-tabs .nav-item:has(.nav-link.active){
    max-height: unset;
  }

  .about-area .about-content{
    display: block;
  }

  .about-area .nav-link:not(.active) .p-rotate,
  .about-area .nav-link:not(.active) .number,
  .about-area .nav-link .p-rotate,
  .about-area .nav-link .number{
    display: none;
  }
}

/*******************************************************/
/****************** ## Services Area *******************/
/*******************************************************/
.service-area .section-title{
  float: left;
}

.light-mode .service-area{
  background: var(--black-100);
}

.section-title h2{
  margin-bottom: 0;
}

.light-mode .service-area h2{
  color: white;
}

.blog-thumb img{
  border-radius: var(--border-radius);
}

.service-area .carousel-buttons button i,
.team-area .carousel-buttons button i,
.interior-area .carousel-buttons button i,
.project-details-02 .carousel-buttons button i,
.blog-content .blog-thumb .carousel-buttons button i{
  color: var(--black-100);
}

.light-mode .team-area .carousel-buttons button i,
.light-mode .interior-area .carousel-buttons button i{
  color: white;
}

@media(min-width: 992px){
  .light-mode .service-area h2{
    text-shadow: 2px 0 white;
  }
}

.carousel-buttons{
  float: right;
  margin: auto 0 auto auto;
}

.carousel-buttons button{
  background:var(--heading-color);
  width: 40px;
  height: 40px;
}

.service-area .right-arrow{
  margin-top: 32px;
}

.carousel-control-next-icon, 
.carousel-control-prev-icon {
  display: contents;
}

.service-area .carousel-item{
  height: auto;
}

.service-area .carousel-item img{
  width: 1015px;
  height: 464px;
  object-fit: cover;
  aspect-ratio: 1/1;
}

@media (min-width: 992px) {
  .service-area .carousel-inner{
    height: auto;
  }
}

.service-area .carousel-item .service-act{
  position: relative;
  justify-content: center;
}

.service-area .carousel-item .service-act:first-child{
  padding-right: 64px;
  width: 25%;
}

.service-area .carousel-item .service-act:last-child{
  padding-left: 64px;
  width: 25%;
}

.service-area .carousel-item .service-act:first-child .carousel-caption,
.service-area .carousel-item .service-act:last-child .carousel-caption{
  display: none!important;
}

.service-area .carousel-caption{
  position: unset;
  padding: 0 16px;
  margin-top: -64px;
}

@media only screen and (max-width: 1199px) {
  .service-area .carousel-caption{
    margin-top: -40px;
  }
}

@media only screen and (max-width: 576px) {
  .service-area .carousel-item .service-act:first-child,
  .service-area .carousel-item .service-act:last-child{
    display: none!important;
  }
  .service-area .carousel-caption{
    margin-top: -32px;
  }
}

/*service-area-2*/
.service-area-2 .icon .fa:before{
  font-size: 48px;
  color: var(--main-color);
  display: inline-block;
  margin-bottom: 32px;
}

.light-mode .service-area-2{
  background: var(--black-10);
  color: var(--black-90);
}

.light-mode .service-area-2 .icon .fa:before{
  color: var(--black-90);
}

.service-area-2 h5{
  text-transform: uppercase;
}

.service-area-2 .row .service-item:not(:last-child){
  padding-right: 96px;
}

@media only screen and (max-width: 991px) {
  .service-area-2 .row .service-item:not(:last-child) {
    padding-right: 0;
    margin-bottom: 96px;
  }
}

.light-mode .service-area-2 .service-item a{
  color: var(--black-90);
}

.light-mode .service-area-2 .service-item a:hover{
  color: var(--main-color);
}
/* End Services Area */


/*******************************************************/
/****************** ## Projects Area *******************/
/*******************************************************/
.light-mode .architecture-area{
  background: white;
}

.apartment-image img{
  width: 100%;
  height: 100%;
  max-height: 800px;
  object-fit: cover;
}

.pro-title{
  background: var(--black-120);
  padding: 64px;
  text-align: right;
}

.light-mode .architecture-area h3{
  color: white;
}

.light-mode .architecture-area .category{
  color: var(--black-20);
}

.pro-desc{
  background: var(--black-20);
  padding: 64px;
  text-align: left;
  color: var(--black-90);
}

.pro-desc p:last-child{
  margin-bottom: 0;
}

.pro-title-haft{
  background: var(--black-120);
  padding: 64px;
  text-align: center;
}

.pro-desc-haft{
  background: var(--black-20);
  padding: 64px;
  color: var(--black-90);
  text-align: center;
}

.apartment-content{
  margin-right: 120px;
  margin-left: 120px;
  margin-top: -128px;
}


@media only screen and (max-width: 1199px) {
  .pro-title,
  .pro-desc{
    padding:64px 32px;
  }

  .pro-title-haft,
  .pro-desc-haft{
    padding: 32px;
  }

  .apartment-content {
    margin-right: 96px;
    margin-left: 96px;
  }
}

@media only screen and (max-width: 991px) {
  .pro-title,
  .pro-desc,
  .pro-title-haft,
  .pro-desc-haft{
    text-align: left;
    padding:64px;
  }

  .architecture-area .tab-content .pr-64{
    padding-right: 0;
    margin-bottom: 128px;
  }
  .architecture-area .tab-content .pl-64{
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  .pro-title,
  .pro-desc,
  .pro-title-haft,
  .pro-desc-haft{
    padding: 64px 32px;
  }

  .apartment-content {
    margin-right: 64px;
    margin-left: 64px;
  }
}

@media only screen and (max-width: 500px) {
  .pro-title,
  .pro-desc,
  .pro-title-haft,
  .pro-desc-haft{
    padding: 32px;
  }

  .pro-desc{
    height: auto;
    max-height: 200px;
    overflow: scroll;
  }

  .apartment-content {
    margin-right: 32px;
    margin-left: 32px;
  }
}

/*Interior Projects*/
.light-mode .interior-area{
  background: var(--black-10);
}

.light-mode .interior-area .carousel-buttons button{
  background: var(--black-100);
  color: white;
}

.light-mode .interior-area h5{
  color: white;
}

.interior-area .section-heading{
  position: relative;
}

.interior-area .carousel-buttons{
  display: none;
  position: absolute;
  right: 0;
  top: 20px;
}

.interior-area .section-heading .nav-link.active + .carousel-buttons{
  display: block;
}

.interior-area ul.nav-pills.tab-style-one{
  margin-left:  0;
  margin-right: 0;
  width: auto;
}

.interior-area .nav-item.current .carousel-buttons{
  display: inline;
}

.interior-area .tab-content.tab-pane.current .nav-fill-left ul li a[href=""]{
  visibility: visible;
}

.carousel-control-next-icon, .carousel-control-prev-icon {
  display: contents;
}

.interior-area .carousel-item img{
  width: 100%;
  height: 100%;
  max-height: 808px;
  object-fit: cover;
  aspect-ratio: 1/1;
}

.interior-area .carousel-item .interior-act{
  position: relative;
}

.interior-area .carousel-caption{
  position: absolute;
  right: 0;
  bottom: 25%;
  left: unset;
  width: fit-content;
  max-width: 350px;
  background: var(--black-100);
  padding: 32px;
  text-align: left;
}

.interior-area .carousel-item .interior-act:first-child .carousel-caption,
.interior-area .carousel-item .interior-act:last-child .carousel-caption{
  -webkit-transform: perspective(250px) rotateY(-90deg);
  -khtml-transform: perspective(250px) rotateY(-90deg);
  -moz-transform: perspective(250px) rotateY(-90deg);
  -ms-transform: perspective(250px) rotateY(-90deg);
  -o-transform: perspective(250px) rotateY(-90deg);
  transform: perspective(250px) rotateY(-90deg);
  -webkit-transition: all 400ms ease-in-out;
  -khtml-transition: all 400ms ease-in-out;
  -moz-transition: all 400ms ease-in-out;
  -ms-transition: all 400ms ease-in-out;
  -o-transition: all 400ms ease-in-out;
  transition: all 400ms ease-in-out;
}

.interior-area .carousel-item .interior-act:first-child:hover .carousel-caption,
.interior-area .carousel-item .interior-act:last-child:hover .carousel-caption{
  -webkit-transform: perspective(250px) rotateY(0deg);
  -khtml-transform: perspective(250px) rotateY(0deg);
  -moz-transform: perspective(250px) rotateY(0deg);
  -ms-transform: perspective(250px) rotateY(0deg);
  -o-transform: perspective(250px) rotateY(0deg);
  transform: perspective(250px) rotateY(0deg);
}

.interior-area .carousel-item .interior-act:nth-child(2) .carousel-caption{
  display: block;
}

.interior-area .carousel-item .interior-act:first-child{
  padding-right: 64px;
  width: 25%;
}

.interior-area .carousel-item .interior-act:first-child .carousel-caption{
  right: 63px;
}

.interior-area .carousel-item .interior-act:last-child{
  padding-left: 64px;
  width: 25%;
}

.interior-area .carousel-caption .sub-title{
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  color: var(--main-color);
  text-transform: uppercase;
  text-align: center;
}

.interior-area .carousel-caption .sub-title:before {
  content: '';
  width: 32px;
  height: 1px;
  background: var(--main-color);
  margin-right: 16px;
}

button.read-more{
  background: unset;
  color: var(--black-20);
  text-decoration: none;
}

.interior-area .carousel-item .interior-act:last-child .carousel-caption{
  margin-left: 64px;
}

@media only screen and (max-width: 1199px) {
  .interior-area .carousel-item .interior-act:first-child .carousel-caption p,
  .interior-area .carousel-item .interior-act:last-child .carousel-caption p{
    display: none;
  }
  .interior-area .carousel-item .interior-act:first-child .carousel-caption,
  .interior-area .carousel-item .interior-act:last-child .carousel-caption{
    bottom: 30%;
  }
}

@media only screen and (max-width: 991px) {
  .interior-area .carousel-item .interior-act:first-child .carousel-caption,
  .interior-area .carousel-item .interior-act:last-child .carousel-caption{
    display: none;
    -webkit-transform: unset;
    -khtml-transform: unset;
    -moz-transform: unset;
    -ms-transform: unset;
    -o-transform: unset;
    transform: unset;
    -webkit-transition: unset;
    -khtml-transition: unset;
    -moz-transition: unset;
    -ms-transition: unset;
    -o-transition: unset;
    transition: unset;
  }

  .interior-area .nav-pills{
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
  }

  .interior-area .nav-item:has(.nav-link.active) .carousel-buttons{
    display: none;
  }
}

@media only screen and (max-width: 767px) {
  .interior-area .carousel-item .interior-act .carousel-caption{
    width: 70%;
  }

  .interior-area .carousel-item .interior-act .carousel-caption .sub-title,
  .interior-area .carousel-item .interior-act .carousel-caption p{
    display: none;
  }
}

@media only screen and (max-width: 576px) {
  .interior-area .carousel-item .interior-act:first-child,
  .interior-area .carousel-item .interior-act:last-child{
    display: none;
  }
}

/*projects-01*/
.light-mode .projects-01{
  background: white;
}

.projects-01 .apartment-image img{
  width: 100%;
  max-height: 808px;
  object-fit: cover;
}

.projects-01 .carousel-caption{
  right: -1px;
  bottom: 27%;
  left: unset;
  width: fit-content;
  background: var(--black-100);
  padding: 32px;
  text-align: left;
  transform-origin: right;
  -webkit-transform: perspective(250px) rotateY(-90deg);
  -khtml-transform: perspective(250px) rotateY(-90deg);
  -moz-transform: perspective(250px) rotateY(-90deg);
  -ms-transform: perspective(250px) rotateY(-90deg);
  -o-transform: perspective(250px) rotateY(-90deg);
  transform: perspective(250px) rotateY(-90deg);
  -webkit-transition: all 400ms ease-in-out;
  -khtml-transition: all 400ms ease-in-out;
  -moz-transition: all 400ms ease-in-out;
  -ms-transition: all 400ms ease-in-out;
  -o-transition: all 400ms ease-in-out;
  transition: all 400ms ease-in-out;
}

@media(min-width: 577px){
  .projects-01 .carousel-caption{
    max-width: 344px;
  }
}

.light-mode .projects-01 .carousel-caption{
  background: white;
  color: var(--black-90);
}

.light-mode .projects-01 .carousel-caption h5{
  color: var(--black-100);
}

.light-mode .projects-01 .carousel-caption .hero-btn,
.light-mode .projects-01 .carousel-caption .btn-icon .fa-solid {
  color: var(--black-90);
}

.light-mode .projects-01 .carousel-caption .btn-icon .circle{
  border-color: var(--black-90);
}
.light-mode .projects-01 .carousel-caption .btn-icon .dot,
.light-mode .projects-01 .carousel-caption .btn-icon .line{
  background: var(--black-90);
}

.light-mode .projects-01 .carousel-caption .hero-btn:hover,
.light-mode .projects-01 .carousel-caption a.hero-btn:hover .btn-icon .fa{
  color: var(--main-color);
}

.light-mode .projects-01 .carousel-caption a.hero-btn:hover .btn-icon .circle{
  border-color: var(--main-color);
}


.light-mode .projects-01 .carousel-caption a.hero-btn:hover .btn-icon .dot,
.light-mode .projects-01 .carousel-caption a.hero-btn:hover .btn-icon .line{
  background: var(--main-color);
}

.projects-01 .carousel-caption .sub-title{
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  color: var(--main-color);
  text-transform: uppercase;
  text-align: center;
}

.projects-01 .carousel-caption .sub-title:before {
  content: '';
  width: 32px;
  height: 1px;
  background: var(--main-color);
  margin-right: 16px;
}

.projects-01 .apartment-image:hover .carousel-caption{
  -webkit-transform: perspective(250px) rotateY(0deg);
  -khtml-transform: perspective(250px) rotateY(0deg);
  -moz-transform: perspective(250px) rotateY(0deg);
  -ms-transform: perspective(250px) rotateY(0deg);
  -o-transform: perspective(250px) rotateY(0deg);
  transform: perspective(250px) rotateY(0deg);
}

@media only screen and (max-width: 1600px) {
  .projects-01 .tab-content .mb-128{
    margin-bottom: 96px;
  }

  .projects-01 .tab-content .pl-64{
    padding-left: 48px;
  }

  .projects-01 .tab-content .pr-64{
    padding-right: 48px;
  }
}

@media only screen and (max-width: 1199px) {
  .projects-01 .carousel-caption p{
    display: none;
  }
}

@media only screen and (max-width: 991px) {
  .projects-01 .tab-content .mb-128{
    margin-bottom: 64px;
  }

  .projects-01 .tab-content .pl-64{
    padding-left: 32px;
  }

  .projects-01 .tab-content .pr-64{
    padding-right: 32px;
  }
}

@media (min-width: 577px)and (max-width: 767px) {
  .projects-01 .tab-content .mb-128{
    margin-bottom: 32px;
  }

  .projects-01 .carousel-caption{
    padding: 16px;
  }

  .projects-01 .carousel-caption .sub-title{
    display: none;
  }

  .projects-01 .tab-content .pl-64{
    padding-left: 16px;
  }

  .projects-01 .tab-content .pr-64{
    padding-right: 16px;
  }
}

@media only screen and (max-width: 576px) {
  .projects-01 .tab-content .pr-64{
    padding-right: 0;
    margin-bottom: 64px;
  }

  .projects-01 .tab-content .pl-64{
    padding-left: 0;
  }

  .projects-01 .carousel-caption{
    position: relative;
    -webkit-transform: unset;
    -khtml-transform: unset;
    -moz-transform: unset;
    -ms-transform: unset;
    -o-transform: unset;
    transform: unset;
    -webkit-transition: unset;
    -khtml-transition: unset;
    -moz-transition: unset;
    -ms-transition: unset;
    -o-transition: unset;
    transition: unset;
  }
}
/*projects-02*/
.light-mode .projects-02{
  background: white;
}

.projects-02 .img-container img{
  display: block;
}

.pro-02-item{
  display: grid;
  place-items: center;
}

.pro-02-images{
  place-content: center;
  position: relative;
  overflow: hidden;
  --position: 50%;
}

.pro-02-images .slider-image{
  width: 100%;
  height: 100%;
  max-width: 1410px;
  max-height: 656px;
  object-fit: cover;
  object-position: left;
}

.pro-02-images .image-before{
  position: absolute;
  inset: 0;
  width: var(--position);
}

.pro-02-images .buttonslider{
  position: absolute;
  inset: 0;
  cursor: pointer;
  opacity: 0;
  width: 100%;
  height: 100%;
}

.pro-02-images .buttonslider:focus-visible ~ .slider-button{
  outline: 5px solid black;
  outline-offset: 3px;
}

.pro-02-images .slider-line{
  position: absolute;
  inset: 0;
  width: 4px;
  height: 100%;
  background-color:var(--heading-color);
  z-index: 10;
  left: var(--position);
  transform: translateX(-50%);
  pointer-events: none;
}

.pro-02-images .slider-button{
  position: absolute;
  background-color:var(--heading-color);
  padding: 16px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  top: 50%;
  left: var(--position);
  transform: translate(-50%, -50%);
  pointer-events: none;
  box-shadow: 1px 1px 1px hsl(0, 50%, 2%, .5);
}

.project-02-caption{
  padding: 64px;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid var(--black-90);
  border-top: none;
  width: 100%;
  text-align: center;
}

.project-02-caption h5{
  margin-bottom: 0;
}

@media only screen and (max-width: 991px) {
  .project-02-caption {
    padding: 32px;
  }
}

@media only screen and (max-width: 767px) {
  .pro-02-item,
  .pro-02-item:first-child,
  .pro-02-item:last-child{
    padding: 0!important;
  }

  .pro-02-item:not(:last-child){
    margin-bottom: 128px;
  }

  .pro-02-item{
    width: auto;
  }

}

/*projects-04*/
.light-mode .projects-04{
  background: white;
  z-index: 0;
  position: relative;
}

.stroke-btn{
  padding: 16px 32px;
  color:var(--heading-color);
  border: 1px solid var(--heading-color);
}

.light-mode .projects-04 .stroke-btn{
  color:var(--black-100);
  border: 1px solid var(--black-100);
}

.light-mode a.stroke-btn:hover {
  color: var(--main-color);
}

@media only screen and (min-width: 992px) {
  .projects-04 .tab-content .odd-pro,
  .projects-04 .tab-content .even-pro{
    height: 896px;
  }
}

.projects-04 .tab-content img{
  width: 92%;
  height: 100%;
  max-height: 896px;
  max-width: 1080px;
  object-fit: cover;
  position: relative;
  z-index: -1;
}

.pro-content{
  margin: auto 0;
  height: auto;
}

.pro-04-text{
  padding: 128px 128px 136px 128px;
  width: 128%;
  height: auto;
} 

.light-mode .pro-04-text{
  background: var(--black-10);
  color: var(--black-90);
}

.odd-pro .pro-04-text{
  margin-left: -28%;
}

.even-pro .pro-04-text{
  margin-right: -28%;
  left: 0;
}

.even-pro .pro-img{
  text-align: right;
  z-index: -1;
}

.pro-desc-04{
  margin-top: 56px;
}

.pro-04-text h3{
  margin-top: 16px;
}

.pro-04-text .sub-title:before{
  content: '';
  background: var(--main-color);
  width: 64px;
  height: 1px;
  display: inline-block;
  margin-right: 32px;
  margin-bottom: 5px;
}

.pro-img{
  position: relative;
}

@media only screen and (max-width: 991px) {
  .projects-04 .tab-content img {
    width: 100%;
  }

  .pro-04-text{
    width: 100%;
  }

  .odd-pro .pro-04-text,
  .even-pro .pro-04-text{
    margin: 0;
  }
}


@media only screen and (max-width: 767px) {
  .pro-04-text{
    padding: 64px 64px 72px 64px;
  }
}


@media only screen and (max-width: 576px) {
  .pro-04-text{
    padding: 32px 32px 44px 32px;
  }
}

/*projects-05*/
.light-mode .projects-05{
  background: white;
}

.projects-05{
  padding: 128px;
}

.pro-05-item img{
  width: 100%;
  height: auto;
  max-width: 824px;
  max-height: 800px;
  object-fit: cover;
}

.pro-05-item{
  position: relative;
}

.pro-05-title-left{
  position: absolute;
  top: 64px;
  left: 64px;
}
    
.pro-05-title-right{
  position: absolute;
  top: 64px;
  right: 64px;
}

.projects-05 .category{
  color: var(--main-color);
}

.projects-05 h3{
  margin-top: 16px;
}

.light-mode .projects-05 h3{
  color: white;
}

@media (min-width: 992px) {
  .light-mode .projects-05 h3{
    text-shadow: 2px 0 white;
  }
}

.projects-05 .category:before{
  content: '';
  width: 64px;
  margin-right: 32px;
  height: 1px;
  background-color: var(--main-color);
  display: inline-block;
  margin-bottom: 4px;
}

@media (min-width: 1400px) and (max-width: 1600px) {
  .projects-05 .tab-content h3{
    font-size: 38px;
  }
}

@media only screen and (max-width: 1199px) {
  .projects-05 {
    padding: 64px;
  }

  .projects-05 .pl-64{
    padding-left: 32px;
  }

  .projects-05 .pr-64{
    padding-right: 32px;
  }

  .projects-05 .pro-05-items{
    margin-bottom: 64px;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .projects-05 .tab-content h3{
    font-size: 22px;
  }
}

@media only screen and (max-width: 767px) {
  .projects-05 .pr-64 {
    padding-right: 0;
    margin-bottom: 64px;
  }

  .projects-05 .pl-64 {
    padding-left: 0;
  }
}

@media only screen and (max-width: 500px) {
  .projects-05 {
    padding: 16px;
  }
}

/*project details*/
.light-mode .project-details,
.single-project .light-mode .elementor{
  background: white;
}

.project-details .info{
  text-align: right;
}

.project-details .detail-info .text-left{
  padding-right: 15px;
}

.project-details .text-right{
  padding-left: 15px;
}

.project-details .text-left p:last-child,
.project-details .text-right p:last-child{
  margin-bottom: 0;
}

.project-details .galley img{
  max-width: 100%;
  height: 100%;
  max-height: 606px;
  object-fit: cover;
  padding-left: 15px;
  padding-right: 15px;
}

.project-details .galley .row .img:first-child img{
  padding-left: 0;
}

.project-details .galley .row .img:last-child img{
  padding-right: 0;
}

.pro-tags{
  margin-left: auto;
  margin-right: auto;
  width: auto;
}

.pro-tags span{
  margin-right: 16px;
}

.pro-tags .tag-list{
  display: inline;
}

.pro-tags .tag-list li{
  display: inline-block;
}

.pro-tags .tag-list li a{
  padding: 16px 32px;
  background:var(--heading-color);
  color: var(--black-100);
}

.light-mode .pro-tags .tag-list li a{
  color: white;
  background: var(--black-100);
}

.white-bg{
  background:var(--heading-color);
  color: var(--black-90);
}

.white-bg h5{
  color: var(--black-100);
}

.related-projects a:not(.prev-pro, .next-pro){
  width: auto;
  margin: auto;
  font-weight: 900;
  color: var(--black-90);
}

.related-projects a.prev-pro,
.related-projects a.next-pro{
  color: var(--black-90);
  font-weight: 900;
  font-size: 16px;
  width: auto;
}

.related-projects a.prev-pro:after,
.related-projects a.next-pro:after{
  content: '';
  width: 100%;
  height: 1px;
  background: var(--main-color);
  display: block;
}

.related-projects .row{
  justify-content: center;
  align-items: center; 
}

.related-projects img{
  width: 100%;
  max-width: 345px;
  height: 396px!important;
  object-fit: cover;
}

.related-projects .blog-meta li{
  font-size: 15px;
}

@media (min-width: 992px) and (max-width: 1399px){
  .related-projects .blog-meta li:not(:first-child) {
    margin-left: 0;
  }
}

@media(max-width: 767px){
  .related-projects .blog-meta li:not(:first-child) {
    margin-left: 0;
  }
}

.related-text{
  padding: 32px;
}

.related-projects .blog-meta {
  justify-content: left;
}

.related-left{
  padding-right: 15px;
  color: var(--black-20);
}

.related-left h5{
  color: white;
}

.related-right{
  padding-left: 15px;
}

.related-projects .related-left .blog-meta li .fa-user + a{
  color: var(--black-20);
  text-transform: capitalize;
  font-weight: normal;
}

.related-projects .related-right .blog-meta li .fa-user + a{
  color: var(--black-90);
  text-transform: capitalize;
  font-weight: normal;
}

@media only screen and (max-width: 991px) {
  .project-details .info{
    text-align: left;
    margin-bottom: 32px;
    padding-right: 0;
  }

  .project-details .text-right{
    padding-left: 0;
  }
}

@media only screen and (max-width: 576px) {
  .project-details .galley img{
    padding-left: 0;
    padding-right: 0;
  }
  .project-details .galley .img:not(:last-child){
    margin-bottom: 30px;
  }
  .project-details .pro-tags li{
    margin-bottom: 28px;
  }
}

/*project-details-02*/
.light-mode .project-details-02{
  background: white;
}

.project-details-02 .carousel-indicators{
  margin:  30px auto 0 auto;
}

.project-details-02 .carousel-item img{
  position: relative;
  max-height: 792px;
  object-fit: cover;
  width: 100%;
}

.project-details-02 .carousel-buttons{
  position: absolute;
  top: 33%;
  z-index: 2;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}

.project-details-02 .carousel-indicators button,
.project-details-02 .carousel-indicators [data-bs-target],
.project-details-02 .carousel-indicators button img{
  width: 100%;
  height: 320px; 
  padding: 0;
  margin: 0;
}

.project-details-02 .carousel-indicators button{
  border: unset;
  border-radius: unset;
}

.project-details-02 .carousel-indicators,
.project-details-02 .carousel-indicators button{
  position: relative;
}

.project-details-02 .carousel-indicators button img{
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}

.project-details-02 .carousel-list-images{
  width: 100%;
  justify-content: center;
}

.project-details-02 .carousel-list-images .button-img{
  display: none;
}

.project-details-02 .carousel-list-images .button-img:has(button.active),
.project-details-02 .carousel-list-images .button-img:has(button.active) + .button-img,
.project-details-02 .carousel-list-images .button-img:has(button.active) + .button-img + .button-img,
.project-details-02 .carousel-list-images .button-img:has(button.active) + .button-img + .button-img + .button-img,
.project-details-02 .carousel-list-images .button-img:has(+ .button-img:nth-last-child(3) button.active),
.project-details-02 .carousel-list-images .button-img:has(+ .button-img:nth-last-child(2) button.active),
.project-details-02 .carousel-list-images .button-img:has(+ .button-img + .button-img:nth-last-child(2) button.active),
.project-details-02 .carousel-list-images .button-img:has(+ .button-img:last-child button.active),
.project-details-02 .carousel-list-images .button-img:has(+ .button-img + .button-img:last-child button.active),
.project-details-02 .carousel-list-images:has(.button-img:last-child button.active) .button-img:nth-last-child(4){
  display: inherit;
}

.project-details-02 .carousel-list-images .button-img:first-child{
  padding-left: 0;
  padding-right: 22.5px;
}

.project-details-02 .carousel-list-images .button-img:nth-child(2){
  padding-left: 7.5px;
  padding-right: 15px;
}

.project-details-02 .carousel-list-images .button-img:nth-child(3){
  padding-left: 15px;
  padding-right: 7.5px;
}

.project-details-02 .carousel-list-images .button-img:last-child{
  padding-left: 22.5px;
  padding-right: 0;
}

.project-details-02 .detail-list-text li{
  margin-bottom: 16px;
}

.block-left{
  display: block;
}

.project-details-02 .left{
  padding-right: 15px;
  margin-top: 8px;
}

.project-details-02 .right{
  padding-left: 15px;
}

.project-details-02 .left .block-left:not(:last-child){
  margin-bottom: 32px;
}

.project-details-02 .left .pro-tags .tag-list li:not(:last-child){
    display: inline-block;
    margin-bottom: 26px;
}

.project-details-02 .pro-tags h5{
  margin-bottom: 32px;
}

@media only screen and (max-width: 991px) {
  .project-details-02 .right{
    padding-left: 0;
  }

  .project-details-02 .left {
    padding-right: 0;
  }

  .project-details-02 .carousel-buttons{
    top: 26%;
  }

  .project-details-02 .left{
    margin-bottom: 48px;
  }
  .related-left{
    padding-right: 0;
    margin-bottom: 64px;
  }
  .related-right {
    padding-left: 0;
}

}

@media only screen and (max-width: 767px) {
  .project-details-02 .carousel-indicators{
    display: none;
  }
  .project-details-02 .carousel-buttons {
    top: 43%;
  }
}

@media only screen and (max-width: 576px) {
    .related-projects img{
      max-width: 576px;
    }

    .blog-meta{
      display: block;
    }
}

@media only screen and (max-width: 400px) {
    .project-details-02 .left {
        margin-bottom: 80px;
    }
}

.light-mode .project-details-02 .left .footer-social a{
  color: var(--black-90);
}

/*******************************************************/
/******************* ## Timeline Area ******************/
/*******************************************************/
.light-mode .timeline-area{
  background: white;
}


.section-heading .button{
  text-align: right;
  margin: auto 0 auto auto;
}

.section-heading .button a{
  font-size: 16px;
  line-height: 24px;
  padding: 16px 32px;
  color: var(--black-100);
  background-color:var(--heading-color);
}

.timeline-area .slick-list{
  max-height: 576px;
  height: 100%;
}

.timeline-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 0;
}

.timeline-item .icon {
  -webkit-box-flex: wrap;
  -ms-flex: wrap;
  flex: wrap;
  cursor: pointer;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  position: relative;
  margin-right: 50px;
}

.timeline-item.slick-current .icon:after {
  content: '';
  position: absolute;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  width: 64px;
  height: 1px;
  background: var(--main-color);
  line-height: 1px;
  top: 43px;
  left: 120px;
}

.timeline-item .h2 {
  display: block;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

.timeline-item img{
  height: 100%;
  object-fit: cover;
  max-height: 144px;
}

.timeline-item img.ishow,
.timeline-item.slick-current img.ifade{
  display: none;
}

.timeline-item img.ifade,
.timeline-item.slick-current img.ishow{
  display: block;
}

.timeline-item.slick-current .icon:before {
  color:var(--heading-color);
}

.timeline-item .icon.h2 {
  color: var(--black-20);
  margin-left: 32px;
}

@media(min-width: 992px){
  .timeline-item .icon.h2{
    text-shadow: 2px 0 var(--black-20);
  }

  .timeline-item.slick-current .icon.h2{
    text-shadow: 2px 0 var(--heading-color);
  }
}

.timeline-item.slick-current .icon.h2 {
  color:var(--heading-color);
}

.light-mode .section-heading .button a{
  background-color: var(--main-color);
  color: white;
}

.light-mode .timeline-item .icon.h2{
  text-shadow: 2px 0 var(--black-20);
}

.light-mode .timeline-item.slick-current .icon.h2{
  color: var(--black-100);
  text-shadow: 2px 0 var(--black-100);
}

@media(max-width: 991px){
  .light-mode .timeline-item.slick-current .icon.h2{
    text-shadow: unset;
  }
}

.timeline-item.slick-current:before {
  left: 0;
  opacity: 1;
}

.timeline-content .slick-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.timeline-area .timeline-images .content {
  background: var(--black-100);
  padding: 64px;
  height: fit-content;
  width: 39%;
  position: absolute;
  z-index: 1;
  top: 32px;
}

.timeline-area .timeline-images img {
  position: relative;
  float: right;
  margin-left: auto;
  width: 100%;  
  max-width: 930px; 
  height: 576px;
  object-fit: cover;
}

.timeline-images .description{
  margin-top: 16px;
  margin-bottom: 0;
  color: var(--black-20);
}

.timeline-images .slick-current .content .h5 {
  color:var(--heading-color);
  font-weight: 900;
}

@media only screen and (max-width: 1399px) {
  .timeline-area .timeline-item.slick-current .icon:after{
    top: 30px;
    left: 74px;
  }
  .timeline-area .timeline-images img{
    width: 90%;
  }
}

@media only screen and (max-width: 991px) {
  .timeline-area .timeline-images .content{
    padding: 32px;
  }
}

@media (min-width: 576px) and (max-width: 991px) {
  .timeline-area .slick-slide .description{
    max-height: 300px;
    overflow: auto;
  }
}

@media only screen and (max-width: 767px) {
  .timeline-area .timeline-item img{
    height: 64px;
  }

  .timeline-area .slick-list{
    margin-bottom: 64px;
  }

  .timeline-area .timeline-images img {
      width: 75%;
  }

  .timeline-area .timeline-images .content{
    width: 50%;
  }

  .timeline-area .timeline-images .content{
    top: 64px;
  }
    
}

@media only screen and (max-width: 576px) {
  .timeline-area .section-title{
    text-align: center;
    margin-bottom: 32px;
  }

  .timeline-area .button{
    text-align: center;
  }

  .timeline-area .timeline-images .content {
    position: relative;
    width: 100%;
  }

  .timeline-area .timeline-images img{
    width: 100%;
    height: 320px;
    object-fit: cover;
  }

  .timeline-area .slick-list{
    margin-bottom: 0;
  }
}


/*******************************************************/
/**************** ## Testimonials Area *****************/
/*******************************************************/
.light-mode .reviews-area{
  background: var(--black-10);
}

.testimonial-item {
  text-align: center;
}

.testimonial-item .author-text {
  font-weight: 900;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 35px;
  font-family: initial;
  color: var(--black-20);
}

.light-mode .testimonial-item .author-text{
  color: var(--black-100);
}

@media(min-width: 992px){
  .testimonial-item .author-text {
    text-shadow: 2px 0 var(--black-20);
  }
  .light-mode .testimonial-item .author-text{
    text-shadow: 2px 0 var(--black-100);
  }
}

.testimonial-item h5 {
  margin-bottom: 8px;
}

.testi-img{
  width: 256px;
  height: 256px;
  border-radius: 50%;
  object-fit: cover;
  margin: 96px auto 32px;
}

.testimonial-item .designations {
  font-size: 16px;
}

.testimonials-slider .slick-dots{
  margin-top: 80px;
  text-align: center;
}


.testimonials-slider .slick-dots li{
  border: 1px solid var(--black-20);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
  overflow: hidden;
  margin-right: 8px;
}

.light-mode .testimonials-slider .slick-dots li{
  border: 1px solid var(--black-90);
}

.testimonials-slider .slick-dots li:last-child{
  margin-right: 0;
}

.testimonials-slider .slick-dots li button{
  background: transparent;
  content: none;
}

.testimonials-slider .slick-dots li.slick-active{
  background-color: var(--main-color);
  border: 1px solid var(--main-color);
}

.light-mode .designations{
  color: var(--black-90);
}
/*******************************************************/
/****************** ## CTA Area ********************/
/*******************************************************/
.cta-area h2{
  color: var(--black-20);
}

.white,
h2 .white{
  color: white!important;
}

@media(min-width: 992px){
  .cta-area h2{
    text-shadow: 2px 0 var(--black-20);
  }

  h2 .white{
    text-shadow: 2px 0 white;
  }
}

.cta-content {
  margin-top: 16px;
}

.btn-white-bg{
  background:var(--heading-color);
  color: var(--black-100);
  padding: 16px 32px;
  border: 2px solid var(--black-100);
}

.cta-area .cta-form input[type="email"]{
  border: 1px solid var(--heading-color); 
}

.cta-area .cta-form{
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.cta-area input{
  color: var(--black-20);
  background-color: var(--black-100);
}

/*******************************************************/
/******************** ## Blog Area ********************/
/*******************************************************/
/*blog home page*/
.light-mode .blog-home{
  background: white;
}

.blog-home h6 a{
  text-transform: uppercase;
  color: var(--black-100);
}

.blog-home .blog-item.black-120-bg h6 a{
  color:var(--heading-color);
}

.blog-home .blog-item {
  padding: 32px;
  margin-bottom: 40px;
  color: var(--black-90);
  border-radius: 8px;
}

.blog-home .blog-item.black-120-bg{
  color: var(--black-20);
}

.blog-home .blog-meta li i{
  color: var(--black-90)
}

.blog-home .blog-item.black-120-bg .content  span i,
.blog-home .blog-item.black-120-bg .blog-meta li i{
  color: var(--main-color)
}

.blog-home .blog-item .image img{
  width: 100%;
  height: auto;
  height: 392px;
  margin: 32px 0;
  object-fit: cover;
  aspect-ratio: 1/1;
} 

@media(min-width: 992px){
  .blog-home .blog-item .image img{
    max-width: 386px;
  }
}

.blog-home .theme-btn{
  color:var(--heading-color);
  background: var(--blue-120);
}

.blog-home .blog-item.black-120-bg .theme-btn{
  background:var(--heading-color);
  color: var(--black-100);
}

.blog-home .blog-item hr{
  width: 30%;
  color: var(--black-100);
  margin: 16px auto;
}

.blog-home .blog-item.black-120-bg hr{
  color: var(--main-color);
}

.blog-home .blog-meta li a{
  color: var(--black-90);
}

.blog-home .blog-item.black-120-bg .blog-meta li a{
  color: var(--black-20);
}

.blog-home .blog-item.black-120-bg .theme-btn{
  background:var(--heading-color);
  color: var(--black-100);
}

@media only screen and (min-width: 1200px) {
  .blog-home .item:first-child{
    padding-right: 20px;
  }

  .blog-home .item:nth-child(2){
    padding: 0 10px;
  }

  .blog-home .item:last-child{
    padding-left: 20px;
  }
}

@media only screen and (max-width: 1200px) {
  .blog-home .blog-item {
    padding: 32px 16px;
  }
}

@media only screen and (max-width: 767px) {
  .blog-home .col-xl-4:not(:last-child){
    margin-bottom: 64px;
  }
}

@media only screen and (max-width: 576px) {
  .blog-home .section-title{
    text-align: center;
    margin-bottom: 32px;
  }

  .blog-home .button{
    text-align: center;
  }
}

/*blog page*/


.banner-area.blog-banner {
  position: relative;
  height: 100vh;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center; /* mantém H1 no centro */
}

.scroll-down {
  position: absolute;
  bottom: 36px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}

.scroll-down a {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.scroll-down span {
  display: block;
  width: 24px;
  height: 24px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  margin: -6px;
  animation: scroll-anim 1.5s infinite;
  opacity: 0.8;
}

.scroll-down span:nth-child(2) {
  animation-delay: 0.3s;
}

@keyframes scroll-anim {
  0% {
    opacity: 0;
    transform: rotate(45deg) translate(0, 0);
  }
  50% {
    opacity: 1;
    transform: rotate(45deg) translate(5px, 5px);
  }
  100% {
    opacity: 0;
    transform: rotate(45deg) translate(10px, 10px);
  }
}


.blog-banner h1 {
  font-size: 2.8rem;
  letter-spacing: 0px;
}

.blog-thumb .carousel-buttons{
  position: absolute;
  top: 48%;
  z-index: 2;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}

.blog-thumb img{
  position: relative;
  height: 456px;
  width: 100%;
  max-width: 930px;
  object-fit: cover;
}

.blog-content .blog-meta{
  justify-content: left;
}

.blog-content .blog-desc{
  padding: 40px;
}

.blog-content .blog-desc:has(.primary-readmore){
  padding-bottom: 56px;
}

.primary-readmore{
  background: var(--main-color);
  color: var(--heading-soft-color);
  padding: 16px 32px;
  margin-top: 32px;
  border-radius: 7px;
}

.primary-readmore:hover{
  background: var(--black-100);
  color: var(--heading-soft-color);
}

.blog-content .left{
  padding-right: 15px;
}

.blog-content .sidebar{
  padding-left: 15px;
}

.blog-item{
  margin-bottom: 30px;
}

.blog-item:last-child{
  margin-bottom: 0;
}

.blog-thumb.video {
  -webkit-clip-path: none;
  clip-path: none;
  z-index: 1;
  position: relative;
}

.blog-thumb.video .video-play {
  color:var(--heading-color);
  z-index: 2;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  font-size: 50px;
}

.blog-content .sidebar .widget-wrapper:not(.search-wg){
  margin-top: 30px;
  padding: 40px;
  background-color: var(--black-120);
}

.blog-content .widget-wrapper h5{
  margin-bottom: 25px;
}

.blog-content .sidebar .search-form input{
  background-color:var(--heading-color);
  border-radius: unset;
  border: unset;
  height: 60px;
}

.blog-content .sidebar .search-form button{
  position: absolute;
  right: 0;
  background: var(--main-color);
  padding: 16px 32px;
}

.blog-content .sidebar .recent-posts li{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 32px;
}

.blog-content .sidebar .recent-posts li:last-child{
  margin-bottom: 0;
}

.blog-content .sidebar .recent-posts a.recent-thumb{
  width: 96px;
  height: 96px;
  display: contents;
}

@media(min-width: 375px){
  .blog-content .sidebar .recent-posts li .content{
    margin-left: 16px;
  }
}

.blog-content .sidebar .recent-posts img{
  width: 96px;
  height: 96px;
  object-fit: cover; 
  aspect-ratio:  1/1;
}

.blog-content .sidebar .recent-posts li i{
  color: var(--main-color);
}

.blog-content .sidebar .recent-posts li h6{
  margin-bottom: 0;
}

.blog-content .sidebar .widget-categories li{
  margin-bottom: 16px;
  text-align: right;
}

.blog-content .sidebar .widget-categories li a{
  float: left;
}

.blog-content .sidebar .widget-categories li:last-child{
  margin-bottom: 0;
}

.blog-content .sidebar .widget-tags a{
  padding: 16px 32px;
  background:var(--heading-color);
  color: var(--black-100);
}
.blog-content .sidebar .widget-tags li{
  margin-bottom: 30px;
  margin-right: 4px;
  display: inline-block;
}
.blog-content .sidebar .widget-tags li:last-child{
  margin-right: 0;
  margin-bottom: 20px;
}

.blog-content .sidebar .tags {
  margin-top: 40px;
}

.sidebar .widget-categories{
  margin-top: -5px;
}
/*blog details*/
.blog-thumb + .details-desc .detail-title{
  margin-top: 30px;
}
/* blockquote section */
blockquote {
  z-index: 1;
  padding: 32px;
  position: relative;
  background:var(--heading-color);
  overflow: hidden;
  margin: 30px 0;
  border-left: 5px solid var(--main-color);
}

@media only screen and (max-width: 375px) {
  blockquote {
    padding-left: 25px;
    padding-right: 25px;
  }
}

blockquote h5{
  color: var(--black-90);
}

blockquote cite.name {
  float: right;
  color: var(--black-90);
  clear: both;
}

.blog-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: center;
}

.blog-meta li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1;
  margin-top: 10px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.blog-meta li i {
  font-size: 16px;
  margin: -1px 8px 0 0;
  color: var(--main-color);
}

.blog-meta li:not(:first-child){
  margin-left: 16px;
}

.blog-tags{
  margin-top: 30px;
}

.blog-tags span{
  margin-right: 16px;
}

.blog-tags .tag-list{
  display: inline;
}

.blog-tags .tag-list li{
  display: inline-block;
}

.blog-tags .tag-list li a{
  padding: 16px 32px;
  border-radius: var(--border-radius);
  background:var(--heading-color);
  color: var(--black-100);
}

@media only screen and (max-width: 991px) {
  .sidebar {
    margin-top: 96px;
  }

  .blog-content .left {
    padding-right: 0;
  }

  .blog-content .sidebar{
    padding-left: 0;
  }
}

/* Comments */
.comments-area{
  margin-top: 96px;
}

.comments-area h2{
  margin-bottom: 32px;
}

.comment-body {
  padding: 40px 0;
  border-bottom: 1px solid var(--black-90);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.light-mode .comment-body {
  border-bottom: 1px solid var(--black-20);
}

.comments > .comment-body:first-child{
  padding-top: 0;
}

.comments > .comment-body:last-child,
.comments > .comment-body:last-child .child-comment:last-child{
  border-bottom: none;
  padding-bottom: 0;
}

.comment-body .author-img {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  margin-right: 20px;
  width: 128px;
  height: 128px;
}
.comment-body .author-img img{
  object-fit: cover;
  border-radius: 50%;
  aspect-ratio: 1/1;
  width: 100%;
  height: auto;
}

.comment-reply-link{
  padding: 8px 16px;
  color: var(--black-100);
  background: var(--main-color);
}

.comment-reply-link:hover{
  color: var(--main-color);
  background: var(--black-100);
}

.comment-body .right h6 {
  margin-bottom: 5px;
  text-transform: uppercase;
}

.comment-body .right .date {
  font-size: 16px;
}

.comment-body .content {
  margin-top: 16px;
}

.comment-body .content p:last-child{
  margin-bottom: 0;
}

.comment-body.child-comment {
  margin-left: 120px;
  position: relative;
  background: var(--secondary-color);
}

.light-mode .comment-body.child-comment{
  background: white;
}

/* Comment Form */
.comment-form{
  background: var(--black-120);
  padding: 64px;
}

.light-mode .comment-form{
  background: var(--black-10);
}

.light-mode .comment-form label{
  color: var(--black-90);
}

.comment-form .form-group {
  margin-bottom: 40px;
}

.comment-form input,
.comment-form textarea{
  border: none;
}

.comment-form .form-checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px;
}

.comment-form .form-checkbox input {
  margin: -3px 10px 0 0;
}

.comment-form button{
  color: var(--black-100);
  background: var(--main-color);
}

@media only screen and (min-width: 992px) {
  .comment-form .theme-btn {
    padding-top: 17px;
    padding-bottom: 17px;
  }
}

@media only screen and (max-width: 767px) {
  .comment-body.child-comment {
    margin-left: 50px;
  }
}

@media only screen and (max-width: 576px) {
  .blog-banner h1{
    font-size: 2.0rem;
  }

  .blog-tags .tag-list li{
    margin-bottom: 28px;
  }

  .blog-meta{
    display: block;
  }

  .blog-home .blog-meta li{
    display: block;
  }

  .blog-meta li:not(:first-child) {
      margin-left: 0;
  }

  .comment-body{
    display: block;
  }

  .comment-body .author-img {
    margin-bottom: 16px;
  }

  .comment-body:has(.comment-reply-link) .content{
    margin-bottom: 26px;
  }

  .comment-form{
    padding: 40px 16px;
  }

   .pagination li{
    margin-bottom: 6px;
  }

}

@media only screen and (max-width: 375px) {
  .comment-body.child-comment {
    margin-left: 30px;
  }

  .comment-body .content {
    font-size: 16px;
  }

  .blog-content .sidebar .recent-posts li{
    display: block;
  }

  .sidebar .recent-posts li img{
    margin-bottom: 16px;
  }

  .blog-content .sidebar .search-form button{
    right: 12px;
  }
}

.light-mode .blog-content{
  background: white;
}

.light-mode .blog-desc {
  background-color: var(--black-10);
  color: var(--black-90);
}

.light-mode .blog-content .sidebar .widget-wrapper:not(.search-wg) {
  background-color: var(--black-10);
}

.light-mode .blog-content .sidebar a{
  color: var(--black-90);
}

.light-mode .blog-content .sidebar .search-form input{
  border: 1px solid var(--black-10);
}

.light-mode blockquote{
  background: var(--black-20);
}

.light-mode .blog-tags .tag-list li a{
  background: var(--black-100);
  color: white;
}



/*******************************************************/
/******************** ## About Style 2 ********************/
/*******************************************************/
.about-style-2 .section-title h2{
  margin-bottom: 16px;
}

.about-style-2 ul.nav-pills.tab-style-one{
  margin-left: 0;
  margin-right: 0;
}

.about-style-2 .left{
  padding-right: 32px;
}

@media (max-width: 768px) {
  .about-style-2 .left {
    padding-right: 0px;
    margin-bottom: 0px;

  }
  ul.nav-pills.tab-style-one .nav-link {
    padding: 9px;
    margin: 10px;
}
}

.about-style-2 .imgs{
  position: relative;
}

.about-style-2 .imgs img{
  width: 100%;
  max-width: 690px;
  height: 100%;
  max-height: 780px;
  object-fit: cover;
  -webkit-transition: all linear 0.7s;
  -khtml-transition: all linear 0.7s;
  -moz-transition: all linear 0.7s;
  -ms-transition: all linear 0.7s;
  -o-transition: all linear 0.7s;
  transition: all linear 0.7s;
}

.about-style-2 .imgs .hovershow{
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
}

.about-style-2 .imgs:hover img{
  opacity: 0;
}

.about-style-2 .imgs:hover img.hovershow{
  opacity: 1;
}

.text-black h1,
.text-black .breadcrumb .breadcrumb-item a,
.text-black .breadcrumb .breadcrumb-item,
.text-black .breadcrumb-item:not(:first-child)::before{
  color: var(--black-100);
}

@media(min-width: 992px){
  .text-black h1{
    text-shadow: 2px 0 var(--black-100);
  }
}

.light-mode .about-style-2{
  background: var(--heading-color);
}


/*******************************************************/
/******************* ## Counter Area *******************/
/*******************************************************/
.counter-title {
  font-weight: 700;
  color: var(--heading-color);
  text-transform: capitalize;
}

.text-white .h2,
.text-white h5{
  color: white;
}

.achievement-area{
  padding: 320px 0;
  background-size: cover;
  background-repeat: no-repeat;
  text-align: center;
}
.achievement-area .counter-text-wrap > div{
  justify-content: center;
}

@media only screen and (max-width: 991px) {

  .achievement-area {
    padding: 128px 0;
  }

  .achievement-area .mobile-mb:not(:last-child){
    margin-bottom: 96px;
  }
}

/*******************************************************/
/******************** ## Team Area *********************/
/*******************************************************/
.carousel-item-next, 
.carousel-item-prev, 
.carousel-item.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.light-mode .team-area{
  background: white;
}

.team-area .carousel-inner{
  height: 643px;
}

.team-area .carousel-item .team-item-wrap{
  position: relative;
}

.team-area .carousel-item .team-item-wrap:nth-child(2){
  padding: 0 10px;
}

.team-area .carousel-item .team-item-wrap:first-child{
  padding-right: 20px;
}

.team-area .carousel-item .team-item-wrap:last-child{
  padding-left: 20px;
}

.team-item .text{
  background:var(--heading-color);
  color: var(--black-100);
  padding: 32px;
  position: absolute;
  left: 20%;
  right: 20%;
  bottom: -96px;
  -webkit-transform: perspective(250px) rotateY(-90deg);
  -khtml-transform: perspective(250px) rotateY(-90deg);
  -moz-transform: perspective(250px) rotateY(-90deg);
  -ms-transform: perspective(250px) rotateY(-90deg);
  -o-transform: perspective(250px) rotateY(-90deg);
  transform: perspective(250px) rotateY(-90deg);
  -webkit-transition: all 400ms ease-in-out;
  -khtml-transition: all 400ms ease-in-out;
  -moz-transition: all 400ms ease-in-out;
  -ms-transition: all 400ms ease-in-out;
  -o-transition: all 400ms ease-in-out;
  transition: all 400ms ease-in-out;
}

.team-area .carousel-item .team-item-wrap:first-child{
  padding-left: 0;
}

.team-area .carousel-item .team-item-wrap:last-child{
  padding-right: 0;
}

.team-item img{
  width: 100%;
  height: 560px;
  object-fit: cover;
  aspect-ratio: 1 / 1;
}

.team-area .carousel-item .team-item-wrap:nth-child(2) .text,
.team-area .carousel-item .team-item-wrap:first-child:hover .text,
.team-area .carousel-item .team-item-wrap:last-child:hover .text,
.team-item:hover .text{
  -webkit-transform: perspective(250px) rotateY(0deg);
  -khtml-transform: perspective(250px) rotateY(0deg);
  -moz-transform: perspective(250px) rotateY(0deg);
  -ms-transform: perspective(250px) rotateY(0deg);
  -o-transform: perspective(250px) rotateY(0deg);
  transform: perspective(250px) rotateY(0deg);
}

.team-item .text h5{
  color: var(--black-100);
  margin:  16px 0;
}

@media (min-width: 768px) and (max-width: 991px) {
  .team-item .text {
    padding: 16px;
    left: 15%;
    right: 15%;
  }
}

@media only screen and (max-width: 767px) {

  .team-area .carousel-item .team-item-wrap{
    display: none;
  }

  .team-area .carousel-item.active .team-item-wrap:nth-child(2){
    display: inherit;
  }

  .team-area .carousel-item .team-item-wrap:first-child {
    padding-right: 0;
  }

  .team-area .carousel-item .team-item-wrap:last-child {
    padding-left: 0;
  }

  .team-area .carousel-item .team-item-wrap:nth-child(2){
    padding: 0;
  }
}

.light-mode .team-area .carousel-buttons button{
  background: var(--black-100);
  color: white;
}

.light-mode .team-item .text {
  background: var(--black-10);
}

/*******************************************************/
/****************** ## FAQ Area ******************/
/*******************************************************/
.light-mode .faq-area{
  background: var(--black-10);
}

.faq-area .container > .row{
  position: relative;
}

.faq-p-rotate{
  transform: rotate(-90deg);
  color:var(--heading-color);
  width: fit-content;
  position: absolute;
  top: 122px;
  left: -128px;
}

.light-mode .faq-p-rotate{
  color: var(--black-100);
}

.faq-area .timeline-item.slick-current .icon:after{
    width: 180px;
}

.faq-area .content{
  height: 582px;
  background-size: cover;
  background-repeat: no-repeat;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.faq-area .content .faq-text{
  margin: auto 0;
  padding: 96px;
}

.light-mode .faq-area .content p{
  color: var(--black-20);
}
.faq-area .content h6{
  margin-top: 32px;
}

.light-mode .faq-area .content h6,
.light-mode .faq-area .h5{
  color: white;
}

@media (max-width: 991px) {
  .faq-text{
    overflow: scroll;
    height: inherit;
  }

  .faq-area .timeline-item.slick-current .icon:after{
    width: 64px;
    left: 64px;
    top: 24px;
  }

  .faq-area .content .faq-text {
    padding: 64px;
  }
}

@media only screen and (max-width: 576px) {
  .faq-area .timeline-item.slick-current .icon:after{
    content: ;
  }

  .timeline-item img{
    height: 64px;
  }

  .mobile-ml-96{
    margin-left: 96px;
  }

  .faq-area .mobile-ml-96{
    margin-bottom: 64px;
  }
}

/*******************************************************/
/****************** ## Contact Area ******************/
/*******************************************************/
.contact-banner{
  margin-top: 77px;
  background: var(--black-100);
  z-index: 0;
  position: relative;
}

.contact-banner .search-form{
  background: var(--black-100);
  margin: 0 auto 64px auto;
  padding-top: 64px;
}

.contact-title h1{
  color: transparent;
  text-shadow: 2px 0 transparent;
   background: linear-gradient(to right, var(--main-color) 0%, var(--main-color) 50%, var(--black-100) 50%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  z-index: 2;
}

.contact-title:after{
  content: '';
  background: var(--black-20);
  position: absolute;
  right: 0;
  top: 0;
  width: 50%;
  height: 100%;
  z-index: -1;
}

.contact-area{
  padding-bottom: 128px;
}

.contact-content{
  position: relative;
}

.ct-form {
  padding: 128px 64px;
  background:var(--heading-color);
}


@media only screen and (min-width: 992px) {
  .contact-form{
    margin-right: 35%;
  }

}

.contact-info{
  position: absolute;
  background: black;
  padding: 64px;
  width: 43%;
  right: 0;
  top: 23%;
}

@media only screen and (max-width: 1399px) {
  .contact-info{
    top: 20%;
  }
}

@media only screen and (max-width: 991px) {
  .contact-info{
    position: unset;
    width: 100%;
    margin-top: 64px;
  }
}

.contact-area:before {
  content: '';
  width: 50%;
  height: 100%;
  background: var(--black-100);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.contact-area:after {
  content: '';
  width: 50%;
  height: 100%;
  top: 0;
  right: 0;
  background: var(--black-20);
  display: block;
  position: absolute;
  z-index: -1;
}

.contact-form input, 
.contact-form select, 
.contact-form textarea, 
.contact-form .nice-select, 
.contact-form .form-control{
  background: transparent;
  border:  unset;
  border-bottom: 1px solid var(--black-50);
}

.contact-btn{
  border:  1px solid var(--black-100);
  background: transparent;
  color: var(--black-100);
  padding: 16px 32px;
}

.contact-info-item i{
  margin-right: 32px;
}
.map-area iframe{
  height: 800px;
  filter: grayscale(100%);
  margin-bottom: -9px;
}


/* Contact Form Validation */
.has-error .with-errors {
  color: red;
  margin-top: 5px;
  margin-bottom: -15px;
}

#msgSubmit {
  margin-bottom: 0;
  margin-top: 10px;
}

/*******************************************************/
/****************** ## 404 Area ********************/
/*******************************************************/
.error-area{
  height: 100vh;
}

.error-area:before {
  content: '';
  width: 50%;
  height: 100vh;
  background: var(--black-100);
  display: block;
  position: absolute;
  left: 0;
  z-index: -1;
}

.error-area:after {
  content: '';
  width: 50%;
  height: 100%;
  background: var(--black-20);
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}

.error-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-width: 416px;
}

.error-content{
  padding-top: 276px;
}

@media only screen and (max-width: 576px) {
  .error-content{
    padding: 128px 0;
  }
}

.error-desc p{
  color: transparent;
   background: linear-gradient(to right, var(--black-20) 0%, var(--black-20) 50%, var(--black-100) 50%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/*******************************************************/
/******************** ## Main Footer *******************/
/*******************************************************/
.footer-top h2{
   color: var(--black-20);
   margin-bottom: 0;
}

.footer-bottom{
  margin-top: auto;
  margin-bottom: 0;
}

.footer-bottom-text{
  position: relative;
  width: fit-content;
  height: 100%;
  margin: auto 0 0 auto;
}

.footer-bottom-text .content{
  float: right;
  height: 100%;
  width: fit-content;
}

.light-mode .footer-bottom{
  color: var(--black-20);
}

.footer-top h2 .white{
  color: white!important;
}

@media(min-width: 992px){
  .footer-top h2{
    text-shadow: 2px 0 var(--black-20);
  }
  .footer-top h2 .white{
    text-shadow: 2px 0 white!important;
  }
}

.footer-bottom-text .content .info,
.footer-bottom-text .content .links{
  width: auto;
  margin-left: auto;
  margin-top: auto;
}

@media(min-width: 576px){
  .footer-bottom-text .content .info{
    max-width: 270px;
  }
}

.footer-bottom-text a:hover {
  color: var(--main-color);
}

.copyright-area {
  margin-bottom: 0;
  margin-top: auto;
  text-align: left;
  padding-right: 16px;
  font-size: 12px;
}

.copyright-area a {
  color: var(--main-color);
}

.footer-bottom .h4-rotate{
  font-size: 38px;
  color:var(--heading-color);
  transform: rotate(-90deg);
  position: absolute;
  left: -132px;
  bottom: 76px;
  width: 210px;
  height: 46px;
  letter-spacing:  0px;
  font-weight: 900;
}

.footer-bottom .content .links li{
  margin-bottom: 16px;
}

.footer-bottom .content .links li:last-child{
  margin-bottom: 0;
}

.footer-social i{
  margin-left: 16px;
}

.footer-bottom-text:has(.to-top){
  border-right: 1px solid var(--black-20);
}

.to-top{
  background: none;
}

.to-top p{
  transform: rotate(-90deg);
  position: absolute;
  bottom: 6px;
  padding: 0 6px;
  width: max-content;
  right: -32px;
  background: var(--black-120);
}

@media only screen and (max-width: 1200px) {
  .copyright-area{
    padding-right: 50px;
  }
}


@media only screen and (max-width: 991px) {
  .copyright-area{
    text-align: left;
  }
}


@media only screen and (max-width: 767px) {
  .copyright-area{
    margin-left: 6px;
    margin-bottom: 32px;
    bottom: 0;
  }

  .sm-none{
    display: none;
  }

  .footer-bottom-text .content .info, 
  .footer-bottom-text .content .links{
    margin-left: 48px;
  }

  .footer-bottom .h4-rotate{
    left: -87px;
  }

  .footer-bottom-text{
    margin:0;
  }
}

@media only screen and (max-width: 576px) {
  .footer-top,
  .col-xs-12:has(.info){
    margin-bottom: 64px;
  }

  .error-desc.py-128{
    padding: 64px 0;
  }
}

@media only screen and (max-width: 400px) {
  .footer-bottom{
    margin-bottom: 16px;
  }
}


/*******************************************************/
/******************** ## Intro *******************/
/*******************************************************/
@media(min-width: 767px){
  .intro-area .col-md-6.left{
    padding-right: 15px;
  }
  .intro-area .col-md-6.right{
    padding-left: 15px;
  }
}

.intro-area .content{
  margin-left: auto;
  margin-right: auto;
  margin-top: 64px;
  text-align: center;
}

.screen {
  display: block;
  width: 100%;
  height: 600px;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
}

.screen img {
  width: 100%;
  height: auto;
  position: absolute;
  z-index: 0;
  margin:0;
  padding:0;
  -webkit-transition: top 11s;
  -moz-transition: top 11s;
  -ms-transition: top 11s;
  -o-transition: top 11s;
  transition: bottom 11s;
}

@media(min-width:1400px){
  .screen img {
    bottom: -4256px;
  }
}

@media (min-width:1200px) and (max-width:1399px){
  .screen img {
    bottom: -2300px;
  }
}

@media (max-width:1199px){
  .screen img {
    bottom: -1500px;
  }
}

@media (max-width:767px){
  .screen img {
    bottom: -1000px;
  }

  .intro-area .left {
    margin-bottom: 128px;
  }
}

.screen:hover img {
  bottom: 0;
  -webkit-transition: all 11s;
  -moz-transition: all 11s;
  -ms-transition: all 11s;
  -o-transition: all 11s;
  transition: all 11s;
}


/* ===================================
   SLIDER DINÂMICO
=================================== */
.hero-area-2 {
    overflow: hidden;
    position: relative;
    color: #fff;
}
.hero-area-2 .carousel-item {
    min-height: 90vh;
}
.hero-area-2 .bg-img {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: 1;
}
.hero-area-2 .bg-img::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.5); /* Overlay */
}
.hero-area-2 .bg-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hero-area-2 .content {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    min-height: 90vh;
}
.hero-area-2 .content .left {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: 1.5rem;
    text-transform: uppercase;
    margin-right: 50px;
}
.hero-area-2 .content .right h1 {
    font-size: 3.5rem;
    color: #fff;
}
.hero-area-2 .carousel-control-prev,
.hero-area-2 .carousel-control-next {
    width: 60px;
    height: 60px;
    border: 1px solid rgba(255,255,255,0.3);
    border-radius: 50%;
    opacity: 1;
}
.hero-area-2 .carousel-control-prev { left: 30px; }
.hero-area-2 .carousel-control-next { right: 30px; }

@media (max-width: 767px) {
    .hero-area-2 .content .left { display: none; }
    .hero-area-2 .content .right h1 { font-size: 2.5rem; }
}
.btn-arrow-icon {
    font-size: 12px;
    vertical-align: middle;
    margin-left: -1px;
    position: relative;
    top: 11px;
}


/* ===================================
   GALERIA DE EMPREENDIMENTOS WIDGET
=================================== */
.empreendimento-filter-tabs {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin-bottom: 50px;
    flex-wrap: wrap;
    gap: 10px;
}
.empreendimento-filter-tabs li {
    cursor: pointer;
    padding: 10px 20px;
    font-weight: 600;
    color: #888;
    transition: all 0.3s ease;
    border-bottom: 2px solid transparent;
}
.empreendimento-filter-tabs li.active,
.empreendimento-filter-tabs li:hover {
    color: var(--empreendimento-cor-principal, var(--main-color));
    border-bottom-color: var(--empreendimento-cor-principal, var(--main-color));
}

.empreendimento-card {
    margin-bottom: 30px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.08);
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    transition: all 0.3s ease;
}
.empreendimento-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
}
.empreendimento-card__image-link {
    position: relative;
    display: block;
}
.empreendimento-card__image-link img {
    width: 100%;
    height: 250px;
    object-fit: cover;
}
.empreendimento-card__status {
    position: absolute;
    top: 15px;
    left: 15px;
    background: var(--empreendimento-cor-principal, var(--main-color));
    color: #fff;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
}
.empreendimento-card__content {
    padding: 25px;
}
.empreendimento-card__title {
    font-size: 1.2rem;
    margin-bottom: 10px;
}
.empreendimento-card__title a {
    color: var(--empreendimento-cor-titulos, #333);
    text-decoration: none;
}
.empreendimento-card__resumo {
    color: var(--empreendimento-cor-texto, #666);
    margin-bottom: 20px;
    font-size: 0.9rem;
    line-height: 1.6;
}
.empreendimento-card__link {
    color: var(--empreendimento-cor-principal, var(--main-color));
    font-weight: 600;
    text-decoration: none;
}

/* ===================================
   WIDGET DE EMPREENDIMENTOS (ESTILO RETRATO)
=================================== */
.card-retrato {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    height: 450px; /* Altura fixa para o estilo retrato */
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    margin-bottom: 30px;
}

.card-retrato__image-link {
    display: block;
    width: 100%;
    height: 100%;
}

.card-retrato__image-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.card-retrato__overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.85) 20%, transparent 100%);
    transition: all 0.4s ease;
}

.card-retrato__content {
    position: absolute;
    bottom: 25px;
    left: 25px;
    right: 25px;
    z-index: 2;
    color: #fff;
}

.card-retrato__badge {
    display: inline-block;
    background-color: var(--empreendimento-cor-principal, var(--main-color));
    color: #fff;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    margin-bottom: 10px;
}

.card-retrato__title {
    font-size: 1.5rem;
    color: #fff;
    margin: 0;
    transition: transform 0.4s ease;
}

.card-retrato__resumo {
    color: rgba(255,255,255,0.8);
    font-size: 0.9rem;
    line-height: 1.6;
    margin-top: 15px;
    opacity: 0; /* Começa invisível */
    transform: translateY(20px);
    transition: all 0.4s ease;
    height: 0;
    overflow: hidden;
}

/* --- EFEITO HOVER --- */

.card-retrato:hover .card-retrato__image-link img {
    transform: scale(1.05); /* Leve zoom na imagem */
}

.card-retrato:hover .card-retrato__title {
    transform: translateY(-85px); /* Título sobe para revelar a descrição */
}

.card-retrato:hover .card-retrato__resumo {
    opacity: 1; /* Descrição aparece */
    transform: translateY(0);
    height: auto; /* Altura se ajusta ao conteúdo */
    max-height: 70px; /* Limita a altura da descrição */
}

.card-retrato__image-link {
    background-color: #ffffff;
}

/* Sobrescreve a regra geral, forçando a imagem da planta a ser contida */
.card-retrato__image-link img {
    object-fit: contain !important; /* Garante que a imagem inteira apareça, sem cortes */
}

/* ===================================
   OVERLAY PARA IMAGENS DE ABAS INATIVAS
=================================== */

/* 1. Prepara o contêiner da imagem */
/* 1. Prepara o contêiner da imagem */
.about-area .about-image-wrapper {
    position: relative;
    display: inline-block; /* Garante que o wrapper se ajuste à imagem */
    border-radius: 8px; /* <-- ADICIONE ESTA LINHA */
    overflow: hidden;    /* <-- ADICIONE ESTA LINHA */
}

/* 2. Cria o pseudo-elemento do overlay */
.about-area .about-image-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    /* Cor do overlay: preto com 60% de opacidade */
    background-color: rgba(0, 0, 0, 0.6);
    
    /* Começa invisível */
    opacity: 0;
    
    /* Transição suave */
    transition: opacity 0.4s ease;
}

/* 3. Mostra o overlay na aba INATIVA */
.about-area .nav-link:not(.active) .about-image-wrapper::after,
.about-area .nav-link[aria-selected="false"] .about-image-wrapper::after {
    opacity: 1;
}

/* 4. Garante que não haja overlay na aba ATIVA ou em HOVER */
.about-area .nav-link.active .about-image-wrapper::after,
.about-area .nav-link:hover .about-image-wrapper::after {
    opacity: 0;
}
/* ===================================
   CORREÇÃO DE ALINHAMENTO DAS ABAS "ABOUT"
=================================== */

/* ===================================
   POSICIONAMENTO DO NÚMERO DA ABA (VERSÃO CORRIGIDA)
=================================== */

/* 1. Prepara o contêiner principal da aba para o posicionamento */
.about-area .about-content {
    position: relative; /* Torna este o contêiner de referência */
    /* Garante que o layout original de texto e imagem seja mantido */
    display: flex;
    align-items: center;
}

/* 2. Posiciona o número de forma absoluta no canto inferior direito */
.about-area .number {
    position: absolute;
    bottom: 20px;
    right: 44px;
    z-index: 5; /* Garante que fique acima das imagens */
    
    /* Estilo visual do número */
    font-size: 80px;
    line-height: 1;
    font-weight: 800;
    color: rgba(0, 0, 0, 0.05); /* Cor cinza bem clara e sutil */
    
    /* Impede que o usuário selecione o número com o mouse */
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* ===================================
   RESPONSIVIDADE PARA O COMPONENTE "ABOUT"
=================================== */

/* --- Ajustes para Telas Médias (Tablets) --- */
@media (max-width: 1334px) {
    .about-area .about-content {
        /* Reduz a largura e altura dos cards das abas */
        --bs-nav-tabs-link-active-bg: transparent;
    }

    .about-area .about-content .text {
        padding: 40px; /* Reduz o padding interno */
    }

    .about-area .about-content .big-image {
        max-width: 300px; /* Reduz a imagem maior */
    }

    .about-area .about-content .small-image {
        bottom: 30px;
        right: 30px;
        max-width: 120px; /* Reduz a imagem menor */
    }

    .about-area .number {
        font-size: 80px; /* Reduz o número do canto */
        bottom: 10px;
        /* right: 10px; */
    }
}


/* --- Ajustes para Telas Pequenas (Celulares) --- */
@media (max-width: 767px) {
    .py-128 {
        padding: 60px 0 !important; /* Reduz o espaçamento geral da seção */
    }

    /* Empilha o texto e a imagem um sobre o outro */
    .about-area .about-content {
        flex-direction: column;
    }

    .about-area .about-content .text {
        padding: 30px 20px;
        text-align: center;
    }
    
    .about-area .about-content .h4-rotate {
        writing-mode: horizontal-tb; /* Deixa o título na horizontal */
        transform: none;
        position: static;
        margin-bottom: 20px;
        text-align: center;
        width: 100%;
    }

    .about-area .about-content .p-rotate {
        display: none; /* Esconde o texto rotacionado que não se encaixa */
    }

    .about-area .about-content .big-image {
        max-width: 80%; /* Ajusta a imagem para o centro */
        margin-bottom: 20px;
    }

    .about-area .about-content .small-image {
        display: none; /* Esconde a imagem pequena para um layout mais limpo */
    }

    /* Esconde a lista de abas e mostra apenas a primeira */
    .about-area .nav-tabs {
        flex-direction: column;
    }
    .about-area .nav-item {
        width: 100%;
    }
}

/* ===================================
   AJUSTES PARA TELAS GRANDES (FULL HD E ACIMA)
=================================== */

@media (min-width: 1400px) {

    /* --- Ajusta o componente "About" --- */
    .about-area.py-128 {
        padding: 150px 0; /* Aumenta o espaçamento vertical da seção */
    }

    .about-area .about-content .text {
        padding: 60px; /* Aumenta o padding interno do texto */
    }

    .about-area .about-content .h4-rotate {
        font-size: 2rem; /* Aumenta o título */
    }

    .about-area .about-content .text p {
        font-size: 1.1rem; /* Aumenta o parágrafo */
    }

    .about-area .about-content .big-image {
        max-width: 200px; /* Aumenta a imagem principal */
    }

    .about-area .about-content .small-image {
        max-width: 180px; /* Aumenta a imagem menor */
    }

    .about-area .number {
        font-size: 100px; /* Aumenta o número decorativo */
    }
}

/* ===================================
   AJUSTES PARA TELAS INTERMEDIÁRIAS (ex: 1366x768)
=================================== */

@media (max-width: 1400px) and (min-width: 1200px) {

    /* --- Ajusta o componente "About" --- */
    .about-area.py-128 {
        padding: 100px 0; /* Reduz o espaçamento vertical */
    }

    .about-area .about-content .text {
        padding: 40px 30px; /* Reduz o padding interno */
    }

    .about-area .about-content .h4-rotate {
        font-size: 1.5rem; /* Reduz o título */
    }

    .about-area .about-content .text p {
        font-size: 1rem; /* Reduz o parágrafo */
        line-height: 1.7;
    }

    .about-area .about-content .big-image {
        max-width: 380px; /* Reduz a imagem principal */
    }

    .about-area .about-content .small-image {
        max-width: 140px; /* Reduz a imagem menor */
    }

    .about-area .number {
        font-size: 100px; /* Reduz o número decorativo */
    }
}

/* ================================================================
   CSS WIDGET DE DESTAQUES DE EMPREENDIMENTOS
   (Layout com conteúdo sobre a imagem e ribbon)
================================================================ */

.light-mode .destaques-section {
    background: var(--black-10);
}

/* ===================================
   SECTION TITLE STYLE (NOVO)
=================================== */
.section-title-with-bg {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 60px; /* Espaçamento antes dos cards */
    text-align: center;
}

/* Título Principal: "Nossos Empreendimentos" */
.section-title-with-bg .main-title {
    font-size: 2.5rem; /* Tamanho do título principal */
    color: var(--heading-color);
    font-weight: 700;
    margin: 0;
    order: 1; /* Aparece primeiro */
}

/* Subtítulo: "DESTAQUES" */
.section-title-with-bg .background-text {
    /* Resetando o estilo de texto de fundo */
  position: absolute;
  content: "";
  font-weight: 700;
  font-size: 120px;
  letter-spacing:  -1px;
  text-transform: capitalize;
  left: 50%;
  transform: translateX(-50%);
  /* z-index: 0; */
  bottom: -5px;
  line-height: 1;
  color: #99999954;
}


/* --- 1. Espaçamento (Gap) entre os Cards --- */
.destaques-section .row {
    margin-left: -15px;
    margin-right: -15px;
}
.destaques-section .row > .col-lg-4 {
    padding-left: 15px;
    padding-right: 15px;
}

/* --- 2. Estilo Base do Card --- */
.card-destaque {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    height: 600px; /* Altura fixa para o card */
    margin-bottom: 30px;
    display: block; /* Garante que o card se comporte como um bloco */
    transition: box-shadow 0.4s ease;
}

/* --- 3. Imagem de Fundo --- */
.card-destaque__image-link {
    display: block;
    width: 100%;
    height: 100%;
}
.card-destaque__image-link img {
    width: 100%;
    height: 100%!important;
    object-fit: cover;
    transition: transform 0.4s ease;
}

/* --- 4. Conteúdo Sobreposto (Título, Resumo, etc.) --- */
.card-destaque__content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 25px;
    z-index: 3;
    color: #fff;
    /* Gradiente azul na base para garantir a legibilidade do título */
    background: linear-gradient(to top, rgba(60, 95, 137, 0.85) 0%, transparent 100%);
    transition: background 0.4s ease;
}

.card-destaque__badge {
    display: inline-block;
    background-color: var(--empreendimento-cor-principal, var(--main-color));
    color: #fff;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    margin-bottom: 10px;
}

.card-destaque__title {
    font-size: 1.4rem;
    margin: 0;
}
.card-destaque__title a {
    color: #fff;
    text-decoration: none;
    transition: color 0.4s ease;
}

/* --- 5. Conteúdo do Hover (Resumo) --- */
/* Escondido por padrão */
.card-destaque__resumo {
    font-size: 0.9rem;
    line-height: 1.6;
    margin-top: 15px;
    color: rgba(255,255,255,0.8);
    opacity: 0;
    height: 0;
    overflow: hidden;
    transition: all 0.4s ease;
}

/* --- 6. Efeito Hover --- */

/* Overlay escuro que aparece no hover */
.card-destaque__image-link::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #000;
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 2;
}

.card-destaque:hover .card-destaque__image-link::after {
    opacity: 0.4; /* Opacidade do overlay escuro */
}

/* Efeito de zoom na imagem */
.card-destaque:hover .card-destaque__image-link img {
    transform: scale(1.05);
}

/* Mostra o resumo no hover */
.card-destaque:hover .card-destaque__resumo {
    opacity: 1;
    height: auto;
    max-height: 70px; /* Limita a altura da descrição */
}


/* --- 7. Estilo da Fita (Ribbon) Aprimorado --- */
.card-destaque__ribbon {
    position: absolute;
    top: -5px;
    right: -5px;
    width: 150px;
    height: 150px;
    /* overflow: hidden; */
    z-index: 4;
}

.card-destaque__ribbon span {
    position: absolute;
    display: block;
    width: 225px;
    padding: 10px 0;
    background-color: var(--main-color);
    box-shadow: 0 5px 10px rgba(0,0,0,0.1);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 600;
    text-shadow: 0 1px 1px rgba(0,0,0,0.2);
    text-transform: uppercase;
    text-align: center;
    left: -25px;
    top: 42px;
    transform: rotate(45deg);
}

/* --- Cores Dinâmicas para Ribbon --- 
.card-destaque__ribbon .ribbon-lancamentos {
    background-color: #009688;
}
.card-destaque__ribbon .ribbon-entregues {
    background-color: #3a8d3d;
}
.card-destaque__ribbon .ribbon-em-andamento {
    background-color: #3f93b5;
}*/
/* Efeito de "dobra" da fita com pseudo-elementos */
.card-destaque__ribbon span::before,
.card-destaque__ribbon span::after {
    content: "";
    position: absolute;
    z-index: -1;
    border-top: 4px solid var(--empreendimento-cor-principal-dark, #800000); /* Cor da sombra da dobra */
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
}

.card-destaque__ribbon span::before {
    top: 0;
    left: 4px;
}

.card-destaque__ribbon span::after {
    bottom: 4px;
    right: 0;
}


/* ==============================================================
   SECTION TITLE — VARIANTES
================================================================ */

/* Estilo 1: Texto de fundo grande */
.section-title-with-bg.style-1 {
  position: relative;
  text-align: center;
  margin-bottom: 60px;
}
.section-title-with-bg.style-1 .main-title {
  position: relative;
  color: var(--heading-color);
  z-index: 1;
}
.section-title-with-bg.style-1 .background-text {
  position: absolute;
  font-size: 120px;
  font-weight: 700;
  color: rgba(0,0,0,0.1);
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
  line-height: 1;
}

/* Estilo 2: Badge + linha abaixo da badge */
.section-title-with-bg.style-2 {
  text-align: center;
  margin-bottom: 60px;
}
.section-title-with-bg.style-2 .background-text {
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  color: var(--main-color);
  text-transform: uppercase;
  margin-bottom: 10px;
  position: relative;
  z-index: 1;
}
.section-title-with-bg.style-2 .background-text::after {
  content: '';
  display: block;
  width: 60px;
  height: 4px;
  background: var(--main-color);
  margin: 8px auto 0;
}
.section-title-with-bg.style-2 .main-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--main-color);
  margin-top: 20px;
}

/* Estilo 3: Badge pequeno acima + linha colorida + título grande */
.section-title-with-bg.style-3 {
  text-align: center;
  margin-bottom: 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.section-title-with-bg.style-3 .background-text {
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--heading-color);
  text-transform: uppercase;
  margin-bottom: 60px;
}
.section-title-with-bg.style-3 .background-text::after {
  content: '';
  display: block;
  width: 99px;
  height: 3px;
  background: var(--main-color);
  margin: 5px auto 0;
}
.section-title-with-bg.style-3 .main-title {

  font-weight: 700;
  color: var(--black-20);
  margin-top: 16px;
}


/* --- Adaptação do Título para Light Mode --- */
.light-mode .section-title-with-bg .main-title {
    color: var(--main-color, #141414);
    z-index: 1;
}

/* Adaptação para Light Mode */
.light-mode .section-title-with-bg.style-1 .background-text {
  color: rgba(0,0,0,0.05);
}
.light-mode .section-title-with-bg.style-2 .background-text,
.light-mode .section-title-with-bg.style-3 .background-text {
  color: var(--black-20);
}

/* --- 8. Responsividade --- */
@media (max-width: 1333px) {
    .card-destaque {      
       height: 550px; /* Altura menor para tablets */
    }
}

/* --- 8. Responsividade --- */
@media (max-width: 991px) {
    .card-destaque {
        height: 500px; /* Altura menor para tablets */
    }
}

@media (max-width: 767px) {
    .section.destaques-section.py-128{
      padding-top: 180px;
    }
    
    .destaques-section .row > .col-lg-4 {
        /* Garante que em telas menores, apenas um card seja exibido por vez se necessário */
        flex: 0 0 100%;
        max-width: 100%;
    }
    .destaques-section{
      margin-top: 2em;
    }
    .section-title-with-bg .main-title { 
        font-size: 2rem; 
    }
    .section-title-with-bg.style-3 .main-title{
      margin-top: 43px;
    }
    .section-title-with-bg.style-3 .background-text{
      margin-bottom: 79px;
    }
    .section-title-with-bg .background-text { 
        font-size: 0.9rem; 
    }
    .section-title-with-bg.style-1 .background-text { 
        font-size: 2.5rem; 
        bottom: 69px;
    }
    .card-destaque {
        height: 450px; /* Altura menor para celulares */
    }
}

/* ================================================================
   ADAPTAÇÃO PARA LIGHT MODE
================================================================ */

/* --- Fundo e Sombra do Card --- */
.light-mode .card-destaque {
    /* Adiciona uma sombra suave para destacar o card no fundo claro */
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.08);
}

/* --- Conteúdo Sobreposto (Cores Invertidas) --- */
.light-mode .card-destaque__content {
    /* Inverte a cor do texto para ser escura */
    /* color: var(--black-90, #2C2C2C); */
    /* Gradiente branco na base para garantir legibilidade do texto escuro sobre a imagem */
    /* background: linear-gradient(to top, rgba(255, 255, 255, 0.95) 20%, transparent 100%); */
}

.light-mode .card-destaque__title a {
    /* Cor do título mais escura para melhor contraste */
    /* color: var(--black-100, #141414); */
}

.light-mode .card-destaque__resumo {
    /* Cor do resumo com um tom de cinza escuro */
    /* color: var(--black-80, #434343); */
}

/* --- Hover Overlay --- */
/* Desativa o overlay escuro no light-mode, pois o gradiente branco já ajuda na legibilidade do texto que aparece no hover. */
.light-mode .card-destaque:hover .card-destaque__image-link::after {
    opacity: 0.4; 
}

/* --- Badge e Ribbon (Manter cores da marca) --- */
/* Geralmente, as cores da marca no badge e ribbon funcionam bem em ambos os modos.
   A cor do texto (branco) dentro deles deve ter contraste suficiente.
   Nenhuma alteração é necessária aqui, a menos que a cor da marca seja muito clara. */


/* ===================================
   WIDGET “texto_slide” — LAYOUT FINAL
=================================== */

.light-mode #servicos {
    background: var(--heading-soft-color);
}
.texto_slide {
  position: relative;
  overflow: visible;
}

/* FUNDO: degradê + imagem */
.texto_slide .fundo {
  position: absolute;
  top: 90px; left: 0;
  width: 100%; height: 75%;
  z-index: 1;
  background:
    linear-gradient(
      45deg,
      var(--gradient-color-start, #0e2644) 0%,
      var(--gradient-color-end,   #3C5F89) 100%
    ),
    var(--background-image) center/cover no-repeat;
  background-blend-mode: overlay;
  filter: brightness(0.7);
}

/* Container flexível */
.texto_slide .centro {
  position: relative;
  display: flex;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 30px 15px 30px 10px;
  z-index: 2;
}

/* Colunas */
.texto_slide .esquerda,
.texto_slide .direita {
  flex: 1;
  padding: 20px;
}

/* Container da mídia */
.texto_slide .esquerda .wrapper {
  max-width: 500px;
}
.texto_slide .esquerda .mask_img {
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
  line-height: 0;
}

/* *** AJUSTE IMPORTANTE PARA IMAGEM E VÍDEO *** */
.texto_slide .mask_img img,
.texto_slide .mask_img video {
  display: block;
  width: 100%;
  height: 100%; /* Garante que a mídia preencha a altura do container (.mask_img) */
  object-fit: cover; /* Corta a mídia para preencher o espaço sem distorcer */
}

/* Texto */
.texto_slide .fonte-titulo {
  font-weight: 700;
  color: #fff;
  margin-bottom: 20px;
}
.texto_slide .direita .descricao-wrapper p {

  line-height: 1.7;
  color: #fff;
  margin-bottom: 30px;
}
.texto_slide .direita .descricao-wrapper p:last-child {
    margin-bottom: 30px;
}
.texto_slide .direita .bt_acao {
    margin-top: 30px;
}

/* Botão */
.bt_acao {
  display: inline-block;
  padding: 12px 30px;
  border: 2px solid var(--main-color);

  border-radius: 50px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
}
.bt_acao:hover {
  background-color: var(--main-color);
  color: #fff;
}

/* Inverter colunas */
.texto_slide.image-position-right .centro {
  flex-direction: row-reverse;
}

/* Responsividade */
@media (max-width: 991px) {
  .texto_slide .centro,
  .texto_slide.image-position-right .centro {
    flex-direction: column;
  }
  .texto_slide .fundo {
    /* display: none; */
    height: 100%;
  }
  .texto_slide .esquerda .wrapper {
    margin-left: 0;
    max-width: 100%;
  }
  .texto_slide .esquerda .mask_img {
    margin: 0 auto 40px;
    width: 100%;
  }
  .texto_slide .direita {
    text-align: center;
    padding: 0 15px;
  }
}

/* Animações e Hover (sem alterações) */
@keyframes fadeInLeft {
  from { opacity: 0; transform: translateX(-30px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(30px); }
  to   { opacity: 1; transform: translateX(0); }
}
.texto_slide .esquerda {
  opacity: 0;
  animation: fadeInLeft 0.8s ease-out forwards;
}
.texto_slide .direita {
  opacity: 0;
  animation: fadeInRight 0.8s ease-out forwards;
}
.texto_slide .mask_img {
  position: relative;
}
.texto_slide .mask_img img.primary {
  transition: filter 0.4s ease;
}
.texto_slide .mask_img img.hover {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  height: auto;
  opacity: 0;
  transition:
    top     0.5s ease,
    opacity 0.5s ease;
  z-index: 2;
}
.texto_slide .mask_img:hover img.primary {
  filter: brightness(0.5);
}
.texto_slide .mask_img:hover img.hover {
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
}


/* =============================================
   WIDGET “Seção de Newsletter” — ESTILOS
============================================= */
.light-mode .newsletter-section{
    background: var(--heading-color);
}

/* =============================================
   WIDGET “Seção de Newsletter” — ESTILOS
============================================= */

.newsletter-section {
    position: relative;
    padding: 20px 15px 80px 15px;
    background-size: cover;
    background-position: center;
}


.newsletter-section .newsletter-container {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
}

.newsletter-title {
    font-size: 2.0rem;
    font-weight: 700;
    margin-bottom: 15px;
}

.newsletter-description {
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 30px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* --- Layout: Centralizado --- */
.newsletter-section.centered {
    text-align: center;
}

/* --- Layout: Imagem e Conteúdo --- */
.newsletter-section.image-text .newsletter-container {
    display: flex;
    align-items: center;
    gap: 40px;
}
.newsletter-section.image-text .newsletter-image-col,
.newsletter-section.image-text .newsletter-content-col {
    flex: 1;
}
.newsletter-section.image-text .newsletter-image-col img {
    width: 100%;
    height: auto;
    border-radius: 12px;
}
.newsletter-section.image-text .newsletter-content-col {
    text-align: left;
}
.newsletter-section.image-text .newsletter-description {
    margin-left: 0;
    margin-right: 0;
}
.newsletter-section.image-text.image-position-right .newsletter-container {
    flex-direction: row-reverse;
}

/* --- Estilização do Formulário (Ex: Contact Form 7) --- */
.newsletter-form-wrapper .wpcf7-form {
    position: relative; /* Essencial para o overlay e spinner */
    display: flex;
    max-width: 500px;
    margin: 0 auto; /* Centraliza no layout centered */
    padding: 5px;

}

.newsletter-section.image-text .newsletter-form-wrapper .wpcf7-form {
    margin: 0; /* Alinha à esquerda no layout image-text */
}

.newsletter-form-wrapper .wpcf7-form-control-wrap {
    flex-grow: 1;
}

input.wpcf7-form-control.wpcf7-email{
  background-color: var(--heading-color);
  
}
.newsletter-form-wrapper .wpcf7-form-control {
    width: 100%;
    padding: 10px 20px !important;
    color: var(--black-50);
    border: 1px solid var(--blue-10);
    border-radius: 10px;
    font-size: 1rem;
}

.newsletter-form-wrapper .wpcf7-form-control::placeholder {
    color: var(--black-30);
    opacity: 1;
}

.newsletter-form-wrapper .wpcf7-submit {
    display: inline-block;
    padding: 12px 30px;
    color: var(--black-10);
    text-decoration: none;
    background-color: var(--main-color)!important;;
    transition: all 0.3s ease;
}

.newsletter-form-wrapper .wpcf7-submit:hover {
    background-color: var(--main-color);
    color: var(--black-20);
      transition: all 0.3s ease;;
}

/* --- Spinner de Envio para o Botão --- */
.newsletter-form-wrapper .wpcf7 .ajax-loader {
    display: none; /* Esconde o spinner padrão */
}

.newsletter-form-wrapper .wpcf7-submit::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    margin-left: -10px;
    visibility: hidden;
    opacity: 0;
    animation: spin 1s linear infinite;
    transition: opacity 0.2s ease;
}

.newsletter-form-wrapper .wpcf7-form.submitting .wpcf7-submit {
    background-color: var(--main-color, #007bff) !important; /* Muda a cor de fundo durante o envio */
    color: transparent !important; /* Esconde o texto do botão */
}

.newsletter-form-wrapper .wpcf7-form.submitting .wpcf7-submit::after {
    visibility: visible; /* Mostra o spinner */
    opacity: 1;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* --- Overlay de Sucesso --- */
.newsletter-form-wrapper .form-overlay-success {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.98);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 10;
    padding: 20px;
    border-radius: 12px; /* Mantém o raio do formulário */
}

.newsletter-form-wrapper .form-overlay-success.is-visible {
    opacity: 1;
    visibility: visible;
}

.newsletter-form-wrapper .form-overlay-success i {
    font-size: 3rem;
    color: #28a745; /* Verde sucesso */
    margin-bottom: 15px;
}

.newsletter-form-wrapper .form-overlay-success h4 {
    color: #333;
    margin: 0;
}

/* --- Responsividade --- */
@media (max-width: 768px) {

    .newsletter-section.image-text .newsletter-container {
        flex-direction: column;
        text-align: center;
    }
    .newsletter-section.image-text .newsletter-content-col {
        text-align: center;
    }
    .newsletter-section.image-text .newsletter-description,
    .newsletter-section.image-text .newsletter-form-wrapper .wpcf7-form {
        margin-left: auto;
        margin-right: auto;
    }
    .newsletter-form-wrapper .wpcf7-form {
        flex-direction: column;
        gap: 10px;
        background: transparent;
        border: none;
        padding: 0;
    }

    .newsletter-form-wrapper .form-overlay-success {
        border-radius: 8px; /* Ajusta o raio para o layout de coluna */
    }
}


/* --- Estilo de Fundo para o Header Com imagem
.main-header .header-upper,
.main-header.fixed-header .header-upper
 {

    --gradient-color-start: #002f69 ;
    --gradient-color-end: #03244d ;
    --background-image: url('http://marini.local:8081/wp-content/uploads/2025/07/imgi_79_bg-terrace.webp');


    background: linear-gradient(45deg, var(--gradient-color-start) 0%, var(--gradient-color-end) 100%), var(--background-image) center / cover no-repeat;
    

    background-blend-mode: overlay;
    

 
    background-color: transparent;
}*/

.main-header .header-upper,
.main-header.fixed-header .header-upper
 {

    --gradient-color-start: #002f69 ;
    --gradient-color-end: #263B5C ;
    --background-image: url('http://marini.local:8081/wp-content/uploads/2025/07/imgi_79_bg-terrace.webp');


    background: linear-gradient(45deg, var(--main-color) 0%, var(--gradient-color-end) 100%);
    

    background-blend-mode: overlay;
    

 
    background-color: transparent;
}

/* ====== Blog Cards – Soft (visual como o exemplo) ====== */
.blog-soft-grid { background: var(--black-100); }       /* respeita seu dark padrão */
.light-mode .blog-soft-grid { background: var(--black-10); }

.blog-soft-grid .item { display:flex; }

.soft-card{
  display:flex; flex-direction:column; width:100%;
  color: var(--black-20);
  border: 1px solid var(--black-90);
  border-radius: 20px;
  padding: 0; overflow:hidden;
  box-shadow: 0 6px 16px rgba(0,0,0,.18);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.light-mode .soft-card{
  background: var(--heading-soft-color);
  color: var(--black-90);
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}
.soft-card:hover{ transform: translateY(-4px); box-shadow: 0 16px 32px rgba(0,0,0,.28); border-color: var(--main-color); }

/* Media (imagem) */
.soft-card__media{
  position: relative; display:block;
  border-radius: 20px; margin: 24px 24px 0 24px; overflow:hidden;
}
.soft-card__media img{
  width:100%; height:300px!important; object-fit:cover; border-radius: 14px;
  transform: scale(1.02); transition: transform .6s ease;
}
.soft-card:hover .soft-card__media img{ transform: scale(1.065); }

/* Pill de categoria */
.soft-card__pill{
  position:absolute; top:12px; left:12px;
  padding: 8px 14px; font-size:12px; line-height:1;
  border-radius: 999px;
  background: var(--main-color); 
  color: var(--heading-color);
  box-shadow: 0 4px 12px rgba(0,0,0,.25);
}

/* Corpo */
.soft-card__body{ padding: 20px 24px 24px 24px; display:flex; flex-direction:column; }
.soft-card__title{ margin: 6px 0 8px 0; color: var(--heading-color); }
.light-mode .soft-card__title{ color: var(--black-100); }
.soft-card__title a{ color: inherit; }
.soft-card__title a:hover{ color: var(--main-color); }

.soft-card__excerpt{
  margin: 6px 0 16px 0;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

/* Link "Read article" com sublinhado animado */
.soft-card__read{
  font-weight: 600; width: fit-content; position: relative;
  text-decoration: none; color: inherit; display:inline-flex; align-items:center; gap:8px;
}
.soft-card__read::after{
  content:""; position:absolute; left:0; bottom:-4px; height:2px; width:40%;
  background: currentColor; opacity:.25; transition: width .25s ease, opacity .25s ease;
}
.soft-card__read:hover::after{ width:100%; opacity:.7; }
.soft-card__read span{ transition: transform .2s ease; }
.soft-card__read:hover span{ transform: translateX(3px); }

/* Espaçamentos de grade para respirar como no exemplo */
.blog-soft-grid .item .soft-card{ margin-bottom: 32px; }
@media (min-width: 1400px){
  .blog-soft-grid .row { --bs-gutter-x: 32px; }
}

/* Acessibilidade */
.soft-card__read:focus-visible,
.soft-card a:focus-visible{ outline: 2px dashed var(--main-color); outline-offset: 3px; }


/* ===== Blog Soft Grid – Heading flexível ===== */
.section-heading.align-center { text-align: center; }
.section-heading.align-right  { text-align: right; }
.section-heading.align-left   { text-align: left; }

.section-heading.align-center .section-title { width:100%; }

/* Sub-heading pill + underline (estilo da imagem) */
.cg-subheading{
  font-weight: 800;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--black-40);
}

.cg-underline{
  height: 3px;
  width: 64px;
  border-radius: 2px;
  background: var(--blue-120);
  margin: 4px auto 0; /* centraliza e dá espaço acima */
}

.section-heading.align-left .cg-underline{
  margin-left: 0; /* quando alinhado à esquerda */
}

.section-heading.align-right .cg-underline{
  margin-right: 0; /* quando alinhado à direita */
}


/* Botão em diferentes posições */
.soft-grid__btn.under-title { margin-top: 16px; }
.soft-grid__btn.bottom-center{
  text-align: center;
  margin-top: 48px;
}
.soft-grid__cta{ border-radius: 10px; }

/* Quando heading centralizado, some o bloco do botão lateral do Bootstrap */
.section-heading.align-center .button{ display:none; }

@media (max-width: 576px){
  .cg-subheading .cg-underline{ width:56px; }
}


a.theme-btn.soft-grid__cta {
  background: var(--main-color);
  color: var(--heading-color);
}
a.theme-btn.soft-grid__cta:hover {
  background: var( --heading-color);
  color: var(--main-color);    
  border: 1px solid var(--main-color);  
}

/* Descrição da seção do Blog */
.soft-grid__desc{
  margin-top: 8px;
  max-width: 720px;
  color: var(--black-40);
}
.section-heading.align-center .soft-grid__desc{
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.section-heading.align-right .soft-grid__desc{
  margin-left: auto;
  text-align: right;
}

/* ajuste sutil do subheading/underline pra ficar como o print */
.cg-subheading{
  font-weight: 800;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--black-40);
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.cg-subheading .cg-underline{
  height: 3px; width: 64px; border-radius: 2px;
  background: var(--blue-120);
  display: inline-block;
  margin-top: 2px;
}



/* Achievements split Numeros */

.achievements-split { color: var(--heading-color); }
.achievements-split .split-images { position: relative; }
.split-img { display:block; width:100%; height:auto; border-radius:12px; object-fit:cover; }
.split-img--primary { max-width: 420px; }
.split-img--secondary {
  max-width: 380px;
  position:absolute;
  right: 0; bottom: -32px;
  transform: translateX(10%);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

@media (max-width: 991px){
  .split-img--secondary{
    position: static; transform:none; margin-top:24px;
    box-shadow:none;
  }
}

.achievements-list { display:block; }
.achievements-item { margin-bottom: 28px; }
.achievements-step { color: var(--main-color); margin-right: 16px; min-width: 40px; text-transform: uppercase; }

.achievements-content { flex:1; }
.achievements-line {
  height:1px; width:100%;
  background: linear-gradient(90deg, var(--main-color) 0%, transparent 100%);
  margin: 4px 0 10px 0;
}

.achievements-meta { display:flex; align-items:flex-end; gap: 6px; }
.achievements-number { line-height:1; }
.achievements-suffix { line-height:1; color: var(--main-color); font-weight:900; }
.achievements-label { color: var(--black-20); margin-top: 6px; }

/* Ajustes de ritmo tipográfico (menos "corrido") */
.achievements-split h2 { letter-spacing: -0.5px; }
.achievements-label { max-width: 38ch; } /* limita a linha pra ficar elegante */


/* Escopo: só dentro do componente */
.achievements-split .split-images { 
  position: relative; 
  /* impede o estouramento do col */
  max-width: clamp(320px, 48vw, 560px);
  margin: 0 auto;
}

/* Elementor força img {width:100%}. Aqui a gente derruba isso no escopo certo */
.achievements-split .split-images .split-img {
  width: auto !important;   /* SOBREPOR o width:100% global */
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  display: block;
  object-fit: cover;
}

/* Primária com largura responsiva controlada */
.achievements-split .split-images .split-img--primary{
  width: clamp(280px, 36vw, 480px) !important;
}

/* Secundária posicionada e menor */
.achievements-split .split-images .split-img--secondary{
  width: clamp(220px, 28vw, 420px) !important;
  position: absolute;
  right: -6%;
  bottom: -24px;
  transform: none; /* tira o translate que empurrava demais */
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

/* Em tablets/desktop médios, segura a sobreposição */
@media (max-width: 1200px){
  .achievements-split .split-images { max-width: clamp(320px, 56vw, 520px); }
  .achievements-split .split-images .split-img--secondary{ right: -3%; bottom: -16px; }
}

/* Em mobile: empilha as imagens e evita qualquer overflow */
@media (max-width: 991px){
  .achievements-split .split-images { max-width: 520px; }
  .achievements-split .split-images .split-img--secondary{
    position: static;
    width: clamp(240px, 80%, 420px) !important;
    margin-top: 24px;
    box-shadow: none;
  }
}

/* Achievements – suporte a background + overlay */
.achievements-split{
  position: relative;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}

.achievements-split::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.achievements-split > .container{
  position: relative;
  z-index: 1; /* conteúdo acima do overlay */
}

/* MOBILE: imagens lado a lado */
@media (max-width: 991px){
  .achievements-split .split-images{
    display: grid;
    grid-template-columns: 1fr 1fr; /* duas colunas */
    gap: 12px;
    max-width: 520px;       /* opcional, só pra não “estourar” */
    margin: 0 auto;
  }

  .achievements-split .split-images .split-img{
    width: 100% !important; /* cada uma ocupa metade via grid */
    height: auto;
    margin: 0;              /* remove margin-top anterior */
    box-shadow: none;
    position: static;       /* garante que nenhuma fique absoluta */
    object-fit: cover;
    /* se quiser alturas iguais, ative a linha abaixo */
    /* aspect-ratio: 4 / 3; */
  }

  .achievements-split .split-images .split-img--secondary{
    right: auto; bottom: auto; transform: none;
  }
}



.light-mode .achievements-split{
  background-color: var(--heading-color);
}

.light-mode .achievements-split h2 {
  color: var(--heading-soft-color);
}

.light-mode .achievements-step.h5,
.light-mode .achievements-step.h2 {
  color: var(--heading-soft-color);
}

.light-mode .achievements-number.h2 {
  color: var(--heading-color);
}

.light-mode .achievements-suffix.h3{
  color: var(--heading-soft-color);
}

.light-mode .achievements-label.h5{
  color: var(--black-10);
}


/* Timeline Vertical — compacto e elegante */
.tlv{
  position: relative;
  padding: 64px 0;
  overflow: hidden;
  background-position: center;
  background-size: cover;
}
.tlv::before{
  content:"";
  position:absolute; inset:0; z-index:0; pointer-events:none;
}

/* Lista integra o fluxo da página (sem scroll interno) */
.tlv__list{
  position: relative;
  z-index: 1;
  height: auto;
  overflow: visible;
  scroll-snap-type: none;
  padding: 0 12px 0 48px;
}

/* Linha e progresso à esquerda (discretos) */
.tlv__rail{
  position:absolute; left:24px; top:0; bottom:0;
  width:2px; background:rgba(255,255,255,.12);
  border-radius:2px; z-index:1;
}
.light-mode .tlv__rail{ background: rgba(0,0,0,.08); }

.tlv__progress{
  position:absolute; left:0; top:0; width:100%;
  height:0%; border-radius:2px;
  background: linear-gradient(180deg, var(--main-color), transparent 85%);
}

/* Card */
.tlv__card{
  position: relative;
  background: rgba(0,0,0,.25);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  padding: 14px;
  margin: 16px 0 28px;
  color: var(--heading-color);
}
.light-mode .tlv__card{
  background:#fff; color:var(--black-100);
  border-color: rgba(0,0,0,.08);
}

/* Cabeçalho do card */
.tlv__head{ position: sticky; top: 0; padding: 6px 0 10px; background: inherit; z-index:2; }
.tlv__year{
  display:inline-block; background: var(--main-color); color: var(--black-100);
  padding: 4px 10px; border-radius: 6px; font-weight: 700; letter-spacing:.5px; font-size:13px;
}
.tlv__title{ margin: 8px 0 0; font-size: clamp(16px, 2.2vw, 20px); }

/* Mídia */
.tlv__media{ margin-top: 10px; }
.tlv__media img{
  width: 100%;
  height: clamp(140px, 26vw, 220px);
  object-fit: cover;
  border-radius: 8px;
}

.tlv__media img{ height: clamp(110px, 16vw, 150px); }

/* Texto */
.tlv__desc{ margin-top: 8px; font-size: 14px; line-height: 1.5; color: var(--black-20); }
.light-mode .tlv__desc{ color: var(--black-70); }

/* Responsivo */
@media (min-width: 992px){
  .tlv__list{ padding-left: 64px; }
  .tlv__media img{ height: clamp(180px, 22vw, 260px); }
}
@media (max-width: 575px){
  .tlv__list{ padding-left: 40px; padding-right: 8px; }
  .tlv__rail{ left: 20px; }
}




/* ——— TIMELINE: tamanho compacto ——— */
.tlv{ padding: 32px 0; }

.tlv__list{
  max-width: 980px;         /* largura elegante */
  margin: 0 auto;           /* centraliza */
  padding: 0 16px 0 56px;   /* um pouco mais de respiro à esquerda */
}

.tlv__rail{ left: 28px; }   /* acompanha o novo padding */

/* Cards menores */
.tlv__card{
  padding: 12px;
  margin: 12px 0 20px;
  border-radius: 8px;
  box-shadow: 0 1px 0 rgba(0,0,0,.08); /* discreto */
  transform: translateY(10px);
  opacity: .0;
  transition: transform .45s ease, opacity .45s ease;
}
.tlv__card.is-in{ transform:none; opacity:1; }

/* Cabeçalho enxuto */
.tlv__head{ padding: 4px 0 8px; }
.tlv__year{ padding: 3px 8px; font-size: 12px; border-radius: 6px; }
.tlv__title{ margin: 6px 0 0; font-size: clamp(15px, 2vw, 18px); }

/* Imagem bem mais baixa */
.tlv__media{ margin-top: 8px; }
.tlv__media img{
  width: 100%;
  height: clamp(120px, 20vw, 170px);
  object-fit: cover;
  border-radius: 8px;
  transition: transform .35s ease;
}
.tlv__media:hover img{ transform: scale(1.015); } /* micro-interação opcional */

/* Texto discreto */
.tlv__desc{ margin-top: 6px; font-size: 13.5px; line-height: 1.45; }

@media (max-width: 575px){
  .tlv__list{ padding-left: 44px; padding-right: 10px; }
  .tlv__rail{ left: 22px; }
}


/* Timeline por Anos */
.yt{ position:relative; padding: 40px 0; }
.yt__inner{ display:grid; grid-template-columns: 300px 1fr; gap: 32px; align-items:start; }
@media (max-width: 991px){ .yt__inner{ grid-template-columns: 1fr; } }

/* Coluna esquerda (anos + régua) */
.yt__left{ position: relative; }
.yt__left::before{
  content:""; position:absolute; left: 36px; top:0; bottom:0;
  width:1px; background: rgba(255,255,255,.15);
}
.light-mode .yt__left::before{ background: rgba(0,0,0,.12); }

.yt-nav{ margin:0; padding: 8px 0; list-style:none; }
.yt-nav__item{ margin: 22px 0; }
.yt-nav__btn{
  position:relative; display:flex; align-items:center; gap:14px;
  background:none; border:0; cursor:pointer; padding:0; text-align:left;
  color: var(--black-30);
}
.yt-nav__btn.is-active{ color: var(--heading-color); }
.light-mode .yt-nav__btn{ color: var(--black-60); }
.light-mode .yt-nav__btn.is-active{ color: var(--black-100); }

.yt-nav__year{ font-weight: 900; letter-spacing: -0.5px; }
.yt-nav__dot{
  width:14px; height:14px; border-radius:50%;
  background: radial-gradient(circle at 50% 50%, var(--main-color) 30%, transparent 31%) padding-box,
              linear-gradient(var(--main-color), var(--main-color)) border-box;
  border:2px solid var(--main-color);
  opacity:.35; transition: opacity .25s ease, transform .25s ease;
}
.yt-nav__btn.is-active .yt-nav__dot{ opacity: 1; transform: scale(1.05); }

/* Painel direito */
.yt__right{ position:relative; min-height: 360px; }
.yt-panel{
  display:none; position:relative; border-radius: 10px; overflow:hidden;
  background: #0b0b0b;
  background-image: var(--yt-bg);
  background-size: cover; background-position: center;
  min-height: 420px;
}
.yt-panel.is-active{ display:block; animation: ytFade .35s ease; }
@keyframes ytFade{ from{opacity:.0; transform: translateY(6px);} to{opacity:1; transform:none;} }

.yt-panel__overlay{
  position:absolute; inset:0; background: linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,.15) 60%, rgba(0,0,0,.0));
}
.light-mode .yt-panel__overlay{ background: linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,.2) 60%, rgba(0,0,0,0)); }

.yt-panel__content{
  position:relative; z-index:2; padding: 56px; max-width: 860px; color: #fff;
}
.yt-panel__title{ margin: 0 0 14px; }
.yt-panel__text{ margin:0; line-height:1.6; color: #eee; }

@media (max-width: 767px){
  .yt-panel{ min-height: 360px; }
  .yt-panel__content{ padding: 28px; }
}



/* =============================================
   PÁGINA DE ARQUIVO DE EMPREENDIMENTOS (VERSÃO REFINADA)
============================================= */

/* --- Abas de Filtro --- */
.empreendimento-filter-tabs {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin-bottom: 50px;
    flex-wrap: wrap;
    gap: 10px;
}
.empreendimento-filter-tabs li {
    cursor: pointer;
    padding: 10px 25px;
    font-weight: 600;
    color: var(--black-40);
    transition: all 0.3s ease;
    border-bottom: 2px solid transparent;
    text-transform: uppercase;
    font-size: 0.9rem;
}
.light-mode .empreendimento-filter-tabs li {
    color: var(--black-70);
}
.empreendimento-filter-tabs li.active,
.empreendimento-filter-tabs li:hover {
    color: var(--main-color);
    border-bottom-color: var(--main-color);
}

@media (max-width: 767px){
  
  .empreendimento-filter-tabs li {
      padding: 10px 10px;
      margin-bottom: 10px;
  }
}

/* --- Estilo dos Cards (card-empreendimento) --- */
.card-empreendimento {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    margin-bottom: 30px;
    display: block;
    background-color: #333; /* Fallback */
}
.light-mode .card-empreendimento {
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

.card-empreendimento__image-link {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 3 / 4; /* Proporção mais vertical */
}

.card-empreendimento__image-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.card-empreendimento:hover .card-empreendimento__image-link img {
    transform: scale(1.05);
}

.card-empreendimento__overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.85) 20%, transparent 100%);
}

.card-empreendimento__content {
    position: absolute;
    bottom: 25px;
    left: 25px;
    right: 25px;
    z-index: 3;
    color: #fff;
}

.card-empreendimento__title {
    font-size: 1.4rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 5px 0;
}

.card-empreendimento__resumo {
    color: rgba(255,255,255,0.8);
    font-size: 0.9rem;
    line-height: 1.6;
}

/* --- Fita de Status (Ribbon) --- */
.card-empreendimento__ribbon {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 150px;
    height: 150px;
    overflow: hidden;
    z-index: 4;
}
.card-empreendimento__ribbon span {
    position: absolute;
    display: block;
    width: 225px;
    padding: 10px 0;
    background: var(--main-color);
    box-shadow: 0 5px 10px rgba(0,0,0,0.1);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 600;
    text-shadow: 0 1px 1px rgba(0,0,0,0.2);
    text-transform: uppercase;
    text-align: center;
    left: -25px;
    top: 42px;
    transform: rotate(45deg);
}

/* --- Isotope Animação --- */
.empreendimento-grid-isotope {
  transition: height 0.4s ease, opacity 0.4s ease;
}
.empreendimento-item {
  transition: transform 0.4s ease, opacity 0.4s ease;
}


/* =================================================================
   Estilos Adicionais para o Rodapé (Logo e Slogan)
================================================================= */



/* ===================================
   BRANDING NO RODAPÉ DO EMPREENDIMENTO
=================================== */

.footer-branding-area {
    text-align: left; /* Alinha à esquerda */
    margin-bottom: 20px; /* Espaço até o texto do copyright */
    padding-bottom: 20px; /* Espaço da borda */
    border-bottom: 1px solid rgba(255, 255, 255, 0.1); /* Divisor sutil */
}

.copyright-area {
    padding-top: 20px; /* Adiciona espaço acima do copyright para alinhar com os contatos */
}

.footer-logo img {
    max-height: 90px; /* Tamanho do logo um pouco menor */
    width: auto;
    margin-bottom: 10px;
}

.footer-slogan {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
    font-style: italic;
}

/* ===================================
   RESPONSIVIDADE PARA O RODAPÉ DO EMPREENDIMENTO
=================================== */

@media (max-width: 767px) {

    /* Reduz o espaçamento geral do rodapé em telas pequenas */
    .main-footer.p-80 {
        padding:20px!important;
    }

    /* Centraliza o conteúdo da coluna da esquerda (logo e copyright) */    
    .copyright-area,
    .footer-branding-area {
        text-align: center;
    }
    .copyright-area{
      padding-right: 0px;
    }

    /* Ajusta o espaçamento do bloco de branding */
    .footer-branding-area {
        margin-bottom: 30px;
        padding-bottom: 30px;
    }

    /* Garante que a coluna de contatos tenha uma margem superior */
    .footer-contact-wrapper {
        margin-top: 40px;
        text-align: center; /* Centraliza o conteúdo dos contatos */
    }

    /* Ajusta o alinhamento do título "Contato" e dos detalhes */
    .footer-contact-wrapper .contact-title {
        text-align: center;
    }

    .footer-contact-wrapper .contact-details {
        text-align: center;
    }

    .right.info p {
      font-size: 14px;
    }
    ul.right.links.menu a {
      font-size: 14px;
    }
}

/* =================================================================
   Estilos para o Widget Marini Contact Hero (v7 - Formulário Refinado)
================================================================= */

/* --- Container Base --- */
.mch-hero {
  position: relative;
  padding: 80px 0;
  background-size: cover;
  background-position: center;
}
.mch-hero .mch-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .45);
}
.mch-hero .container {
  position: relative;
  z-index: 2;
}

/* --- Títulos --- */
.mch-header {
  margin-bottom: 32px;
}
.mch-headline {
  color: var(--heading-color);
  font-weight: 800;
  letter-spacing: .5px;
  margin: 0 0 8px;
}
.mch-subheadline {
  color: var(--black-20);
  margin: 0;
}

/* --- Grid Principal --- */
.mch-grid {
  row-gap: 32px;
  align-items: flex-start; /* Alinha os itens no topo */
  --bs-gutter-x: 32px; /* Adiciona espaçamento horizontal entre as colunas */
}

/* --- Layout: Cards em coluna única --- */
.mch-card-grid {
  display: flex;
  flex-direction: column; /* Empilha os cards verticalmente */
  gap: 16px;
  margin-bottom: 16px;
}

/* --- Card Individual --- */
.mch-card {
  display: flex;
  gap: 14px;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--border-radius, 7px);
  padding: 16px 18px;
  backdrop-filter: blur(6px);
  transition: transform .3s ease, border-color .3s ease, background .3s ease;
}
.mch-card:hover {
  transform: translateY(-4px);
  border-color: var(--main-color);
}
.mch-card-icon {
  width: 46px;
  height: 46px;
  border-radius: var(--border-radius, 7px);
  background: rgba(255, 255, 255, .12);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  transition: background .3s ease;
}
.mch-card-icon i {
  color: var(--black-20);
  font-size: 18px;
  transition: color .3s ease;
}
.mch-card-label {
  display: block;
  text-transform: uppercase;
  font-size: .78rem;
  letter-spacing: .6px;
  color: var(--black-30);
  margin-bottom: 2px;
  font-weight: 700;
  transition: color .3s ease;
}
.mch-card-text,
.mch-card-text a {
  color: var(--heading-color);
  margin: 0;
  text-decoration: none;
  transition: color .3s ease;
}

/* --- Redes Sociais --- */
.mch-socials {
  display: flex;
  gap: 14px;
  margin-top: 24px;
}
.mch-socials a {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .12);
  color: var(--heading-color);
  transition: .2s ease;
}
.mch-socials a:hover {
  transform: translateY(-2px);
  background: var(--main-color);
  border-color: var(--main-color);
}

/* --- Painel do Formulário --- */
.mch-form-panel {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--border-radius, 7px);
  padding: 22px;
  backdrop-filter: blur(6px);
  transition: background .3s ease, border .3s ease;
  position: relative; /* Necessário para o overlay de sucesso */
  overflow: hidden; /* Garante que o overlay respeite o border-radius */
}
.mch-form-panel input,
.mch-form-panel textarea,
.mch-form-panel select {
  background: rgba(0, 0, 0, .35) !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  border-radius: 7px;
  color: var(--heading-color) !important;
  padding: 16px 22px !important;
  height: auto;
}
.mch-form-panel ::placeholder {
  color: var(--black-40);
}

/* --- AJUSTES PARA CONTACT FORM 7 DENTRO DO PAINEL --- */
.mch-form-panel .wpcf7-form p {
  margin: 0;
}
.mch-form-panel .form-group {
  margin-bottom: 20px;
}
.mch-form-panel .form-submit {
  margin-top: 10px;
}
.mch-form-panel .wpcf7-submit {
  width: 100%;
  background: var(--main-color) !important;
  color: var(--heading-color) !important;
  font-weight: 600;
  text-transform: uppercase;
  border: 1px solid var(--main-color) !important;
  cursor: pointer;
  transition: all .3s ease;
  position: relative; /* Necessário para o spinner */
}
.mch-form-panel .wpcf7-submit:hover {
  background: transparent !important;
  color: var(--main-color) !important;
}



/* Botão de fechar (X) */
.mch-close-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    background: transparent;
    border: none;
    font-size: 24px;
    line-height: 1;
    color: var(--black-50);
    cursor: pointer;
    padding: 5px;
    transition: color .2s ease;
    z-index: 11;
}
.mch-close-btn:hover {
    color: var(--black-90);
}


/* =================================================================
   ADAPTAÇÃO PARA LIGHT MODE
================================================================= */
.light-mode .mch-hero .mch-overlay {
  background: var(--heading-color); /* Fundo branco/claro */
}

.light-mode .mch-headline {
  color: var(--black-100);
}
.light-mode .mch-subheadline {
  color: var(--black-80);
}

/* Cards no modo claro */
.light-mode .mch-card {
  background-color: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: var(--border-radius, 7px);
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.light-mode .mch-card-icon {
  background: var(--black-10);
  border-radius: var(--border-radius, 7px);
}
.light-mode .mch-card-icon i {
  color: var(--main-color);
}
.light-mode .mch-card-label {
  color: var(--black-60);
}
.light-mode .mch-card-text,
.light-mode .mch-card-text a {
  color: var(--black-90);
}
.light-mode .mch-card-text a:hover {
  color: var(--main-color);
}

/* Redes sociais no modo claro */
.light-mode .mch-socials a {
  background: var(--black-10);
  border-color: var(--border-color);
  color: var(--black-80);
}
.light-mode .mch-socials a:hover {
  color: var(--heading-color);
  background: var(--main-color);
  border-color: var(--main-color);
}

/* Formulário no modo claro */
.light-mode .mch-form-panel {
  background-color: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: var(--border-radius, 7px);
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.light-mode .mch-form-panel input,
.light-mode .mch-form-panel textarea,
.light-mode .mch-form-panel select {
  background: #fff !important;
  border-color: var(--border-color-10) !important;
  border-radius: 7px;
  color: var(--black-100) !important;
}
.light-mode .mch-form-panel ::placeholder {
  color: var(--black-50);
}
.light-mode .mch-form-panel .wpcf7-submit {
  background: var(--main-color) !important;
  color: #fff !important;
  border-color: var(--main-color) !important;
}
.light-mode .mch-form-panel .wpcf7-submit:hover {
  background: var(--black-100) !important;
  color: #fff !important;
  border-color: var(--black-100) !important;
}

/* Spinner no modo claro */
.light-mode .mch-form-panel .wpcf7-submit::after {
    border-color: rgba(255, 255, 255, 0.4);
    border-top-color: #fff;
}
.light-mode .mch-form-panel .wpcf7-form.submitting .wpcf7-submit {
    background: var(--main-color) !important; /* Mantém a cor principal durante o envio */
    border-color: var(--main-color) !important;
}


.mch-form-panel .wpcf7-submit { position: relative; }
.mch-form-panel .wpcf7-submit::after{
  content:'';
  position:absolute; top:50%; left:50%;
  width:20px; height:20px; margin:-10px 0 0 -10px;
  border:3px solid rgba(255,255,255,.4);
  border-top-color:#fff; border-radius:50%;
  opacity:0; visibility:hidden;
  animation:mch-spin 1s linear infinite; transition:opacity .2s ease;
}
.mch-form-panel .wpcf7-form.submitting .wpcf7-submit{ color:transparent !important; }
.mch-form-panel .wpcf7-form.submitting .wpcf7-submit::after{ opacity:1; visibility:visible; }

@keyframes mch-spin { to { transform: rotate(360deg); } }

/* -------- Overlay de sucesso (usa o markup criado no JS acima) -------- */
.mch-form-panel { position: relative; overflow: hidden; } /* já está no teu CSS */
.mch-form-panel .form-overlay-success{
  position:absolute; inset:0;
  display:none; place-items:center;
  background: var(--heading-soft-color);
  border-radius: var(--border-radius,7px);
  z-index:10;
}
.mch-form-panel .form-overlay-success.is-visible{ display:grid; }

.mch-success-box{
  position:relative; text-align:center; padding:20px;
  color: var(--black-90);
}
.mch-success-box i{ font-size:56px; color:#28a745; display:block; margin-bottom:12px; }

/* teu .mch-close-btn já existe – reutilizamos */
.mch-form-panel > .form-overlay-success.is-visible:first-child { display:none!important; }
.wpcf7-response-output{
  display: none!important;
}




/* =================================================================
   WIDGET - Bloco de Conteúdo com Imagens (Layout + Estilo Final)
================================================================= */

/* --- 1. ESTRUTURA E LAYOUT --- */

/* Alinhamento da coluna de imagem à direita */
.elementor-widget-cg-content-block.image-position-right .row {
    flex-direction: row-reverse;
}

/* --- 1. ESTILO DA SEÇÃO (WRAPPER) E OVERLAY --- */
.content-block {
    position: relative;
    z-index: 1;
}
.content-block::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1; /* Posiciona o overlay entre o fundo e o conteúdo */
}
/* Alinhamento da coluna de imagem à direita */
.elementor-widget-cg-content-block.image-position-right .row {
    flex-direction: row-reverse;
}


/* --- 2. LAYOUT DAS IMAGENS --- */
.content-block .split-images {
    position: relative;
    max-width: 520px;
    margin: 0 auto;
}

@media (max-width: 1333px) {
  .content-block .split-images {
    max-width: 460px;
  } 
}


.content-block .split-img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
    object-fit: cover;
}
.content-block .split-img--primary {
    width: 90% !important;
}
.content-block .split-img--secondary {
    position: absolute;
    width: 60% !important;
    right: 0;
    bottom: -40px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    border: 4px solid var(--heading-soft-color);
}


/* --- 3. CONTEÚDO DE TEXTO (TÍTULO PRINCIPAL E BOTÃO) --- */
.content-block h2 {
    color: var(--heading-color);
}
.content-block .theme-btn {
    background-color: var(--main-color);
    color: var(--heading-color);
    border: 1px solid var(--main-color);
}
.content-block .theme-btn:hover {
    background-color: transparent;
    color: var(--main-color);
}



/* --- Grid e Estilo Base do Card --- */
.content-block-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 30px;
}
@media (min-width: 768px) {
    .content-block-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}
.content-block-card {
    display: flex;
    flex-direction: column; /* Organiza o cabeçalho e a descrição verticalmente */
    background: rgba(255, 255, 255, 0.05);
    padding: 25px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    gap: 15px; /* Espaço entre o cabeçalho e a descrição */
    transition: 
      opacity 0.5s ease-out, 
      transform 0.5s ease-out,
      border-color 0.3s ease,  /* <-- Adicione esta linha */
      box-shadow 0.3s ease;    /* <-- Adicione esta linha */
}
.content-block-card .card-icon svg {
    width: 1em; height: 1em; fill:rgb(161 161 161);
}

/* --- Cabeçalho do Card (Ícone + Título) --- */
.content-block-card .card-header {
    display: flex;
    align-items: center; /* Alinha ícone e título verticalmente */
    gap: 15px; /* Espaço entre o ícone e o título */
}
.content-block-card .card-icon {
    color: var(--main-color);
}
.content-block-card .card-title {
    margin: 0;
    color: var(--heading-color);
}

/* --- Descrição do Card --- */
.content-block-card .card-description {
    margin: 0;
    font-size: 0.9rem;
    color: var(--black-20);
    line-height: 1.6;
}

/* --- Lógica de Posição (agora aplicada ao cabeçalho) --- */
.content-block-card.icon-position-left .card-header {
    flex-direction: row;
}
.content-block-card.icon-position-right .card-header {
    flex-direction: row-reverse;
}
/* Para 'top' e 'center', o card inteiro já está em coluna, então ajustamos o alinhamento interno */
.content-block-card.icon-position-top {
    align-items: flex-start;
    text-align: left;
}
.content-block-card.icon-position-center {
    align-items: center;
    text-align: center;
}
.content-block-card.icon-position-top .card-header,
.content-block-card.icon-position-center .card-header {
    flex-direction: column; /* Empilha ícone e título */
    align-items: inherit; /* Herda o alinhamento do card (center ou flex-start) */
}


/* --- 7. RESPONSIVIDADE --- */
@media (max-width: 991px) {
    .content-block .split-images {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }
    .content-block .split-img--secondary {
        position: static;
        width: 90% !important;
        margin-top: -80px;
        box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    }
}

/* =================================================================
   ANIMAÇÃO SUAVE PARA OS CARDS (VERSÃO ROBUSTA)
================================================================= */

/* 1. Define o estado inicial dos cards (invisíveis) SOMENTE se o Elementor
      já marcou o widget para ser animado com a classe .elementor-invisible */
.elementor-widget-cg-content-block.elementor-invisible .content-block-card {
    opacity: 0;
    transform: translateY(20px);
}

/* 2. Define a transição que ocorrerá quando a animação começar */
.content-block-card {
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

/* 3. Define o estado final (visível) quando o widget entra na tela.
      (Esta regra continua a mesma) */
.elementor-widget-cg-content-block.elementor-animated .content-block-card {
    opacity: 1;
    transform: translateY(0);
}

/* 4. Adiciona o atraso (delay) para cada card, criando o efeito escalonado (stagger) */
.elementor-widget-cg-content-block.elementor-animated .content-block-card:nth-child(1) {
    transition-delay: 0.1s;
}
.elementor-widget-cg-content-block.elementor-animated .content-block-card:nth-child(2) {
    transition-delay: 0.2s;
}
.elementor-widget-cg-content-block.elementor-animated .content-block-card:nth-child(3) {
    transition-delay: 0.3s;
}
.elementor-widget-cg-content-block.elementor-animated .content-block-card:nth-child(4) {
    transition-delay: 0.4s;
}
.elementor-widget-cg-content-block.elementor-animated .content-block-card:nth-child(5) {
    transition-delay: 0.5s;
}
.elementor-widget-cg-content-block.elementor-animated .content-block-card:nth-child(6) {
    transition-delay: 0.6s;
}

.content-block-card:hover {
    transform: translateY(-5px); /* Efeito de "levantar" o card */
    border-color: var(--main-color); /* Destaca a borda com a cor principal */
    box-shadow: 0 12px 24px rgba(0,0,0,0.2); /* Acentua a sombra para dar profundidade */
}

/* --- RESPONSIVIDADE (AQUI A MÁGICA ACONTECE) --- */
@media (max-width: 991px) {
    /* Inverte a ordem das colunas para o texto vir primeiro no mobile */
    .content-block .row {
        flex-direction: column-reverse !important; /* !important para sobrescrever o image-position-right */
    }

    .content-block .split-images {
        margin-top: 40px; /* Espaço entre o texto e as imagens */
    }

    /* Empilha as imagens uma sobre a outra */
    .content-block .split-images {
        display: flex; flex-direction: column;
        align-items: center; gap: 20px;
    }
    .content-block .split-img--secondary {
        position: static; width: 90% !important;
        margin-top: -80px; box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    }
}

/* =================================================================
   WIDGET "ABOUT 2" - CORREÇÃO DE ALINHAMENTO DINÂMICO
================================================================= */

/* --- Prepara a coluna de conteúdo para o alinhamento --- */
.about-style-2 .about-content-column {
    display: flex;
    flex-direction: column;
}

/* --- Alinhamento dos Títulos e Abas --- */
.elementor-widget-bdevs-about-2.elementor-align-center .about-content-column {
    align-items: center; /* Centraliza o conteúdo */
    text-align: center;
}
.elementor-widget-bdevs-about-2.elementor-align-right .about-content-column {
    align-items: flex-end; /* Alinha o conteúdo à direita */
    text-align: right;
}
.elementor-widget-bdevs-about-2.elementor-align-left .about-content-column {
    align-items: flex-start; /* Alinhamento padrão à esquerda */
    text-align: left;
}

/* --- Ajuste para a lista de abas (UL) seguir o alinhamento --- */
.elementor-widget-bdevs-about-2.elementor-align-center .tab-style-one {
    justify-content: center;
}
.elementor-widget-bdevs-about-2.elementor-align-right .tab-style-one {
    justify-content: flex-end;
}
.elementor-widget-bdevs-about-2.elementor-align-left .tab-style-one {
    justify-content: flex-start;
}

/* =================================================================
   LOADER AJAX PARA FILTRO DE EMPREENDIMENTOS
================================================================= */

/* 1. Prepara o container da grade para o posicionamento do loader */
.empreendimento-grid-isotope {
    position: relative;
    transition: opacity 0.3s ease;
}

/* 2. Estilo do spinner (a bolinha que gira) */
.empreendimento-loader {
    position: absolute;
    top: 40%; /* Posiciona um pouco acima do centro */
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border: 4px solid var(--black-90); /* Cor da base do círculo */
    border-top-color: var(--main-color); /* Cor da parte que gira */
    border-radius: 50%;
    z-index: 10;
    display: none; /* Começa escondido */
    animation: spin 1s linear infinite;
}
.light-mode .empreendimento-loader {
    border-color: #eee;
    border-top-color: var(--main-color);
}


/* 3. Animação de rotação */
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* 4. Lógica para mostrar/esconder */
/* Quando a grade estiver carregando, mostra o loader e deixa os cards opacos */
.empreendimento-grid-isotope.loading {
    opacity: 0.5;
    min-height: 300px; /* Garante que a área não colapse durante o carregamento */
}
.empreendimento-grid-isotope.loading .empreendimento-loader {
    display: block;
}

/* Esconde o item de menu do switch no desktop */
@media (min-width: 992px){
  #menu-switch-mode { display: none !important; }
}

/* =================================================================
   CORREÇÃO DE COR PARA TEXTO EM NEGRITO (VERSÃO FORTE)
================================================================= */
#o-empreendimento .content-editor ul li b,
#o-empreendimento .content-editor h3,
#o-empreendimento .content-editor h2,
#o-empreendimento .content-editor ul li{
    color: var(--empreendimento-cor-texto, var(--black-20)) !important; 
}



/* =================================================================
   ESTILIZAÇÃO ELEGANTE PARA O CONTEÚDO DO EDITOR (.content-editor)
================================================================= */

/* --- Container Principal --- */
.content-editor {
    line-height: 1.8; /* Melhora a legibilidade do texto */
}

/* --- Títulos (ex: "Características do Imóvel") --- */
.content-editor h3 {
    font-size: 1.5rem; /* Tamanho um pouco maior para destaque */
    font-weight: 700;
    color: var(--empreendimento-cor-titulos, var(--heading-color));
    margin-top: 30px;
    margin-bottom: 20px;
}
.content-editor h3:first-child {
    margin-top: 0; /* Remove a margem do primeiro título */
}

/* --- Lista de Características (a principal) --- */
.content-editor ul {
    list-style: none; /* Remove os marcadores padrão */
    padding: 0;
}

.content-editor ul li {
    padding-left: 0;
    font-size: 1rem;
}

/* --- Estilo para o texto em negrito (ex: "Área construída:") --- */
.content-editor li b,
.content-editor li strong {
    color: var(--empreendimento-cor-titulos, var(--heading-color));
    font-weight: 600;
    margin-right: 8px; /* Pequeno espaço após o negrito */
}

/* --- Lista de Diferenciais (com ícones) --- */
.content-editor p > img.emoji {
    display: none; /* Esconde o emoji de checkmark/pino (✔, 📍) */
}

/* Transforma os parágrafos de diferenciais em uma lista com ícones */
.content-editor p:has(img.emoji) {
    display: flex;
    align-items: center;
}


/* --- Adaptação para Light Mode --- */
.light-mode .content-editor h3 {
    color: var(--black-100);
}
.light-mode .content-editor li b,
.light-mode .content-editor li strong {
    color: var(--black-100);
}