@media (max-width: 1480px){

    /* global */
    .container { max-width: 100%; padding: 0px 20px; }

    /* header */
    #header .wrapper span.logo { width: 164px; }

    /* contact */
    #contact-call section { left: 20px; margin-left: 0px; }

    /* building */
    #building .map section { width: 60%; }
    #building .map aside { width: 40%; }

    /* footer */
    #footer .column:first-of-type { width: 100%; padding-right: 0px; }
    #footer .column:last-of-type { width: 100%; margin-top: 60px; margin-left: 0px; }

}

@media (max-width: 1230px){

    /* header */
    #header .wrapper .right { display: none; }
    #header span.toggle { display: flex; }
    .title-header { padding: 30px 0px; }
    .title-header h6 { font-size: 36px; }

    /* building (feat) */
    #feat section { grid-template-columns: repeat(2, 1fr); }
    #feat section .building { grid-column: auto !important; }
    #feat section .building p { display: none; }
    #feat section .building figcaption footer { grid-template-columns: repeat(2, 1fr) !important; }

    /* building (opportunities) */
    #opportunities section { grid-template-columns: repeat(2, 1fr); }
    #user section .grid { grid-template-columns: repeat(2, 1fr); }

    /* blog */
    #blog-feat { margin: 40px 0px; }
    #blog-feat figure { height: 500px; }
    #blog-feat figcaption { left: 0px; width: 100%; text-align: center; }
    #blog-feat figcaption h1 { font-size: 40px; }
    #blog-feat figcaption p { padding-left: 0px; font-size: 15px; }
    #blog-feat figcaption span a { margin-left: 0px; font-size: 14px; }
    #blog-list header { display: none; }
    #blog-list section { padding: 0px 0px 60px 0px; }
    #blog-list section .grid { grid-template-columns: 1fr; }
    #blog-list section .grid article:nth-of-type(even) { margin-top: 0px !important; }
    #blog-list section .grid figcaption { height: auto; }
    #blog-post { padding-top: 50px; }
    #blog-post header h1 { font-size: 36px; }
    #blog-post header p { font-size: 16px; }
    #blog-post header figure { height: 400px; margin-bottom: 20px; }
    #blog-post footer .author .left { display: none; }
    #blog-post footer .author .share { width: 100%; justify-content: center; }

    /* category */
    #category aside { width: 28%; }
    #category section { width: 70%; padding-left: 20px; }
    #category section .grid { grid-template-columns: repeat(2, 1fr); }

    /* building */
    #building .about article { width: 60%; }
    #building .about article p { padding: 20px 0px 0px 0px; }
    #building .about aside { width: 38%; padding-left: 10px; }
    #building .about aside span.bt a { font-size: 14px; }
    .building span.imgs span.price { padding: 10px; font-size: 18px; }

    /* spy */
    #spy { height: auto; }
    #spy header { position: relative; top: auto; left: auto; width: 100%; margin: 0px; }
    #spy header p { padding-left: 0px; text-align: left; }
    #spy section article { position: relative !important; top: auto !important; left: auto !important; display: block; width: 300px !important; margin: 40px auto !important;  }
    #spy section article figure { width: 300px !important; height: 300px !important; }
    #spy section article figure img { width: 240px !important; height: 240px !important; }
    #spy section article figure::before { width: 270px !important; height: 270px !important; border-width: 15px !important; }

    /* blog */
    #blog section { grid-template-columns: repeat(2, 1fr); }
    #blog section article:first-of-type { grid-column: 1/3; }
    #blog section article:first-of-type figure { width: 50%; }
    #blog section article:first-of-type figcaption { width: 48%; }

    /* contact */
    #contact section { width: 70%; }
    #contact aside { width: 28%; padding-left: 20px; }

}

@media (max-width: 980px){

    /* user */
    #user .category-header h6 { font-size: 20px; }
    #user aside { width: 100%; }
    #user aside figure { display: none; }
    #user section { width: 100%; }

    /* banner */
    #banner-buscar { display: none; }
    #banner,
    #banner #slides,
    #banner #slides .slide { height: 400px; }
    #banner #slides .slide figcaption { width: 100%; padding: 0px 20px; }
    #banner #slides .slide figcaption h1 { font-size: 36px; }
    #banner #slide figcaption { right: 20px; width: calc(100% - 40px); }

    /* feat */
    #feat { padding: 70px 0px; }

    /* busca */
    #filter section { width: 100%; padding: 12px; border-radius: 20px; }
    #filter section fieldset { flex-direction: column; gap: 10px; }
    #filter section fieldset label input { height: 50px; }
    #filter section fieldset label button { position: absolute; bottom: 27px; right: 37px; width: 40px; height: 40px; font-size: 16px; line-height: 40px; }

    /* building */
    #building .mapa figure { margin: 0px 10px; }
    #building .mapa figure img { width: 100%; height: 250px; object-fit: cover; }
    #building .gal { display: none; }
    #gal-mobile { display: block; width: 100%; height: 300px; margin-bottom: 60px; white-space: nowrap; overflow-x: auto; overflow-y: hidden; }
    #gal-mobile figure { display: inline-block; width: 60vw; height: 100%; margin-right: 10px; }
    #gal-mobile figure img { width: 100%; height: 100%; border-radius: 10px; object-fit: cover; }
    #building .slider-mobile,
    #building .slider-mobile-hand { display: block; }
    #building .about article .details { margin-bottom: 20px; }

    /* category */
    #category { margin-top: 40px; }
    #category aside { width: 100%; margin-bottom: 40px; }
    #category section { width: 100%; padding-left: 0px; }
    #category section .grid { grid-template-columns: repeat(3, 1fr); }

    /* others */
    #others-building .slide { grid-template-columns: repeat(2, 1fr); }

    /* bairros */
    #bairros section { grid-template-columns: repeat(2, 1fr); }

    /* links */
    #links section { grid-template-columns: 1fr 1fr; }

}

