/*
Properties CSS
*/

/* General
========================= */
.properties .site-inner { padding-bottom: 2em; }

/* Hero
========================= */
.hero { display: block; padding: 2em; }
.hero-block { border-radius: 10px; display: grid; align-items: center; margin: 0 auto; padding: 2.5em 2em; position: relative; background-position: center; background-repeat: no-repeat; background-size: cover; max-width: 100%; width: 100%; height: 300px; }
.hero-block .bg-overlay { background-color: rgba(44, 46, 61, 0.2); border-radius: 10px; position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: 1; }
.hero-title { display: grid; grid-column: span 1; margin-left: auto; margin-right: auto; transition: none; z-index: 9; }
.hero-title span { color: #fff; display: flex; align-items: center; font-family: 'Poppins'; font-size: 4.6rem; font-weight: 800; letter-spacing: .02em; line-height: 1.2em; padding: 0; text-align: center; text-transform: uppercase; }

/* Properties List
========================= */
.properties-list { padding: 1em 2em 4.5em; }
.properties-list.paged { padding: 1em 2em; }

.properties-list-sort { display: flex; flex-direction: column; padding: 0 0 2em; width: 200px; }
.properties-list-sort span { color: #4c4c4c; font-family: 'Poppins'; font-size: 1.6rem; font-weight: 600; text-transform: uppercase; }
#listings-filter { border: 1px solid rgba(0, 0, 0, 0.329); border-radius: 0.5rem; color: #4c4c4c; cursor: pointer; font-family: 'Poppins'; font-size: 1.5rem; font-weight: 500; letter-spacing: .02em; outline: none; padding: .5em; width: 200px; }

.properties-list-inner { display: flex; flex-direction: column; margin: 0 auto; max-width: 100%; width: 100%; }
.properties-list-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.properties-list-grid .column { background: #fff; border-radius: .5rem; box-shadow: 0 15px 30px 0 rgba(0, 0, 0, .11), 0 5px 15px 0 rgba(0, 0, 0, .08); display: grid; grid-column: span 1; grid-auto-rows: max-content; margin: 0 0 .5em; padding: 0; }
.properties-list-thumb { border-top-left-radius: .5rem; border-top-right-radius: .5rem; max-width: 100%; width: 100%; height: auto; vertical-align: top; }

.properties-list-details { display: flex; flex-direction: column; padding: 1em 0 .5em; position: relative; }
.properties-list-title { display: flex; flex-direction: column; padding: 0 1em; }
.properties-list-title a { color: #000; font-family: 'Poppins'; font-size: 2.5rem; font-weight: 600; letter-spacing: -.02em; line-height: 1.4; }
.properties-list-title a:hover { color: #b4b4b4; }

.properties-list-subtitle .location-icon { max-width: 24px; }
.properties-list-subtitle { display: flex; padding-top: .25em; margin-left: -5px; }
.properties-list-subtitle span { display: flex; align-items: center; color: #4c4c4c; font-family: 'Poppins'; font-size: 1.5rem; font-weight: 500; letter-spacing: .02em; padding-left: 2px; }

.properties-list-feat { display: flex; flex-direction: row; flex-wrap: wrap; padding: 1.5em 0 1em; }

.properties-list-feat .feat { display: flex; flex-direction: column; align-items: center; width: calc(1 / 3 * 100% - (1 - 1 / 3) * 0px); }
.properties-list-feat .bedrooms.feat { width: calc(1 / 3 * 100% - (1 - 1 / 3) * 15px); }
.properties-list-feat .bathrooms.feat { border-left: 1px solid #ccc; border-right: 1px solid #ccc; }
.properties-list-feat .feat .icon { max-width: 30px; margin-right: 5px; }
.properties-list-feat .feat .number { display: flex; align-items: center; }
.properties-list-feat .feat .number span { color: #4c4c4c; font-family: 'Poppins'; font-size: 2.4rem; font-weight: 600; letter-spacing: .02em; line-height: 0; margin-top: 2px; }
.properties-list-feat .feat .feat-title { line-height: 1; }
.properties-list-feat .feat .feat-title span { color: #4c4c4c; font-family: 'Poppins'; font-size: 1.3rem; font-weight: 400; letter-spacing: .05em; }

/* Pagination
========================= */
.pagination { display: flex; justify-content: center; padding: 4.5em 0 2em; }
.pagination .nav-links .page-numbers { display: inline-block; background-color: #fff; border: 1px solid #e5e5e5; border-radius: 4px; color: #222; cursor: pointer; font-size: 1.6rem; font-weight: 600; margin-bottom: 4px; padding: 4px 12px; text-decoration: none; }
.pagination .nav-links .page-numbers:hover { border: 1px solid #000; }
.pagination .nav-links .page-numbers.current { display: inline-block; background-color: #fff; border: 1px solid #000; border-radius: 4px; color: #222; cursor: pointer; font-size: 1.6rem; font-weight: 600; margin-bottom: 4px; padding: 4px 12px; text-decoration: none; }

/* Responsive
=================================================== */
@media only screen and (max-width: 1480px) {
.hero-block { height: 275px; }
.hero-title span { font-size: 4.4rem; }
.properties-list { padding: .5em 2em 4.5em; }
.properties-list-grid { grid-template-columns: repeat(3, 1fr); }
.properties-list-title a { font-size: 2.4rem; }
.properties-list-feat .feat .number span { font-size: 2.3rem; }
}

@media only screen and (max-width: 1280px) {
.hero-block { height: 250px; }
.hero-title span { font-size: 4.2rem; }
.properties-list-grid { gap: 25px; }
.properties-list-title a { font-size: 2.3rem; }
.properties-list-subtitle .location-icon { max-width: 22px; }
.properties-list-subtitle span { font-size: 1.4rem; }
.properties-list-feat { padding: 1.25em 0 1em; }
.properties-list-feat .feat .number span { font-size: 2.2rem; }
.pagination { padding: 4em 0 2em; }
}

@media only screen and (max-width: 1140px) {
.hero-title span { font-size: 4rem; }
.properties-list-title a { font-size: 2.2rem; }
.pagination { padding: 3.5em 0 2em; }
}

@media only screen and (max-width: 1080px) {
.properties-list-grid { grid-template-columns: repeat(2, 1fr); }
}

@media only screen and (max-width: 1024px) {
.hero { padding: 1.5em 2em; }
.hero-block { height: 225px; }
.hero-title span { font-size: 3.8rem; }
.properties-list-sort { padding: 0 0 1.5em; }
.properties-list-sort span { color: #4c4c4c; font-family: 'Poppins'; font-size: 1.5rem; font-weight: 600; text-transform: uppercase; }
.properties-list.paged { padding: 1em 2em .5em; }
.pagination { padding: 3em 0 2.5em; }
}

@media only screen and (max-width: 880px) {
.hero-block { height: 215px; }
.hero-title span { font-size: 3.6rem; }
.pagination { padding: 2.5em 0; }
}

@media only screen and (max-width: 768px) {
.hero { padding: 1.5em; }
.hero-block { height: 200px; padding: 2em 1.5em; }
.hero-title span { font-size: 3.4rem; }
.properties-list { padding: .25em 1.5em 4em; }
.properties-list-grid { gap: 20px; }
.properties-list-title a { font-size: 2.1rem; }
.properties-list-feat .bedrooms.feat { width: calc(1 / 3* 100% - (1 - 1 / 3)* 25px); }
.properties-list-feat .feat .number span { font-size: 2.1rem; }
.properties-list-feat .feat .icon { max-width: 28px; }
.properties-list.paged { padding: 1em 1.5em; }
.pagination { padding: 2.5em 0 1.5em; }
}

@media only screen and (max-width: 719px) {
.hero-block { height: 185px; }
.hero-title span { font-size: 3.2rem; }
.properties-list-grid { gap: 20px; }
.properties-list-feat .feat .number span { font-size: 2rem; }
}

@media only screen and (max-width: 640px) {
.hero-block { height: 175px; padding: 2em 1em; }
.hero-title span { font-size: 3rem; }
.properties-list-grid { grid-template-columns: repeat(1, 1fr); gap: 28px; }
.properties-list-feat { padding: 1em 0 .5em; }
.properties-list.paged { padding: 1em 1.5em .5em; }
.pagination .nav-links .page-numbers { font-size: 1.5rem; }
.pagination .nav-links .page-numbers.current { font-size: 1.5rem; }
}

@media only screen and (max-width: 580px) {
.hero-block { height: 165px; }
.hero-title span { font-size: 2.8rem; }
.pagination { padding: 2em 0 1em; }
}

@media only screen and (max-width: 520px) {
.hero-block { height: 155px; }
.hero-title span { font-size: 2.6rem; }
}

@media only screen and (max-width: 480px) {
.hero { padding: 1.25em 1.2em; }
.hero-block { height: 150px; }
.hero-title span { font-size: 2.4rem; }
.properties-list-sort span { font-size: 1.4rem; }
#listings-filter { font-size: 1.4rem; }
.properties-list { padding: .25em 1.2em 4em; }
.properties-list-grid { gap: 25px; }
.properties-list-title a { font-size: 2rem; }
.properties-list-subtitle .location-icon { max-width: 20px; }
.properties-list-feat { padding: .8em 0 .5em; }
}

@media only screen and (max-width: 420px) {
.hero-title span { font-size: 2.2rem; }
}