/* ------------------------------------------------------------------------------------------------------------------ */
/* CSS - Body */
/* ------------------------------------------------------------------------------------------------------------------ */
body {
    width: 100vw;
    height: 100vh;
    scroll-behavior: smooth;
    overflow-x: hidden;
}
/* ------------------------------------------------------------------------------------------------------------------ */
/* CSS - Main */
/* ------------------------------------------------------------------------------------------------------------------ */
body > main {
    display: flex;
    flex-direction: column;
    width: 100%;
}
/* ------------------------------------------------------------------------------------------------------------------ */
/* CSS - Home page slider */
/* ------------------------------------------------------------------------------------------------------------------ */
div.homeSlider {
    width: 100%;
    height: 700px;
    position: relative;
    background-image: url('../../images/backgrounds/maldives.jpg');
    background-size: cover;
    transition: all 0.5s ease-in-out;
}
.background1 {
    background-image: url('../../images/backgrounds/villa1.jpg') !important;
}
.background2 {
    background-image: url('../../images/backgrounds/villa2.jpg') !important;
}
.background3 {
    background-image: url('../../images/backgrounds/maldives.jpg') !important;
}
.background4 {
    background-image: url('../../images/backgrounds/appartement.jpg') !important;
}
.background5 {
    background-image: url('../../images/backgrounds/chateau.jpg') !important;
}
.background6 {
    background-image: url('../../images/backgrounds/maison1.jpg') !important;
}
.background7 {
    background-image: url('../../images/backgrounds/appartement1.jpg') !important;
}
.background8 {
    background-image: url('../../images/backgrounds/evenement.jpg') !important;
}
div.homeSlider > div.filter {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background: linear-gradient(#00000020, #00000040, #00000060, #000000B0, #000000F0);
    z-index: 90;
}
div.homeSlider > div.filter > * {
    padding: 0 20px;
    text-align: center;
    color: var(--color-FF);
}
div.homeSlider > div.filter > h2 {
    margin: 100px auto 10px auto;
}
@media screen and (max-width: 1300px) {
    div.homeSlider > div.filter > h2 {
        margin: 150px auto 10px auto;
    }
}
div.homeSlider > div.filter > p {
    margin-top: 20px;
}
div.homeSlider > div.filter > p > a {
    color: var(--color-primary);
}
div.homeSlider > a.searchHouse {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    position: absolute;
    left: 50%;
    bottom: 40px;
    transform: translateX(-50%);
    background: linear-gradient(to right, var(--color-primary-dark), var(--color-primary));
    color: var(--color-FF);
    z-index: 90;
}
/* ------------------------------------------------------------------------------------------------------------------ */
/* CSS - Home content */
/* ------------------------------------------------------------------------------------------------------------------ */
body > main > h6 {
    margin: 80px auto 10px auto;
    color: var(--color-primary);
}
body > main > h3 {
    margin: 0 auto 10px auto;
    padding: 0 100px;
    text-align: center;
}
@media screen and (max-width: 700px) {
    body > main > h3 {
        padding: 0 70px;
    }
}
@media screen and (max-width: 550px) {
    body > main > h3 {
        padding: 0 40px;
    }
}
body > main > .categoryDiv {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin: 80px auto;
}
@media screen and (max-width: 1300px) {
    body > main > div.categoryDiv {
        margin: 70px auto;
    }
}
@media screen and (max-width: 1100px) {
    body > main > div.categoryDiv {
        margin: 60px auto;
    }
}
@media screen and (max-width: 700px) {
    body > main > div.categoryDiv {
        margin: 50px auto;
    }
}
@media screen and (max-width: 550px) {
    body > main > div.categoryDiv {
        margin: 10px auto;
    }
}
div.whyUs {
    width: 100%;
    height: 700px;
    margin: 80px 0 60px 0;
    position: relative;
}
div.whyUs > div.whyUsSlider {
    width: 60%;
    height: 500px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-image: url('../../images/backgrounds/maldives.jpg');
    background-size: cover;
    transition: all 0.5s ease-in-out;
    box-shadow: var(--box-shadow);
    z-index: 30;
}
div.whyUs > div:not(.whyUsSlider) {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: calc(100% - 200px);
    height: 100%;
    margin: auto 0 auto auto;
    position: relative;
    background: linear-gradient(to right, var(--color-primary-dark), var(--color-primary));
}
div.whyUs > div:not(.whyUsSlider) > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: fit-content;
    max-width: 400px;
    margin: auto calc(200px - 40px) auto auto;
    z-index: 20;
}
div.whyUs > div:not(.whyUsSlider) > div * {
    text-align: center;
    color: var(--color-FF);
}
div.whyUs > div:not(.whyUsSlider) > div > h2 {
    margin: auto auto 20px auto;
}
div.whyUs > div:not(.whyUsSlider) > div > p {
    margin: 0 auto 20px auto;
}
div.whyUs > div:not(.whyUsSlider) > div > div {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    min-height: 150px;
    margin: 20px auto auto auto;
}
div.whyUs > div:not(.whyUsSlider) > div > div > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: calc(100% / 3);
}
div.whyUs > div:not(.whyUsSlider) > div > div > div > a {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #FFFFFF50;
    transition: background-color 0.5s ease-in-out;
}
div.whyUs > div:not(.whyUsSlider) > div > div > div > a > i {
    width: 100%;
    height: 100%;
    font-size: 2em;
}
div.whyUs > div:not(.whyUsSlider) > div > div > div > a:hover {
    background-color: var(--color-primary-dark);
}
div.whyUs > div:not(.whyUsSlider) > div > div > div > p {
    margin: 20px auto auto auto;
}
@media screen and (max-width: 1500px) {
    div.whyUs {
        height: 600px;
    }
    div.whyUs > div.whyUsSlider {
        width: 50%;
        height: 400px;
    }
}
@media screen and (max-width: 1300px) {
    div.whyUs {
        height: 500px;
        margin: 70px 0 50px 0;
    }
    div.whyUs > div.whyUsSlider {
        width: 50%;
        height: 300px;
    }
    div.whyUs > div:not(.whyUsSlider) {
        width: calc(100% - 150px);
    }
    div.whyUs > div:not(.whyUsSlider) > div {
        margin: auto calc(150px - 40px) auto auto;
    }
}
@media screen and (max-width: 1100px) {
    div.whyUs {
        height: 400px;
        margin: 60px 0 40px 0;
    }
    div.whyUs > div.whyUsSlider {
        width: 40%;
        height: 200px;
    }
    div.whyUs > div:not(.whyUsSlider) {
        width: calc(100% - 100px);
    }
    div.whyUs > div:not(.whyUsSlider) > div {
        margin: auto calc(100px - 40px) auto auto;
    }
}
@media screen and (max-width: 800px) {
    div.whyUs {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: fit-content;
        margin: 0;
        position: initial;
    }
    div.whyUs > div.whyUsSlider {
        width: 100%;
        max-width: none;
        height: 400px;
        position: initial;
        top: initial;
        transform: none;
    }
    div.whyUs > div:not(.whyUsSlider) {
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 500px;
        position: initial;
    }
    div.whyUs > div:not(.whyUsSlider) > div {
        margin: auto;
    }
}
/* ------------------------------------------------------------------------------------------------------------------ */
/* CSS - Home category cards */
/* ------------------------------------------------------------------------------------------------------------------ */
body > main > div.categoryCards {
    display: flex;
    flex-flow: wrap;
    justify-content: center;
    align-items: center;
    width: fit-content;
    margin: 80px auto 30px auto;
}
body > main > div.categoryCards > a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 300px;
    height: 300px;
    margin: 10px;
    position: relative;
    background-color: var(--color-primary-dark);
    box-shadow: var(--box-shadow);
}
body > main > div.categoryCards > a > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
body > main > div.categoryCards > a > div.filter {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    height: 100%;
    position: absolute;
    background: linear-gradient(#00000020, #00000040, #00000060, #000000B0, #000000F0);
    opacity: 1;
    transition: opacity 0.5s ease-in-out;
    z-index: 30;
}
body > main > div.categoryCards > a:hover > div.filter {
    opacity: 0;
}
body > main > div.categoryCards > a > div:last-child {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: fit-content;
    position: absolute;
    bottom: 0;
    z-index: 40;
}
body > main > div.categoryCards > a > div:last-child h5 {
    color: var(--color-FF);
}
body > main > div.categoryCards > a > div:last-child p {
    margin: 10px auto 30px auto;
    color: var(--color-primary);
}
@media screen and (max-width: 1300px) {
    body > main > div.categoryCards {
        margin: 70px auto 30px auto;
    }
    body > main > div.categoryCards > a {
        width: 250px;
        height: 250px;
    }
}
@media screen and (max-width: 1100px) {
    body > main > div.categoryCards {
        margin: 60px auto 30px auto;
    }
    body > main > div.categoryCards > a {
        width: 200px;
        height: 200px;
    }
}
@media screen and (max-width: 700px) {
    body > main > div.categoryCards {
        margin: 50px auto 30px auto;
    }
    body > main > div.categoryCards > a {
        width: 150px;
        height: 150px;
    }
}
@media screen and (max-width: 550px) {
    body > main > div.categoryCards {
        margin: 10px auto 30px auto;
    }
    body > main > div.categoryCards > a {
        width: 300px;
        height: 300px;
    }
}