@font-face {
    font-family: 'global-fontello';
    src: url('/global/fonts/fontello.eot?13');
    src: url('/global/fonts/fontello.eot?13#iefix') format('embedded-opentype'),
         url('/global/fonts/fontello.woff2?13') format('woff2'),
         url('/global/fonts/fontello.woff?13') format('woff'),
         url('/global/fonts/fontello.ttf?13') format('truetype'),
         url('/global/fonts/fontello.svg?13#fontello') format('svg');
    font-weight: normal;
    font-style: normal;
  }
  [class*="ig-"], 
  [class*="ig-"]:before {
    font-family: "global-fontello";
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
  
    display: inline-flex;
    align-items: center;
    justify-content: center;  
    
    width: auto;
    height: auto;
    font-size: inherit;
  
    text-align: center;  
    text-transform: none;
    text-decoration: none;
  
    line-height: 100%;
  
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  [class*="ig-"]:before {
    width: 100%;
    height: 100%;
  }
  

.ig-checkbox-off:before { content: '\e800'; } /* '' */
.ig-checkbox-on:before { content: '\e801'; } /* '' */
.ig-radio-off:before { content: '\e802'; } /* '' */
.ig-radio-on:before { content: '\e803'; } /* '' */
.ig-grid:before { content: '\e804'; } /* '' */
.ig-tourvirtual:before { content: '\e805'; } /* '' */
.ig-360:before { content: '\e806'; } /* '' */
.ig-favorites:before { content: '\e807'; } /* '' */
.ig-menu:before { content: '\e808'; } /* '' */
.ig-whatsapp:before { content: '\e809'; } /* '' */
.ig-cancel:before { content: '\e80a'; } /* '' */
.ig-photo:before { content: '\e80b'; } /* '' */
.ig-call:before { content: '\e80c'; } /* '' */
.ig-map:before { content: '\e80d'; } /* '' */
.ig-arrow-limit-strong:before { content: '\e80e'; } /* '' */
.ig-arrow-limit:before { content: '\e80f'; } /* '' */
.ig-arrow-pointer-mini:before { content: '\e810'; } /* '' */
.ig-arrow-point-strong:before { content: '\e811'; } /* '' */
.ig-arrow-point:before { content: '\e812'; } /* '' */
.ig-arrow:before { content: '\e813'; } /* '' */
.ig-arrow-strong:before { content: '\e814'; } /* '' */
.ig-email:before { content: '\e815'; } /* '' */
.ig-search:before { content: '\e816'; } /* '' */
.ig-check:before { content: '\e817'; } /* '' */
.ig-list-format:before { content: '\e818'; } /* '' */
.ig-search-strong:before { content: '\e819'; } /* '' */
.ig-list-order:before { content: '\e81a'; } /* '' */
.ig-video:before { content: '\e81b'; } /* '' */
.ig-social-linkedin:before { content: '\e81c'; } /* '' */
.ig-clear:before { content: '\e81d'; } /* '' */
.ig-social-tiktok:before { content: '\e81e'; } /* '' */
.ig-share-arrow:before { content: '\e81f'; } /* '' */
.ig-viewer-360:before { content: '\e820'; } /* '' */
.ig-viewer-360-small:before { content: '\e821'; } /* '' */
.ig-favorites-on:before { content: '\e822'; } /* '' */
.ig-social-youtube-solid:before { content: '\e823'; } /* '' */
.ig-zoom-minus:before { content: '\e824'; } /* '' */
.ig-zoom-more:before { content: '\e825'; } /* '' */
.ig-social-tiktok-rect-solid:before { content: '\e826'; } /* '' */
.ig-share:before { content: '\e827'; } /* '' */
.ig-favorites-clear:before { content: '\e828'; } /* '' */
.ig-copy:before { content: '\e829'; } /* '' */
.ig-plant:before { content: '\e82a'; } /* '' */
.ig-multimedia:before { content: '\e82b'; } /* '' */
.ig-profile:before { content: '\e82c'; } /* '' */
.ig-myhouse:before { content: '\e82d'; } /* '' */
.ig-arroba:before { content: '\e82e'; } /* '' */
.ig-not-home:before { content: '\e82f'; } /* '' */
.ig-social-x:before { content: '\e830'; } /* '' */
.ig-smartphone:before { content: '\e831'; } /* '' */
.ig-phone:before { content: '\e832'; } /* '' */
.ig-social-instagram:before { content: '\e833'; } /* '' */
.ig-social-facebook:before { content: '\e834'; } /* '' */
.ig-social-youtube:before { content: '\e835'; } /* '' */
.ig-image:before { content: '\e836'; } /* '' */
.ig-website:before { content: '\e837'; } /* '' */
.ig-play:before { content: '\e838'; } /* '' */
.ig-check-small:before { content: '\e839'; } /* '' */
.ig-ellipsis:before { content: '\e83a'; } /* '' */
.ig-plus:before { content: '\e83b'; } /* '' */
.ig-arrows-up-down:before { content: '\e83c'; } /* '' */
.ig-home:before { content: '\e83d'; } /* '' */
.ig-external-link:before { content: '\e83e'; } /* '' */
.ig-chat:before { content: '\e83f'; } /* '' */
.ig-imv-area-gourmet:before { content: '\e840'; } /* '' */
.ig-social-linkedin-rect-solid:before { content: '\e841'; } /* '' */
.ig-imv-area:before { content: '\e842'; } /* '' */
.ig-imv-banho:before { content: '\e843'; } /* '' */
.ig-imv-dormitorio:before { content: '\e844'; } /* '' */
.ig-imv-elevador:before { content: '\e845'; } /* '' */
.ig-imv-lances-escada:before { content: '\e846'; } /* '' */
.ig-imv-lavabo:before { content: '\e847'; } /* '' */
.ig-imv-vaga-carro:before { content: '\e848'; } /* '' */
.ig-imv-suite:before { content: '\e849'; } /* '' */
.ig-imv-vaga-moto:before { content: '\e84a'; } /* '' */
.ig-social-facebook-solid:before { content: '\e84b'; } /* '' */
.ig-social-instagram-solid:before { content: '\e84c'; } /* '' */
.ig-social-linkedin-solid:before { content: '\e84d'; } /* '' */
.ig-social-tiktok-solid:before { content: '\e84e'; } /* '' */
.ig-user:before { content: '\e84f'; } /* '' */
.ig-social-x-solid:before { content: '\e850'; } /* '' */
.ig-whatsapp-solid:before { content: '\e851'; } /* '' */
.ig-search-house:before { content: '\e852'; } /* '' */
.ig-social-facebook-rect-solid:before { content: '\e853'; } /* '' */
.ig-history:before { content: '\e854'; } /* '' */
.ig-iw:before { content: '\e856'; } /* '' */
.ig-robust:before { content: '\e857'; } /* '' */
.ig-clock:before { content: '\e858'; } /* '' */
.ig-social-x-rect-solid:before { content: '\e859'; } /* '' */
.ig-code:before { content: '\e85a'; } /* '' */
.ig-menu-list:before { content: '\e85b'; } /* '' */
.ig-imovel:before { content: '\e85c'; } /* '' */
.ig-map-area:before { content: '\e85d'; } /* '' */
.ig-whatsapp-2:before { content: '\e85e'; } /* '' */
.ig-error:before { content: '\e85f'; } /* '' */
.ig-info-circled-alt:before { content: '\f086'; } /* '' */
 

/* 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*/

:root {

    --g--font-size: 17px;
    --g--font-weight: 400;

    --g--max-width: 1720px;
    
    --g--color: #ff9900;
    --g--color-hover: #ffbb00;

    --g--font-family: sans-serif;
    --g--font-family--title: var(--g--font-family);

    --g--h--color: var(--g--color);
    --g--h2--color: var(--g--h--color);
    --g--h3--color: var(--g--h--color);
    --g--h4--color: var(--g--h--color);
    
    --g--bkg-color: #e1e1e7;

    --g--color-link: blue;
    --g--color-link-hover: orange;

    --g--bkg-input: #f2f2f2;
    --g--color-input-on: #000099;
    --g--color-input-off: #009999;

    --g--color-icon-popover: var(--g--color);


    --g--zindex--max: 100000;
    --g--zindex--top: 90000;
    --g--zindex--loader: 100002;
    --g--zindex--dialog: 100001;
    

    --g--border-radius: 2.8rem;
    --g--border-radius-middle: 1.4rem;
    --g--border-radius-small: .7rem;

    --g--ig--fonticon: 'global-fontello';
    --g--ig--checkbox-off:  '\e800';
    --g--ig--checkbox-on:   '\e801';
    --g--ig--radio-off:     '\e802';
    --g--ig--radio-on:      '\e803';


    
    --g--header--fixed--space--hide: 0px;

    /* --------------------------------------- */
    /* Tab */
    --g--tab--activate-color: var(--g--color);
    --g--tab--gap: 20px;


    /* --------------------------------------- */
    /* Campos */
    --g--f-item--font-size: 17px;
    --g--f-item--font-weight: 400;
    --g--f-item--font-color: #000;
    --g--f-item--padding: 10px;
    --g--f-item--input--min-size: 44px;

    --g--f-item--input--bkg-color: #fff;
    --g--f-item--input--font-color: #000;
    --g--f-item--input--font-size: var(--g--f-item--font-size);
    --g--f-item--input--font-weight: 600;
    --g--f-item--input--box-shadow: None;
    --g--f-item--input--placeholder--color: rgb( 0 0 0 / 35% );
    --g--f-item--input--padding: 12px 14px;


    /* --------------------------------------- */
    /* Botoes */
    --g--btn--color: var(--g--color);
    --g--btn--color-hover: var(--g--color-hover);
    --g--btn--padding: 1.25rem 2rem;
    --g--btn--text--color: #fff;
    --g--btn--text--color-hover: var(--g--btn--text--color);
    --g--btn--icon--color: inherit;
    --g--btn--icon--color-hover: var(--g--btn--icon--color);
    --g--btn--border-radius: var(--g--border-radius-small);

    --g--btn-2--color: #fff;
    --g--btn-2--color-hover: rgb(0 0 0 / 5%);
    --g--btn-2--text--color: #000;
    --g--btn-2--text--color-hover: var(--g--btn-2--text--color);

    --g--btn-2--icon--color: var(--g--color); 
    --g--btn-2--icon--color-hover: var(--g--btn-2--text--color-hover); 


    --g--btn--mini--padding: .8rem 1.6rem;


    /* --------------------------------------- */
    /* Botoes laterais de controle */
    --g--controls--button--margin: 3rem;  
    --g--controls--button--bkg: #222;
    --g--controls--button--color: #fff;
    --g--controls--button--shadow: 0 0 6px 1px rgb(255 255 255 / 25%);


    /* --------------------------------------- */
    /* Icones imoveis */
    --g--imovel--icon--size: 2.4rem;
    --g--imovel--icon--color: var(--g--color);
    --g--imovel--icon--gap: 1rem;
    --g--imovel--icon--font-size: 12px;
    --g--imovel--icon--text-align: center; 

    
    --g--imovel-item--padding: 1.5rem;
    --g--imovel-item--border-radius: var(--g--border-radius-middle);
    --g--imovel-item--min-height: 740px;
    --g--imovel-item--slider--min-height: 860px;
    --g--imovel-item--data--padding: 1.5rem;

    --g--imovel-item--icons--bkg: rgb( 0 0 0 / 3%);
    --g--imovel-item--icons--padding: 2rem;


    /* --------------------------------------- */
    /* Card corretor */
    --g--corretor--foto--size: 196px;
    --g--corretor--foto--border-radius: 50%;
    --g--corretor--foto--padding: 5px;


    /* --------------------------------------- */
    /* Mais resultados imoveis */

    --g--more-res--icon--color: #fff;
    --g--more-res--label--color: #fff;
    --g--more-res--bkg: var(--g--color);
    
    --g--more-res--label--small--bkg: rgb(0 0 0  / 10%);
    --g--more-res--label--small--color: #fff;

    --g--more-res--final--bkg: var(--g--color);
    --g--more-res--final--color: #fff;


    /* --------------------------------------- */
    /* Aside */
    
    --g--aside--modal--rgb-color: 0 16 32;
    --g--aside--modal--bkg: rgb(var(--g--aside--modal--rgb-color) / 35%);
    --g--aside--modal--blur: 5px;

    --g--aside--title--font-color: #000;

    --g--aside--padding: 26px;    
    --g--aside--bkg: #fff;
    --g--aside--shadow: 0 0 25px 0 rgb(var(--g--aside--modal--rgb-color) / 20%);

    --g--aside--button--close--size: 38px;
    --g--aside--button--close--color: #000;

    /* --------------------------------------- */
    /* Popover */
    --g--popover-values--width: 1080px;
    --g--popover-values--max-height: 1080px;


    /* --------------------------------------- */
    /* SupLabel */

    --g--sup-label--size: 24px;
    --g--sup-label--color: var(--g--color);
    --g--sup-label--font-color: #fff;
    --g--sup-label--scale-show: 3.5;
    --g--sup-label--label-Y: calc( var(--g--sup-label--size) * .5 * -1 );   
    --g--sup-label--value--position: 20% -20%;


    /* --------------------------------------- */
    /* Imovel Detalhes */
    
    --imovel--details--aside--size: 390px;
    --imovel--details--aside--fixed-top: 125px;
    --imovel--details--padding-box: 30px;

    /* --------------------------------------- */
    /* Assinatura IW */
    --iw-sign--font-color: #000;
    --iw-sign--icon-color: var(--g--color);
    --iw-sign--padding: 10px;



    /* --------------------------------------- */
    /* Slider */

    --g--slider--button--bkg: #fff;
    --g--slider--button--text--color: #000;
    --g--slider--button--font-size: 14px;

}

html, body {
    padding: 0;
    margin: 0;
    width: 100%; 
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    scroll-behavior: smooth;
}


html { 
    font-size: 62.5% !important; /* 10px */ 
}

html.off {
    overflow: hidden;
}


@media (max-width: 780px) {
    html {
        font-size: 56.25% !important; 
    }
}

* {
    font-family: var(--g--font-family);
}

body {
    font-weight: var(--g--font-weight);
    font-size: var(--g--font-size);
}

* * {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    line-height: inherit;
    text-decoration: inherit;
    cursor: inherit;
    scroll-behavior: smooth;
}

a, a *, 
button, button * {
    cursor: pointer !important;
}

img { 
    image-rendering: auto;
    image-rendering: crisp-edges;
    image-rendering: pixelated;
    image-rendering: -webkit-optimize-contrast;
}

[disabled], *:disabled {
    cursor: default;
    pointer-events: none;
    opacity: .5;
}


::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-track {
    border-radius: 6px;
    background: rgb( 0 0 0 / 5%);
}
::-webkit-scrollbar-thumb {
    background: rgb( 0 0 0 / 15%);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgb( 0 0 0 / 60%);
    
}


/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

iw-sign {
    display: block !important;
    padding: var(--iw-sign--padding) !important;
    text-align: center !important;
    font-family: monospace !important;
    font-size: 13px !important;
    font-weight: normal !important;
    color: var(--iw-sign--font-color) !important;
    line-height: 180% !important;
}
iw-sign * {
    font-family: inherit !important;
    font-weight: inherit !important;
    font-size: inherit !important;
    white-space: nowrap !important;
}
iw-sign i {
    color: var(--iw-sign--icon-color) !important;
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

#page {
    width: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

#body {
    flex: 1;
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

lgpd-widget {
    position: fixed;
    bottom: 0;
    left: 50%;
    z-index: 1000000;
    transform: translate(-50%);
    width: 90%;
    max-width: 1080px;
    overflow: hidden;
    padding: 20px;
}

lgpd-content {
    opacity: 0;
    display: flex;
    align-items: center;
    padding: 10px 16px;
    border-radius: 6px;
    box-shadow: 2px 2px 16px 0 rgba(0, 0, 0, .5);
    background-color: #fff;
    color: #000;
    font-size: 16px;
    font-weight: 500;
    animation: showLGPD .5s ease forwards;
}

@keyframes showLGPD {
    from {
        translate: 0 120%;
        opacity: 0;
    }
    to {
        translate: 0 0;
        opacity: 1;
    }
}

lgpd-widget.hide lgpd-content {
    animation: hideLGPD .5s ease forwards;
}

@keyframes hideLGPD {
    from {
        translate: 0 0;
        opacity: 1;
    }
    to {
        translate: 0 120%;
        opacity: 0;
    }
    
}



lgpd-body {
    flex: 1;
    padding: 10px;
    line-height: 150%;
    font-size: 1em;
}

lgpd-close {
    cursor: pointer;
    border: none;
    background: #06c;
    color: #fff;
    font-size: 1em;
    font-weight: 600;
    border-radius: 6px;
    padding: 12px 30px;
    margin: 10px;
}

@media (max-width: 780px) {
    lgpd-widget {
        font-size: 14px;
    }
}

@media (max-width: 640px) {
    lgpd-content {
        flex-direction: column;
    }
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

#title {
    padding: .8rem;
    color: #000;
    width: 100%;
}

#title--inside {
    display: flex;
    align-items: center;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

#title h1 {
    padding: 0;
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}
#title b {
    font-weight: 500;
}
#title b b {
    font-weight: 600;
}

