/* reset by rafaux */
*, :after, :before { margin: 0px; padding: 0px; border: 0px; font-weight: normal; font-size: 100%; list-style: none; line-height: 1; outline: 0px; background: none; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-font-smoothing: antialiased; -ms-font-smoothing: antialiased; -o-font-smoothing: antialiased; font-smoothing: antialiased; }

/* var */
:root { --black: #727273; --blue: #212121; --lightgray: #B3B3B3; --white: #fff; --green: #212121; --green2: #76B900; --cream: #e75864; --gold: #DD3543; --yellow: #F7E93A; --fontserif: 'Manrope', serif; }

/* global class */
.container { display: block; width: 100%; max-width: 1800px; height: auto; margin: 0px auto; padding: 0px 20px; }
.wrapper { display: flex; padding: 0px 20px; }

/* base */
a { text-decoration: none; transition: all .5s ease; }
body { background: #fff; color: var(--black); font: normal 14px 'Inter', sans-serif; overflow-x: hidden; }
body.int { margin-top: 80px; }
input, textarea, select, button { font: normal 14px 'Inter', sans-serif; appearance: none; -webkit-appearance: none; border-radius: 0px; cursor: pointer; }
input[type=submit], button { transition: all .5s ease; }

/* header */
#header { position: absolute; z-index: 2000; top: 30px; left: 0px; width: 100%; height: auto; }
#header .wrapper { align-items: flex-start; justify-content: space-between; }
#header .wrapper span.logo { display: flex; width: 180px; }
#header .wrapper span.logo img { display: block; width: 100%; height: auto; }
#header .wrapper .right { float: right; width: auto; padding-right: 180px; text-align: right; }
#header .wrapper .right .top span { position: relative; display: inline-block; width: auto; margin-left: 30px; vertical-align: middle; }
#header .wrapper .right .top span i { display: inline-block; width: auto; margin-right: 7px; }
#header .wrapper .right .top span:nth-of-type(1) i { font-size: 16px; }
#header .wrapper .right .top span:nth-of-type(4) i,
#header .wrapper .right .top span:nth-of-type(5) i,
#header .wrapper .right .top span:nth-of-type(6) i { margin-right: 0px; }
#header .wrapper .right .top span a { color: var(--white); }
#header .wrapper .right nav { display: flex; align-items: center; gap: 20px; margin-top: 17px; }
#header .wrapper .right nav ul { margin-right: 20px; }
#header .wrapper .right nav li { position: relative; display: inline-block; width: auto; margin-left: 50px; vertical-align: middle; }
#header .wrapper .right nav li a { color: #fff; font-weight: 600; }
#header .wrapper .right nav li.on a:after { position: absolute; bottom: -14px; left: 50%; width: 40%; height: 3px; background-color: #fff; transform: translateX(-50%); border-radius: 10px; content: ''; }
#header .wrapper .right nav span a { margin-top: 2px; color: #fff; }

    /* header -> user */
    #header .user { position: absolute; top: 0px; right: 20px; display: flex; gap: 10px; align-items: center; }
    #header .user a { color: #fff; }
    #header .user strong { color: #fff; font-weight: bold; font-size: 12px; }
    #header .user figure { width: 50px; height: 50px; margin: 0px; border-radius: 100%; object-fit: cover; background-color: var(--gold); color: #fff; font-weight: bold; font-size: 20px; text-transform: uppercase; line-height: 48px; text-align: center; overflow: hidden; }
    #header .user figure img { width: 100%; height: 100%; object-fit: cover; }
    #header.corretor .wrapper span.logo { display: block; margin: 0px auto; }

    /* header -> int */
    body.int #header { top: 0px; height: 90px; padding-top: 15px; background-color: var(--blue); background-size: cover; }
    body.int #header .user { top: 15px; }

    /* header -> head */
    header.header { display: inline-block; width: 100%; height: auto; margin-bottom: 24px; }
    header.header h6 { float: left; width: auto; font-weight: 700; font-size: 32px; color: var(--green); }
    header.header strong { float: left; width: auto; margin-top: 10px; font-weight: 700; font-size: 17px; color: var(--green); }
    header.header strong::before { display: inline-block; width: 6px; height: 6px; margin: 0px 40px; background-color: var(--green); vertical-align: middle; border-radius: 100%; content: ''; }
    header.header span { float: right; width: auto; margin-top: 10px; }
    header.header span a { font-weight: 700; font-size: 17px; color: var(--green); }
    header.header span a::after { display: inline-block; width: auto; margin-left: 20px; font-family: 'Font Awesome 5 Pro'; content: '\f178'; }

    /* header -> category */
    .category-header { display: inline-block; width: 100%; height: auto; margin-bottom: 30px; }
    .category-header h6 { display: inline-block; width: auto; font-weight: 300; font-size: 24px; color: var(--gold); vertical-align: middle; }
    .category-header strong { display: inline-block; width: auto; margin-right: 40px; font-weight: bold; font-size: 17px; color: var(--green); vertical-align: middle; }
    .category-header strong::before { display: inline-block; width: 6px; height: 6px; margin: 0px 40px; background-color: var(--gold); border-radius: 100%; vertical-align: middle; content: ''; }
    .category-header span.filters { display: inline-block; width: auto; vertical-align: middle; }
    .category-header span.filters a { display: block; width: 150px; height: auto; padding: 15px 30px; border-radius: 5px; border: 2px solid var(--cream); color: var(--green); text-align: center; font-weight: bold; font-size: 17px; }
    .category-header span.filters a i { display: inline-block; margin-right: 8px; }
    .category-header .right { float: right; width: auto; margin-top: 2px; text-align: right; }
    .category-header .right small { display: inline-block; width: auto; font-size: 12px; color: var(--gold); vertical-align: middle; }
    .category-header .right span { display: inline-block; width: auto; margin-left: 22px; font-size: 24px; vertical-align: middle; }
    .category-header .right span a { color: var(--gold); }
    .category-header .right span a i { display: inline-block; vertical-align: middle; }
    .category-header .right span a small { display: inline-block; margin-left: 6px; font-weight: bold; font-size: 12px; vertical-align: middle; }
    .category-header .right select { display: inline-block; width: 240px; height: 50px; margin-left: 60px; padding-left: 18px; vertical-align: middle; border: 2px solid var(--white); background: #fff url('../img/select.svg') no-repeat right 20px center; border-radius: 5px; font-size: 17px; color: var(--green); }

    /* header -> title */
    .title-header { display: inline-block; width: 100%; height: auto; padding: 60px 0px; background-color: #F3F3F3; text-align: center; }
    .title-header h6 { display: block; font-weight: 300; font-size: 65px; color: var(--gold); text-transform: uppercase; }
    body.blog-categoria-id .title-header h6 { display: block; font-weight: 600; font-size: 22px; color: var(--green); text-transform: uppercase; }
    body.blog-categoria-id .title-header h5 { display: block; font-weight: 300; font-size: 65px; color: var(--gold); }

    /* header -> burger menu */
    #header b { display: none; position: absolute; top: 13px; right: 20px; width: 30px; height: 26px; border-top: 3px solid #fff; cursor: pointer; }
    #header b::before { position: absolute; top: 5px; left: 0px; width: 100%; height: 3px; background-color: #fff; content: ''; }
    #header b::after { position: absolute; top: 14px; right: 0px; width: 90%; height: 3px; background-color: #fff; content: ''; }

/* filter */
.filter { display: none; }

/* banner */
#banner { position: relative; height: 100vh; height: 600px; background-color: #000; overflow: hidden; }
#banner #slides { position: relative; display: inline-block; width: 100%; height: 100%; height: 600px; }
#banner #slides .slide { position: relative; height: 100vh; height: 600px; }
#banner #slides .slide img { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; opacity: .8; object-fit: cover; }
#banner #slides .slide figcaption { position: absolute; z-index: 30; bottom: 120px; left: 50%; width: 900px; height: auto; text-align: center; transform: translateX(-50%); }
#banner #slides .slide figcaption h1 { display: block; font-weight: 900; font-size: 60px; color: #fff; }

    /* banner -> buscar */
    #banner-buscar { position: absolute; z-index: 20; top: 50%; left: 140px; width: auto; transform: translateY(-50%); cursor: pointer; }
    #banner-buscar i { display: block; width: 100px; height: 100px; border: 1px solid var(--white); border-radius: 100%; color: #fff; text-align: center; line-height: 100px; font-size: 32px; transition: all .5s ease; }
    #banner-buscar strong { display: block; margin: 10px 0px; color: #fff; font-size: 32px; }
    #banner-buscar small { display: block; color: #fff; font-weight: 600; }
    #banner-buscar:hover i { background-color: var(--blue); border-color: var(--blue); color: var(--white); }

/* filter */
#filter { position: relative; z-index: 2; margin-top: -50px; }
#filter section { display: block; width: 800px; margin: 0px auto; padding: 20px; border-radius: 100px; background-color: #fff; box-shadow: 0px 60px 60px rgba(0,0,0,.4); }
#filter section fieldset { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 20px; }
#filter section fieldset label { width: 100%; }
#filter section fieldset label:last-of-type { width: 60px; }
#filter section fieldset label input { width: 100%; height: 60px; padding: 0px 20px; border: 1px solid #ddd; border-radius: 50px; }
#filter section fieldset label button { width: 60px; height: 60px; background-color: var(--gold); color: #fff; text-align: center; line-height: 60px; border-radius: 100%; font-size: 20px; }
#filter section fieldset label button:hover { background-color: var(--cream); }

/* launch */
#launch { padding: 90px 0px; background-color: var(--blue); background-size: cover; }
#launch header.header h6 { color: #fff; }
#launch section article { margin: 0px 20px; }
#launch .slick-list { margin: 0px -20px; }
#launch .slick-dots { display: inline-block; width: 100%; height: auto; margin-top: 40px; text-align: center; }
#launch .slick-dots li { display: inline-block; width: 10px; height: 10px; margin: 0px 16px; border: 2px solid var(--white); border-radius: 100%; text-indent: -9999em; cursor: pointer; vertical-align: middle; }
#launch .slick-dots li.slick-active { width: 12px; height: 12px; background-color: var(--cream); border-color: var(--cream); }
#launch .slick-dots li:only-child { display: none; }

/* category */
#category { position: relative; display: inline-block; width: 100%; height: auto; margin: 60px 0px; }
#category .container { max-width: 100%; padding: 0px 20px; }
#category aside { display: inline-block; width: 360px; padding: 50px 35px 40px; background-color: #F3F3F3; border-radius: 8px; vertical-align: top; }
#category aside select { display: inline-block; width: 100%; height: 50px; margin-bottom: 15px; padding-left: 18px; background: #fff url('../img/select.svg') no-repeat right 20px center; color: var(--blue); border-radius: 5px; }
#category aside input.text { display: inline-block; width: 100%; height: 50px; margin-bottom: 10px; padding-left: 18px; background-color: #fff; border: 2px solid #fff; color: var(--green); border-radius: 5px; transition: all .5s ease; }
#category aside input.text.num { padding-left: 40px; }
#category aside input.text.num-right { padding-right: 50px; }
#category aside ::placeholder { color: var(--black); }
#category aside input:focus, 
#category aside input:active,
#category aside input:focus-within { border-color: var(--gold); }
#category aside hr { display: block; width: 100%; height: 1px; margin: 30px 0px; background-color: var(--white); }
#category aside b { display: block; margin-bottom: 10px; font-weight: bold; color: #333; }
#category aside span.op { display: inline-block; width: auto; margin: 0px 15px 15px 0px; padding: 7px 15px; border-radius: 5px; background-color: var(--green); color: #fff; font-weight: bold; cursor: pointer; }
#category aside span.op i { display: inline-block; width: auto; margin-left: 7px; }
#category aside .value .line { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 10px; margin-bottom: 30px; }
#category aside .value .line label { position: relative; display: inline-block; width: 100%; height: 50px; }
#category aside .value .line label small { position: absolute; top: 50%; left: 13px; transform: translateY(-50%); font-weight: bold; font-size: 14px; color: #333; }
#category aside .value .line.line-num small { left: auto; right: 18px; }
#category aside .qtd nav { display: block; margin-bottom: 15px; }
#category aside .qtd nav ul li { display: inline-block; width: auto; margin-right: 10px; padding: 7px 18px; background-color: #fff; border-radius: 5px; font-weight: bold; color: #333; cursor: pointer; transition: all .5s ease; }
#category aside .qtd nav ul li.on { background-color: var(--green); color: #fff; }
#category aside button { display: inline-block; width: 100%; height: 50px; margin: 20px 0px; background-color: var(--gold); color: #fff; border-radius: 5px; text-align: center; font-weight: bold; }
#category aside button i { display: inline-block; margin-left: 10px; vertical-align: baseline; }
#category aside span.reset a { display: block; font-weight: bold; color: var(--gold); text-align: center; }
#category section { display: inline-block; width: calc(100% - 368px); height: auto; padding-left: 60px; vertical-align: top; }
#category section .grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 20px; }
#category section .grid .building figcaption footer { grid-template-columns: repeat(2, 1fr); grid-gap: 18px; }

    /* category map */
    #category-map { display: inline-block; width: 100%; height: auto; margin: 60px 0px; }
    #category-map .container { max-width: 100%; padding: 0px 20px; }
    #category-map section { display: inline-block; width: 781px; padding-right: 32px; vertical-align: top; }
    #category-map section .grid { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 20px; }
    #category-map section .grid .building figcaption footer { grid-template-columns: repeat(2, 1fr); grid-gap: 18px; }
    #category-map #mapa { display: inline-block; width: 100%; height: 80vh; background-color: #333; border-radius: 5px; overflow: hidden; vertical-align: top; }

/* pagination */
.pagination { display: inline-block; width: 100%; height: auto; margin-top: 40px; text-align: center; }
.pagination li { display: inline-block; width: auto; vertical-align: middle; }
.pagination li a,
.pagination li span { display: block; width: 48px; height: 48px; text-align: center; line-height: 46px; border-radius: 100%; font-weight: bold; font-size: 19px; color: var(--green); }
.pagination li span.current { background-color: var(--gold); color: #fff; }
.pagination li.on a { background-color: var(--gold); border-color: var(--gold); color: #fff; }
.pagination li.arrow a { width: 56px; border-radius: 5px; border: 1px solid #f3f3f3; }
.pagination li.arrow-first { margin-right: 10px; }
.pagination li.arrow-last { margin-left: 10px; }
.pagination li.arrow.arrow-last.on a { background-color: #fff; border-color: #f3f3f3; color: var(--black); }
#todos-lancamentos-paginacao, #todos-avulsos-paginacao { margin-top: 30px; text-align: center; }
#todos-lancamentos-paginacao button, #todos-avulsos-paginacao button { display: inline-block; width: 48px; height: 48px; text-align: center; line-height: 46px; border-radius: 100%; font-weight: bold; font-size: 19px; color: var(--green); }
#todos-lancamentos-paginacao button.active, #todos-avulsos-paginacao button.active { background-color: var(--gold); color: #fff; }

/* about */
#about-header { padding-top: 36px; }
#about-header p { position: relative; z-index: 10; display: block; width: 720px; height: auto; margin: 0px auto 80px auto; font-size: 25px; color: var(--green); text-align: center; line-height: 1.4; }
#about-header p::after { position: absolute; top: 110px; left: 50%; width: 3px; height: 90px; background-color: var(--gold); transform: translateX(-50%); content: ''; }
#about-header .slide-count { position: absolute; z-index: 20; bottom: 0px; left: 50%; width: 145px; height: 40px; background-color: rgba(0,0,0,.5); color: #fff; font-weight: bold; transform: translateX(-50%); line-height: 40px; text-align: center; }
#about-header .slide-count span { font-weight: bold; }
#about-header .slide { display: inline-block; width: 100%; height: 824px; border-radius: 8px 8px 0px 0px; }
#about-header .slide img { width: 100%; height: 100%; border-radius: 8px 8px 0px 0px; object-fit: cover; }
#about-header .slide .slick-dots { display: inline-block; width: 100%; height: 40px; padding-top: 12px; background-color: #F3F3F3; text-align: center; border-radius: 0px 0px 8px 8px; }
#about-header .slide .slick-dots li { display: inline-block; width: 10px; height: 10px; margin: 0px 16px; border: 2px solid #DBD4BD !important; border-radius: 100%; text-indent: -9999em; cursor: pointer; vertical-align: middle; }
#about-header .slide .slick-dots li.slick-active { width: 12px; height: 12px; background-color: var(--cream); border-color: var(--cream) !important; }
#about-header .slide .arrow { position: absolute; z-index: 20; z-index: 20; top: 50%; width: 80px; height: 80px; background-color: rgba(0,0,0,.5); color: #fff; transform: translateY(-50%); text-align: center; line-height: 80px; font-size: 30px; cursor: pointer; }
#about-header .slide .arrow.arrow-prev { left: 0px; }
#about-header .slide .arrow.arrow-next { right: 0px; }

    /* about -> txt */
    #about-txt { position: relative; display: block; width: 1080px; margin: 120px auto; }
    #about-txt header h5 { display: inline-block; width: calc(100% - 680px); height: auto; vertical-align: top; color: var(--gold); font-size: 22px; }
    #about-txt header h4 { display: inline-block; width: 680px; height: auto; margin-left: -5px; vertical-align: top; font-size: 32px; line-height: 40px; color: var(--green); }
    #about-txt figure.video { position: relative; display: inline-block; width: 100%; height: 400px; margin: 50px 0px; border-radius: 5px; overflow: hidden; }
    #about-txt figure.video img.bg { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; object-fit: cover; }
    #about-txt figure.video sup { position: absolute; z-index: 10; top: 50%; left: 50%; width: 125px; height: 125px; background-color: #fff; border-radius: 100%; transform: translate(-50%, -50%); text-align: center; font-weight: 600; box-shadow: 0px 10px 30px rgba(0,0,0,.2); }
    #about-txt figure.video sup img { display: block; width: 14px; height: auto; margin: 42px auto 10px auto; }
    #about-txt figure.video a { display: block; font-weight: 600; font-size: 14px; text-transform: lowercase; color: var(--green); }
    #about-txt section { position: relative; display: block; padding-left: 280px; }
    #about-txt section p { display: block; margin-bottom: 20px; line-height: 22px; color: var(--green); }
    #about-txt section p.tab { padding-left: 20px; }
    #about-txt section h4 { display: block; margin: 40px 0px 20px 0px; color: var(--gold); font-size: 32px; }
    #about-txt section li { position: relative; display: block; padding-left: 60px; margin-bottom: 10px; font-size: 22px; color: var(--green); }
    #about-txt section li::before { position: absolute; top: 50%; left: 40px; width: 5px; height: 5px; border-radius: 100%; background-color: var(--green); transform: translateY(-50%); content: ''; }
    #about-txt section .grid { display: grid; grid-template-columns: 1fr 1fr; }

    /* about services */
    #about-services { margin-bottom: 80px; }
    #about-services .container { position: relative; padding: 120px 200px 120px 470px; background-color: #F3F3F3; border-radius: 10px; }
    #about-services h5 { position: absolute; top: 120px; left: 200px; font-size: 22px; color: var(--gold); }
    #about-services h4 { display: block; margin-bottom: 20px; font-size: 32px; color: var(--green); line-height: 1.2; }
    #about-services h3 { display: block; margin-bottom: 10px; font-weight: 700; font-size: 19px; color: var(--gold); line-height: 1.2; }
    #about-services p { display: block; margin-bottom: 20px; line-height: 22px; color: var(--green); }
    #about-services img { display: block; width: 100%; height: auto; border-radius: 5px; }
    #about-services article { position: relative; display: inline-block; width: 100%; height: auto; padding: 30px 0px; border-top: 1px solid #DEDEDE; cursor: pointer; }
    #about-services article:first-of-type { border-top: none; }
    #about-services article .item { display: none; float: left; width: 100%; height: auto; }
    #about-services article b { position: absolute; top: 40px; right: 10px; }
    #about-services article b::before { position: absolute; top: 0px; left: 6px; width: 2px; height: 14px; background-color: #333; transition: all .5s ease; content: ''; }
    #about-services article b::after { position: absolute; top: 6px; left: 0px; width: 14px; height: 2px; background-color: #333; transition: all .5s ease; content: ''; }
    #about-services article.on b::before { transform: rotate(45deg); }
    #about-services article.on b::after { transform: rotate(45deg); }

/* user */
#user { position: relative; display: inline-block; width: 100%; height: auto; margin: 60px 0px 150px 0px; }
#user .container { max-width: 100%; padding: 0px 20px; }
#user .category-header { margin-bottom: 40px; text-align: center; }
#user .category-header h6 { font-size: 48px; }
#user section { display: inline-block; width: calc(100% - 448px); height: auto; padding-left: 20px; vertical-align: top; }
#user section .grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 20px; }
#user section .grid .building figcaption footer { grid-template-columns: repeat(2, 1fr); grid-gap: 18px; }
#user aside { display: inline-block; width: 440px; padding: 50px 35px 40px; background-color: #F3F3F3; border-radius: 8px; vertical-align: top; }
#user aside .profile { display: inline-block; width: 100%; height: auto; box-shadow: 0px 100px 80px rgba(0, 0, 0, 0.07), 0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198), 0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275), 0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035), 0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725), 0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802); border-radius: 5px; }
#user aside figure { position: relative; display: block; height: 420px; background-color: #000; border-radius: 5px 5px 0px 0px; overflow: hidden; }
#user aside figure img { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; object-fit: cover; }
#user aside figcaption { display: inline-block; width: 100%; height: auto; padding: 35px 25px; background-color: #fff; border-radius: 0px 0px 5px 5px; }
#user aside figcaption small { display: block; color: var(--lightgray); font-size: 12px; }
#user aside figcaption h2 { display: block; margin: 5px 0px; font-weight: 600; font-size: 22px; color: var(--green); }
#user aside figcaption span.link a { display: block; margin: 20px 0px; color: var(--gold); }
#user aside figcaption .desc { margin-top: 20px; padding-top: 20px; border-top: 1px solid #F3F3F3; }
#user aside figcaption .desc strong {display: block; margin-bottom: 10px; font-weight: bold; font-size: 17px; color: var(--green); }
#user aside figcaption .desc p { display: block; line-height: 22px; }
#user aside figcaption .desc span a { display: inline-block; width: 100%; height: 50px; margin-top: 20px; background-color: var(--gold); color: #fff; border-radius: 5px; text-align: center; line-height: 50px; font-weight: bold; font-size: 17px; }
#user aside figcaption .desc span a i { display: inline-block; margin-right: 10px; }

/* building */
#building { padding-top: 60px; }
    
    /* building -> header */
    #building header h1 { display: block; margin-bottom: 6px; font-weight: bold; font-size: 40px; color: var(--green); }
    #building header h2 { display: block; margin-bottom: 30px; font-size: 20px; color: var(--gold); }
    #building header .bar { display: flex; align-items: center; justify-content: space-between; }
    #building header .bar .left { display: flex; }
    #building header .bar .left span { display: block; padding: 20px 0px; }
    #building header .bar .left span.back a { font-weight: bold; color: var(--green); }
    #building header .bar .left span.back a::before { display: inline-block; width: auto; margin-right: 22px; font-family: 'Font Awesome 5 Pro'; font-size: 18px; color: var(--gold); vertical-align: middle; content: '\f177'; }
    #building header .bar .left span.ref { font-weight: bold; color: var(--green); }
    #building header .bar .left span.ref img { display: inline-block; width: auto; margin-right: 10px; vertical-align: middle; }
    #building header .bar .right { display: flex; align-items: center; }
    #building header .bar .right span { display: block; padding: 20px 0px; }
    #building header .bar .right span a { font-weight: bold; color: var(--green); }
    #building header .bar .right span b { font-weight: bold; color: var(--green); }
    #building header .bar .right span small { display: inline-block; margin-left: 28px; font-size: 18px; vertical-align: middle; }
    #building header .bar .right span small a { color: var(--gold); }
    #building header .bar .right span.print i { display: inline-block; margin-right: 20px; color: var(--gold); font-size: 18px; vertical-align: middle; }

    /* building -> gallery */
    #building .gal { display: flex; margin-bottom: 120px; gap: 10px; }
    #building .gal img { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; object-fit: cover; }
    #building .gal .zoom { position: relative; width: 50%; height: 552px; border-radius: 20px; background-color: #000; overflow: hidden; }
    #building .gal .slider { width: 50%; }
    #building .gal .slider figure { position: relative; display: block; height: 270px; margin-bottom: 10px; border-radius: 20px; background-color: #000; overflow: hidden; }
    #building .gal .slider figure img { width: 100%; height: 100%; object-fit: cover; }
    #building .gal .slick-slide { margin: 0px 5px; }
    #gal-mobile { display: none; }
    #building .slick-dots { position: absolute; z-index: 20; bottom: -30px; left: 0px; width: 100%; text-align: center; }
    #building .slick-dots li { display: inline-block; width: 10px; height: 10px; margin: 0px 16px; border: 2px solid var(--lightgray) !important; border-radius: 100%; text-indent: -9999em; cursor: pointer; vertical-align: middle; }
    #building .slick-dots li.slick-active { width: 12px; height: 12px; background-color: var(--green); border-color: var(--green) !important; }
    #building .slick-dots li:only-child { display: none; }

    /* building -> about */
    #building .about { position: relative; margin-bottom: 50px; padding-bottom: 70px; }
    #building .about::after { position: absolute; z-index: -1; bottom: 0px; left: -100px; width: calc(100% + 200px); height: 60%; background-color: #f3f3f3; border-radius: 5px; content: ''; }
    #building .about article { position: relative; display: inline-block; width: 900px; height: auto; padding-left: 74px; vertical-align: top; }
    #building .about article figure { position: relative; display: inline-block; width: 100%; height: 600px; margin-bottom: 20px; background-color: #000; border-radius: 5px; overflow: hidden; }
    #building .about article figure img { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; object-fit: cover; }
    #building .about article .details { position: absolute; z-index: 5; top: 140px; left: 0px; width: 180px; height: auto; padding: 20px 0px 40px 0px; background-color: #fff; box-shadow: 0px 100px 80px rgba(0, 0, 0, 0.07), 0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198), 0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275), 0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035), 0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725), 0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802); border-radius: 5px; }
    #building .about article .details span { display: block; font-size: 14px; text-align: center; }
    #building .about article .details span::before { display: block; width: 6px; height: 6px; margin: 20px auto; background-color: var(--gold); border-radius: 100%; content: ''; }
    #building .about article .details span:last-of-type:after { display: block; width: 6px; height: 6px; margin: 20px auto 0px auto; background-color: var(--gold); border-radius: 100%; content: ''; }
    #building .about article .details strong { display: block; margin-bottom: 7px; font-weight: bold; font-size: 19px; color: var(--green); }
    #building .about article p { display: block; padding: 20px 0px 0px 140px; font-size: 17px; line-height: 25px; }

        /* building -> about -> sidebar */
        #building .about aside { display: inline-block; width: calc(100% - 906px); height: auto; padding: 40px 0px 0px 20px; vertical-align: top; }
        #building .about aside span.item { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
        #building .about aside span.item strong { font-size: 12px; }
        #building .about aside span.item em { font-weight: bold; font-size: 12px; font-style: normal; color: var(--gold); }
        #building .about aside span.item:first-of-type strong { font-weight: bold; font-size: 16px; color: var(--green); }
        #building .about aside span.item:first-of-type em { font-weight: bold; font-size: 18px; color: var(--green); }
        #building .about aside span.item:first-of-type em sub { display: inline-block; font-weight: bold; font-size: 10px; vertical-align: baseline; }
        #building .about aside span.bt.schedule { display: block; margin-top: 30px; }
        #building .about aside span.bt a { display: block; height: 50px; margin-top: 10px; background-color: var(--gold); color: #fff; font-weight: bold; font-size: 17px; border-radius: 5px; text-align: center; line-height: 50px; }
        #building .about aside span.bt a i { display: inline-block; width: auto; margin-right: 12px; }
        #building .about aside span.bt a:hover { background-color: var(--blue); }
        #building .about aside .video { position: relative; display: inline-block; width: 100%; height: 340px; margin: 40px 0px; background-color: #000; border-radius: 5px; overflow: hidden; }
        #building .about aside .video img.bg { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; object-fit: cover; }
        #building .about aside .video sup { position: absolute; z-index: 10; top: 50%; left: 50%; width: 125px; height: 125px; background-color: #fff; border-radius: 100%; transform: translate(-50%, -50%); text-align: center; font-weight: 600; box-shadow: 0px 10px 30px rgba(0,0,0,.2); cursor: pointer; }
        #building .about aside .video sup img { display: block; width: 14px; height: auto; margin: 42px auto 10px auto; }
        #building .about aside .video iframe { width: 100%; height: 100%; }
        #building .about aside .diff h5 { display: block; padding-left: 20px; font-weight: bold; font-size: 32px; color: var(--green); }
        #building .about aside .diff nav li { position: relative; display: block; margin-top: 30px; padding-left: 70px; font-weight: bold; font-size: 17px; color: var(--gold); }
        #building .about aside .diff nav li::before { position: absolute; top: 50%; left: 30px; font-family: 'Font Awesome 5 Pro'; color: var(--green); font-size: 20px; transform: translateY(-50%); content: '\f005'; }

    /* building -> grid */
    #building .grid { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 100px; }
    #building .grid h5 { display: block; margin-bottom: 35px; font-weight: bold; font-size: 32px; color: var(--gold); }
    #building .grid nav ul { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 20px; }
    #building .grid nav ul li { position: relative; display: block; padding-left: 42px; font-weight: bold; color: var(--green); }
    #building .grid nav ul li::before { position: absolute; top: 50%; left: 7px; font-weight: 300; font-family: 'Font Awesome 5 Pro'; color: var(--gold); font-size: 18px; transform: translateY(-50%); content: '\f00c'; }

    /* building -> descricao */
    #building .descricao { margin-bottom: 60px; }
    #building .descricao h1,
    #building .descricao h2,
    #building .descricao h3 { display: block; margin: 30px 0px; font-weight: bold; font-size: 24px; color: var(--gold); line-height: 1.2; }
    #building .descricao p { display: block; margin-bottom: 30px; line-height: 2; font-size: 16px; }
    #building .descricao p strong { font-weight: bold; }
    #building .descricao ul { display: block; margin-bottom: 20px; }
    #building .descricao ul li { position: relative; display: block; margin-bottom: 10px; padding: 0px 40px; line-height: 1.8; font-size: 16px; vertical-align: top; }
    #building .descricao ul li::before { position: absolute; top: 13px; left: 20px; width: 6px; height: 6px; background-color: var(--green); border-radius: 100%; content: ''; }
    #building .descricao ul li p { margin-bottom: 0px; }

    /* building -> mapa */
    #building .mapa { margin-bottom: 60px; }
    #building .mapa h2 { display: block; margin: 30px 0px; font-weight: bold; font-size: 24px; color: var(--gold); }
    #building .mapa figure img { box-shadow: 0px 5px 5px rgba(0,0,0,.1); border-radius: 10px; }

    /* buiding -> map */
    #building .map { width: calc(100% + 200px); margin: 0px 0px 100px -100px; padding: 80px 100px; background-color: #f3f3f3; border-radius: 5px; }
    #building .map section { display: inline-block; width: 900px; height: auto; vertical-align: top; }
    #building .map section h6 { display: block; margin-bottom: 20px; font-weight: bold; font-size: 32px; color: var(--gold); }
    #building .map section .map-api { display: inline-block; width: 100%; height: 460px; border-radius: 5px; background-color: #ccc; }
    #building .map section .map-api iframe { width: 100%; height: 100%; }
    #building .map aside { position: relative; z-index: 2; display: inline-block; width: calc(100% - 900px); min-height: 550px; margin-left: -5px; padding: 35px; background-color: #fff; box-shadow: 0px 100px 80px rgba(0, 0, 0, 0.07), 0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198), 0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275), 0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035), 0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725), 0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802); border-radius: 20px; text-align: center; }
    #building .map aside h5 { display: block; margin-bottom: 30px; font-weight: bold; font-size: 25px; color: var(--gold); }
    #building .map aside figure { position: relative; display: block; width: 162px; height: 162px; margin: 0px auto 20px auto; border-radius: 100%; overflow: hidden; }
    #building .map aside figure img { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; object-fit: cover; }
    #building .map aside small { display: block; font-size: 12px; color: var(--lightgray); text-transform: uppercase; }
    #building .map aside h4 { display: block; margin: 10px 0px; font-weight: bold; font-size: 22px; color: var(--green); }
    #building .map aside span a { display: block; margin-bottom: 10px; color: var(--gold); }
    #building .map aside p { display: block; margin: 20px 0px; font-size: 14px; line-height: 22px; }
    #building .map aside span.bt a { display: block; height: 50px; margin-top: 10px; background-color: var(--gold); color: #fff; font-weight: bold; font-size: 17px; border-radius: 5px; text-align: center; line-height: 50px; }
    #building .map aside span.bt a i { display: inline-block; width: auto; margin-right: 12px; }
    #building .map aside span.bt a:hover { background-color: var(--green); }

    /* building -> others */
    #others-building { margin-bottom: 100px; }
    #others-building h6 { display: block; margin-bottom: 20px; font-weight: bold; font-size: 32px; color: var(--green); }
    #others-building .slide { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 40px; }
    #others-building .slide .building figcaption footer { grid-template-columns: repeat(2, 1fr); grid-gap: 18px; }

    /* building -> list */
    .building { position: relative; background-color: #fff; overflow: hidden; }
    .building span.imgs, .building span.imgs_no { position: relative; display: block; height: 300px; background-color: #000; border-radius: 20px; overflow: hidden; }
    .building span.imgs figure, .building span.imgs_no figure { position: relative; display: block; height: 300px; }
    .building span.imgs figure img, .building span.imgs_no figure img { width: 100%; height: 300px; object-fit: cover; transition: all .3s ease; }
    .building span.imgs span.price, .building span.imgs_no span.price { position: absolute; z-index: 2; bottom: 15px; left: 15px; width: auto; height: auto; padding: 10px 16px; background-color: var(--green); color: #fff; font-weight: 600; font-size: 16px; border-radius: 20px; }
    .building span.imgs span.price small, .building span.imgs_no span.price small { font-weight: 600; font-size: 10px; }
    .building span.imgs:hover img, .building span.imgs_no:hover img { opacity: .7; }
    .building span.imgs_no sup { position: absolute; top: 15px; left: 15px; width: auto; height: auto; padding: 10px 16px; background-color: #ffce00; color: var(--blue); font-weight: 600; font-size: 12px; border-radius: 5px;}
    .building figcaption { position: relative; display: block; margin-top: 3px; padding: 20px 20px 0px 20px; background-color: #fbfbfb; border: 1px solid #eee; overflow: hidden; border-radius: 20px; }
    .building figcaption span.ref { display: block; margin-bottom: 7px; font-size: 12px; color: var(--lightgray); }
    .building figcaption span.ref b { display: inline-block; width: auto; padding: 6px 18px; margin-left: 15px; border-radius: 30px; background-color: var(--gold); color: #fff; font-weight: 700; }
    .building figcaption span.title h2 { display: block; font-weight: 600; font-size: 18px; color: var(--green); line-height: 1.4; }
    .building .arrow { position: absolute; z-index: 20; top: 50%; width: 50px; height: 50px; transform: translateY(-50%); color: #fff; font-size: 28px; text-align: center; line-height: 50px; }
    .building .arrow.arrow-prev { left: 0px; }
    .building .arrow.arrow-next { right: 0px; }
    .building.avulso figcaption { min-height: auto; padding: 18px; }
    .building.avulso figcaption span.title h2 { font-size: 16px; text-transform: capitalize; }
    .building figcaption span.sub-title h3 { margin-top: -5px; padding-bottom: 10px; font-size: 14px; color: var(--black); line-height: 1.4; }
    .building.avulso .slick-dots { display: none; }
    .building.other figcaption { min-height: 180px; }
    .building figcaption span.title strong { display: block; margin: 6px 0px 18px 0px; font-size: 14px; color: var(--gold); line-height: 1.4; }
    .building figcaption span.desc p { display: none; line-height: 1.6; color: var(--blue); }
    .building figcaption footer { display: block; width: 100%; display: grid; padding: 20px 0px; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #eee;  }
    .building figcaption footer span.item { position: relative; display: block; font-weight: 700; color: var(--green); font-size: 15px; }
    .building figcaption footer span.item strong { display: block; margin-top: 6px; color: var(--black); font-size: 12px; }

    /* building -> dots */
    .building .slick-dots { position: absolute; z-index: 20; bottom: -40px; left: 0px; width: 100%; height: 40px !important; margin-top: 0px !important; padding-top: 12px; background-color: #F3F3F3; text-align: center; }
    .building .slick-dots li { display: inline-block; width: 10px; height: 10px; margin: 0px 16px; border: 2px solid #DBD4BD !important; border-radius: 100%; text-indent: -9999em; cursor: pointer; vertical-align: middle; }
    .building .slick-dots li.slick-active { width: 12px; height: 12px; background-color: var(--cream); border-color: var(--cream) !important; }

/* filtros int */
.filtros-int { display: grid; margin: 20px 0px; grid-template-columns: repeat(3, 1fr); grid-gap: 15px; padding: 20px; background-color: #bbbac6; border-radius: 5px; box-shadow: 0px 40px 60px rgba(0,0,0,.2); }
.filtros-int input,
.filtros-int select { width: 100%; height: 50px; padding: 0px 18px; background-color: #fff; border-radius: 5px; color: var(--blue); }
.filtros-int select { background: #fff url('../img/select.svg') no-repeat right 20px center; }
.filtros-int #filtro-nome-lanc { grid-column: 2/4; }

/* feat */
#feat { padding: 100px 0px; }
#feat section { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 30px; }
#feat section .building figcaption footer { grid-template-columns: repeat(2, 1fr); grid-gap: 18px; }
#feat section .building:nth-of-type(7n+1) { grid-column: 1/3; }
#feat section .building:nth-of-type(7n+1) figcaption span.desc p { display: block; }

/* opportunities */
#opportunities section { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 40px; }
#opportunities section figcaption footer { grid-template-columns: repeat(2, 1fr); grid-gap: 18px; }

/* spy */
#spy { position: relative; height: 1080px; margin: 100px 0px; }
#spy::after { position: absolute; z-index: -1; top: 50%; left: 50%; width: 800px; height: 445px; background: transparent url('../img/spy-wp.svg') no-repeat; transform: translate(-50%, -50%); opacity: .1; content: ''; }
#spy header { position: absolute; z-index: 2; top: 142px; left: 50%; width: 594px; height: auto; margin-left: -440px; }
#spy header h6 { display: block; font-weight: 300; font-size: 64px; color: var(--gold); letter-spacing: -0.03em; }
#spy header p { display: block; margin-top: 20px; padding-left: 70px; font-size: 17px; line-height: 1.4; text-align: right; }
#spy section { position: relative; z-index: 2; }
#spy section article { position: absolute; top: 0px; left: 50%; width: 300px; height: auto; margin-left: 260px; text-align: center; }
#spy section article figure { position: relative; width: 300px; height: 300px; margin-bottom: 18px; background: linear-gradient(90deg, #E14FAD 0%, #F9D423 100%); border-radius: 100%; }
#spy section article figure::before { position: absolute; top: 50%; left: 50%; width: 92%; height: 92%; background-color: #000; border: 15px solid #fff; border-radius: 100%; transform: translate(-50%, -50%); content: ''; }
#spy section article figure::after { position: absolute; z-index: 2; top: 50%; left: 50%; font-size: 36px; color: #fff; transform: translate(-50%, -50%); font-weight: bold; font-family: 'Font Awesome 5 Pro'; content: '\f04b'; }
#spy section article figure img { position: absolute; z-index: 2; top: 50%; left: 50%; width: 82%; height: 82%; border-radius: 100%; opacity: .4; transform: translate(-50%, -50%); object-fit: cover; transition: all .5s ease; }
#spy section article:hover figure img { opacity: .7; }
#spy section article:nth-of-type(2) { top: 400px; width: 368px; margin-left: -740px; }
#spy section article:nth-of-type(2) figure { width: 368px; height: 368px; }
#spy section article:nth-of-type(3) { top: 730px; width: 254px; margin-left: -360px; }
#spy section article:nth-of-type(3) figure { width: 254px; height: 254px; }
#spy section article:nth-of-type(4) { top: 520px; width: 368px; margin-left: 0px; }
#spy section article:nth-of-type(4) figure { width: 368px; height: 368px; }
#spy section article:nth-of-type(5) { top: 475px; width: 254px; margin-left: 470px; }
#spy section article:nth-of-type(5) figure { width: 254px; height: 254px; }
#spy section article:nth-of-type(2) figure::before,
#spy section article:nth-of-type(4) figure::before { border-width: 20px; }
#spy section article:nth-of-type(3) figure::before,
#spy section article:nth-of-type(5) figure::before { border-width: 12px; }
#spy section article small { display: block; color: var(--lightgray); font-size: 12px; }
#spy section article h3 { display: block; margin: 12px 0px 7px 0px; font-weight: 600; font-size: 22px; color: var(--green); }
#spy section article strong { display: block; font-weight: 600; font-size: 14px; color: var(--gold); }

/* contact */
#contact section { display: inline-block; width: 790px; height: auto; padding: 120px 110px 120px 0px; vertical-align: top; }
#contact section header h1 { display: block; margin-bottom: 15px; padding: 0px 80px; font-size: 32px; color: var(--green); }
#contact section header p { display: block; padding: 0px 80px 40px 80px; line-height: 22px; }
#contact section .box { display: inline-block; width: 100%; height: auto; padding: 60px 60px 60px 80px; background-color: #f3f3f3; border-radius: 5px; }
#contact section .box .alert { position: relative; display: inline-block; width: calc(100% - 20px); height: auto; margin-bottom: 40px; padding: 20px 20px 20px 22px; background-color: #fff; color: var(--green); border-left: 4px solid #76B900; font-weight: bold; font-size: 17px; box-shadow: 0px 100px 80px rgba(0, 0, 0, 0.07), 0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198), 0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275), 0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035), 0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725), 0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802); border-radius: 5px; }
#contact section .box .alert i.fa-check-circle { display: inline-block; width: auto; margin-right: 18px; font-size: 24px; color: #76B900; vertical-align: text-bottom; }
#contact section .box .alert sup { position: absolute; top: 50%; right: 22px; font-size: 20px; color: var(--green); cursor: pointer; transform: translateY(-50%); }
#contact section .box label { display: inline-block; width: 100%; padding: 0px 20px 15px 0px; }
#contact section .box label.lb-1-3 { width: 40%; }
#contact section .box label.lb-2-3 { width: 60%; margin-left: -3px; }
#contact section .box label input,
#contact section .box label select { display: inline-block; width: 100%; height: 50px; padding: 0px 18px; background-color: #fff; border: 2px solid #dedede; border-radius: 5px; color: var(--green); font-size: 17px; transition: all .5s ease; }
#contact section .box label select { background: #fff url('../img/select.svg') no-repeat right 20px center; color: #B3B3B3; }
#contact section .box label textarea { display: inline-block; width: 100%; height: 160px; padding: 15px 18px; background-color: #fff; border: 2px solid #dedede; border-radius: 5px; color: var(--green); font-size: 17px; transition: all .5s ease; }
#contact section .box label ::placeholder { color: #B3B3B3; }
#contact section .box label :focus, 
#contact section .box label :active,
#contact section .box label :focus-within { border-color: var(--gold); }
#contact section .box label.check { position: relative; padding: 0px 0px 0px 35px; color: #b3b3b3; font-size: 12px; }
#contact section .box label.check input[type=checkbox] { position: absolute; top: -4px; left: 0px; width: 20px; height: 20px; padding: 0px; cursor: pointer; }
#contact section .box label.check input[type=checkbox]:checked { background-color: var(--gold); border-color: var(--gold); }
#contact section .box label.check input[type=checkbox]:checked::after { position: absolute; top: 50%; left: 50%; color: #fff; transform: translate(-50%, -50%); font-family: 'Font Awesome 5 Pro'; font-size: 12px; content: '\f00c'; }
#contact section .box label button { display: inline-block; width: auto; margin-top: 36px; padding: 15px 30px; line-height: 25px; font-weight: bold; font-size: 17px; background-color: var(--gold); color: #fff; text-align: center; border-radius: 5px; }
#contact aside { position: relative; display: inline-block; width: calc(100% - 800px); height: auto; padding: 120px 0px 120px 110px; vertical-align: top; border-left: 1px solid #F3F3F3; }
#contact aside::after { position: absolute; z-index: -1; top: 250px; right: -120px; width: 515px; height: 290px; background: transparent url('../img/contact-logo.svg') no-repeat; background-size: contain; opacity: .4; content: ''; }
#contact aside span { display: block; margin-bottom: 40px; }
#contact aside span:first-of-type { margin-top: 190px; }
#contact aside span strong { display: block; margin-bottom: 10px; font-weight: bold; color: var(--green); }
#contact aside span address,
#contact aside span b a { display: block; margin-bottom: 8px; font-weight: 700; font-size: 17px; color: var(--gold); line-height: 25px; font-style: normal; }
#contact aside span.social small { display: inline-block; width: auto; margin-right: 37px; vertical-align: middle; font-size: 28px; }
#contact aside span.social small:last-of-type { margin-right: 0px; }
#contact aside span.social small a { color: var(--gold); }

    /* contact -> map */
    #contact-map { margin-bottom: 160px; }
    #contact-map h6 { display: block; margin-bottom: 20px; font-size: 32px; color: var(--green); }
    #contact-map .map { display: inline-block; width: 100%; height: auto; padding: 60px 80px; border-radius: 5px; background-color: #F3F3F3; }
    #contact-map .map iframe { display: inline-block; width: 100%; height: 460px; border-radius: 5px; box-shadow: 0px 100px 80px rgba(0, 0, 0, 0.07), 0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198), 0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275), 0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035), 0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725), 0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802); }

/* blog */
#blog { margin-bottom: 100px; }
#blog section { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 20px; }
#blog section article { height: 445px; }
#blog section article figure { position: relative; display: inline-block; width: 100%; height: 265px; background-color: #000; border-radius: 5px; overflow: hidden; }
#blog section article figure img { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; object-fit: cover; }
#blog section article figcaption { position: relative; display: inline-block; width: 100%; height: 170px; margin-top: 10px; padding: 22px; border: 1px solid #F3F3F3; border-radius: 5px; vertical-align: top; }
#blog section article figcaption h3 { display: block; margin-bottom: 10px; font-weight: 700; font-size: 19px; color: var(--green); line-height: 1.2; }
#blog section article figcaption p { display: block; margin-bottom: 20px; line-height: 22px; color: var(--black); }
#blog section article figcaption span { position: absolute; bottom: 45px; left: 40px; width: 252px; height: 50px; border-radius: 5px; background-color: var(--gold); font-weight: bold; font-size: 17px; color: #fff; text-align: center; line-height: 48px; }
#blog section article:first-of-type { grid-column: 1/3; background-color: #F3F3F3; border-radius: 5px; }
#blog section article:first-of-type figure { width: 480px; height: 445px; border-radius: 5px 0px 0px 5px; }
#blog section article:first-of-type figcaption { width: calc(100% - 490px); height: 445px; margin-top: 0px; padding: 45px 40px; border: none; border-radius: 0px 5px 5px 0px; }
#blog section article:first-of-type figcaption h3 { font-weight: 400; font-size: 32px; }

    /* blog -> feat */
    #blog-feat { display: inline-block; width: 100%; height: auto; margin: 80px 0px; }
    #blog-feat figure { position: relative; display: inline-block; width: 100%; height: 860px; max-height: 100vh; border-radius: 5px; background-color: #000; overflow: hidden; }
    #blog-feat figure img { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; object-fit: cover; opacity: .5; }
    #blog-feat figcaption { position: absolute; z-index: 2; bottom: 88px; left: 180px; width: 900px; height: auto; }
    #blog-feat figcaption h1 { display: block; margin-bottom: 46px; font-weight: 300; font-size: 65px; color: #fff; }
    #blog-feat figcaption p { display: block; margin-bottom: 25px; padding-left: 90px; font-size: 17px; color: #fff; line-height: 25px; }
    #blog-feat figcaption span a { display: inline-block; width: auto; margin: 20px 0px 0px 90px; color: var(--gold); font-weight: bold; font-size: 19px; }
    #blog-feat figcaption span a::before { display: inline-block; width: 8px; height: 8px; margin-right: 30px; background-color: var(--gold); border-radius: 100%; vertical-align: middle; content: ''; }
    #blog-feat figcaption span a::after { display: inline-block; width: auto; margin-left: 30px; font-family: 'Font Awesome 5 Pro'; vertical-align: middle; content: '\f178'; }

    /* blog -> list */
    #blog-list header h6 { display: inline-block; width: 50%; height: auto; font-weight: bold; font-size: 40px; color: var(--green); vertical-align: top; }
    #blog-list header p { display: inline-block; width: 48%; height: auto; padding-right: 150px; font-size: 22px; color: var(--gold); line-height: 30px; vertical-align: top; }
    #blog-list aside { position: relative; display: inline-block; width: 404px; height: auto; margin-top: 60px; padding-left: 94px; vertical-align: top; }
    #blog-list aside nav ul li a { display: block; margin-bottom: 50px; font-weight: 600; font-size: 25px; color: var(--black); }
    #blog-list aside nav ul li.on a { position: relative; color: var(--gold); }
    #blog-list aside nav ul li.on a::before { position: absolute; top: 50%; left: -94px; width: 60px; height: 3px; background-color: var(--gold); transform: translateY(-50%); content: ''; }
    #blog-list section { display: inline-block; width: calc(100% - 414px); height: auto; padding: 60px 0px 160px 100px; vertical-align: top; border-left: 1px solid #f3f3f3; }
    #blog-list section .grid { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 20px; }
    #blog-list section .grid article:nth-of-type(even) { margin-top: 90px; }
    #blog-list section .grid figure { position: relative; display: inline-block; width: 100%; height: 265px; background-color: #000; border-radius: 5px; overflow: hidden; }
    #blog-list section .grid figure img { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; object-fit: cover; }
    #blog-list section .grid figcaption { position: relative; display: inline-block; width: 100%; height: 170px; margin-top: 10px; padding: 22px; border: 1px solid #F3F3F3; border-radius: 5px; vertical-align: top; }
    #blog-list section .grid figcaption h3 { display: block; margin-bottom: 10px; font-weight: 700; font-size: 19px; color: var(--green); line-height: 1.2; }
    #blog-list section .grid figcaption p { display: block; margin-bottom: 20px; line-height: 22px; color: var(--black); }
    #blog-list footer { display: inline-block; width: 100%; height: auto; margin-top: 80px; text-align: center; }
    #blog-list footer span a { display: inline-block; width: 125px; height: 125px; padding: 30px 20px 0px 20px; border-radius: 100%; box-shadow: 0px 20px 20px rgba(0,0,0,.1); font-weight: 600; font-size: 14px; color: var(--green); text-transform: lowercase; line-height: 1.4; }
    #blog-list footer span a i { display: block; margin-bottom: 8px; font-size: 20px; }

    /* blog post */
    #blog-post { padding: 90px 0px; }
    #blog-post .container { max-width: 1080px; }
    #blog-post header h1 { display: block; font-weight: bold; font-size: 40px; color: var(--green); }
    #blog-post header p { display: block; margin: 15px 0px 40px 0px; font-weight: 400; font-size: 19px; line-height: 28px; }
    #blog-post header small { display: inline-block; width: auto; vertical-align: middle; font-weight: bold; color: var(--green); }
    #blog-post header span { display: inline-block; width: auto; margin-left: 18px; vertical-align: middle; }
    #blog-post header span i { display: inline-block; color: var(--gold); font-size: 18px; }
    #blog-post header span a { font-weight: bold; color: var(--green); }
    #blog-post header span.print::before { display: inline-block; width: 6px; height: 6px; margin: 0px 50px -2px 35px; background-color: var(--gold); border-radius: 100%; vertical-align: super; content: ''; }
    #blog-post header span.print i { margin-right: 18px; }
    #blog-post header figure { position: relative; display: inline-block; width: 100%; height: 550px; margin: 73px 0px 60px 0px; border-radius: 5px; overflow: hidden; }
    #blog-post header figure img { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; object-fit: cover; }
    #blog-post section { position: relative; display: inline-block; width: 100%; height: auto; }
    #blog-post section h1,
    #blog-post section h2 { display: block; width: 70%; margin: 80px 0px 40px 0px; font-size: 25px; line-height: 34px; }
    #blog-post section p { display: block; margin-bottom: 22px; line-height: 22px; }
    #blog-post section p a { font-weight: bold; text-decoration: underline; color: var(--green); }
    #blog-post section .block { display: inline-block; width: 100%; height: auto; margin: 22px 0px 44px 0px; padding: 60px 100px; background-color: #f3f3f3; border-radius: 5px; }
    #blog-post section .block h1,
    #blog-post section .block h2 { margin-top: 0px; }
    #blog-post section nav { display: block; margin-bottom: 22px; }
    #blog-post section nav li { position: relative; display: block; padding-left: 25px; font-weight: bold; color: var(--green); line-height: 22px; }
    #blog-post section nav li::before { position: absolute; top: 50%; left: 10px; width: 4px; height: 4px; background-color: var(--green); border-radius: 100%; transform: translateY(-50%); content: ''; }
    #blog-post footer .author { display: flex; margin-top: 60px; align-items: center; justify-content: space-between; margin-bottom: 40px; padding-bottom: 40px; border-bottom: 1px solid #f3f3f3; }
    #blog-post footer .author .left { display: flex; align-items: center; justify-content: space-between; }
    #blog-post footer .author .left figure { position: relative; display: flex; width: 56px; height: 56px; margin-right: 16px; background-color: #000; border-radius: 100%; overflow: hidden; }
    #blog-post footer .author .left figure img { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; object-fit: cover; }
    #blog-post footer .author .left figcaption strong { display: block; margin-bottom: 3px; font-weight: bold; font-size: 22px; color: var(--green); }
    #blog-post footer .author .left figcaption em { display: block; font-style: normal; font-size: 12px; color: var(--gold); }
    #blog-post footer .author .share { display: flex; text-align: right; }
    #blog-post footer .author .share small { display: flex; color: var(--gold); }
    #blog-post footer .author .share span { display: flex; margin-left: 22px; font-size: 18px; }
    #blog-post footer .author .share span a { color: var(--green); }
    #blog-post footer span.back a { display: block; font-weight: bold; color: var(--green); }
    #blog-post footer span.back a::before { display: inline-block; width: auto; margin-right: 22px; font-family: 'Font Awesome 5 Pro'; font-size: 18px; color: var(--gold); vertical-align: middle; content: '\f177'; }

/* testimonials */
#testimonials { margin-bottom: 175px; }
#testimonials section { margin-top: 36px; }
#testimonials section article { position: relative; display: block; height: 390px; margin-right: 20px; border: 1.5px solid #F3F3F3; border-radius: 5px; }
#testimonials section article::before { position: absolute; top: -20px; left: 40px; width: 78px; height: 70px; background: transparent url('../img/testimonials-quote.svg') no-repeat; background-size: contain; content: ''; }
#testimonials section article blockquote { position: relative; display: inline-block; width: 100%; height: 272px; }
#testimonials section article blockquote p { position: absolute; bottom: 0px; left: 0px; width: 100%; height: auto; padding: 0px 40px; line-height: 22px; }
#testimonials section article span { position: absolute; bottom: 40px; left: 0px; width: 100%; padding: 0px 40px; }
#testimonials section article span strong { display: block; margin-bottom: 7px; font-weight: bold; font-size: 17px; color: var(--green); }
#testimonials section article span small { display: block; color: var(--lightgray); }
#testimonials section article span small em { font-weight: bold; color: var(--gold); text-transform: lowercase; font-style: normal; }
#testimonials section .slick-list { overflow: visible; }
#testimonials section .slick-dots { display: inline-block; width: 100%; height: auto; margin-top: 56px; text-align: center; }
#testimonials section .slick-dots li { display: inline-block; width: 10px; height: 10px; margin: 0px 16px; border: 2px solid var(--white); border-radius: 100%; text-indent: -9999em; cursor: pointer; vertical-align: middle; }
#testimonials section .slick-dots li.slick-active { width: 12px; height: 12px; background-color: var(--cream); border-color: var(--cream); }

/* contact call */
#contact-call { position: relative; height: 452px; background: var(--green) url('../img/contact-call-bg.png') no-repeat; background-size: cover; }
#contact-call section { position: absolute; top: 50%; left: 50%; width: 680px; height: auto; margin-left: -740px; transform: translateY(-50%); }
#contact-call section small { display: block; margin-bottom: 15px; font-weight: bold; color: #fff; }
#contact-call section small::before { display: inline-block; width: 50px; height: 2px; margin-right: 15px; background-color: var(--gold); vertical-align: middle; content: ''; }
#contact-call section h6 { display: block; color: #fff; font-weight: 600; font-size: 32px; line-height: 40px; }
#contact-call section p { display: block; margin: 15px 0px 40px 0px; font-size: 17px; line-height: 25px; color: #fff; }
#contact-call section span a { display: inline-block; width: 266px; height: 50px; background-color: var(--gold); color: #fff; font-weight: bold; font-size: 17px; border-radius: 5px; text-align: center; line-height: 44px; }
#contact-call section span a::after { display: inline-block; width: auto; margin-left: 12px; font-family: 'Font Awesome 5 Pro'; vertical-align: middle; content: '\f178'; }
#contact-call figure img { position: absolute; bottom: -1px; right: 50%; height: 530px; margin-right: -550px; }

/* footer */
#footer { padding: 60px 0px; background: #F3F3F3 url('../img/footer-fb.jpg') no-repeat; background-size: cover; }
#footer .column { display: inline-block; width: auto; vertical-align: top; }
#footer .column:first-of-type { width: 455px; padding-right: 120px; }
#footer .column:first-of-type nav { display: block; margin-top: 35px; }
#footer .column:first-of-type nav ul li { display: inline-block; width: auto; margin-right: 35px; vertical-align: middle; font-size: 16px; }
#footer .column:first-of-type nav ul li a { display: block; color: var(--gold); }
#footer .column:last-of-type { width: calc(100% - 465px); margin-left: -10px; }
#footer .column:last-of-type nav { display: grid; grid-template-columns: repeat(4, 1fr); }
#footer .column:last-of-type nav ul li a { display: block; padding: 10px 0px; color: var(--black); white-space: nowrap; }
#footer .column:last-of-type nav ul li a.t { margin-bottom: 12px; font-weight: bold; font-size: 17px; color: var(--green); }
#footer .column:last-of-type nav ul li a.s i { display: inline-block; width: 24px; vertical-align: middle; font-size: 15px; }
#footer span.logo img { display: block; width: 220px; height: auto; margin-bottom: 10px; }
#footer span.creci { display: block; margin-bottom: 20px; font-weight: 700; font-size: 12px; color: var(--lightgray); text-transform: uppercase; }
#footer p { display: block; font-size: 12px; line-height: 18px; color: var(--black); }

/* bottom */
.bottom { padding: 25px 0px; }
.bottom .wrapper { align-items: flex-start; justify-content: center; }
.bottom address { display: flex; font-style: normal; font-size: 12px; }
.bottom span { display: flex; }
.bottom span img { width: 30px; }

/* infowindow */
.gm-style-iw-chr { position: absolute; z-index: 4; top: 0px; right: 0px; }
.gm-style .gm-style-iw-c { padding: 0px; background-color: #000 !important; }
.gm-style .gm-style-iw-tc::after { background-color: #000 !important; }
.gm-style-iw-d { min-height: auto !important; overflow: hidden !important; }
.gm-ui-hover-effect>span { background-color: #fff !important; }
.infowindow { margin: 7px; }
.infowindow img { width: 140px; height: 140px; object-fit: cover; border-radius: 7px; opacity: .7 }
.infowindow h2 { position: absolute; z-index: 2; bottom: 20px; left: 0px; width: 100%; margin: 0px; padding: 0px 20px; font-weight: bold; color: #fff; text-align: center; line-height: 1.1; font-size: 14px; }