@media (max-width: 760px){

    /* global */
    html, body { overflow-x: hidden; }
    body { font-size: 14px; }
    body.int { margin-top: 82px; }

    /* header */
    #header .wrapper { padding: 0px; }
    #header .wrapper span.logo { width: 120px; }
    #header span.toggle { margin-top: 12px; }
    #header span.toggle b { font-size: 10px; }
    #header span.toggle i { font-size: 24px; }
    header.header h1,
    header.header h6 { float: none; display: block; font-size: 20px; }
    header.header span { float: none; display: block; margin-top: 10px; }
    header.header span a { font-size: 14px; }
    header.header span a::before { display: none; }
    body.int #header { padding-top: 16px !important; }
    body.int #header { height: 82px; }

    /* building */
    .building figcaption { min-height: auto !important; padding: 20px; }
    .building figcaption footer { position: relative; margin-top: 20px; padding: 20px 0px 0px 0px; grid-template-columns: repeat(2, 1fr); grid-gap: 15px; }
    .building figcaption footer::before { left: 0px; width: 100%; }
    #building header .bar .left,
    #building header .bar .right span.print { display: none; }
    #building header .bar .right { width: 100%; justify-content: center; }
    #building header .bar .right span { border-left: none; }
    #building header { text-align: center; }
    #building header h1 { font-weight: 300; font-size: 30px; }
    #building header h2 { font-size: 16px; }
    #building .gal { margin-bottom: 70px; }
    #building .about article { width: 100%; padding-left: 0px; }
    #building .about article p { font-size: 15px; }
    #building .about article figure { display: none; }
    #building .about article .details { position: relative; top: auto; width: 100%; padding: 20px; display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 10px; background-color: #eee; }
    #building .about article .details span::before { margin: 10px auto; }
    #building .about article .details span::after { display: none !important; }
    #building .about article .details strong { font-size: 16px; }
    #building .about aside { width: 100%; padding: 40px 0px 0px 0px; }
    #building .about { margin-bottom: 40px; padding-bottom: 40px; }
    #building .about::after { display: none; }
    #building .map section { width: 100%; }
    #building .map aside { width: 100%; min-height: auto; margin: 20px 0px 0px 0px; }
    #building .about aside span.item:first-of-type strong { font-size: 16px; }
    #building .about aside span.item:first-of-type em { font-size: 20px; }
    #building .about aside .video { height: 300px; margin-bottom: 0px; }
    #building .descricao ul li { width: 100%; font-size: 14px; }
    #building .mapa figure img { height: 140px; }
    #building .map section .map-api { height: 400px; }

    /* bairros */
    #bairros section { grid-template-columns: 1fr; }

    /* launch */
    #launch .building figcaption { min-height: auto; padding: 20px; }

    /* feat */
    #feat section { grid-template-columns: 1fr; }

    /* opportunities */
    #opportunities section { grid-template-columns: 1fr; }

    /* banner */
    #banner { max-height: 100vh; }
    #banner #slide figcaption { bottom: 220px; }
    #banner #slide figcaption h1 { font-size: 48px; }
    #banner #slide figcaption strong { font-size: 16px; }
    #banner #slide figcaption small a { font-size: 14px; }

    /* spy */
    #spy header h6 { font-size: 36px; }
    #spy header p { font-size: 14px; }

    /* category */
    #category section .grid { grid-template-columns: repeat(2, 1fr); }

    /* others */
    #category aside { padding: 20px; }
    #others-building .slide { grid-template-columns: 1fr; }

    /* blog */
    #blog section { grid-template-columns: 1fr; }
    #blog section article { height: auto; }
    #blog section article figcaption { height: auto; padding: 20px !important; }
    #blog section article figcaption h3 { font-weight: bold !important; font-size: 18px !important; }
    #blog section article:first-of-type figure { width: 100%; height: 265px; }
    #blog section article:first-of-type figcaption { width: 100%; height: auto; }

    /* contact */
    #contact section { width: 100%; padding: 40px 0px 0px 0px; }
    #contact section header { text-align: center; }
    #contact section header h1 { padding: 0px; font-size: 24px; }
    #contact section header p { padding: 0px 0px 40px 0px; }
    #contact section .box { padding: 20px; }
    #contact aside { width: 100%; padding: 40px 0px 0px 0px; }
    #contact aside span:first-of-type { margin-top: 0px; }
    #contact-map .map { padding: 20px; }
    #contact-map .map iframe { height: 300px; }

    /* footer */
    #footer span.logo img { width: 120px; }
    #footer .column:last-of-type nav { grid-template-columns: repeat(2, 1fr); }
    #footer .column:last-of-type nav ul:nth-of-type(3) { display: none; }

    /* links */
    #links section { grid-template-columns: 1fr; }

}

@media (max-width: 650px){

    /* user */
    #user section .grid { grid-template-columns: 1fr; }

    /* category */
    #category section .grid { grid-template-columns: 1fr; }

    /* blog */
    #blog-post header { text-align: center; }
    #blog-post header h1 { font-weight: 300; }
    #blog-post header span:last-of-type { display: none; }
    #blog-post header p { font-size: 14px; }
    #blog-feat figcaption { padding: 0px 20px; }
    #blog-feat figcaption h1 { margin-bottom: 20px; font-size: 36px; }
    #blog-feat figcaption p { margin-bottom: 10px; }

    /* footer */
    #footer .column:last-of-type nav { grid-template-columns: 1fr; }

}