#title--home {
    padding: 0;
    margin: 0;
    background: none;
    border: none;
    min-width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    rotate: 180deg;
    color: #000;
    border-radius: 50%;
    transition: scale .3s;
}
#title--home:hover {
    scale: 1.2;
}

#title--main {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.7rem;
}

/* ------------------------------------------- */
/* ------------------------------------------- */

#title--aside--controls {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 10px;
}

.title--aside--controls--btn {
    position: relative;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    min-width: 4rem;
    min-height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--g--color);
}
.title--aside--controls--btn i {
    font-size: 20px;    
}
.title--aside--controls--btn span {
    line-height: 90%;
    color: #000;
    font-size: 13px;
    font-weight: 500;
}

.title--aside--controls--btn:has(input) {
    opacity: .35;
}
.title--aside--controls--btn:has(:checked) {
    opacity: 1;
}

.title--aside--controls--btn > i {
    transition: scale .3s;
}
.title--aside--controls--btn:hover > i {
    scale: 1.2 !important;
}

.title--aside--controls--btn > input {
    display: none;
}

/* ------------------------------------------- */

.title--aside--controls--order sub-menu-wrapper {
    min-width: 180px;
}

.title--aside--controls--order sub-menu-wrapper label {
    display: flex;
    align-items: center;
    gap: 15px;
    white-space: nowrap;
    font-size: 16px;
    cursor: pointer;
}
.title--aside--controls--order sub-menu-wrapper label i {
    opacity: 0;
    color: var(--g--color-icon-popover) !important;
}
.title--aside--controls--order sub-menu-wrapper label input {
    display: none;
}
.title--aside--controls--order sub-menu-wrapper label:has(input:checked) i {
    opacity: 1;
}
.title--aside--controls--order sub-menu-wrapper label:has(input:checked) span {
    font-weight: 500;
}


@media (max-width: 780px) {

    #title--aside--controls {
        padding-right: 0;
        gap: 20px;
    }

    .title--aside--controls--btn {
        min-width: 30px;
        min-height: 30px;
        font-size: 18px;    
    }

    .title--aside--controls--format {
        display: none;
    }
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

.seo_content {
    display: none !important;
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

#scroll-mouse {
    position: fixed;
    z-index: var(--g--zindex--max);
    left: 50%;
    bottom: 25px;    
    width: 34px;
    height: 55px;
    translate: -50%;
}
#scroll-mouse-inside {
    position: relative;
    width: 100%;
    height: 100%;
}
#scroll-mouse-border {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    border: 2px solid rgb(255 255 255 / 50%);
    border-radius: 50px;
}
#scroll-mouse-scroll {
    content: '';
    position: absolute;
    top: 10%;
    left: calc(50% - 1px);
    width: 2px;
    height: 10px;
    background-color: #fff;
    animation-name: scroll-mouse;
    animation-duration: 1.5s;
    animation-timing-function: cubic-bezier(.15,.41,.69,.94);
    animation-iteration-count: infinite;
}
@keyframes scroll-mouse {
    0% { opacity: 0; }
    10% { transform: translateY(0); opacity: 1; }
    100% { transform: translateY(15px); opacity: 0;}
}


/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

#header--fixed {
    visibility: hidden;
    pointer-events: none;
    position: fixed;
    z-index: var(--g--zindex--top);
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    outline: none !important;
    background-color: rgb(255 255 255 / 90%);
    box-shadow: 0 0 1.5rem 0 rgb( 0 0 0 / 10%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px); /* Safari */
}

#header--fixed.show {
    animation: showHeaderFixed var(--g--header--fixed--velocity--show, .3s) ease forwards;
}
#header--fixed.hide {
    animation: hideHeaderFixed var(--g--header--fixed--velocity--hide, .3s) ease forwards;
}

@keyframes showHeaderFixed {
    from {
        visibility: visible;
        pointer-events: all;
        translate: 0 -100%;
    }
    to {
        visibility: visible;
        pointer-events: all;
        translate: 0 0;
    }
}

@keyframes hideHeaderFixed {
    from {
        visibility: visible;
        pointer-events: all;
        translate: 0 0;
    }
    to {
        visibility: visible;
        pointer-events: all;
        translate: 0 calc(-100% - var(--g--header--fixed--space--hide));
        box-shadow: none;
    }
}


/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/


.link-inside {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

*:has(.link-inside) {
    position: relative;
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

.icon-item,
.icon-link {
    --size-icon: 20px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    align-items: center;
    font-size: 1.8rem;
    padding: .5em;
}

.icon-link {
    border-radius: var(--g--border-radius-small);
    transition: background-color .3s;
}
.icon-link:hover {
    background-color: rgb( 0 0 0 / 3% );
}

.icon-item *,
.icon-link * {
    word-break: break-word;
}

.icon-item > i,
.icon-link > i {
    font-size: calc(var(--size-icon) - 2px);
    width: var(--size-icon);
    color: var(--g--color);
}

.icon-item > span,
.icon-link > span {
    padding: 0 5px;
    line-height: 130%;
}

.icon-link--email > span {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

#buttons--controls {
    position: fixed;
    z-index: var(--g--zindex--top);
    right: var(--g--controls--button--margin);
    bottom: var(--g--controls--button--margin);
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
#buttons--controls[data-position="left"] {
    right: initial;
    left: var(--g--controls--button--margin);
}

.buttons--controls--btn {
    width: 5.8rem;
    height: 5.8rem;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 50%;
    background: var(--g--controls--button--bkg);
    box-shadow: var(--g--controls--button--shadow);
    text-decoration: none !important;
    outline: none !important;  
    font-size: 2.8rem;
    color: var(--g--controls--button--color);     
}

@media (min-width: 780px) {
    .buttons--controls--btn {
        transition: scale .3s;
    }
    .buttons--controls--btn:hover {
        scale: 1.2;
    }
}

@media (max-width: 780px) {
    :root {
        --g--controls--button--margin: 15px;
    }
}


.buttons--controls--btn.show {
    animation: showButtonControls .4s ease forwards;
}
.buttons--controls--btn.hide {
    animation: hideButtonControls .3s ease forwards;
}
@keyframes showButtonControls {
    from {
        scale: 0;        
    }
    to {
        scale: 1;  
        visibility: visible;
        pointer-events: all;      
    }
}
@keyframes hideButtonControls {
    from {
        scale: 1;  
        visibility: visible;
        pointer-events: all;      
    }
    to {
        scale: 0;        
    }
}

#btn-whatsapp {
    background-color: #14b951 !important;
}
#btn-whatsapp i {
    color: #fff !important;
}

#btn-top {
    visibility: hidden;
    pointer-events: none;
}

#btn-top i {
    rotate: -90deg;
    animation: moveArrowUp 1.3s ease infinite;
}
@keyframes moveArrowUp {
    from {
        translate: 0 5px;
        opacity: 0;
    }
    15%, 75% {
        opacity: 1;
    }
    to {
        translate: 0 -5px;
        opacity: 0;
    }
}


/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

.btn {
    padding: var(--g--btn--padding);  
    line-height: 100%;  
    border: none;
    border-radius: var(--g--btn--border-radius);
    text-decoration: none !important;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;    
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--g--btn--text--color);
    background: var(--g--btn--color);
    transition: all .3s;
}
.btn:hover {
    background: var(--g--btn--color-hover);
    color: var(--g--btn--text--color-hover);
}

.btn i {
    color: var(--g--btn--icon--color);
    font-size: 1.4em;
}
.btn:hover i {
    color: var(--g--btn--icon--color-hover);
}

.btn span + i {
    font-size: 1em;
}

/* ------------------------------------------- */
.btn-2 {
    color: var(--g--btn-2--text--color);
    background: var(--g--btn-2--color);
}
.btn-2 i {
    color: var(--g--btn-2--icon--color);
}

.btn-2:hover {
    background: var(--g--btn-2--color-hover);
    color: var(--g--btn-2--text--color-hover);
}
.btn-2:hover i {
    color: var(--g--btn-2--icon--color-hover);
}

/* ------------------------------------------- */
.btn--small {
    padding: 6px 16px;
    height: 40px;
    gap: 10px;
    font-size: 15px;
}
.btn--small i {
    font-size: 1.2em;
}

.btn--mini {
    padding: var(--g--btn--mini--padding);
    min-height: 32px;
    gap: 8px;
    font-size: 13px;
}

/* ------------------------------------------- */
.btn-icon {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    text-align: center;
    color: #fff;
    font-size: 20px;
}

/* ------------------------------------------- */

.btn-icon--big {
    --btn-icon--big--measure: 10px;
    min-width: calc( var(--btn-icon--big--measure) * 8.6 );
    min-height: calc( var(--btn-icon--big--measure) * 8.6 );
    padding: calc( var(--btn-icon--big--measure) * 1.2 );
    border-radius: var(--g--border-radius-small);
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: calc( var(--btn-icon--big--measure) * 1.2 );
    text-align: center;
    font-size: calc( var(--btn-icon--big--measure) * 1.5 );
    border: 1px solid rgb( 0 0 0 / 10%);
    background: #fff;
    color: #000;
}
.btn-icon--big i {
    font-size: 2em;
    color: var(--g--color);
}

/* ------------------------------------------- */

@media (min-width: 780px) {
    .btn-hover {
        transition: all .3s !important;
        transform-origin: center bottom !important;
    }
    .btn-hover:hover {
        scale: 1.08; 
    }
}

/* ------------------------------------------- */

.link {
    padding: 2px;
    margin: 0;
    background: none;
    border: none;
    display: flex;
    align-items: center;
    line-height: 100%;
    gap: 10px;
    color: var(--g--color-link);
    font-size: 1.6rem;
    font-weight: 500;
    transition: color .3s;
}
.link:hover {
    color: var(--g--color-link-hover);
}

.link i {
    font-size: 14px;
    color: var(--g--color);
}

/* ------------------------------------------- */
[data-sup-label],
sup-label {
    position: relative;
}

sup-label {
    display: grid;
    width: var(--g--sup-label--size);
    height: var(--g--sup-label--size);
    position: absolute;
    top: 0;
    right: 0;
    translate: var(--g--sup-label--value--position);
}

sup-label-value {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 100%;
    text-align: center;
    width: 100%;
    height: 100%;
    font-size: calc(var(--g--sup-label--size)*.55);
    font-weight: 500;
    color: var(--g--sup-label--font-color);
    background: var(--g--sup-label--color);
    border-radius: 50%;
    box-shadow: 0 2px 0 1px rgb( 0 0 0 / 25%);
}

sup-label[notifying] sup-label-value {
    animation: notifyingSupLabel 1s ease forwards;
    backface-visibility: hidden;
}

@keyframes notifyingSupLabel {
    from {
        scale: .25;
        box-shadow: none;
    }
    30%, 60% {
        scale: var(--g--sup-label--scale-show);
        translate: 0 var(--g--sup-label--label-Y);         
        -webkit-transform: translateY(var(--g--sup-label--label-Y)), scaleY(var(--g--sup-label--scale-show));      
    }
    31%, 51% {
        box-shadow: 0 0 5px 0 rgb( 0 0 0 / 10%);
        rotate: -30deg;
    }
    41%, 59% {
        box-shadow: 0 0 5px 0 rgb( 0 0 0 / 10%);
        rotate: 30deg;
    }
    to {
        scale: 1;
    }
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

#loader {
    position: fixed;
    z-index: var(--g--zindex--loader);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,16,35,.225);
    opacity: 0;
    outline: none;
    animation: showLoader .5s ease forwards;
}

@keyframes showLoader {
    to {
        opacity: 1;
    }
}
                    
#containerLoader {
    padding: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 140px;
    min-height: 140px;
    border-radius: 2.4rem;
    box-shadow: 0 0 2rem 0 rgba(0, 16, 35, .225);
    background-color: #fff;
    transform: translate(-50%, -50%);
}

#inContainerLoader,
.loader-inside {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#iconLoader {
    padding: 6px;
    width: 60px;
    height: 60px;
    position: relative;
    overflow: visible;
}
#iconLoader:before, 
.loader-inside-icon {
    overflow: visible;
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 5px solid rgba(0,0,0,.05);
    border-top-color: var(--g--color);
    animation: spinLoader .9s infinite linear;  
}

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

#labelLoader {
    padding-top: 15px;
    font-size: 16px;
    font-weight: 800;
    color: #000;
    text-align: center;
}


/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

* > img {
    display: block;
}


/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

/* 
sub-menu
    sub-menu-trigger
    sub-menu-wrapper

*** Nao usar elementos que possuem tabindex ***
*/


sub-menu {
    display: block;
    position: relative;
    overflow: visible;
}

sub-menu-trigger {
    cursor: pointer;
}

sub-menu-wrapper {
    display: none;
    position: absolute;
    z-index: 10;
    visibility: hidden;
    pointer-events: none;
}

sub-menu-wrapper,
sub-menu[bottom] sub-menu-wrapper {
    top: 100%;
    left: 50%;
    translate: -50% 0;
}
sub-menu[force-right] sub-menu-wrapper {
    left: auto;
    right: 0;
    translate: 0;
}

sub-menu[right] sub-menu-wrapper {
    top: 50%;
    left: 100%;
    translate: 0 -50%;
}

sub-menu[left] sub-menu-wrapper {
    top: 50%;
    left: initial;
    right: 100%;
    translate: 0 -50%;
}

sub-menu[top] sub-menu-wrapper {
    top: initial;
    bottom: 100%;
    left: 50%;
    translate: -50% 0;
}

sub-menu-container {
    padding: 20px;
    border-radius: var(--g--border-radius-middle);
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    background: #fff;
    box-shadow: 4px 6px 8px 0 rgb( 0 0 0 / 10% );
    color: #000;
    white-space: nowrap;
    font-size: 1.6rem;
    text-decoration: none;
}

sub-menu[action-item] sub-menu-container {
    padding: 15px;
}

sub-menu[action-item] sub-menu-container > * {
    background: none;
    border-radius: calc(var(--g--border-radius-middle) * .55);
    padding: 8px 14px !important;
    transition: background .3s;
}
sub-menu[action-item] sub-menu-container > *:hover {
    background-color: rgb(0 0 0 / 5%);
}


/* 
---------------------------------------------- 
                    Bottom 
---------------------------------------------- 
*/
sub-menu[bottom][show] sub-menu-container {
    animation: showSubMenuBottom .3s ease forwards;
}
sub-menu[bottom][hide] sub-menu-container {
    animation: hideSubMenuBottom .3s ease forwards;
}
@keyframes showSubMenuBottom {
    from {
        opacity: 0;
        translate: 0 -25%;
    }
    to {
        opacity: 1;
        visibility: visible;
        pointer-events: all;
    }
}
@keyframes hideSubMenuBottom {
    from {
        opacity: 1;
        visibility: visible;
        pointer-events: all;
    }
    to {
        opacity: 0;
        translate: 0 -25%;
    }
}


