
/*********************
START: HERO
*********************/
.hero {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100vh;
    background-color: black;
}

.hero .video--wrapper {
    width: 100%;
    height: 100%;
}

.hero video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero .overlay-component {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.5);
    transition-property: opacity;
    transition-timing-function: linear;
}

.scrollTo {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    cursor: pointer;
    opacity: 0;
    transition: .5s;
}

.scrollTo.visible {
    opacity: 1;
    bottom: 20px;
}

.search-header{
	position: absolute;
    top: 50%;
    left: 50%;
	width: 90%;
    transform: translate(-50%, -50%);
}

.hero-title {
    color: var(--color-white, #fff);
    text-align: center;
    text-transform: uppercase;
    font-weight: 200;
    font-family: var(--font-family-Bodoni);
    font-size: var(--text-8xl);
    line-height: 1.15;
    margin: 0 0 1.5rem 0;
}

@media screen and (max-width: 1319px) {
    .hero-title { font-size: var(--text-7xl); }
}

@media screen and (max-width: 1200px) {
    .hero-title { font-size: var(--text-6xl); }
}

@media screen and (max-width: 768px) {
    .hero-title { font-size: var(--text-5xl); }
}

@media screen and (max-width: 576px) {
    .hero-title { font-size: var(--text-4xl); margin-bottom: 1rem; }
}

/*********************
END: HERO
*********************/

/*********************
START: TRANSACTION
*********************/
.transactions {
    background-color: var(--baseLight-color);
    padding-block: var(--global-section-padding);
}

.transactions--content>h2 {
    text-align: center;
    color: var(--text-color-1);
    padding: 0 16px;
    margin: 0 0 37px 0;
}

/* slider--down */
.slider--down {
    width: 90%;
    margin-inline: auto;
    display: flex;
    justify-content: center;
	margin-block-start: 2rem;
}


/*********************
END: TRANSACTION
*********************/

/*********************
START: AGENTS
*********************/
.agents {
    background-color: var(--bg-color);
    padding-block: var(--global-section-padding);
}

.agents--content>h2 {
    text-align: center;
    color: var(--text-color-1);
    padding: 0 16px;
    margin: 0 0 37px 0;
}

.agents--list {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    width: 90%;
    margin-inline: auto;
}

.agents--card a {
    display: block;
    text-decoration: none;
    color: inherit;
}

.agents--card__img {
    width: 100%;
    aspect-ratio: 4/5;
    overflow: hidden;
    background-color: #e9e4dd;
}

.agents--card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.agents--card a:hover .agents--card__img img {
    transform: scale(1.05);
}

.agents--card__text {
    text-align: center;
    padding-block-start: 1rem;
}

.agents--card__text h3 {
    font-family: var(--font-family-Bodoni);
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--text-color-1);
    margin: 0 0 .25rem 0;
}

.agents--card__text span {
    display: block;
    color: var(--text-color-1);
    font-size: var(--text-sm, .875rem);
    text-transform: uppercase;
    letter-spacing: .5px;
}

.agents .slider--down a.btn.btn--outline {
    margin-inline: auto;
    display: block;
    width: max-content;
    margin-block-start: 3rem;
}

@media screen and (max-width: 992px) {
    .agents--list { grid-template-columns: repeat(3, 1fr); }
}

@media screen and (max-width: 768px) {
    .agents--list { grid-template-columns: repeat(2, 1fr); }
}

@media screen and (max-width: 480px) {
    .agents--list { grid-template-columns: 1fr; }
}

/*********************
START: NEWS
*********************/
.news {
    background-color: var(--baseLight-color);
    padding-block: var(--global-section-padding);
}

.news--content>h2 {
    text-align: center;
    color: var(--text-color-1);
    padding: 0 16px;
    margin: 0 0 37px 0;
}

.news--list {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    width: 90%;
    margin-inline: auto;
}

.news--card a {
    display: block;
    text-decoration: none;
    color: inherit;
}

.news--card__img {
    width: 100%;
    aspect-ratio: 3/2;
    overflow: hidden;
    background-color: #e9e4dd;
}