/* 
---------------------------------------------- 
                    Right 
---------------------------------------------- 
*/
sub-menu[right][show] sub-menu-container {
    animation: showSubMenuRight .3s ease forwards;
}
sub-menu[right][hide] sub-menu-container {
    animation: hideSubMenuRight .3s ease forwards;
}
@keyframes showSubMenuRight {
    from {
        opacity: 0;
        translate: -25% 0;
    }
    to {
        opacity: 1;
        visibility: visible;
        pointer-events: all;
    }
}
@keyframes hideSubMenuRight {
    from {
        opacity: 1;
        visibility: visible;
        pointer-events: all;
    }
    to {
        opacity: 0;
        translate: -25% 0;
    }
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

.mobile--button--menu,
.mobile--button--close {
    position: relative;
    background: none; 
    border: none;
    padding: 0 !important;
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 44px;
    height: 44px;
}

.mobile--button--close {
    display: flex !important;
}

.mobile--button--close div,
.mobile--button--menu div {
    width: 22px;
    height: 2px;
    background-color: #000;
    border-radius: 10px;
}
.mobile--button--close div {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: -50% -50%;
    rotate: 45deg;
    height: 1px;
}
.mobile--button--close div:first-child {
    rotate: 315deg;
}


/* ------------------------------------------- */
/* Configuracao padrao para menu mobile */

.menu-box-mobile .menu,
.menu-box-mobile .menu--group {
    display: grid;
    gap: 30px;
    font-size: 22px;    
}
.menu-box-mobile .menu {
    padding: 20px;
}
.menu-box-mobile .menu a {
    display: flex;
    align-items: center;
    gap: 15px;
    color: var(--theme--color-3);
    font-weight: 600;
}

.menu-box-mobile .menu a i {
    color: var(--theme--color-1);
    font-size: 16px;
} 


/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/


.form--box {
    display: grid;
    gap: 1rem;
    padding: 0;
    margin: 0 auto;
    max-width: 940px;
}

.form--box--header {
    font-size: 1.8rem;
    padding: 10px;
    line-height: 150%;
}

.form--box--body {
    padding: 1.5rem;
    border-radius: var(--g--border-radius-middle);
    background-color: rgb( 0 0 0 / 2.5% );
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/


.f-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
    font-size: var(--g--f-item--font-size);
    font-weight: var(--g--f-item--font-weight);
    color: var(--g--f-item--font-color);
    padding: var(--g--f-item--padding);
    border-radius: var(--g--border-radius);
}

.f-item--listitems {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    gap: 8px;
    width: 100%;
    max-height: 300px;
    padding: 20px;
}

.f-item--listitems > * {
    animation: showItemListItems 1s ease forwards;
}
@keyframes showItemListItems {
    from {
        translate: -10px;
        opacity: 0;
    }
    to {
        translate: 0;
        opacity: 1;
    }    
}

.f-item--label {
    font-size: 1em;
    padding: .5rem;
    min-width: 140px;
}

.f-item--label:has([type="radio"]),
.f-item--label:has([type="checkbox"]) {
    cursor: pointer;
}

.f-item--label:has([type="radio"]) input,
.f-item--label:has([type="checkbox"]) input {
    display: none !important;
}

.f-item--label:has([type="radio"]):before,
.f-item--label:has([type="checkbox"]):before {
    content: var(--g--ig--checkbox-off);
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 100%;
    
    font-family: var(--g--ig--fonticon);
    font-size: 17px;
    opacity: .25;
    width: 20px;
    height: 20px;
    color: rgb( 0 0 0 / 50%);
}
.f-item--label:has([type="radio"]):before {
    content: var(--g--ig--radio-off);
}


.f-item--label:has([type="checkbox"]:checked):before,
.f-item--label:has([type="radio"]:checked):before {
    content: var(--g--ig--checkbox-on);
    color: var(--g--color);
    opacity: 1;
}
.f-item--label:has([type="radio"]:checked):before {
    content: var(--g--ig--radio-on);
}

.f-item--label:has([type="radio"]),
.f-item--label:has([type="checkbox"]) {
    display: flex;
    align-items: center;
    gap: 10px;
}


.f-item--label:has([type="radio"]) > *,
.f-item--label:has([type="checkbox"]) > * {
    line-height: 100%;
}


.f-field::placeholder,
.f-field::-webkit-input-placeholder,
.f-field::-moz-placeholder,
.f-field:-ms-input-placeholder,
.f-field:-moz-placeholder {
    color: inherit;
}

.f-field,
.f-item input:not([type="radio"]):not([type="checkbox"]),
.f-item select,
.f-item textarea {
    background-color: #fff;
}

.f-field,
.f-item input:not([type="radio"]):not([type="checkbox"]),
.f-item select,
.f-item textarea,
.f-check-numbers label {
    padding: var(--g--f-item--input--padding);
    min-width: var(--g--f-item--input--min-size);
    min-height: var(--g--f-item--input--min-size);
    background: var(--g--f-item--input--bkg-color);
    box-shadow: var(--g--f-item--input--box-shadow);
    border: none !important;
    border-radius: var(--g--border-radius-small);
    color: var(--g--f-item--input--font-color);
    font-size: var(--g--f-item--input--font-size);
    font-weight: var(--g--f-item--input--font-weight);
    width: 100%;
    line-height: normal;
    outline: none;
}


.f-item input:not([type="radio"]):not([type="checkbox"])::placeholder,
.f-item textarea::placeholder {
    color: var(--g--f-item--input--placeholder--color);
}

.f-item select {
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAADmAAAA5gEiXLpRAAAAcElEQVRIiWNgGAWjAAkYMDAwvIdiA1oZ/h+KqWoJsuHzoZiqltxHMhwGYJbcJ6SZmQgLGBkYGE4yMDAUIolthIpfZGBgOECkQ0fBIAb9DAwMDVjEG6ByFAOKkikxgOYZDd0SqhuObMl9Whk+CoYwAAB4nSdsqJt4bQAAAABJRU5ErkJggg==');
    background-repeat: no-repeat;    
    background-position-x: calc(100% - 5px);
    background-position-y: 50%;
    -moz-appearance:none; /* Firefox */
    -webkit-appearance:none; /* Safari and Chrome */
    appearance:none;
}


input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus {
  -webkit-text-fill-color: #000;
  -webkit-box-shadow: 0 0 0px 40rem #ffff inset;
}

.f-item--required {
    box-shadow: 0 0 0 2px red;
}

.f-field * {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}


.f-item--fields {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.f-item--fields--inline {
    flex-direction: column;
}
.f-item--fields:not(:has(.f-item--label)) > * {
    flex: 1;
}

/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
.f-item--info {
    padding: 5px;
    font-size: 14px;
    font-weight: 500;
    color: blue;
    display: grid;
    grid-template-columns: 12px auto;
    gap: 10px;
}
.f-item--info i {
    color: var(--g--color);
}


/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
.f-check-numbers {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.f-check-numbers input {
    display: none !important;
}

.f-check-numbers label {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: var(--g--f-item--input--padding);
    min-height: var(--g--f-item--input--min-size);
}
.f-check-numbers label:has(:checked) {
    background: var(--g--color);
    color: #fff;
}


/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
.f-footer {
    padding: 10px;
    display: flex;
    justify-content: right;
}

/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
.f-group {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.f-group .f-item {
    flex: 1;
    min-width: 240px;
}

/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
.form-alert-validate {
    display: grid;
    grid-template-rows: auto 1fr;
    text-align: left;
    font-size: 18px;
    font-weight: 500;
}
.form-alert-validate > header {
    font-size: 1.1em;
}
.form-alert-validate > ul {
    padding: 30px;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    list-style: none;
}
.form-alert-validate > ul > li {
    padding: 0;
    margin: 0;
    padding-left: 22px;
    position: relative;
}

.form-alert-validate > ul > li:before,
.form-alert-validate > ul > li:after {
    content: '';
    width: 12px;
    height: 2px;
    background-color: red;
    position: absolute;
    top: 50%;
    left: 0;
    translate: 0 -50%;
    rotate: 45deg;
}
.form-alert-validate > ul > li:after {
    rotate: -45deg;
}

@media (max-width: 780px) {
    .form-alert-validate {
        padding: 15px 30px;
        font-size: 16px;
    }
}

/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */

.f-item--negociacao label {
    background-color: #fff;
    padding: var(--g--f-item--input--padding);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 15px;
    cursor: pointer;
}

.f-item--negociacao input,
.f-item--negociacao label:before {
    display: none;
}

.f-item--negociacao label i {
    display: none;
    width: 20px;
    height: 20px;
}
.f-item--negociacao label span {
    flex: initial;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
}

.f-item--negociacao label:has(:checked) {
    background: var(--g--color);
    color: #fff;
}
.f-item--negociacao label:has(:checked) i {
    display: flex;
}


/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

#imoveis--listing--items .imovel-item {
    opacity: 0;
    translate: 0 25%;
}

.imovel-item-show {    
    animation: showImovelItem .65s ease forwards;
}

@keyframes showImovelItem {
    to {
        opacity: 1;
        translate: 0 0;
    }
}


.imovel-item {
    display: flex;
    padding: var(--g--imovel-item--padding);
    width: 100%;
    min-height: var(--g--imovel-item--min-height);  
    color: #000;    
    background-color: #fff;
    border-radius: var(--g--imovel-item--border-radius);
}

.box-swiper .imovel-item {
    max-width: 420px;
    min-height: var(--g--imovel-item--slider--min-height);  
    margin: 0 auto;
}

.imovel-item--inside {
    flex: 1;
    width: 100%;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.imovel-item .btn {
    white-space: nowrap;
}

/* --------------------------------------------------------------- */

.imovel-item--header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 .6rem;
}

/* --------------------------------------------------------------- */

.imovel-item--body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    color: #000;
    text-decoration: none !important;
}

/* --------------------------------------------------------------- */
.imovel-item--image {
    position: relative;
    border-radius: calc(var(--g--imovel-item--border-radius)*.5);
    background-color: rgb( 0 0 0 / 3%);
}
.imovel-item--image--box {
    width: 100%;  
    height: 100%;
    aspect-ratio: 1;    
    border-radius: calc(var(--g--imovel-item--border-radius) *.5);
    position: relative;
}

.imovel-item--image--box img {
    position: absolute;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    border-radius: inherit;
}

/* --------------------------------------------------------------- */
.imovel-item--image--corretor {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(rgb(0 0 0 / 10%), rgb(0 0 0 / 60%));
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    gap: 2rem;
    border-radius: inherit;
    opacity: 0;
    transition: opacity .5s;
}
.imovel-item--image--corretor:hover {
    opacity: 1;
}

.imovel-item--image--corretor img {
    width: 12rem;
    height: 12rem;
    border-radius: 50%;
    object-fit: cover;
    object-position: center center;
    scale: .5;
    transition: scale .5s;
}
.imovel-item--image--corretor:hover img {
    scale: 1;
}

.imovel-item--image--corretor span {
    font-size: 1.6rem;
    font-weight: 500;
    color: #fff;
    translate: 0 100%;
    transition: translate .5s;
}
.imovel-item--image--corretor:hover span {
    translate: 0 0;
}

/* --------------------------------------------------------------- */

.imovel-item--image--slider {
    position: absolute;
    width: 100%;  
    height: 100%;

    --padding-controls: 10px;
}

.imovel-item--image--slider--item {
    position: relative;
    width: 100%;  
    height: 100%;
}


/* Slider */
.imovel-item--image--slider .box-swiper-container .swiper-button-prev,
.imovel-item--image--slider .box-swiper-container .swiper-button-next {
    position: absolute;
    left: var(--padding-controls) !important;
    top: 50%;
    width: 34px;
    height: 34px;
    translate: 0 -50% !important;
}

.imovel-item--image--slider .box-swiper-container .swiper-button-prev:after,
.imovel-item--image--slider .box-swiper-container .swiper-button-next:after {
    font-size: 12px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #fff;
    color: #000;
    scale: 1;
    transition: scale .3s;
}
.imovel-item--image--slider .box-swiper-container .swiper-button-prev:active:after,
.imovel-item--image--slider .box-swiper-container .swiper-button-next:active:after {
    scale: .7;
}

.imovel-item--image--slider .box-swiper-container .swiper-button-next {
    left: initial !important;
    right: var(--padding-controls) !important;
}

.imovel-item--image--slider .box-swiper-container .swiper-button-disabled {
    opacity: 0 !important;
    pointer-events: all !important;
}

.imovel-item--image--slider .box-swiper-pagination {
    position: absolute;
    z-index: 2;
    left: 50%;
    translate: -50% !important;
    bottom: var(--padding-controls) !important;;
    padding: 0 !important;
    margin: 0 !important;
}

.imovel-item--image--slider .swiper-pagination-bullet {
    width: 10px !important;
    height: 10px !important;
    background-color: rgb( 255 255 255 / 50% ) !important; 
}
.imovel-item--image--slider .swiper-pagination-bullet-active {
    background-color: #fff !important; 
}

/* --------------------------------------------------------------- */

.imovel-item--corretor {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0;
    border: none;
    background: none;
    transition: scale .3s;
}

.imovel-item--corretor--foto > * {
    display: flex;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    object-fit: cover;
    object-position: center center;
}

.imovel-item--corretor--nome {
    font-weight: 500;
    font-size: 14px;
    color: #000;
}

/* --------------------------------------------------------------- */

.imovel-item--corretor--buttons {
    display: flex;
    align-items: center;
    gap: 10px;
}

.imovel-item--corretor--buttons .btn-2 {
    width: 30px;
    height: 30px;
}

/* --------------------------------------------------------------- */

.imovel-item--icons {
    display: grid;
    align-items: center;
    justify-content: center;
    grid-template-columns: repeat(auto-fit, 60px);
    gap: 10px;
    padding: 2rem 0; 
}

/* Nao retirar elemento para nao dar erro de alinhamento por GAP... */
.imovel-item--icons:not(:has(.imovel--icon)) {
    max-height: 0;
    padding: 0;
    pointer-events: none;
    visibility: hidden;
}

.imovel--icon {
    display: flex;
    align-items: center;
    flex-direction: column;
    text-align: var(--g--imovel--icon--text-align);
    gap: var(--g--imovel--icon--gap);    
}
.imovel--icon > i {
    width: var(--g--imovel--icon--size);
    height: var(--g--imovel--icon--size);
    display: flex;
    align-items: center;
    justify-content: center;
}
.imovel--icon > i * { /* svg / img */
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
}
.imovel--icon > i[class*="ig-imv"] {
    color: var(--g--imovel--icon--color);
    font-size: var(--g--imovel--icon--size);
}


.imovel--icon > small,
.imovel--icon > small * {
    font-size: var(--g--imovel--icon--font-size);
    font-weight: 500;
}

.imovel--icon > small * {
    white-space: nowrap;
}


/* ------------------------------------------- */
.imovel-item--icons--inline {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    padding: var(--g--imovel-item--icons--padding);
    background: var(--g--imovel-item--icons--bkg);
    border-radius: calc(var(--g--imovel-item--border-radius) *.5);

    --g--imovel--icon--size: 22px;
    --g--imovel--icon--gap: 15px;
    --g--imovel--icon--font-size: 14px;
    --g--imovel--icon--text-align: left;
}


.imovel-item--icons--inline .imovel--icon {
    display: grid;
    grid-template-columns: var(--g--imovel--icon--size) 1fr;
}

/* --------------------------------------------------------------- */

.imovel-item--group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 2rem;
    row-gap: .5rem;
}

.imovel-item--icon {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.imovel-item--icon i {
    color: var(--g--imovel--icon--color);
    font-size: 13px;
}


.imovel-item--data {
    flex: 1;
    font-size: 1.6rem;
    display: flex;
    flex-direction: column;
    gap: var(--g--imovel-item--data--padding);
}

.imovel-item--titulo {
    flex: 1;
    font-family: var(--g--font-family--title);
    font-size: 2rem;
    font-weight: 700;
    color: var(--g--color);
    line-height: 130%;
    padding: .5rem 0;
}

.imovel-item--cod,
.imovel-item--tipo {
    font-weight: 500;
    font-size: 15px;
}

.imovel-item--localizacao {
    font-size: 0.9em;
    font-weight: 500;
}
.imovel-item--localizacao small {
    font-size: 1em;
    font-weight: 400;
}

/* --------------------------------------------------------------- */

.imovel-item--footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    padding-top: 15px;
}


.imovel-item--footer--actions {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* --------------------------------------------------------------- */

.imovel-item--preco {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.imovel-item--preco--item {
    display: flex;
    flex-direction: column;
    gap: .35rem;
}
.imovel-item--preco--item b {
    color: var(--g--color);
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 130%;
}


body:not([data-listing-format="inline"]) .imovel-item--data--body {
    padding: 0 calc(var(--g--imovel-item--padding) * .5);
}
body:not([data-listing-format="inline"]) .imovel-item--footer {
    padding-bottom: calc(var(--g--imovel-item--padding) * .5);
}


/* 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/


@media (max-width: 780px) {
    .imovel-item {
        min-height: 0 !important;
    }
}



@media (min-width: 740px) {

    .imovel-item--corretor:hover {
        scale: 1.1;
    }

    [data-listing-format="inline"] #imoveis--listing--items {
        grid-template-columns: 1fr;
    }

    [data-listing-format="inline"] #imoveis--listing--items .imovel-item {
        min-height: 0;
        max-width: 100%;
    }
    
    [data-listing-format="inline"] #imoveis--listing--items .imovel-item--body {
        flex-direction: row;
        align-items: stretch;
        gap: 3rem;
    }
        
    [data-listing-format="inline"] #imoveis--listing--items .imovel-item--image {
        width: 30rem;
    }
    
    [data-listing-format="inline"] #imoveis--listing--items .imovel-item--cod {
        order: 1;
    }
    [data-listing-format="inline"] #imoveis--listing--items .imovel-item--titulo {
        order: 2;
    }

    [data-listing-format="inline"] #imoveis--listing--items .imovel-item--icons,
    [data-listing-format="inline"] #imoveis--listing--items .imovel-item--icons--inline {
        order: 3;
    }
    [data-listing-format="inline"] #imoveis--listing--items .imovel-item--footer {
        order: 4;
        padding-top: 0;
    }

    [data-listing-format="inline"] #imoveis--listing--items .imovel-item--icons .imovel--icon {
        display: flex !important;
    }

    [data-listing-format="inline"] #imoveis--listing--items .imovel-item--preco {
        flex-direction: row;
        gap: 2rem;
    }


    [data-listing-format="inline"] .imovel-item--icons--inline {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
    }


    @media (max-width: 1080px) {    
        [data-listing-format="inline"] #imoveis--listing--items .imovel-item--image {
            width: 26rem;
        }
    }

    .imovel-item--image--slider .box-swiper-pagination,
    .imovel-item--image--slider .box-swiper-container .swiper-button-prev,
    .imovel-item--image--slider .box-swiper-container .swiper-button-next {
        opacity: 0;
        transition: opacity .6s;
    }
    .imovel-item--image--slider:hover .box-swiper-pagination,
    .imovel-item--image--slider:hover .box-swiper-container .swiper-button-prev,
    .imovel-item--image--slider:hover .box-swiper-container .swiper-button-next {
        opacity: 1;
    }

}



@media (max-width: 740px) {

    .imovel-item {
        padding: 15px;
        min-height: 640px;
    }

    .imovel-item--header {
        padding: 10px 15px;
    }


    .imovel-item--image {
        aspect-ratio: inherit; /* Desliga no mobile pois ao mudar a orientacao da erro... */
        max-height: 340px;
    }

    .imovel-item--image--corretor {
        display: none !important;
    }
}

@media (max-width: 520px) {

    .imovel-item--image {
        max-height: 290px;
    }

}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

#imoveis--listing {
    padding: 2rem;
    padding-bottom: 0;
    width: 100%;
    display: grid;
    gap: 20px;
    grid-template-rows: auto auto;
}

#imoveis--listing--items {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    align-content: center;
    justify-content: center;
    justify-items: center;
    position: relative;
    gap: 2.4rem;
    margin: 0 auto;
}

#imoveis--listing--items > *:not(.more-results) {
    max-width: 430px;
}

#imoveis--listing--items:has(.more-results) {
    padding-bottom: 200px;
}


/* 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/

@media (min-width: 780px) {

    #imoveis--listing {
        padding: 3rem 2rem 6rem 2rem;
    }

    #imoveis--listing--items {
        grid-template-columns: repeat(auto-fit, minmax(240px, 370px));
    }

    [data-listing-format="inline"] #imoveis--listing--items {
        flex-direction: column;
        align-items: center;
        flex-wrap: nowrap;
    }
    [data-listing-format="inline"] #imoveis--listing--items > *:not(.more-results) {
        max-width: var(--g--max-width);
    }
}


/* --------------------------------------------------------------------------------------------- */

.more-results {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 200px;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;   
}

.more-results--button {
    padding: 1.25rem 2.5rem;
    background: var(--g--more-res--bkg);
    border: none;
    font-size: 1.8rem;
    display: flex;
    align-items: center;
    border-radius: 1rem;  
    gap: 10px; 
}
.more-results--icon {
    width: 22px;
    height: 22px;
    padding: 0;
    margin: 0;
    animation: pulseDown 1.8s linear infinite;
}

.more-results--icon i {
    rotate: 90deg;
    font-size: 22px !important;
    color: var(--g--more-res--icon--color) !important;
}

@keyframes pulseDown {
    from {
        translate: 0 -120%;
        opacity: 0;
    }
    30% {
        translate: 0 -20%;
        opacity: 1;
        
    }
    80% {
        translate: 0 70%;
        opacity: 1;
    }
    100% {
        translate: 0 120%;
        opacity: 0;
    }

}


.more-results--label {
    flex: 1;
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
    line-height: 100%;  
    color: var(--g--more-res--label--color)  
}

.more-results--label--page {
    font-size: .76em;
    padding: 5px 20px;
    border-radius: 50px;
    background: var(--g--more-res--label--small--bkg);
    color: var(--g--more-res--label--small--color);
}


.more-results--final {
    font-size: 15px;
    font-weight: 500;
}
.more-results--final--label {
    padding: 14px 28px;
    border-radius: 50px;
    line-height: 120%;
    text-align: center;
    color: var(--g--more-res--final--color);
    background: var(--g--more-res--final--bkg);
}


/* --------------------------------------------------------------------------------------------- */

.inside-loading {
    --inside-loading--color: var(--g--color);
}

.inside-loading > * {
    display: none !important;    
}

.inside-loading:after {
    display: block !important;
    content: '';
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 4px solid var(--inside-loading--color);  
    border-top-color: transparent; 
    animation: insideLoading 1s linear infinite; 
}
@keyframes insideLoading {
    to {
        rotate: 360deg;
    }
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

.box-condominios {
    display: grid;
    gap: 1rem;
}

.box-condominios--status {
    padding: 1rem;
    font-size: 1.6rem;
    font-weight: 600;
    color: #000;
    display: flex;
    gap: 1rem;
    align-items: center;
}
.box-condominios--status i {
    color: var(--g--color);
}

.box-condominios--items {
    display: flex;
    flex-wrap: wrap;
    gap: 4rem;
    justify-content: center;
}


/* --------------------------------------------------------------------------------------------- */
.condominio-item {
    width: 100%;
    max-width: 400px;
    display: grid;
    grid-template-rows: auto 1fr auto;
    border-radius: var(--theme--border-radius--small);
    background: #fff;

    --condominio-item--mesure: 10px;
}


/* ------------------------------------------- */
.condominio-item--image {
    border-radius: inherit;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    position: relative;
    width: 100%;
    height: 300px;
    overflow: hidden;
    background: rgb( 0 0 0 / 5%);
}

.condominio-item--image i {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    font-size: 10rem;
    color: rgb( 0 0 0 / 7%)
}

.condominio-item--image img {
    position: relative;;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
.condominio-item--image:has(img) i {
    display: none;
}

/* ------------------------------------------- */
.condominio-item--body {
    padding: calc(var(--condominio-item--mesure) * 2.5);
    display: grid;
    gap: 2rem;
}


.condominio-item--nome {
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--g--color);
}

.condominio-item--endereco {
    display: grid; 
    gap: .65rem;
    align-content: start;
    font-weight: 500;
}

.condominio-item--endereco--cidade {
    font-size: 1.5rem;
}

/* ------------------------------------------- */
.condominio-item--footer {
    display: flex;
    justify-content: center;
    padding: calc(var(--condominio-item--mesure) * 2.5);
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

.data-not-exists {
    padding: 5rem 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3rem;
}

.data-not-exists--box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3rem;
    text-align: center;
}

.data-not-exists--icon {
    font-size: 15rem;
    color: var(--g--color);
}

.data-not-exists--title {
    font-size: 2.4rem;
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/


.content-text {
    line-height: 160%;
    font-size: 1.8rem;
    padding: 2rem;
    padding-bottom: 3rem;
}
.content-text:not(.content-checks):not(br):not(div) > *,
.content-text p,
.content-text section,
.content-text blockquote,
.content-text h2,
.content-text h3,
.content-text h4 {
    margin: 0;
    padding: 1rem 0;
}

.content-text h2,
.content-text h3,
.content-text h4 {
    line-height: normal;
}

.content-text h2 {
    padding-top: 3.2rem;
    font-family: var(--g--font-family--title);
    font-size: 2.6rem;
    font-weight: 700;
    color: var(--g--h2--color);
}
.content-text h3 {
    padding-top: 2.6rem;
    font-family: var(--g--font-family--title);
    font-size: 2.3rem;
    font-weight: 700;
    color: var(--g--h3--color);
}
.content-text h4 {
    padding-top: 2.2rem;
    font-family: var(--g--font-family--title);
    font-size: 2.1rem;
    font-weight: 700;
    color: var(--g--h4--color);
}

.content-text a {
    display: inline-flex;
    color: blue;    
    word-break: break-all;
}
.content-text a:hover {
    text-decoration: underline;
}



/* --------------------------------------------------------------------------------------------- */
.box-centered {
    margin: 0 auto;
    width: calc(100% - 50px);
    max-width: var(--g--max-width);
    padding: 2.5rem 0;
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

.equipe-box {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 390px));
    justify-content: center;
    gap: 5rem;
    padding: 3rem 0;
}

.equipe-box .corretor-card {
    padding: 4rem;
    border-radius: var(--g--border-radius-middle);
    justify-items: center;
    background-color: #fff;
}


/* ------------------------------------------- */
#box-equipe .corretor-card {
    position: relative;
    padding: 3rem;
    padding-bottom: 4rem;
}

#box-equipe .corretor-card > * {
    position: relative;
    z-index: 2;
}

#box-equipe .corretor-card:before {
    content: '';
    border-radius: var(--g--border-radius-middle);
    justify-items: center;
    background-color: #fff;
    position: absolute;
    top: calc( var(--g--corretor--foto--size) * .6 );
    right: 0;
    bottom: 0;
    left: 0;
}

/* ------------------------------------------- */
tab-content[name="equipe"] {
    margin: 3rem 0;
}

/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */

@media (max-width: 1024px) {
    tab-content[name="equipe"] {
        margin: 15px 0;
    }
}


/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/
read-more,
read-more-small,
read-more-full {
    padding: 0 !important;
    margin: 0 !important;
}

read-more-button {
    cursor: pointer;
    display: inline-block;
    font-size: 1.6rem;
    color: #0000cc;
    font-weight: 500;
}

read-more-button[condense] {
    display: block;
    margin-top: 25px;
}

read-more-small,
read-more-full {
    animation: changeContent 1s ease forwards;
}
@keyframes changeContent {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}


/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/


.imovel--page {
    display: block;
    padding: 25px;
    margin: 0 auto;
    max-width: var(--g--max-width);
    font-size: 16px;
    --background-boxes: rgb(255 255 255 / 70%);
}

.imovel--page gallery-medias {
    --background: var(--background-boxes);
}

/* ------------------------------------------- */
.imovel--main {
    display: grid;
    row-gap: 30px;
}

.imovel--box {
    padding: 25px;
    background: var(--background-boxes);
    border-radius: var(--g--border-radius-middle);
}

/* --------------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------------------- */

.imovel--header {
    display: flex;
    gap: 40px;
    font-size: 18px;
}

.imovel--header--text {
    flex: 1;
    display: grid;
    gap: 20px;
}

.imovel--header--price {
    display: flex;
    align-items: center;
    justify-content: center;
}

.imovel--header--price--inside {
    padding: 30px;
    display: grid;
    gap: 10px;
}

.imovel--header--price--inside .imovel--precos--item:not(.item-preco) {
    display: none;
}

/* ------------------------------------------- */
.imovel--precos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 40px;
    font-size: 10px;
}

.imovel--precos--item {
    display: grid;
    gap: 5px;
    font-size: 10px !important;
}

.imovel--precos--item small {
    font-size: 1.6em;
}

.imovel--precos--item div {
    font-size: 2.4em;
    font-weight: 700;
    color: var(--g--color);
}

/* ------------------------------------------- */

.imovel--cod {
    display: flex;
    justify-content: start;
    text-align: center;

    --imovel-cod--font-size: 14px;
    --imovel-cod--padding: 7px 22px 7px 27px; 

    --imovel-cod-border-color: rgb( 0 0 0 / 15% );

    --imovel-cod--id--bkg-color: #999;
    --imovel-cod--id--font-color: #fff;

    --imovel-cod--tipo--bkg-color: #ddd;
    --imovel-cod--tipo--font-color: #000;

    --imovel-cod--negociacao--bkg-color: #fff;
    --imovel-cod--negociacao--font-color: #000;

    
}

.imovel--cod > div {
    display: flex;
    border-radius: 100px;
    overflow: hidden;
    font-size: var(--imovel-cod--font-size);
}
.imovel--cod > div > div {
    position: relative;
    display: flex;
    align-items: center;
    padding: var(--imovel-cod--padding);
    
}

.imovel--cod > div > div:not(:last-child):after {
    content: '';
    width: 14px;
    height: 100%;
    position: absolute;
    z-index: 2;
    top: 0;
    left: calc(100% - 4px);
    background-color: inherit;
    clip-path: polygon(4px 0, 100% 50%, 4px 100%, 0% 100%, 0% 0%);
}

.imovel--cod > div b {
    font-weight: 600;
    padding: 0 2px;
}

.imovel--cod > div > span {
    min-width: 20px;
    position: relative;
}

.imovel--cod > div > div:nth-child(1) {
    background: var(--imovel-cod--id--bkg-color);
    color: var(--imovel-cod--id--font-color);
    font-weight: 500;
    z-index: 3;
}
.imovel--cod > div > div:nth-child(2) {
    background: var(--imovel-cod--tipo--bkg-color);
    color: var(--imovel-cod--tipo--font-color);
    z-index: 2;
}
.imovel--cod > div > div:nth-child(3) {
    background: var(--imovel-cod--negociacao--bkg-color);
    color: var(--imovel-cod--negociacao--font-color);
    z-index: 1;
}


/* ------------------------------------------- */
.imovel--title {
    font-family: var(--g--font-family--title);
    font-size: 3.2rem;
    font-weight: 700;
    color: var(--g--color);
}

/* ------------------------------------------- */
.imovel--condominio {
    font-size: 1em;
    font-weight: 500;
}

/* ------------------------------------------- */
.imovel--location {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1em;
}
.imovel--location--icon {
    width: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.imovel--location--icon i {
    width: 100%;
    color: var(--g--color);
}

/* --------------------------------------------------------------------------------------------- */
.imovel--icons {
    display: flex;  
    flex-wrap: wrap;
    justify-content: center;      
    column-gap: 50px;
    row-gap: 20px;
    
    --g--imovel--icon--size: 30px;
    --g--imovel--icon--padding: 4px;
    --g--imovel--icon--font-size: 16px;
    --g--imovel--icon--text-align: left;
    --g--imovel--icon--gap: 15px; 
}

.imovel--icons .imovel--icon {
    flex-direction: row;  
    padding: var(--g--imovel--icon--padding);
}

/* --------------------------------------------------------------------------------------------- */

.imovel--content--item {
    display: grid;
    gap: 10px;
    font-size: 1.7rem;

    padding: 10px 0 40px 0;
}

.imovel--content--item > small {
    color: var(--g--color);
    font-size: 1em;
    border-bottom: 1px solid rgb( 0 0 0 / 5% );
    padding-bottom: 10px;
    margin-bottom: 10px;
}

/* ------------------------------------------- */

.imovel--content--checks > section {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 300px));
    align-self: start;
    row-gap: 10px;
    column-gap: 50px;
    width: auto;
}
.imovel--content--checks > section > span {
    display: grid;
    grid-template-columns: 16px auto;
    gap: 8px;
    align-items: start;
}
.imovel--content--checks > section > span i {
    padding-top: 3px;
    font-size: 14px;
    color: var(--g--color);
}


/* --------------------------------------------------------------------------------------------- */

.imovel--details {
    display: grid;
    grid-template-columns: auto var(--imovel--details--aside--size);
    column-gap: var(--imovel--details--padding-box);
}


.imovel--details--items {
    display: flex;
    flex-direction: column;
    gap: var(--imovel--details--padding-box);
}
.imovel--details--caracteristicas {
    flex: 1;
}

/* ------------------------------------------- */
#imovel-aside-fixed {
    height: 100%;
    width: 100%;
}

#imovel-aside-fixed-target {
    position: sticky;
    top: var(--imovel--details--aside--fixed-top);
    left: 0;
}


/* ------------------------------------------- */
.imovel--details--precos {
    display: grid;
    gap: 10px;
}
.imovel--details--precos .imovel--precos {
    width: 100%;
    display: grid;
    align-items: center;
    justify-content: center;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
}
.imovel--details--precos .imovel--precos--item {
    padding: 0;
    text-align: center;
    font-size: 16px;
}

.imovel--details--precos--obs {
    display: block;
    text-align: center;
    font-size: 14px;
    color: #304050;
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

.imovel--details--precos:has(.imovel--precos--table) .imovel--content--item > small {
    border: none !important;
}

.imovel--precos--table {
    display: grid;
    gap: 5rem;
    --precos--table--measure: 100%;
}

.imovel--precos--table table {
    border-collapse: separate;
    border-spacing: 2px;
}

/* ------------------------------------------- */
.imovel--precos--table td {
    padding: 1.4rem;
    border-width: 1px 0;
    font-weight: 500;
    position: relative;
}
.imovel--precos--table td > * {
    position: relative;
    z-index: 2;
}

.imovel--precos--table td:before {
    content: '';
    position: absolute;
    top: 0; 
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--g--color);
    opacity: calc( var(--precos--table--measure) * .065 );
    border-radius: var(--g--border-radius-small);
}

.imovel--precos--table td:first-child:before {
    opacity: calc( var(--precos--table--measure) * .025 );
}

.imovel--precos--table tbody td:last-child,
.imovel--precos--table tfoot td:last-child {
    text-align: right;
    font-weight: 700;
}

/* ------------------------------------------- */
.imovel--precos--table thead td {
    text-align: center;
    font-weight: 700;
    border-top: none;
}

.imovel--precos--table tfoot td:before {
    opacity: calc( var(--precos--table--measure) * .15 ) !important;
}

.imovel--precos--table tbody:not(:has(.imovel--precos--table--item:nth-child(3))) + tfoot {
  display: none !important;
}