.news--card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.news--card a:hover .news--card__img img {
    transform: scale(1.05);
}

.news--card__text {
    padding-block-start: 1rem;
}

.news--card__date {
    display: block;
    color: var(--text-color-1);
    font-size: var(--text-sm, .875rem);
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: .5rem;
}

.news--card__text h3 {
    font-family: var(--font-family-Bodoni);
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--text-color-1);
    line-height: 1.3;
    margin: 0;
}

.news .slider--down a.btn.btn--outline {
    margin-inline: auto;
    display: block;
    width: max-content;
    margin-block-start: 3rem;
}

@media screen and (max-width: 768px) {
    .news--list { grid-template-columns: repeat(2, 1fr); }
}

@media screen and (max-width: 480px) {
    .news--list { grid-template-columns: 1fr; }
}

/*********************
END: NEWS
*********************/

/*********************
START: CHAIN
*********************/
.chain {
    background-color: var(--bg-color);
    padding-block-start: var(--global-section-padding);
    padding-block-end: var(--global-section-padding);
}

.chain--content {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.chain--img {
    width: 48%;
}

/* About section without an image: text spans the full row */
.chain--content--no-img .chain--text {
    width: 100%;
}

.chain--img img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.chain--text {
     width: 48%;
}

.chain--text>h2 {
    color: var(--text-color-1);
    margin-block-end: 1rem;
}

.chain--text .chain--text__content{
	color: var(--text-color-1);
	line-height: 1.6;
}

.chain--text .chain--text__content p:not(:last-child){
	margin-bottom: 1.666rem;
}

.chain--text .chain--text__btn {
    margin-block-start: 3rem;
}

/*********************
END: CHAIN
*********************/

/*********************
START: COMMUNITIES
*********************/
.communities {
    position: relative;
    background-color: var(--bg-color);
}

.communities::before {
    position: absolute;
/*     content: ""; */
	content: unset;
    width: 100%;
    height: 500px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background-image: linear-gradient(rgba(251, 249, 247, 0.6), rgba(251, 249, 247, 0.6));
    background-repeat: no-repeat;
    -webkit-background-size: 650px;
    background-size: 650px;
    -webkit-background-position: top -145% left 50%;
    background-position: top -145% left 50%;
}

.communities--content {
    padding-top: var(--global-section-padding);
    padding-bottom: var(--global-section-padding);
}

.communities--content>h2 {
    color: var(--text-color-1);
    margin-inline: auto;
    text-align: center;
    position: relative;
}

.communities--content>ul {
    display: flex;
    margin-block-start: 3rem;
}

.communities--content>ul li {
    width: 25%;
}

.communities--content>ul li>a {
    width: 100%;
    display: block;
    height: 550px;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.communities--content>ul li>a::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transition: .3s;
    opacity: 0;
    z-index: 1;
    background-color: transparent;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 76.6%, rgba(0, 0, 0, 0.5)100%);
}

.communities--content>ul li>a:hover::before {
    opacity: 1;
    background: rgba(0, 0, 0, 0.7);
}

.communities--content>ul li>a>p {
    color: var(--baseLight-color);
    margin-inline: auto;
    display: block;
    text-align: center;
    transition: .3s;
    opacity: 0;
    position: absolute;
    left: 50%;
    bottom: 50px;
    z-index:1;
    transform: translateX(-50%);
    font-size: 30px;
	font-family: var(--font-family-Bodoni) !important;
	font-weight: 500 !important;
}

.communities--content>ul li>a:hover>p {
    opacity: 1;
}

/* touch screens have no hover: show the names on the bottom fade */
@media (hover: none) {
    .communities--content>ul li>a::before,
    .communities--content>ul li>a>p {
        opacity: 1;
    }
}

.communities--content a.btn.btn--outline{
	margin-inline: auto;
    display: block;
    width: max-content;
    margin-block-start: 3rem;
}
/*********************
END: COMMUNITIES
*********************/


/*********************
START: TESTIMONIALS
*********************/
/* background photo comes from the theme option (inline style on the section) */
.testimonials {
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}