/* ------------------------------------------- */
.imovel--precos--table--hr {
    padding: 0 !important;
    height: 4px !important;
}
.imovel--precos--table--hr:before {
    display: none !important;
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

.imovel--details--aside--box {
    display: grid;
    gap: var(--imovel--details--padding-box);
}


.imovel--details--aside--item {

    --box--bkg-color: #fff;
    --g--f-item--input--bkg-color: rgb(0 0 0  / 5%);
    --g--f-item--input--font-color: #000;

    border-radius: var(--g--border-radius-middle);
    padding: 30px;
    background: var(--box--bkg-color);
    display: grid;
    gap: 20px;
    transition: all .2s;
}

[data-fixed] .imovel--details--aside--item {
    box-shadow: 0 8px 16px 0 rgb( 0 0 0 / 15%);
}

.imovel--details--aside--item--title {
    font-family: var(--g--font-family--title);
    font-size: 2.6rem;
    font-weight: 700;
    padding: 10px 0 25px 0;
    color: var(--g--color);
    border-bottom: 1px solid rgb( 0 0 0 / 5% );
}

.imovel--details--aside--item .f-item,
.imovel--details--aside--item .f-group {
    padding: 0;
}
.imovel--details--aside--item .f-item {
    padding: 10px 0;
    --g--f-item--input--bkg-color: var(--g--f-item--input--bkg-color);
    --g--f-item--input--font-color: var(--g--f-item--input--font-color);
}
.imovel--details--aside--item .f-item--label {
    min-width: 0;
}
.imovel--details--aside--item .f-item--fields {
    justify-content: flex-start;
    gap: 12px;
}
.imovel--details--aside--item .f-item--fields > * {
    flex: initial;
}
.imovel--details--aside--item .f-footer {
    padding-left: 0;
    padding-right: 0;
}

/*
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

#mobile-imovel-contact {
    position: fixed;
    z-index: var(--g--zindex--top);
    bottom: 15px;
    left: 50%;
    translate: -50%;
    box-shadow: 2px 2px 8px 0 rgb(0 0 0 / 25%);
    border-radius: 100px;
    font-size: 16px;
    white-space: nowrap;
}

#mobile-imovel-contact i {
    font-size: 18px;
}

@media (min-width: 780px) {
    #mobile-imovel-contact {
        display: none;
    }
}

/*
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

.corretor-card {
    font-size: 18px;
    display: grid;
    justify-items: center;
    grid-template-rows: var(--g--corretor--foto--size) auto;
    gap: 30px;
}

.corretor-card .icon-link {
    font-size: inherit;
}

/* ------------------------------------------- */

.corretor--foto {
    margin: 0 auto;
    width: var(--g--corretor--foto--size);
    height: var(--g--corretor--foto--size);
    border-radius: var(--g--corretor--foto--border-radius);
    position: relative;   
    background-color: rgb( 0 0 0 / 4% );
    background: linear-gradient(180deg, #ddd, #fff 80%);
    overflow: hidden;
}
.corretor--foto:has(img) {
    overflow: visible;
    background: none;
}

/* ------------------------------------------- */
.corretor--foto:before,
.corretor--foto:after {
    content: "";
    position: absolute;
    top: 24%;
    left: 50%;
    translate: -50%;
    width: calc(var(--g--corretor--foto--size) * .36);
    height: calc(var(--g--corretor--foto--size) * .36);
    border-radius: 50%;
    background-color: rgb( 0 0 0 / 5% );
}
.corretor--foto:after {
    top: 66%;
    width: var(--g--corretor--foto--size);
    height: var(--g--corretor--foto--size);
}

.corretor--foto:has(img):before,
.corretor--foto:has(img):after {
    display: none;
}

/* ------------------------------------------- */


.corretor--foto a {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;

    text-decoration: none !important;
    width: var(--g--corretor--foto--size);
    height: var(--g--corretor--foto--size);
    border-radius: inherit;
}
.corretor--foto img {
    width: inherit;
    height: inherit;
    border-radius: inherit;
    object-fit: cover;    
    object-position: center center;
}

/* ------------------------------------------- */
/* ------------------------------------------- */

.corretor--body {
    display: grid;
    align-content: start;
    gap: 2rem;
}

.corretor--header {
    display: grid;
    gap: var(--g--corretor--foto--padding);
    padding: 5px 0;
}

/* ------------------------------------------- */

.corretor--cargo {
    --cargo-background-color: #f2f2f2;
    --cargo-color: #000;
}
.corretor--cargo > span {
    display: inline-block;
    font-weight: 500;
    color: var(--cargo-color);
    font-size: 15px;
    padding: 5px 10px;
    background-color: var(--cargo-background-color);
    border-radius: 6px;
}

/* ------------------------------------------- */
.corretor--nome {
    font-family: var(--g--font-family--title);
    font-size: 1.5em;
    font-weight: 600;
    color: var(--g--color);
}

.corretor--nickname {
    font-size: 11px;
    font-family: monospace;
    padding: 2px 0;
}

.corretor--creci {
    font-size: 13px;
}

/* ------------------------------------------- */
.corretor--redessociais {
    padding: var(--g--corretor--foto--padding) 0;
}

/* ------------------------------------------- */
/* ------------------------------------------- */

.corretor--contact,
.corretor--contact > * {
    display: grid;
    gap: 2px;
}



/* ------------------------------------------- */
/* ------------------------------------------- */
/* Icones exibidos somente em telas pequenas */

.corretor--all-icons {
    display: none;
    grid-template-columns: repeat(auto-fit, 26px);
    gap: 14px;
    padding-top: 5px;
}

.icon-link--redesocial,
.corretor--all-icons .icon-link {
    padding: 5px !important;
    background: none !important;
    width: 26px;
    height: 26px;
}

.icon-link--redesocial i,
.corretor--all-icons .icon-link i {
    font-size: 20px !important;
}

.icon-link--redesocial span,
.corretor--all-icons .icon-link span {
    display: none;
}


/* --------------------------------------------------------------------------------------------- */

#imovel-corretor .corretor-card {
    padding: 2rem 0;
}

/* --------------------------------------------------------------------------------------------- */

#listing-box-corretor {
    padding: 3rem 2rem;
    padding-bottom: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
#listing-box-corretor .corretor-card {
    --g--corretor--foto--size: 120px;

    grid-template-columns: var(--g--corretor--foto--size) auto;
    grid-template-rows: auto;
    align-items: center;
    padding: 25px;
    border-radius: var(--g--border-radius);
    background-color: #fff;
}

#listing-box-corretor .corretor--body {
    width: 100%;
    grid-template-columns: 1fr auto;
    gap: 3rem;
    align-items: center;
}

#listing-box-corretor .corretor--header {
    gap: 10px;
}

#listing-box-corretor .icon-link--meusimoveis {
    display: none;
}


/* 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/

@media (max-width: 1280px) {
    #listing-box-corretor .corretor-card {
        --g--corretor--foto--size: 120px;
        font-size: 16px;
    }
}

@media (max-width: 780px) {

    .corretor-card {
        --g--corretor--foto--size: 152px;
        font-size: 18px;
    }

    #listing-box-corretor .corretor-card {
         --g--corretor--foto--size: 100px;
         font-size: 14px;
         padding: 20px;
    }
}

@media (max-width: 640px) {

    #listing-box-corretor .corretor-card {
        border-radius: var(--g--border-radius-middle);
    }

    .corretor--creci {
        font-size: 12px;
    }

}

@media (max-width: 560px) {

    #listing-box-corretor .corretor-card {
        --g--corretor--foto--size: 84px;
        width: 100%;
        padding: 12px;
        font-size: 14px;
        gap: 20px;
    }

    #listing-box-corretor .corretor--redessociais,
    #listing-box-corretor .corretor--contact {
        display: none;
    }

    #listing-box-corretor .corretor--all-icons {
        display: grid;
    }
}



/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

.corretor-perfil {
    display: flex;
    flex-wrap: wrap;
    gap: 8rem;
    padding: 4rem 0;
}

/* --------------------------------------------------------------------------------------------- */
.corretor-perfil--foto {
    width: 540px;
}
.corretor-perfil--foto img {
    width: 100%;
    border-radius: var(--g--border-radius);
}

/* --------------------------------------------------------------------------------------------- */
.corretor-perfil--body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 5rem;
}

/* --------------------------------------------------------------------------------------------- */
.corretor-perfil--header {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
}

.corretor-perfil--main {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 220px;
}


.corretor-perfil--nome {
    font-size: 4.4rem;
    font-weight: 600;
    color: var(--g--color);
}
.corretor-perfil--creci {
    font-size: 1.6rem;
}
.corretor-perfil--redessociais {
    padding: 1rem 0;
}

.corretor-perfil--contact .icon-link {
    --size-icon: 22px;
}
.corretor-perfil--contact > * {
    display: grid;
}


/* 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/

@media (max-width: 1280px) {
    .corretor-perfil--foto {
        width: 420px;
    }

    .corretor-perfil {
        gap: 60px;
    }
}

@media (max-width: 1080px) {
    .corretor-perfil {
        gap: 40px;
    }

    .corretor-perfil--foto {
        width: 320px;
    }

    .corretor-perfil--nome {
        font-size: 34px;
    }
}

@media (max-width: 880px) {

    .corretor-perfil--foto {
        width: 260px;
    }
    .corretor-perfil--foto img {
        border-radius: var(--g--border-radius-middle);
    }
}


@media (max-width: 780px) {
    .corretor-perfil--foto {
        width: 200px;
    }
}

@media (max-width: 680px) {
    .corretor-perfil {
        flex-direction: column;
    }
}



/*
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

#imoveis-similares {
    width: 100%;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 5rem;
    margin-top: 5rem;
}
#imoveis-similares--title {
    font-size: 2rem;
    text-align: center;
    display: grid;
    gap: 8px;
}
#imoveis-similares--title--label {
    font-family: var(--g--font-family--title);
    font-size: 1.6em;
    font-weight: 700;
    color: var(--g--color);
}


#imoveis-similares--items {
    display: block;
}

#imoveis-similares--items .imovel-item {
    margin: 0 auto;
}
#imoveis-similares--items .swiper-wrapper {
    align-items: stretch;
}
#imoveis-similares--items .swiper-slide {
    height: 100%;
}

/* 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/

@media (min-width: 780px) {
    .imovel--details .imovel--box {
        padding: 40px;
    }

    #imovel-contact .f-footer button {
        width: 100%;
    }
}

/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */


@media (max-width: 1420px) {
    :root {
        --imovel--details--aside--size: 320px;
    }
}


@media (max-width: 1280px) {

    .imovel--header {
        font-size: 16px;
    }
    .imovel--title {
        font-size: 28px;
    }
    .imovel--page {
        padding: 20px;
    }
}


@media (max-width: 780px) {

    .imovel--details {
       grid-template-columns: 1fr;
       row-gap: 20px;
    }


    .imovel--title {
        font-size: 22px;
    }

    .imovel--icons {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 15px;

        --g--imovel--icon--size: 22px;
        --g--imovel--icon--padding: 0;
        --g--imovel--icon--font-size: 14px;
        --g--imovel--icon--gap: 15px;        
    }   


    .imovel--details--precos .imovel--precos {
        justify-content: start
    }

}

@media (max-width: 640px) {
    .imovel--cod {
        --font-size: 13px;
        --padding: 6px 16px 6px 20px;
    }
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

.pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
    justify-content: center;
    padding: 15px;
    background-color: #eee;

}
.pagination--button {
    background-color: #ddd;
    border-radius: 4px;
    text-decoration: none;
    text-align: center;
    min-width: 32px;
    min-height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pagination--button:has(svg) {
    background: none !important;
}
.pagination--button svg {
    width: 16px;
    height: 16px;
}

.pagination--current {
    pointer-events: none;
    background-color: blue;
    color: #fff;
}

.pagination--inactive {
    pointer-events: none;
    opacity: .5;
}


/* --------------------------------------------------------------------------------------------- */

.pagination--box--more {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}

.pagination--button--more {
    display: flex;
    align-items: center;
    gap: 15px;
    border: none;
    background-color: blue;
    border-radius: 50px;
    padding: 10px 30px;
    padding-left: 20px;
}
.pagination--button--more * {
    cursor: pointer;
}

.pagination--button--more svg {
    width: 22px;
    height: 22px;
}

.pagination--button--more label {
    color: #fff;
    font-size: 16px;
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

.box-swiper-container {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;

    --swiper-navigation-size: 3rem;
}

.box-swiper-container img[data-src] {
    visibility: hidden;
}

/* ------------------------------------------- */
.box-swiper {
    overflow: visible;
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
}

.box-swiper .swiper {
    flex: 1;
    height: 100%;
}

.box-swiper-container .swiper-button-prev,
.box-swiper-container .swiper-button-next {
    position: static;
    width: 4rem;
    height: 4rem;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    left: .5rem;
    color: var(--g--color);
    translate: none !important;
    
}
.box-swiper-container .swiper-button-next {
    left: auto;
    right: .5rem;
}

.box-swiper-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4rem 0;
}
.box-swiper-pagination .swiper-pagination {
    position: static !important;
    white-space: nowrap;
    transform: none !important;    
    padding: 8px 0;
}

.box-swiper-pagination .swiper-pagination > * {
    transition: left 1s ease, background-color .5s ease !important;
}

.swiper-pagination-lock,
.swiper-navigation-lock,
.swiper-button-lock {
    display: none !important;
}


.swiper-slide {
    outline: none !important;
    height: 100%;
}

.swiper-pagination-bullet {
    width: 2rem !important;
    height: 2rem !important;
    opacity: 1 !important;
    background-color: rgb( 0 0 0 / 10% ) !important;
    margin: .35rem;
    transition: all .1s;
}

.swiper-pagination-bullet-active {
    background: var(--g--color) !important;
    animation: .5s ease-in-out forwards showBulletActive;
}
@keyframes showBulletActive {
    50% {
        scale: 1.5;
    }
    from, to {
        scale: 1;
    }
}



[data-slider-inline-navigation] .swiper-button-prev,
[data-slider-inline-navigation] .swiper-button-next {
    position: static !important;
    top: initial !important;
    bottom: initial !important;
    left: initial !important;
    right: initial !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    translate: none !important;
}


.swiper-pagination-progressbar {
    display: none;
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100%;
}


/* ------------------------------------------- */
.swiper-progress {
    --color: #000;
    --bkg: rgb( 255 255 255 / 5% );
    --size: 12px;
    position: absolute;
    z-index: 10;
    right: 20px;
    top: 20px;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    color: var(--color);
    padding: .75rem 1.5rem;
    background: var(--bkg);
    border-radius: 50px;
}

.swiper-progress-timer {    
    position: relative;
    width: var(--size);
    height: var(--size);
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 100%;
}

.swiper-progress-timer svg {
    position: absolute;
    left: 0;
    top: 0px;
    z-index: 10;
    width: 100%;
    height: 100%;
    stroke-width: 5px;
    stroke-linecap: round;
    stroke: var(--color);
    fill: none;
    opacity: .15;
}

.swiper-progress-circle {
    --progress: 0;
    opacity: 1 !important;
    stroke-dashoffset: calc(125.6 * (1 - var(--progress)));
    stroke-dasharray: 125.6;
    transform: rotate(-90deg);
}

.swiper-progress-label {
    display: none;
}




[data-slider-effect="fade"] .swiper-slide > * {
    background: none;
    opacity: 0;
    transition: opacity .5s;
}

[data-slider-effect="fade"] .swiper-slide-active > * {
    opacity: 1;
}


/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/


aside-content {
    position: fixed;
    z-index: var(--g--zindex--max);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--g--aside--modal--bkg);
    visibility: hidden;
    pointer-events: none;

    backdrop-filter: blur(var(--g--aside--modal--blur));
    -webkit-backdrop-filter: blur(var(--g--aside--modal--blur));
}

aside-inside {
    background: var(--g--aside--bkg);
    box-shadow: var(--g--aside--shadow);
    display: flex;
    flex-direction: column;
    width: auto;
    height: auto;
    max-height: 100%;
    max-width: 100%;
    position: absolute;
}

/* --------------------------------------------------------------- */
aside-header {
    display: flex;
    align-items: center;
    color: var(--g--aside--title--font-color);
}
aside-header span {
    flex: 1;
    font-size: 2rem;
    font-weight: 500;
    padding-left: 5px;
}
aside-close {
    cursor: pointer;
    width: var(--g--aside--button--close--size);
    height: var(--g--aside--button--close--size);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--g--aside--button--close--color);
    font-size: 20px;    
}

/* --------------------------------------------------------------- */
aside-body {
    flex: 1;
    overflow: auto;
    padding: calc(var(--g--aside--padding) * 1.2);
}

/* --------------------------------------------------------------- */

aside-footer {
    display: flex;
    justify-content: flex-end;
    gap: 2rem;
        
    --bkg-color: #111;
    --color: #fff;
    --g--imovel--icon--color: #f90;
}

aside-footer button:not([class]) {
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 18px;
    color: var(--color);
    background: var(--bkg-color);
    border-radius: 6px;
    border: none;
    text-decoration: none !important;
}
aside-footer button:not([class]) i {
    color: var(--g--imovel--icon--color);
}

aside-header,
aside-footer {
    padding: calc(var(--g--aside--padding) * .8)  var(--g--aside--padding);
}


/* ****************************************************************** */

aside-content.show {
    animation: showAsideContent .3s ease forwards;
}

@keyframes showAsideContent {
    from {
        visibility: visible;
        pointer-events: all;
        opacity: 0;
    }
    to {
        opacity: 1;
        visibility: visible;
        pointer-events: all;
    }
}

aside-content.hide {
    animation: hideAsideContent .5s ease forwards;
}

@keyframes hideAsideContent {
    from {
        opacity: 1;
        visibility: visible;
        pointer-events: none;
    }
    to {
        visibility: hidden;
        pointer-events: none;
        opacity: 0;
    }
    
}

/* ******************************************* */
/* TOP */

aside-content[position="top"] aside-inside {
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    height: auto;
}

aside-content[position="top"].show aside-inside {
    animation: showAsideContentInsideTop .5s ease forwards;
}

@keyframes showAsideContentInsideTop {
    from {
        translate: 0 -100%;
    }
    to {
        translate: 0 0;
    }
}


aside-content[position="top"].hide aside-inside {
    animation: hideAsideContentInsideTop .5s ease forwards;
}

@keyframes hideAsideContentInsideTop {
    from {
        translate: 0 0;
    }
    to {
        translate: 0 -100%;
    }
}


/* ******************************************* */
/* BOTTOM */

aside-content[position="bottom"] aside-inside {
    bottom: 0;
    left: 0;
    width: 100%;
}

aside-content[position="bottom"].show aside-inside {
    animation: showAsideContentInsideBottom .5s ease forwards;
}

@keyframes showAsideContentInsideBottom {
    from {
        translate: 0 100%;
    }
    to {
        translate: 0 0;
    }
}


aside-content[position="bottom"].hide aside-inside {
    animation: hideAsideContentInsideBottom .5s ease forwards;
}

@keyframes hideAsideContentInsideBottom {
    from {
        translate: 0 0;
    }
    to {
        translate: 0 100%;
    }
}



/* ******************************************* */
/* RIGHT */

aside-content[position="right"] aside-inside {
    top: 0;
    right: 0;
    height: 100%;
}

aside-content[position="right"].show aside-inside {
    animation: showAsideContentInsideRight .5s ease forwards;
}

@keyframes showAsideContentInsideRight {
    from {
        translate: 100% 0;
    }
    to {
        translate: 0 0;
    }
}


aside-content[position="right"].hide aside-inside {
    animation: hideAsideContentInsideRight .5s ease forwards;
}

@keyframes hideAsideContentInsideRight {
    from {
        translate: 0 0;
    }
    to {
        translate: 100% 0;
    }
}


/* ******************************************* */
/* LEFT */

aside-content[position="left"] aside-inside {
    top: 0;
    left: 0;
    height: 100%;
}

aside-content[position="left"].show aside-inside {
    animation: showAsideContentInsideLeft .5s ease forwards;
}

@keyframes showAsideContentInsideLeft {
    from {
        translate: -100% 0;
    }
    to {
        translate: 0 0;
    }
}


aside-content[position="left"].hide aside-inside {
    animation: hideAsideContentInsideLeft .5s ease forwards;
}

@keyframes hideAsideContentInsideLeft {
    from {
        translate: 0 0;
    }
    to {
        translate: -100% 0;
    }
}


/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */

@media (min-width: 780px) {
    aside-footer button:not([class]) {
        transition: scale .3s;
    }
    aside-footer button:not([class]):hover {
        scale: 1.1;
    }

    aside-close {
        transition: all .3s;    
    }
    aside-close:hover {
        scale: 1.15;
    }

}

@media (max-width: 780px) {
    aside-inside {
        --g--aside--padding: 20px;
    }
    aside-footer {
        justify-content: center;
    }
}




/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

aside-content[name="menu-mobile"] #menu-mobile--logo {
    display: block;
    width: 200px;    
    height: 46px;
    object-fit: contain;
    object-position: left center;
}

aside-content[name="menu-mobile"] aside-header {
    padding-top: 30px;
}

aside-content[name="menu-mobile"] aside-inside {
    width: 90%;
    max-width: 460px;
}

aside-content[name="menu-mobile"] aside-body .main-header {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

aside-content[name="menu-mobile"] aside-close {
    --g--aside--button--close--size: 36px;
}

aside-content[name="menu-mobile"] sub-menu {
    padding: 20px 0 !important;
}
aside-content[name="menu-mobile"] sub-menu-trigger {
    pointer-events: none !important;
    font-size: 13px !important;
    background: none !important;
}
aside-content[name="menu-mobile"] sub-menu-trigger i {
    display: none !important;
}

aside-content[name="menu-mobile"].show sub-menu-wrapper,
aside-content[name="menu-mobile"].hide sub-menu-wrapper {
    position: static !important;
    pointer-events: all !important;
    visibility: visible !important;
    translate: none !important;
    opacity: 1 !important;
    transition: none !important;
    animation: none !important;
}
aside-content[name="menu-mobile"] sub-menu-container {
    background: none !important;
    border-radius: initial !important;
    padding: 0 !important;
    box-shadow: none !important;
}

/* 
--------------------------------------------------------------------------------------------------- 
--------------------------------------------------------------------------------------------------- 
*/

aside-content[position=right][name="search"] aside-inside {
    width: 100%;
    max-width: 540px;
}

aside-content[name="search"] aside-body {
    padding: 20px;
    padding-bottom: 60px;
}

aside-content[position=top][name="search"] aside-body .form--box {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    max-width: 100%;
}
aside-content[position=top][name="search"] aside-body .form--box > section {
    min-width: 300px;
}

aside-content[name="search"] aside-footer {
    justify-content: space-between;
}

aside-content[name="search"] .f-item {
    gap: 6px;
    padding: 12px;
}
aside-content[name="search"] .f-item--label:has([type='radio']),
aside-content[name="search"] .f-item--label:has([type='checkbox']) {
    grid-template-columns: 26px 1fr;
    gap: 10px;
}

aside-content[name="search"] .f-item--label:has([type='radio']):before,
aside-content[name="search"] .f-item--label:has([type='checkbox']):before {
    width: 26px !important;
    height: 26px !important;
    font-size: 20px !important;
}

@media (max-width: 520px) {
    aside-content[name="search"] aside-body {
        padding: 10px;
        padding-bottom: 50px;
    }
}



/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

.separator_or {
    --sp-or--color: #000;
    --sp-or--opacity: .06;
    --sp-or--color-label: var(--sp-or--color);
    position: relative;
    display: grid;
    align-items: center;
    grid-template-columns: 1fr auto 1fr;
    gap: 8px;
    font-size: 14px;
    font-weight: normal;
    line-height: 100%;
    color: var(--sp-or--color-label);
    padding: 5px;
    
}
.separator_or:before,
.separator_or:after {
    content: "";
    background-color: var(--sp-or--color);
    border-radius: 20px;
    height: 2px;
    opacity: var(--sp-or--opacity);
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

/* Manter assim pois o componente se separa no DOM depois de instalado. */
popover-content, 
popover-modal {
    --color-trigger: #000; 
    --bkg-trigger: rgb( 0 0 0 / 3% );
}

popover-content {
    display: flex;
    align-items: center;    
}

/* ------------------------------------------- */
popover-label {
    cursor: pointer;
    display: grid;
    grid-template-columns: 1fr 20px;
}

popover-label-trigger {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: var(--color-trigger);
    font-size: 16px !important;
}


popover-label-value {
    line-height: normal !important;
}

/* ------------------------------------------- */

popover-modal {
    position: fixed;
    z-index: var(--g--zindex--max);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    max-height: 100%;
    background-color: rgba(30, 40, 60, 0.25);
    visibility: hidden;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;    
}

popover-values {
    display: flex;
    flex-direction: column;
    max-height: 100%;
    max-width: 100%;
    min-width: 300px;
    background-color: #fff;
    box-shadow: 0 0 100px 0 rgba(30, 40, 60, 0.15);
    border-radius: var(--g--border-radius-middle);    
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
}


/* ------------------------------------------- */
popover-values-header {
    display: flex;
    align-items: center;
    padding: 24px;
    gap: 15px;
}
popover-values-header-label {
    flex: 1;
    font-size: 18px;
    font-weight: 500;
    text-align: left;
    padding-left: 10px;
}

popover-values-header-close {
    --size: 38px;
    cursor: pointer;
    width: var(--size);
    height: var(--size);
    position: relative;
    border-radius: 50%;
    background-color: var(--bkg-trigger);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: var(--color-trigger);
}

/* ------------------------------------------- */

popover-options {
    display: none !important;
}

popover-values-header-options {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-right: 15px;
}


popover-button {
    cursor: pointer;
    display: flex;
    place-items: center;
    padding: 6px 12px;
    background-color: rgb( 0 0 0 / 0% );
    border-radius: 50px;
    font-size: 13px;
    color: #000;
    transition: background-color .3s;    
}

popover-button:hover {
    background-color: var(--bkg-trigger);
}

/* ------------------------------------------- */
popover-values-body {
    flex: 1;
    overflow: auto;
    position: relative;
}

popover-modal.show {
    animation: showPopoverContent .3s ease forwards;
}

@keyframes showPopoverContent {
    from {
        visibility: visible;
        pointer-events: all;
        opacity: 0;
    }
    to {
        opacity: 1;
        visibility: visible;
        pointer-events: all;
    }
}

/* ------------------------------------------- */
popover-values-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    gap: 15px;
}

popover-values-footer-close {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    min-width: 7rem;
    line-height: 100%;
    background: var(--bkg-trigger);
    border: none;
    border-radius: .6rem;
    margin: 0;
    font-size: 1.6rem;
    font-weight: 500;
    color: var(--color-trigger);
}

/* ------------------------------------------- */
popover-modal.hide {
    animation: hidePopoverContent .5s ease forwards;
}

@keyframes hidePopoverContent {
    from {
        opacity: 1;
        visibility: visible;
        pointer-events: all;
    }
    to {
        visibility: hidden;
        pointer-events: none;
        opacity: 0;
    }
    
}



popover-modal.show > popover-values {
    animation: showPopoverValues .3s ease forwards;
}

@keyframes showPopoverValues {
    from {
        scale: .8;
        opacity: 0;
        visibility: visible;
    }
    to {
        visibility: visible;
        pointer-events: all;
        scale: 1;
        opacity: 1;
    }
}

popover-modal.hide > popover-values {
    animation: hidePopoverValues .3s ease forwards;
}

@keyframes hidePopoverValues {
    from {
        scale: 1;
        visibility: visible;
    }
    99% {
        scale: .8;
        opacity: 0;
        visibility: visible;
    }
    to {
        visibility: hidden;
        pointer-events: none;
    }
    
}


/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/

@media (min-width: 780px) {
    popover-values-header-close,
    popover-values-footer-close {
        transition: scale .3s;
    }
    popover-values-header-close:hover,
    popover-values-footer-close:hover {
        scale: 1.2;
    }
    
}

@media (max-width: 520px) or (max-height: 520px) {
    popover-modal {

        --g--tab--gap: 15px;

        padding: 30px 0 0 0;    
        display: block;
        max-width: 100vw;
        max-height: 100vh;
    }
    
    popover-values {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0;
        height: auto;
        max-height: 90% !important;
    }

    popover-values-header {
        padding: 15px 20px;
    }
    popover-values-body {
        padding-top: 12px;
    }
    
    popover-values-body tab-page {
        padding-top: 30px !important;
        padding-bottom: 50px !important;
    }


    @keyframes showPopoverValues {
        from {
            scale: 1;
            opacity: 1;
            visibility: visible;
            translate: 0 100%;
        }
        to {
            visibility: visible;
            pointer-events: all;
            opacity: 1;
            translate: none;
        }
    }

    @keyframes hidePopoverValues {
        to {
            scale: 1;
            opacity: 1;
            visibility: visible;
            translate: 0 100%;
        }
        from {
            visibility: visible;
            pointer-events: all;
            opacity: 1;
            translate: none;
        }
        
    }
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

location-data {
    display: grid;
    grid-template-rows: auto auto 1fr;
    height: 100%;
    font-size: 1.8rem;
    color: #000;
}

/* ------------------------------------------- */
location-field {
    padding: 0 20px;
}
location-field div {
    background: var(--g--bkg-input);
    border-radius: var(--g--border-radius-small);
    display: grid;
    align-items: center;
    grid-template-columns: 40px 1fr;
}
location-field i {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 4px;
    font-size: 16px;
    color: rgb( 0 0 0 / 50% );
    
}
location-field input {
    padding: 12px 6px;
    background: none;
    border: none;
    outline: none;
}

[searching] location-field input {
    pointer-events: none;
    opacity: .3;
}

/* ------------------------------------------- */
location-values {
    display: grid;
    grid-template-rows: auto 1fr;
    padding: 12px 25px;
    border-bottom: 1px solid rgb( 0 0 0 / 6% );
    max-height: 300px;
    overflow: auto;
}

location-values-header {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

location-values:has(location-label) location-values-header {
    display: flex !important;
}

location-values-info-empty {
    display: block;
    font-size: 14px;
    text-align: center;
    color: var(--g--color-input-off);
    padding: 5px;
}

location-values:has(location-label) location-values-info-empty {
    display: none !important;
}

location-values-title {
    font-size: 14px;
    color: var(--g--color-input-off);
}

location-values-items {  
    flex: 1;  
    display: none;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px 0;
}
location-values:has(location-label) location-values-items {
    display: flex;
}

/* ------------------------------------------- */
location-items {
    padding: 0 30px;
    padding-bottom: 70px;
    overflow: auto;
}

/* ------------------------------------------- */
location-item-label {
    display: block;
    padding: 30px 0 10px 0;
    margin: 0 0 10px 0;
    color: var(--g--color);
    font-size: 16px;
    font-weight: 500;
    border-bottom: 1px solid #f5f5f7;
}


/* ------------------------------------------- */
location-item-value {
    cursor: pointer;
    display: block;
    padding: 7px 14px;
    margin: 5px 0;
    font-size: 18px;
    border-radius: var(--g--border-radius-small);
    transition: background-color .5s;
}
location-item-value:hover {
    background-color: #f5f5f7;
}

location-empty {
    display: block;
    padding: 25px 15px;
    text-align: center;
    color: var(--g--color-input-off);
    font-size: 16px;
}



/* ------------------------------------------- */
location-label {
    --size-icon: 26px;
    display: grid;
    grid-template-columns: auto var(--size-icon);
    gap: 5px;
    border-radius: var(--g--border-radius-small);
    font-size: 12px;
    color: #fff;
    background-color: var(--g--color-input-on);
    padding: 2px;
    animation: showLabelItem .6s ease forwards;
}

@keyframes showLabelItem {
    from {
        opacity: 0;
        scale: 1;
    }
    40% {
        opacity: 1;
        scale: .8;
    }
    to {
        opacity: 1;
        scale: 1;
    }
}

location-label-value {
    display: grid;
    grid-template-rows: auto auto;
    gap: 2px;
    padding: 5px 8px;
    
}
location-label-value-field {
    font-size: 14px;
}
location-label-value-text {
    font-size: 16px;
    font-weight: 500;
}

location-label-remove {
    cursor: pointer;
    position: relative;
    width: var(--size-icon);
    height: var(--size-icon);
    display: flex;
    align-items: center;
    justify-content: center;    
    font-size: 14px;
    color: #fff;
    opacity: .5;
    transition: opacity .3s;
}

location-label-remove:hover {
    opacity: 1;
}

@media (max-width: 520px) {
    location-items {
        padding: 0 20px;
        padding-bottom: 100px;
    }
    location-item-value {
        padding: 8px 0;
        font-size: 16px;
    }
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

tab-content {
    position: relative;
    width: 100%;
    max-width: 100% !important;
    height: 100%;
    display: grid;
    grid-template-rows: auto 1fr;
    gap: var(--g--tab--gap);
    
}

/* ------------------------------------------- */
tab-buttons {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: stretch;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 500; 
    overflow-x: auto;
    overflow-y: none !important;
}


tab-content[direction="center"] tab-buttons {
    justify-content: center;
}

tab-buttons::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
}
tab-buttons::-webkit-scrollbar-track {
    background: transparent;
}
tab-buttons::-webkit-scrollbar-thumb {
    background: transparent;
}
tab-buttons::-webkit-scrollbar-thumb:hover {
    background: transparent;    
}

/* ------------------------------------------- */
tab-prefix {
    display: grid;
    align-items: center;
    text-align: left;
    padding: 0 1.6em 0 .5em;
    font-size: .9em;
}

/* ------------------------------------------- */
tab-button {
    position: relative;
    padding: 10px 25px;
    cursor: pointer; 
    min-height: 48px;
}
tab-button:before,
tab-button:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 100%;
    translate: -50%;
    height: 2px;
    background-color: rgb( 0 0 0 / 3% );
    transition: width .5s;
}
tab-button:after {
    width: 0;
}

tab-button-inside {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
    transform-origin: center bottom;
    transition: all .3s;
    translate: 0 3px;
    opacity: .85
}

tab-button[active] tab-button-inside {
    translate: 0 -3px;
    opacity: 1;
}
tab-button[active]:after {
    width: 100%;
    background: var(--g--tab--activate-color);
}


display-bubble {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 100%;
    padding: 3px 6px;
    font-size: 12px;
    font-weight: 500;
    color: #fff;
    background: var(--g--color);
    border-radius: 4px;
}



/* ------------------------------------------- */
tab-pages {
    position: relative;
}

tab-page {
    display: none;
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
}

tab-page[active] {
    display: block;
    z-index: 2;
    animation: activateTabPage 1s ease forwards;
}
@keyframes activateTabPage {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}


@media (max-width: 1024px) {
    tab-buttons {
        justify-content: left;
    }
}


/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

:not(body[data-url="mapa"]) [data-favorites]:not(.title--aside--controls--btn) {
    background: none;
    border: none;
    width: 3.4rem;
    height: 3.4rem;
    font-size: 2.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--g--color);
    padding: 0;
    margin: 0;    
}
:not(body[data-url="mapa"]) [data-favorites] i {
    transform-origin: center center;
    transition: scale .3s;
}
:not(body[data-url="mapa"]) [data-favorites]:hover i {
    scale: 1.3;
}

:not(body[data-url="mapa"]) [data-favorites] .ig-favorites-on {
    display: none;
}

:not(body[data-url="mapa"]) [data-favorites-state="on"] .ig-favorites { display: none; }
:not(body[data-url="mapa"]) [data-favorites-state="on"] .ig-favorites-on { display: flex; }

:not(body[data-url="mapa"]) .imovel-item [data-favorites] {
    width: 30px;
    height: 30px;
    font-size: 24px;
}


/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

.status-label {
    display: flex;
    align-items: center;
    gap: 10px;
}
.status-label b {
    padding: 3px 6px;
    border-radius: 4px;
    background: var(--g--color);
    font-size: 12px;
    font-weight: 500;
    color: #fff;
}


/* ------------------------------------------- */
.list-values-check {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 20px;

    --list-values--bkg--color-hover: rgb(0 0 0 / 3%);
}

.list-values-check label {
    padding: 5px 10px;
    background-color: #fff;
    border-radius: 6px;
    display: grid;
    grid-template-columns: 26px 1fr;
    gap: 10px;
    align-items: center;
    align-self: center;
    cursor: pointer;
    transition: background-color .3s;
}
.list-values-check label:hover {
    background: var(--list-values--bkg--color-hover);
}

.list-values-check label span {
    font-size: 17px;
    color: #000;
}

.list-values-check input {
    display: none;
}

.list-values-check label:before {
    content: var(--g--ig--checkbox-off);
    font-family: var(--g--ig--fonticon);
    font-size: 20px;
    color: rgb( 0 0 0 / 10%);
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.list-values-check label:has(:checked) span {
    font-weight: 600;
}
.list-values-check label:has(:checked):before {
    content: var(--g--ig--checkbox-on);
    color: var(--g--color);
}


/* ------------------------------------------- */
.list-values-cols {
    padding: 20px 24px 50px 24px;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
    column-gap: 25px;
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

#tooltip {
    position: fixed;
    z-index: 99999999999999;
    max-width: 100%;
}

#tooltip > div > i {
    display: block;
    width: 7px;
    height: 7px;
}
#tooltip > div > i:before {
    content: '';
    display: block;
    min-width: 100%;
    min-height: 100%;
    border-radius: 0 0 3px 0;
    transform-origin: center center;
    transform: translateY(-50%) rotate(45deg);    
}