.testimonials::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65));
}

.testimonials--content {
    padding-block: var(--global-section-padding);
    padding-inline: 50px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    position: relative;
}

.testimonials--content>h2 {
    color: var(--baseLight-color);
    margin-bottom: 30px;
    text-align: center;
}

.testimonials--content>ul {
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    margin-block-end: 70px;
}

.testimonials--content>ul>li {
    -webkit-flex-basis: 33.3%;
    -ms-flex-preferred-size: 33.3%;
    flex-basis: 33.3%;
    min-height: 272px;
    margin: 0;
}

.testimonials--content>ul>li>div.item {
    height: calc(1px + 100%);
    width: calc(1px + 100%);
    padding: 32px 27px;
    border: none;
    position: relative;
}

.testimonials--content>ul>li>div.item>img {
    max-width: 50px;
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
    filter: brightness(0) invert(1);
    margin-bottom: 1.666rem;
}

.testimonials--content>ul>li>div.item>p {
    text-align: center;
    color: var(--baseLight-color);
    font-style: italic;
}

.testimonials--content>a.btn {
    margin-inline: auto;
    margin-block-start: 3rem;
    display: block;
    width: max-content;
}

/* empty-state text sits on the dark testimonials bg — force white */
.testimonials .testimonials__empty-state {
    color: var(--baseLight-color) !important;
}

/* SDK testimonial cards: 3-col grid, transparent boxes, white border + text */
.testimonials .testimonials__list {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px;
}

.testimonials .testimonial-card {
    background: transparent !important;
    border: 1px solid var(--baseLight-color);
    color: var(--baseLight-color) !important;
}

.testimonials .testimonial-card,
.testimonials .testimonial-card p,
.testimonials .testimonial-card h1,
.testimonials .testimonial-card h2,
.testimonials .testimonial-card h3,
.testimonials .testimonial-card h4,
.testimonials .testimonial-card cite,
.testimonials .testimonial-card .testimonial-card__author,
.testimonials .testimonial-card span:not(.testimonial-card__rating *) {
    color: var(--baseLight-color) !important;
}

/* keep the star rating gold */
.testimonials .testimonial-card .testimonial-card__rating,
.testimonials .testimonial-card .testimonial-card__rating * {
    color: #FFD700 !important;
}

@media screen and (max-width: 992px) {
    .testimonials .testimonials__list { grid-template-columns: repeat(2, 1fr) !important; }
}

@media screen and (max-width: 576px) {
    .testimonials .testimonials__list { grid-template-columns: 1fr !important; }
}

/*********************
END: TESTIMONIALS
*********************/

/*********************
START: INBOX
*********************/
.inbox {
    background-color: var(--baseLight-color);
}

.inbox--content {
    text-align: center;
	color: var(--text-color-1);
    padding-top: var(--global-section-padding);
    padding-bottom: var(--global-section-padding);
}

.inbox--content>h2 {
    margin: 8px 0 24px;
}

.inbox--content>p {
    margin-block-end: 2rem;
}

.inbox--content .rch-lead-capture-form{
	max-width: 730px;
    margin-inline: auto;
	display: flex;
	justify-content: space-between;
}

.inbox--content .rch-lead-capture-form .form-group{
	max-width: 100%;
    min-width: 250px; 
}

.inbox--content .rch-lead-capture-form .form-group label{
	text-align: left;
	display: none;
}

.inbox--content .rch-lead-capture-form .form-group input{
	padding: 16px 0;
	font-weight: 400;
	font-family: var(--font-family-Lato);
}

.inbox--content .rch-lead-capture-form .form-group input::placeholder{
	color: #cbcac8;
}

.inbox--content .rch-lead-capture-form button[type=submit]{
	width: 200px;
	padding: 16px;
}

/* 
.inbox--content .wpcf7.js form{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.inbox--content .wpcf7.js form > p:nth-child(2),
.inbox--content .wpcf7.js form > p:nth-child(3){
	width: 49%;
}

.wpcf7-list-item{
	text-align: justify;
	font-size: var(--text-xs);
}

.inbox--content .wpcf7.js form input[type=submit]{
	margin-block-start: 1rem;
} */