#tooltip > div > div {    
    color: #fff;
    font-size: 14px;
    padding: 10px 16px;
    line-height: normal;
    border-radius: .6rem;
    box-shadow: 1px 1px 4px 0 rgba(0,0,0,.5);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
}

#tooltip [data-tp-label] b {
    color: #ff0;
}

#tooltip > div > div,
#tooltip > div > i:before {
    background-color: #222;
}

#tooltip > div > div > span {
    white-space: nowrap;
}

#tooltip > div {
    animation: showTooltip .15s ease forwards;
    opacity: 0;
    transform-origin: center bottom;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* --------------------------------------------------------------------------------------------- */

#tooltip.bottom > div {
    flex-direction: column-reverse;
    transform-origin: center top;
}
#tooltip.bottom > div > i {
    transform: rotate(180deg);
}

#tooltip.left > div {
    flex-direction: row;
    transform-origin: right center;
}
#tooltip.left > div > i {
    transform: rotate(-90deg);
}

#tooltip.right > div {
    flex-direction: row-reverse;
    transform-origin: left center;
}
#tooltip.right > div > i {
    transform: rotate(90deg);
}

/* --------------------------------------------------------------------------------------------- */

@keyframes showTooltip {
    from {
        opacity: 0;
        transform: scale(.8);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}


#tooltip.hide > div {
    animation: hideTooltip .15s ease forwards;
}
@keyframes hideTooltip {
    from {
        opacity: 1;
        transform: scale(1);
    }
    to {
        opacity: 0;
        transform: scale(.8);
    }
}


/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

gallery-medias {
    display: block;
    visibility: hidden;
    pointer-events: none;

    --gm-padding: 20px;
    --swiper-preloader-color: #222;
    --background: rgb( 0 0 0 / 2.5%);
}


gallery-button {
    --size: 40px;
    position: relative; 
    width: var(--size);
    height: var(--size);    
    border-radius: 50%;
    background-color: rgb( 0 0 0 / 50%);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #fff;
    transition: scale .3s;
}
gallery-button:hover {
    scale: 1.2;
}

/* --------------------------------------------------------------------------------------------- */
gallery-medias-container {
    display: grid;
    grid-template-rows: auto auto 1fr;
    padding: var(--gm-padding);
    border-radius: var(--g--border-radius-middle);
    background: var(--background);
}

/* --------------------------------------------------------------------------------------------- */

gallery-medias-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: var(--gm-padding);
}

/* ------------------------------------------- */

gallery-medias-header > * {
    display: flex;
    align-items: center;
    gap: 10px;
}
gallery-medias-buttons-types {
    justify-content: center;
}
gallery-medias-buttons-categories {
    flex: 1;
}

gallery-medias-buttons-categories-items {
    flex: 1;
    text-align: center;
    display: block;
}
gallery-medias-buttons-categories-items gallery-medias-button {
    margin: 0 5px;
}

/* --------------------------------------------------------------------------------------------- */
gallery-medias-button {
    cursor: pointer;
    overflow: hidden;
    display: inline-flex; 
    align-items: center;
    min-height: 40px;
    min-width: 100px;
    padding: 8px 10px;
    background-color: #fff;
    font-size: 15px;
    font-weight: 500;
    color: #000;
    border-radius: var(--g--border-radius-small);    
    transition: box-shadow .2s;
    transform-origin: center bottom;
    animation: showGalleryButton .5s ease forwards;
}

gallery-medias-button:hover {
    box-shadow: inset 0 0 0 1px var(--g--color);
}

@keyframes showGalleryButton {
    from {
        opacity: 0;
        scale: .8;
    }
    50% {
        opacity: 1;
        scale: 1.05;
    }
    to {
        opacity: 1;
        scale: 1;
    }
}

gallery-medias-button span {
    flex: 1;
    padding: 0 10px;
}
gallery-medias-button small {
    margin: 0;
    padding: 3px 5px;
    font-size: 12px;
    line-height: 100%;
    color: #fff;
    background: var(--g--color);
    border-radius: 4px;
}

gallery-medias-button[active] {
    background: var(--g--color);
    font-weight: 500;
    color: #fff;
}
gallery-medias-button[active] small {
    color: #000;
    background-color: #fff;
}

/* ------------------------------------------- */

gallery-medias-button:has(i) {
    padding-left: 12px;
}
gallery-medias-button i {
    display: flex;
    width: 21px;
    height: 21px;
    color: var(--g--color);
    font-size: 16px !important;
    font-weight: normal;
}
gallery-medias-button[active] i {
    color: #fff;
}

/* ------------------------------------------- */
gallery-medias-button[video],
gallery-medias-button[tourvirtual] {
    background-color: #203040 !important;
    color: #fff;
}


/* 
--------------------------------------------------------------------------------------------------- 
--------------------------------------------------------------------------------------------------- 
*/

gallery-medias-medias,
gallery-medias-medias .box-swiper,
gallery-medias-medias .box-swiper-container {
    width: 100%;
    height: 320px;
}

gallery-medias-medias {
    width: 100%;
    min-height: 100%;
    border-radius: 6px;
    display: flex;
    align-items: stretch;
    padding: 0;
    margin: 0;
    position: relative;

    --padding-controls: 20px;
    --border-radius: var(--g--border-radius-small);

    border-radius: var(--border-radius);
    overflow: hidden;
}

gallery-medias-medias[updating] {
    opacity: 0;
    animation: updatingGalleryMedias 1.3s ease forwards;
}

@keyframes updatingGalleryMedias {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

gallery-medias-media {
    display: block;
    cursor: pointer;
    width: 100%;
    height: 100%;
    position: relative;
    border-radius: var(--g--border-radius-small);
    background-color: rgb( 0 0 0 / 50% ) !important;
}

gallery-medias-media small {
    --small-padding: 10px;
    width: auto;
    max-width: calc(100% - calc(var(--small-padding)*2));
    padding: 5px 8px;
    line-height: 100%;
    font-size: 13px;
    font-weight: 500;
    color: #fff;
    background-color: rgb( 0 0 0 / 80% );
    border-radius: 4px;
    position: absolute;
    z-index: 2;
    top: var(--small-padding);
    left: var(--small-padding);
    display: block;
}

gallery-medias-media img {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;    
    border-radius: var(--border-radius);
}

gallery-medias-media picture,
gallery-medias-media picture > * {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;    
    max-height: 100%;
}

gallery-medias-media .icon-type-media {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    font-size: 82px;
    color: #fff;
    text-shadow: 1px 1px 0 #000;
    opacity: .75;
}

/* ------------------------------------------- */

.slider-box .box-swiper-container .swiper-button-prev,
.slider-box .box-swiper-container .swiper-button-next {
    width: 50px;
}

gallery-medias .box-swiper-container .swiper-button-prev,
gallery-medias .box-swiper-container .swiper-button-next,
gallery-medias-full .box-swiper-container .swiper-button-prev,
gallery-medias-full .box-swiper-container .swiper-button-next {
    position: absolute;
    left: 0;
    top: 50%;
    width: 80px;
    height: 80px;
    translate: 0 -50% !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slider-box .box-swiper-container .swiper-button-prev:after,
.slider-box .box-swiper-container .swiper-button-next:after,
gallery-medias .box-swiper-container .swiper-button-prev:after,
gallery-medias .box-swiper-container .swiper-button-next:after,
gallery-medias-full .box-swiper-container .swiper-button-prev:after,
gallery-medias-full .box-swiper-container .swiper-button-next:after {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--g--slider--button--font-size) !important;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: var(--g--slider--button--bkg);
    box-shadow: 1px 1px 0 1px rgb( 0 0 0 / 15% );
    color: var(--g--slider--button--text--color);
    font-weight: bold;
    transition: scale .3s;
}

@media (min-width: 740px) {
    .slider-box .box-swiper-container .swiper-button-prev:hover:after,
    .slider-box .box-swiper-container .swiper-button-next:hover:after,
    gallery-medias .box-swiper-container .swiper-button-prev:hover:after,
    gallery-medias .box-swiper-container .swiper-button-next:hover:after,
    gallery-medias-full .box-swiper-container .swiper-button-prev:hover:after,
    gallery-medias-full .box-swiper-container .swiper-button-next:hover:after {
        scale: 1.2;
        background-color: var(--g--slider--button--bkg);
    }
}

.slider-box .box-swiper-container .swiper-button-next,
gallery-medias .box-swiper-container .swiper-button-next,
gallery-medias-full .box-swiper-container .swiper-button-next {
    left: initial;
    right: 0;
}

.slider-box .box-swiper-container .swiper-button-prev:active:after,
.slider-box .box-swiper-container .swiper-button-next:active:after,
gallery-medias .box-swiper-container .swiper-button-prev:active:after,
gallery-medias .box-swiper-container .swiper-button-next:active:after,
gallery-medias-full .box-swiper-container .swiper-button-prev:active:after,
gallery-medias-full .box-swiper-container .swiper-button-next:active:after {
    scale: 0.7 !important;
    box-shadow: none;
}

.slider-box .box-swiper-container .swiper-button-prev,
.slider-box .box-swiper-container .swiper-button-next,
gallery-medias .box-swiper-container .swiper-button-prev,
gallery-medias .box-swiper-container .swiper-button-next,
gallery-medias-full .box-swiper-container .swiper-button-prev,
gallery-medias-full .box-swiper-container .swiper-button-next {
    animation: showSliderButton .8s ease forwards;
}
@keyframes showSliderButton {
    from {
        opacity: 0;
        scale: 0;
        pointer-events: none;
    }
    50% {
        scale: 1.2;
        opacity: 1;
    }
    to {
        opacity: 1;
        pointer-events: all;
        scale: 1;
    } 
}

.slider-box .box-swiper-container .swiper-button-disabled,
gallery-medias .box-swiper-container .swiper-button-disabled,
gallery-medias-full .box-swiper-container .swiper-button-disabled {
    animation: hideSliderButton .8s ease forwards;
}
@keyframes hideSliderButton {
    50% {
        scale: 1.2;
        opacity: 1;
    }
    to {
        opacity: 0;
        scale: 0;
        pointer-events: none;
    }
}

gallery-medias-full .box-swiper-pagination {
    position: absolute;
    z-index: 2;
    left: 50%;
    translate: -50% !important;
    bottom: var(--padding-controls) !important;
    padding: 0 !important;
    margin: 0 !important;
}

gallery-medias-full .swiper-pagination-bullet {
    background-color: rgb( 255 255 255 / 50% ) !important; 
}
gallery-medias-full .swiper-pagination-bullet-active {
    background-color: #fff !important; 
}

/* ------------------------------------------- */
.slider-box .swiper-pagination-bullet {
    background-color: #ccc!important; 
}
.slider-box .swiper-pagination-bullet-active {
    background: var(--g--color) !important; 
}

/* ------------------------------------------- */
.box-swiper-pagination:has(.swiper-pagination-lock) {
    display: none;
}


/* 
--------------------------------------------------------------------------------------------------- 
--------------------------------------------------------------------------------------------------- 
*/

gallery-medias-grid {
    display: flex;
    flex-direction: column;
    position: fixed;
    z-index: var(--g--zindex--top);
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    outline: none;
    background-color: rgb( 0 5 10 / 90%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    visibility: hidden;
    pointer-events: none;
}
gallery-medias-grid[show],
gallery-medias-full[show] {
    visibility: visible;
    pointer-events: all;
    animation: showBoxGallery .3s ease forwards;
}

gallery-medias-grid[hide],
gallery-medias-full[hide] {
    animation: hideBoxGallery .3s ease forwards;
}

@keyframes showBoxGallery {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes hideBoxGallery {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}


gallery-medias-grid-header {
    display: grid;
    grid-template-columns: auto 40px;
    align-items: center;
    align-content: center;
    padding: 15px 25px;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
}

gallery-medias-grid-header-title {
    display: flex;
    gap: 10px;
}

/* ------------------------------------------- */
gallery-medias-grid-medias-container {
    flex: 1;
    display: grid;
    place-items: center;
    overflow-y: auto;
    padding: 20px;
    padding-bottom: 100px;
}

gallery-medias-grid-medias {
    min-width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 240px));
    align-content: center;
    justify-content: center;
    gap: 40px;
}

gallery-medias-grid-medias gallery-medias-media {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / .7;
    cursor: pointer;
    transition: scale .3s;
}

gallery-medias-grid-medias gallery-medias-media:hover {
    scale: 1.08;
}


gallery-medias-grid-medias gallery-medias-media img {
    border-radius: var(--g--border-radius-small);
}

gallery-medias-grid-medias gallery-medias-media .icon-type-media {
    scale: .6;
}


/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/

@media (max-width: 1400px) {
    gallery-medias-grid-medias {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
        gap: 30px;
    }
}

@media (max-width: 1200px) {
    gallery-medias-grid-medias {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

@media (max-width: 880px) {
    gallery-medias-grid-medias {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

@media (max-width: 780px) {

    .slider-box .box-swiper-container .swiper-button-prev,
    .slider-box .box-swiper-container .swiper-button-next {
        position: absolute;
        left: 0;
        top: 50%;
        translate: 0 -50% !important;
        display: grid;
        place-items: center;
    }

    [data-slider-inline-navigation] .box-swiper-container .swiper-button-prev,
    [data-slider-inline-navigation] .box-swiper-container .swiper-button-next {
        translate: 0 0 !important;
    }


    .slider-box .box-swiper-container .swiper-button-next {
        left: auto !important;
        right: 0 !important;
    }

    gallery-medias-container {
        --gm-padding: 10px;
    }

    gallery-medias-button {
        min-height: 36px;
        min-width: 0;
    }
    gallery-medias-button[name="grid"] span {
        display: none;
    }
    gallery-medias-button[name="grid"] {
        padding: 8px;
    }

    gallery-medias-button svg {
        width: 18px;
        height: 18px;
    }

    gallery-medias-header {
        flex-direction: column;
        align-items: stretch;
        overflow: hidden;
        width: 100%;
    }

    gallery-medias-grid-medias {
        gap: 20px;
    }

    gallery-medias-buttons-categories {
        white-space: nowrap;
        gap: 5px;
        border-radius: var(--g--border-radius-small);
    }
    gallery-medias-buttons-categories-items {
        flex-wrap: nowrap;
        overflow: auto;
        align-items: initial;
        justify-content: initial;
    }

}

@media (max-width: 580px) {
    gallery-medias-grid-medias {
        grid-template-columns: 1fr 1fr;
    }
}

/* 
--------------------------------------------------------------------------------------------------- 
--------------------------------------------------------------------------------------------------- 
*/

gallery-medias-full {
    display: block;
    position: fixed;
    z-index: var(--g--zindex--top);
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    outline: none;
    background-color: rgb( 0 5 10 / 90%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    visibility: hidden;
    pointer-events: none;

    --padding-controls: 25px;
}

/* ------------------------------------------- */
gallery-medias-full-controls {
    --size: 40px;
    position: absolute;
    z-index: 2;
    top: 20px;
    right: 20px;
    display: flex;
    gap: 10px;
}

gallery-medias-full-controls gallery-button .ig-zoom-minus {
    display: none;
}

gallery-medias-full-controls gallery-button[zoom] .ig-zoom-minus {
    display: block;
}
gallery-medias-full-controls gallery-button[zoom] .ig-zoom-more {
    display: none;
}

/* --------------------------------------------------------------------------------------------- */
gallery-medias-full-medias {
    width: 100%;
    height: 100%;
    --swiper-preloader-color: #fff;
}
gallery-medias-full-medias gallery-medias-media {
    cursor: grab;
    width: 100%;
    height: 100%;
    background: none !important;
    aspect-ratio: auto !important;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 20px;
}
gallery-medias-full-medias gallery-medias-media small {
    --padding: 20px;
    font-size: 16px;
}

gallery-medias-full-medias gallery-medias-media img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: initial !important;
    border-radius: var(--g--border-radius-small);
}

gallery-medias-full-medias .box-swiper,
gallery-medias-full-medias .box-swiper-container {
    width: 100%;
    max-height: 100% !important;
    overflow: hidden;
}


gallery-medias-full-medias:has(iframe) {
    display: flex;
    align-items: center;
    justify-content: center;
}
gallery-medias-full-medias > iframe {
    width: calc(100% - 40px);
    max-width: 1360px;
    aspect-ratio: 16 / 9;
    background: rgb(255 255 255 / 5%);
}

/* 
--------------------------------------------------------------------------------------------------- 
--------------------------------------------------------------------------------------------------- 
*/

video-item {
    position: relative;
    display: inline-block;
    cursor: pointer;
    --video-size: 280px;

}
video-item img {
    display: block;
    position: relative;
    border-radius: var(--g--border-radius-middle);
    max-width: var(--video-size);
}

video-icon {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    translate: -50% -50%;

    --video-icon-size: 40px;
}

@media (min-width: 780px) {
    video-icon {
        transition: scale .3s;
    }
    video-item:hover video-icon {
        scale: 1.3;
    }
}


video-icon:before {
    content: '';
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: calc(var(--video-icon-size) - 6px);
    height: calc(var(--video-icon-size) - 6px);
    background-color: #fff;
}

video-icon i {
    position: relative;
    z-index: 2;
    font-size: var(--video-icon-size) !important;
    color: red;
    box-shadow: 0 0 4px 0 rgb( 0 0 0 / 25%);
}


/* 
--------------------------------------------------------------------------------------------------- 
--------------------------------------------------------------------------------------------------- 
*/

popover-values {
    width: var(--g--popover-values--width);
}

popover-values[name="localizacao"],
popover-values[name="bairro"],
popover-values[name="caracteristicas"] {
    height: calc(100vh - 40px);
    max-height: var(--g--popover-values--max-height);
}



popover-values[name="caracteristicas"] {
    --padding: 40px;
}

popover-values[name="caracteristicas"] tab-page {
    padding: 0 !important;
}

/* ------------------------------------------- */
popover-values[name="caracteristicas"] popover-values-body {
    position: relative;
    overflow: hidden;
}

popover-values[name="caracteristicas"] tab-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0;
}

popover-values[name="caracteristicas"] tab-buttons {
    justify-content: center;
    display: none;
}

popover-values[name="caracteristicas"]:has(tab-button:nth-child(2)) tab-buttons {
    display: flex;
}


/* ------------------------------------------- */
tab-content[name="caracteristicas"] tab-pages {
    overflow: auto !important;
}

/* --------------------------------------------------------------------------------------------- */

.box-negociacao-off {
    display: none !important;
}
.box-cidade-off {
    display: none !important;
}

/* --------------------------------------------------------------------------------------------- */

.box-multiple-checks {
    display: block;
}

.box-multiple-checks--header {
    padding: 50px 0 8px 0;
    border-bottom: 1px solid #eee;
    font-size: 1.8rem;
    font-weight: 500;
    color: var(--g--color);

}

.box-multiple-checks--header:first-child {
    padding-top: 0 !important;
}

.box-multiple-checks--body {
    padding: 20px 0 50px 0;
}

.box-multiple-checks--body label.active {
    box-shadow: inset 0 0 0 2px blue;
}


.check-item-off {
    display: none !important;
}

/* --------------------------------------------------------------------------------------------- */

.categorie-multiple-values--box {
    display: grid;
    grid-template-rows: auto 1fr;
    gap: var(--g--tab--gap);
    height: 100%;
    width: 100%;
}

.categorie-multiple-values--box--header {
    --search-crt-bkg-color: rgb( 0 0 0 / 3% );
    --search-crt-color: #000;

    display: flex;
    flex-wrap: wrap;
    column-gap: 4rem;
    row-gap: 1rem;
    align-items: center;
    justify-content: center;
}

.categorie-multiple-values--box--header--search {
    padding: 5px 10px;
    background-color: var(--search-crt-bkg-color);
    border-radius: 8px;
    width: 100%;
    max-width: 300px;
    display: grid;
    grid-template-columns: 20px 1fr auto;
    gap: 10px;
    align-items: center;
    font-size: 16px;
    color: var(--search-crt-color);
    position: relative;
}
.categorie-multiple-values--box--header--search input,
.categorie-multiple-values--box--header--search select {
    font-size: inherit;
    font-weight: 500;
    color: #000;
    background: none !important;
    border: none;
    outline: none !important;
    width: 100%;
    padding: 8px 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.categorie-multiple-values--box--header--search:has(select) {
    grid-template-columns: 20px 1fr;
}

.categorie-multiple-values--box--header--search:has(select) select + i {
    position: absolute;
    top: 50%;
    right: 10px;
    pointer-events: none;
    translate: 0 -50%;
}

.categorie-multiple-values--box--header--search span {
    display: flex;
    align-items: center;
    padding: 4px 6px;
    font-size: 14px;
    font-weight: 500;
    background-color: #222;
    color: #fff;
    border-radius: 5px;
}
.categorie-multiple-values--box--header--search span:empty {
    display: none;
}

.categorie-multiple-values--box--body {
    overflow-y: auto;
    padding: 3rem;
    padding-top: 1rem;
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

.target-viewer-found {
    animation: target-viewer-found 1.5s ease forwards;
}
@keyframes target-viewer-found {
    30%, 60%, 90% {
        opacity: .2;
    }
    15%, 45%, 75% {
        opacity: .8;
    }
}


/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------

Bairros
*/

.bairro--items {
    display: grid;
    align-items: stretch;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
}

/* ------------------------------------------- */
/* ------------------------------------------- */

.bairro--item {
    display: block;
    font-size: 1.7rem;
}

.bairro--inside {
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    gap: 5rem;
    min-height: 100%;
}

/* ------------------------------------------- */
/* ------------------------------------------- */
.bairro--nome {    
    display: grid;
    gap: 5px;
    font-size: 2.6rem;
    line-height: normal;
}

.bairro--nome small {
    font-size: 1.7rem;
}
.bairro--items .bairro--nome small {
    display: none;
}

.bairro--nome span {
    color: var(--g--color);
    font-weight: 700;
}

/* ------------------------------------------- */
.bairro--caracteristicas--video {
    display: flex;
    flex-wrap: wrap-reverse;
    gap: 3rem;
}

.bairro--caracteristicas {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, auto));
    align-content: start;
    column-gap: 3rem;
    row-gap: 1.5rem;
}

.bairro--caracteristicas--item {
    display: grid;
    grid-template-columns: 16px auto;
    align-content: center;
    gap: 10px;
}
.bairro--caracteristicas--item i {
    color: var(--g--color);
    font-size: 16px;
}


/* ------------------------------------------- */
.bairro--descricao {
    padding: 20px 0;
    font-size: 1.8rem;
    line-height: 150%;
}

/* ------------------------------------------- */
.bairro--imoveis {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    column-gap: 3rem;
    row-gap: 10px;
}
.bairro--imoveis--label {
    white-space: nowrap;
}
.bairro--imoveis--items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 2rem;
    row-gap: 1rem;
}

/* ------------------------------------------- */
/* ------------------------------------------- */

.bairro--medias {
    display: flex;
    flex-direction: column;
    justify-items: flex-end;
    gap: 3rem;
}

.bairro--medias:has(.bairro--video) .btn-icon--big {
    min-width: 100% !important;
    min-height: 0 !important;
    flex-direction: row;
    gap: 20px;
    padding: 16px;
}



/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */

@media (max-width: 1500px) {
    .bairro--items {
        gap: 3rem;
    }
}

@media (max-width: 1300px) {
    .bairro--item video-item {
        --video-size: 200px;
    }
}

@media (max-width: 1080px) {
    .bairro--items {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 724px) {
    .bairro--inside {
        padding: 25px;
        gap: 25px;
    }
    .bairro--item video-item {
        --video-size: 270px;
    }
    .bairro--caracteristicas--video {
        display: flex;
        flex-direction: column-reverse;
        gap: 30px;
    }
    .bairro--video {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}


/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/


youtube-video {
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    padding: 20px;
}
youtube-video-inside {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}
youtube-video i {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    font-size: 40px !important;
    color: red;
    width: 100px;
    height: 100px;
    transition: all .36s;
}
youtube-video i:before {
    position: relative;
    z-index: 2;
}
youtube-video i:after {
    content: "";
    width: 30px;
    height: 30px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}
youtube-video img {
    display: block;
    margin: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    border-radius: 1.6rem;
}

youtube-video:hover i {
    scale: 1.5;
}


/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

share-link {
    display: grid;    
    grid-template-rows: 1fr auto;
    background-color: rgb( 0 0 0 / 5% );
    border-radius: var(--g--border-radius-middle);
    height: 100%;
}

#dialog--share-link .rb--dialog--body {
    padding: 0 2.8rem;
    overflow: hidden;
}

share-link textarea {
    padding: 2.5rem;
    font-size: 20px;
    font-weight: 500;
    color: #000;    
    border: none;
    background: none;
    resize: none;
    text-align: left;
}

share-link-buttons {
    display: flex;
    justify-content: right;
    gap: 1.5rem;
    padding-right: 1.5rem;
    padding-bottom: 1.5rem;
}

share-link-button {
    position: relative;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    min-width: 4rem;
    height: 4rem;
    padding: 6px 14px;
    background-color: var(--g--color);
    color: #fff;
    font-size: 1.7rem;
    font-weight: 500;
    border-radius: var(--g--border-radius-small);
    transition: background-color .3s;
}
share-link-button:hover {
    background-color: var(--g--color-hover);
}


share-link-button-display-copied {
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #001020;
    color: #fff;
    border-radius: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: inherit;
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
}

share-link-button.share-link--copied share-link-button-display-copied {
    visibility: visible;
    pointer-events: all;
    animation: showShareLinkCopiedLabel .8s ease forwards;
}

@keyframes showShareLinkCopiedLabel {
    from {
        opacity: 0;        
    }
    40% {
        opacity: 1;
        scale: 1.3;
    }
    to {
        opacity: 1;
    }
}

share-link-button.share-link--copied--end share-link-button-display-copied {
    visibility: visible;
    animation: hideShareLinkCopiedLabel .3s ease forwards;
}

@keyframes hideShareLinkCopiedLabel {
    from {
        opacity: 1;        
    }
    to {
        opacity: 0;
    }
}



/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

accordion-content {
    display: grid;
    gap: 10px;
    --accordion--color: rgb( 0 0 0 / 1.5%);
    --accordion--color-hover: rgb( 0 0 0 / 3.5%);
    --accordion--shadow: 2px 2px 0 0 rgb( 0 0 0 / 5% );
}

accordion-item {
    display: grid;
    gap: 2px;  
    font-size: 1.8rem;
}

accordion-label {
    display: grid;
    grid-template-columns: 20px 1fr 20px;
    gap: 15px;
    padding: 10px 15px;   
    background-color: var(--accordion--color);
    border-radius: 8px;
    transition: all .3s;
    cursor: pointer;
    font-weight: 500;
}

[show] accordion-label,
accordion-label:hover {
    background-color: var(--accordion--color-hover);
}

[show] accordion-label {
    box-shadow: var(--accordion--shadow);
}

accordion-label-icon {
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--g--color);
}

accordion-label-icon {
    transform-origin: center center;
    transition: rotate .3s;
}
[show] accordion-label-icon {
    rotate: 90deg;
}

accordion-text {
    display: none;
    padding-left: 20px;
    padding-bottom: 30px;
    padding-right: 10px;
    overflow: hidden;
    /* max-height: 0;
    transition: max-height .5s ease; */
}

accordion-text-value {
    display: block;
    background-color: #fff;
    padding: 20px 30px;
    border-left: 4px solid var(--g--color);
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 8px;
    box-shadow: var(--accordion--shadow);
}

[show] accordion-text-value {
    animation: showAccordion .5s ease forwards;
}
[hide] accordion-text-value {
    animation: hideAccordion .5s ease forwards;
}

@keyframes showAccordion {
    from {
        translate: 0 -110%;
    }
    to {
        translate: 0 0;
    }
}

@keyframes hideAccordion {
    from {
        translate: 0 0;
    }
    to {
        translate: 0 -110%;
    }
}


/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/


.box--links {
    max-width: 1080px;
    margin: 0 auto;
    display: grid;
    gap: 2rem;
}

.link--link {
    display: grid;
    gap: 10px;
    padding: 2rem;
    font-weight: 400;
    border-radius: var(--g--border-radius);
    background-color: #fff;
}

.link--label {
    font-family: var(--g--font-family--title);
    display: grid;
    gap: 16px;
    grid-template-columns: 20px auto;
    align-items: center
}

.link--label i {
    width: 100%;
    color: var(--g--color)
}

.link--label span {
    font-size: 2rem;
    font-weight: 600
}

.link--description {
    padding: 1.6rem;
    border-radius: 4px;
    background-color: rgb( 0 0 0 / 3% );
    font-size: 1.6rem;
    font-weight: 400
}


/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

.banner--item {
    display: flex;
    max-width: 1560px;
    height: auto;
    width: 100%;
    position: relative;

    --banner--border-radius: 1rem;
}
.banner--item--mobile {
    max-width: 100%;
}

.banner--item--link {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    font-size: 0;
    color: transparent;
}

.banner--item img,
.banner--item iframe {
    display: block;
    width: 100%;
    border-radius: var(--banner--border-radius);
}


/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

.social--box {
    display: flex;
    gap: 2rem;
}

.social--item {
    font-size: 24px;
    color: var(--g--color);
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s;
}

.social--item:hover {
    scale: 1.2;
    color: var(--g--color-hover);
}

/* 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
*/

@keyframes bkg-loader--loading{
    from {
        background-position: -468px 0
    }
    to {
        background-position: 468px 0
    }
}
.bkg-loader {
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
    animation-name: bkg-loader--loading;
    animation-timing-function: linear;
    background: #f6f7f8;
    background: linear-gradient(to right, #eeeeee 8%, #dddddd 18%, #eeeeee 33%);
    background-size: 1000px 104px;
    height: 338px;
    position: relative;
    overflow: hidden;
}



/* 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/


@media (max-width: 1024px) {
    .only-desktop {
        display: none !important;
    }
}

@media (min-width: 1025px) {
    .only-mobile {
        display: none !important;
    }
}