/*********************
END: INBOX
*********************/

/*********************
START: WORK WITH US
*********************/
.work-with-us {
    height: 100vh;
    position: relative;
    background-image: url(../img/work-with-us-img.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    -webkit-background-position: center;
    background-position: center;
}

.work-with-us::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
	z-index: 0;
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5));
}

.work-with-us::after {
    position: absolute;
/*     content: ""; */
	content: unset;
    width: 50%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-size: 600px;
    -webkit-background-size: 600px;
    background-position: center;
    background-repeat: no-repeat;
	z-index:0;
}

.work-with-us__content {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: var(--baseLight-color);
    width: 100%;
    max-width: 750px;
    text-align: center;
    padding: 50px;
	z-index:1;
}

.work-with-us__content>h2 {
    margin: 0 0 30px;
}

.work-with-us__content>p {
    margin: 0 0 65px;
}

/*********************
END: WORK WITH US
*********************/
picture.rch-fallback-logo-listing {
    display: flex;
    width: 100%;
    height: 100%;
    background: var(--baseDark-color);
    align-items: center;
    justify-content: center;
}
picture.rch-fallback-logo-listing img {
    width: 60% !important;
    height: auto !important;
    border-radius: var(--border-radius10);
    object-fit: cover;
    max-height: 350px;
}
/*********************
START: 
*********************/

/*********************
END: 
*********************/

/*********************
START: MEDIA
*********************/
@media screen and (max-width: 1200px) {
    .chain--img img {
        aspect-ratio: 4/6.5;
    }

    .work-with-us::after {
        width: 65%;
    }
}

@media screen and (max-width: 992px) {
    .chain--content {
        flex-direction: column;
    }

    .chain--text {
		width: 100%;
        padding-inline-start: 0;
        margin-block-start: 29px;
    }
	
	.chain--img {
		width: 70%;
	}

    .chain--img img {
        aspect-ratio: 4 / 5;
    }

    .communities--content>ul {
        flex-wrap: wrap;
    }

    .communities--content>ul li {
        width: 33.33%;
    }

    .testimonials--content>ul>li>div.item {
        padding-inline: 1rem;
    }

    .work-with-us::after {
        width: 75%;
        -webkit-background-size: 380px;
        background-size: 380px;
    }
}

@media screen and (max-width: 768px) {
    .communities--content>ul li {
        width: 100%;
        margin-block-end: 1.25rem;
    }

    .communities--content>ul li>a {
        height: 330px;

    }

    .communities--content>ul li>a::before {
        content: unset;
    }

    .communities--content>ul li>a::after {
        position: absolute;
        content: "";
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        opacity: 1;
        background-color: rgba(0, 0, 0, 0.7);
    }

    .communities--content>ul li>a>p {
        opacity: 1;
    }
	
	.chain--img {
		width: 80%;
	}

    .testimonials--content {
        padding-inline: 25px;
    }

    .testimonials--content>ul {
        flex-direction: column;
    }

    .testimonials--content>ul>li {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    }

    .testimonials--content>ul>li>div.item {
        padding-inline: 0;
    }
	
	.inbox--content .rch-lead-capture-form{
		flex-direction: column;
	}
	
	.inbox--content .rch-lead-capture-form .form-group input{
		padding-block-end: 4px;
	}
	
	.inbox--content .rch-lead-capture-form button[type=submit]{
		width: 100%;
	}
	
	.inbox--content .rch-lead-capture-form .form-group{
		margin-bottom: 32px;
	}
	
    .work-with-us::after {
        width: 85%;
    }

    .work-with-us__content {
        padding-inline: 25px;
    }
}

@media screen and (max-width: 576px) {
	.chain--img {
		width: 90%;
	}

    .work-with-us::after {
        width: 100%;
    }
}

@media screen and (max-width: 425px) {
	.chain--img {
		width: 100%;
	}
}

@media screen and (max-width: 375px) {}

/*********************
END: MEDIA
*********************/