:root {
    --color-white: #FFFFFF;
    --color-black: #000000;
    --color-light: #FBFBF3;
    --color-sand: #D57E48;
    --color-brown-1: #956244;
    --color-brown-2: #A86A44;
    --color-brown-3: #B36B51;
    --color-green-1: #3C664B;
    --color-green-2: #61AC95;
    --color-mint: #DAECDE;
    --color-blue: #75C1C1;
    --color-teal: #2E6869;
    --color-teal-light: #9AB5B2;
    --color-orange: #E19D48;
    --color-yellow: #FEF5D4;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    width: 100%;
    height: 100%;
    background-color: #868686;
    color: white;
    font-size: 15px;
    font-family: joly-headline, sans-serif;
    font-weight: 700;
    font-style: normal;
    cursor: url('../assets/img/cursor.png') 20 20, default;
}


/* --------------------------------------General-------------------------------------- */

/* Header */
header {
    position: fixed;
    display: flex;
    align-items: center;
    top: 30px;
    left: 30px;
    width: 65px;
    height: 65px;
    background-color: #FBFBF3F2;
    border-radius: 32.5px;
    overflow: hidden;
    z-index: 500;
    transition: width 0.6s ease, height 0.6s ease, left 0.6s ease, top 0.6s ease, border-radius 0.6s ease;
}
header.pd {
    left: unset;
    right: 30px;
    transition: width 0.6s ease, height 0.6s ease, right 0.6s ease, top 0.6s ease, border-radius 0.6s ease;
}

#nav-btn {
    width: 65px;
    background-color: transparent;
    outline: none;
    border: none;
    color: var(--color-teal-light);
    font-size: 1.4em;
}

nav {
    display: grid;
    grid-template-columns: 70px 1fr 70px;
    align-items: center;
    row-gap: 2rem;
    padding: 0 2rem;
    width: 100%;
    color: var(--color-teal);
    font-size: 1.1em;
}
nav.hidden {
    display: none;
}
nav div {
    justify-self: center;
    display: flex;
    gap: 2rem;
}
nav img {
    display: block;
    height: 100%;
    object-fit: contain;
}
nav .current {
    color: var(--color-teal-light);
    cursor: url('../assets/img/cursor.png') 20 20, default;
}

.nav__home {
    display: block;
    height: 34px;
}
.nav__lang {
    justify-self: end;
    display: block;
    height: 26px;
}

/* Sections */
section {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
}
section.full {
    min-height: 100vh;
}
section.start {
    justify-content: start;
}
section.end {
    justify-content: end;
}

/* Contact */
.contact {
    gap: 4rem;
    padding: 3rem 4rem;
}
.contact.rs {
    padding: calc(3rem + 110px) 4rem 3rem 4rem;
}
.contact h2 {
    margin-left: auto;
    font-size: 130px;
}

.contact__grid {
    display: grid;
    grid-template-columns: auto 1fr;
    width: 100%;
    row-gap: 3rem;
}
.contact__grid form {
    display: block;
    width: 100%;
    max-width: 730px;

}
.contact__grid button {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    justify-self: end;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 0 1.8rem;
    height: 50px;
    background-color: #FBFBF359;
    border: 2px solid #FBFBF380;
    border-radius: 25px;
    color: var(--color-white);
    font-size: 1.15em;
    font-weight: 900;
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    transition: background-color 0.3s ease, color 0.3s ease;
}
.contact__grid button:hover {
    background-color: var(--color-light);
    color: var(--color-green-1);
}
.contact__grid input,
.contact__grid select {
    display: inline-block;
    width: 240px;
    height: 38px;
    background-color: transparent;
    outline: none;
    border: none;
    border-bottom: 2px solid var(--color-white);
    color: var(--color-white);
    font-size: 1.4em;
    font-weight: 700;
    text-align: center;
}
.contact__grid select {
    border-radius: 0;
    text-align-last: center;
    -webkit-appearance: none;
    appearance: none;
}
.contact__grid option {
    color: var(--color-teal);
}
.contact__grid option:disabled {
    color: #2E686980;
}
.contact__grid select,
.contact__grid input::placeholder {
    color: #FFFFFF3F;
}

.contact__form-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 8px 0;
    column-gap: 0.8rem;
    row-gap: 14px;
}
.contact__grid .contact__form-row p {
    display: inline-block;
    padding: 0;
    max-width: unset;
    text-shadow: 0px 0px 20px #00000033;
    font-size: 1.5em;
    font-weight: 700;
}

.contact__info {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    display: flex;
    flex-direction: column;
    align-items: end;
    margin: 25px 0 0 auto;
    width: 100%;
    max-width: 250px;
    text-align: end;
    font-size: 1.1em;
    line-height: 1.5em;
}
.contact__info div {
    display: flex;
    justify-content: end;
    gap: 1.5rem;
    margin-top: 1.5rem;
    color: var(--color-white);
    font-size: 1.6em;
}
.contact__info a {
    transition: color 0.3s ease;
}
.contact__info a:hover {
    color: var(--color-mint);
}

/* Footer */
footer {
    display: grid;
    grid-template-rows: 70px auto 70px;
    min-height: 100vh;
    background-color: var(--color-light);
}

.footer__marquee {
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color-mint);
    overflow: hidden;
}

.footer__marquee-list {
    display: flex;
    align-items: center;
    height: 100%;
    list-style: none;
    animation: scrolling 28s linear infinite;
}

.footer__marquee-item {
    display: flex;
    align-items: center;
    margin: 0 0.8rem;
    padding: 0 1.5rem;
    height: 40px;
    background-color:  #FBFBF340;
    border: 1.5px solid var(--color-teal);
    border-radius: 25px;
    color: var(--color-teal);
    font-size: 1.1em;
    flex-shrink: 0;
    transition: background-color 0.3s ease;
}
.footer__marquee-item:hover {
    background-color: #FBFBF380;
}

.footer__main {
    display: grid;
    grid-template-columns: 1fr min-content auto;
    grid-template-rows: 100px auto 230px;
    column-gap: 2rem;
    padding: 2rem 2rem 0 2rem;
    width: 100%;
    height: 100%;
    border-bottom: 1px solid #94B1AD;
    color: var(--color-teal);
    overflow: hidden;
    cursor: url('../assets/img/cursor-contrast.png') 20 20, default;
}
.footer__main img {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    display: block;
    height: 100%;
    object-fit: contain;
}
.footer__main i {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
    justify-self: end;
    margin-top: 3.5rem;
    font-size: 35px;
}
.footer__main .copyright {
    grid-column: 3 / 4;
    grid-row: 3 / 4;
    width: min-content;
    height: min-content;
    margin: 6rem 0 0 3.2rem;
}
.footer__main .year {
    grid-column: 3 / 4;
    grid-row: 3 / 4;
    color: #C7D6D0;
    font-size: 300px;
    font-weight: 700;
    user-select: none;
}

.footer__links {
    display: flex;
    align-items: center;
    justify-content: space-between;
    row-gap: 2rem;
    padding-left: 2rem;
    color: var(--color-teal);
    font-size: 1.1em;
    font-weight: 900;
    cursor: url('../assets/img/cursor-contrast.png') 20 20, default;
}
.footer__links > div {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}
.footer__links > div span {
    font-size: 1.4em;
}
.footer__links button {
    display: block;
    background-color: transparent;
    outline: none;
    border: none;
    color: inherit;
    font-weight: 900;
}
.footer__links > div a:hover,
.footer__links > div button:hover {
    text-decoration: underline;
}

.atlantian {
    position: relative;
}
.atlantian div {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    top: 50%;
    left: 0;
    width: 100%;
    color: var(--color-teal);
    font-size: 1.1em;
    font-weight: 900;
    translate: 0 -50%;
    z-index: 0;
    transition: opacity 0.4s ease;
}
.atlantian div img {
    display: block;
    width: 96px;
    object-fit: contain;
}
.atlantian > img {
    position: relative;
    display: block;
    height: 70px;
    opacity: 0;
    object-fit: contain;
    transition: opacity 0.4s ease;
    z-index: 1;
}
.atlantian > img:last-child {
    display: none;
}
.atlantian:hover div {
    opacity: 0;
}
.atlantian:hover > img {
    opacity: 1;
}

/* Preloader */
.preloader {
    position: fixed;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    align-items: center;
    justify-items: center;
    top: 0;
    left: 0;
    width: 100%;
    height: 100dvh;
    background-color: var(--color-light);
    cursor: none;
    z-index: 3000;
}

.preloader div {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}
.preloader div :first-child {
    margin-right: 1.6rem;
}
.preloader div :last-child {
    margin-left: auto;
}

#preloader-logo {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    animation: logo 4.55s linear infinite forwards;
}
#preloader-riviera {
    opacity: 0;
    translate: 65%;
    animation: riviera 4.55s linear 2s infinite forwards;
}
#preloader-kolibri {
    opacity: 0;
    translate: 65%;
    animation: kolibri 4.55s linear 2.4s infinite forwards;
}

/* #preloader-logo {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    animation: logo 1.9s linear infinite forwards;
    animation: logo 1.9s linear forwards;
}
#preloader-riviera {
    opacity: 0;
    translate: 65%;
    animation: riviera 1.75s linear 2s forwards;
}
#preloader-kolibri {
    opacity: 0;
    translate: 65%;
    animation: kolibri 1.75s 2.4s linear forwards;
} */


/* Music */
#music-btn {
    position: fixed;
    display: block;
    top: 30px;
    right: 30px;
    width: 65px;
    height: 65px;
    background-color: transparent;
    outline: none;
    border: none;
    border-radius: 50%;
    color: var(--color-light);
    font-size: 1.6em;
    cursor: pointer;
    transition: opacity 0.2s ease;
    z-index: 100;
}
#music-btn.prop-detail {
    width: 65px;
    height: unset;
    top: 120px;
}
#music-btn:disabled {
    opacity: 0.5;
}

.music__pop-up {
    position: absolute;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.8rem;
    top: 2rem;
    right: 50%;
    padding: 0.8rem 2rem;
    max-width: 400px;
    background-color: #FBFBF3BF;
    border-radius: 10px;
    color: var(--color-teal);
    font-size: 1.05em;
    font-weight: 900;
    opacity: 0;
    translate: 50%;
    animation: translate-appear 0.5s ease 0.7s forwards;
}
.music__pop-up p {
    grid-column: 1 / 3;
    text-align: center;
}
.music__pop-up button {
    display: block;
    padding: 0 0.6rem;
    height: 32px;
    background-color: transparent;
    border-radius: 17.5px;
    outline: none;
    border: 1px solid var(--color-teal);
    color: var(--color-teal);
    font-size: 0.9em;
    font-weight: 900;
}
.music__pop-up button:nth-child(2) {
    background-color: var(--color-teal);
    color: var(--color-light);
}

.music__license {
    position: fixed;
    display: block;
    top: 50%;
    left: 50%;
    width: 90%;
    max-width: 390px;
    translate: -50% -50%;
}
.music__license div {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 1.8rem;
    width: 100%;
    background-color: #FBFBF3F2;
    box-shadow: 0px 0px 10px #00000026;
    border-radius: 15px;
    color: var(--color-teal);
}
.music__license button {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    width: 33px;
    height: 33px;
    background-color: var(--color-teal-light);
    outline: none;
    border: none;
    border-radius: 50%;
    color: var(--color-teal);
    font-size: 1.2em;
    translate: 50% -50%;
}
.music__license a {
    color: var(--color-brown-1);
}
.music__license a:hover {
    text-decoration: underline;
}



/* ---------------------------------------Home---------------------------------------- */

/* Sections */
.home section:not(.contact) {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 100vh;
    justify-items: center;
    text-align: start;
}

.home section > i {
    position: absolute;
    bottom: 60px;
    font-size: 30px;
}
i.br {
    right: 60px;
}
i.bl {
    left: 60px;
}

.home section img.vertical {
    width: min(360px, 70%);
}
.home section img.horizontal {
    width: min(75%, 540px);
    min-width: 300px;
}

.home section p {
    padding: 0 2rem;
    max-width: 570px;
    text-align: inherit;
    text-shadow: 0px 0px 20px #00000033;
    font-size: 2em;
    font-weight: 700;
}

/* Banner */
.home section.home__banner {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 100vh auto;
    background: url(../assets/img/home_banner.png) no-repeat top center;
    background-size: auto 75%;
}
.home__banner > div:first-child {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 4rem 3rem;
    height: 100%;
}
.home__banner > div:last-child {
    display: grid;
    grid-template-rows: 1fr 1fr;
    align-items: center;
    justify-items: center;
    padding: 0 3rem;
    width: 100%;
    min-height: 100vh;
    background: rgb(213, 126, 72);
    background: linear-gradient(180deg, transparent 0%, var(--color-sand) 50%, var(--color-sand) 100%);
}
.home__banner .empty {
    display: block;
}

.home__banner h1 {
    margin-top: 7.5vh;
    max-width: 600px;
    text-align: center;
    font-size: 4.2em;
    font-weight: 900;
    line-height: 1.2;
}
.home__banner h2 {
    max-width: 650px;
    font-size: 40px;
    font-weight: 900;
    text-align: center;
}

.home__banner-arrow {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 0.95em;
    font-weight: 400;
}
.home__banner-arrow i {
    font-size: 2.1em;
}

.home__services {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 1.5rem;
    row-gap: 2.5rem;
}
.home__services div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    width: 230px;
    aspect-ratio: 1 / 1;
    background-color: #FEF5D489;
    border: 2px solid #FBFBF380;
    border-radius: 30px;
    color: var(--color-brown-1);
    text-align: center;
    font-size: 1.7rem;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(25px);
    cursor: url('../assets/img/cursor.png') 20 20, default;
    transition: translate 0.5s ease, rotate 0.5s ease, background-color 0.5s ease;
}
.home__services div:hover {
    background-color: #FEF5D4E5;
}
.home__services div:nth-child(1):hover {
    translate: 0 -7px;
    rotate: -6deg;
}
.home__services div:nth-child(2):hover {
    translate: 0 -24px;
    rotate: -3deg;
}
.home__services div:nth-child(3):hover {
    translate: 0 -24px;
    rotate: 3deg;
}
.home__services div:nth-child(4):hover {
    translate: 0 -7px;
    rotate: 6deg;
}
.home__services div:hover i {
    font-weight: 900;
}
.home__services i {
    font-size: 40px;
}
.home__services i.fa-solid {
    display: none;
}

/* Cont */
.home__cont {
    display: flex;
    flex-direction: column;
    padding: 6rem 2rem;
}
.home__cont-btns {
    display: flex;
    align-items: end;
    justify-content: end;
    margin-top: 6rem;
    padding: 0 2rem;
    column-gap: 2rem;
    row-gap: 1rem;
}
.home__cont-btns a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 0 30px;
    width: max-content;
    height: 55px;
    background-color: #FFFFFF59;
    border: 2px solid #FBFBF380;
    border-radius: 27.5px;
    color: var(--color-light);
    font-size: 1rem;
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    transition: background-color 0.3s ease, border 0.3s ease, color 0.3s ease;
}
.home__cont-btns a:hover {
    background-color: var(--color-light);
    border: 2px solid var(--color-light);
    color: var(--color-teal);
}

.btns a i {
    margin-left: 10px;
}

.home__transportation {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 60px;
}
.home__transportation div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
    width: 200px;
    height: 200px;
    background-color: var(--color-light);
    border: 2px solid var(--color-light);
    border-radius: 30px;
    color: var(--color-brown-1);
    text-align: center;
    font-size: 1.45em;
    backdrop-filter: blur(50px);
    -webkit-backdrop-filter: blur(50px);
    transition: background-color 0.6s ease, border 0.6s ease, color 0.6s ease, rotate 0.6s ease;
    cursor: url('../assets/img/cursor.png') 20 20, default;
}
.home__transportation div:hover {
    background-color: #EEECE33F;
    border: 2px solid #EEECE3;
    color: #EEECE3;
}
.home__transportation div:first-child:hover {
    rotate: -3deg;
}
.home__transportation div:last-child:hover {
    rotate: 3deg;
}
.home__transportation div:hover i {
    font-weight: 300;
}
.home__transportation div:first-child {
    margin: 2rem 0;
}
.home__transportation div:last-child {
    margin-left: 4rem;
}
.home__transportation i {
    font-size: 35px;
}



/* ---------------------------------Property Management--------------------------------- */

/* Intro */
.pro-man__intro {
    display: grid;
    align-items: start;
    grid-template-columns: 1fr;
    grid-template-rows: 38% 26% 36%;
    min-height: 200vh;
    background-color: var(--color-brown-3);
    font-weight: 900;
    overflow: visible;
}
.pro-man__intro > img {
    position: absolute;
    display: block;
    left: 44%;
    bottom: 0;
    width: max(350px, 30%);
    object-fit: contain;
    translate: 0 50%;
    z-index: 1;
}

.pro-man__title {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    justify-items: center;
    padding-top: 100px;
    width: 100%;
    height: 100vh;
}
.pro-man__title h1 {
    max-width: 350px;
    text-align: start;
    font-size: 4.2em;
    font-weight: 900;
    line-height: 1.2;
}
.pro-man__title img {
    display: block;
    width: max(42%, 270px);
    object-fit: contain;
}

.pro-man__standard {
    grid-column: 1 / 2;
    grid-row: 2 / 4;
    justify-self: end;
    display: block;
    padding: 30vh 3rem 0 3rem;
    width: max(50%, 335px);
    height: 100%;
    background-color: var(--color-mint);
    border-radius: 15px 0px 0px 15px;
    color: #2B4930;
    font-size: 2em;
    cursor: url('../assets/img/cursor-contrast.png') 20 20, default;
}

.pro-man__investment {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
    justify-self: start;
    display: block;
    padding: 20vh 3rem 0 3rem;
    width: max(53%, 335px);
    height: 100%;
    background-color: var(--color-green-1);
    border-radius: 0px 15px 0px 0px;
    color: var(--color-light);
    font-size: 2em;
}

.pro-man__standard p,
.pro-man__investment p {
    margin: 0 auto;
    max-width: 500px;
}

/* Services */
.pro-man__services {
    gap: 5rem;
    padding: 48vh 3rem 6rem 3rem;
    background: linear-gradient(180deg, #DAECDE 0%, #61AC95 100%);
    cursor: url('../assets/img/cursor-contrast.png') 20 20, default;
}
.pro-man__services h2 {
    color: var(--color-teal);
    font-size: 3.5em;
    font-weight: 900;
}
.pro-man__services h3,
.pro-man__services > i {
    color: var(--color-light);
    text-align: center;
    text-shadow: 0px 0px 20px #00000026;
    font-size: 2em;
    font-weight: 900;
    line-height: 1.5em;
}

.pro-man__frames {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.5rem;
    width: 100%;
    max-width: calc(600px + 5rem);
}
.pro-man__frames div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
    width: 200px;
    aspect-ratio: 1 / 1;
    background-color: #FBFBF3BF;
    border: 2px solid #FBFBF3BF;
    border-radius: 30px;
    color: var(--color-teal);
    text-align: center;
    font-weight: 900;
    backdrop-filter: blur(50px);
    -webkit-backdrop-filter: blur(50px);
    transition: background-color 0.5s ease, color 0.5s ease, translate 0.5s ease, rotate 0.5s ease;
    cursor: url('../assets/img/cursor.png') 20 20, default;
}
.pro-man__frames div:hover {
    background-color: #2E686926;
    border: 2px solid #2E686940;
    color: var(--color-light);
}
.pro-man__frames div:hover:nth-child(1),
.pro-man__frames div:hover:nth-child(4) {
    translate: 0 -7px;
    rotate: -3deg;
}
.pro-man__frames div:hover:nth-child(2) {
    translate: 0 -16px;
}
.pro-man__frames div:hover:nth-child(3),
.pro-man__frames div:hover:nth-child(5) {
    translate: 0 -7px;
    rotate: 3deg;
}
.pro-man__frames div:hover i {
    font-weight: 900;
}
.pro-man__frames i {
    font-size: 2.4em;
}
.pro-man__frames p {
    font-size: 1.4em;
}



/* -----------------------------------Transportation----------------------------------- */

/* Intro */
.transport__intro {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 100vh 33vh;
    align-items: end;
    background-color: var(--color-brown-2);
}

.transport__serv {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20%;
    padding: 2rem;
    width: 94%;
    min-height: 45%;
    background-color: #FEF5D4;
    border-radius: 0px 15px 15px 0px;
    color: #33573D;
    font-size: 2em;
    font-weight: 900;
    cursor: url('../assets/img/cursor-contrast.png') 20 20, default;
}
.transport__serv p {
    max-width: 450px;
}

.transport__title {
    justify-self: center;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: end;
    gap: 18vh;
    max-width: 450px;
    z-index: 10;
}
.transport__title h1 {
    margin: 0;
    max-width: 410px;
    text-align: end;
    font-size: 4.2em;
    color: var(--color-light);
    text-shadow: 0px 0px 20px #00000026;
}
.transport__title img {
    display: block;
    width: max(310px, 100%);
    object-fit: contain;
}

.transport__journey {
    grid-column: 1 / 3;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 2.5rem;
    left: 12.5%;
    padding: 2rem;
    width: 50%;
    height: calc(100% + 5rem);
    background-color: #33573D;
    border-radius: 15px;
    color: var(--color-light);
    text-shadow: 0px 0px 20px #00000026;
    font-size: 2rem;
    font-weight: 900;
    z-index: 1;
}
.transport__journey p {
    max-width: 530px;
}

/* Options */
.transport__opt {
    gap: 8rem;
    padding: 8rem 3rem;
    background-color: var(--color-mint);
    color: #2B4930;
    cursor: url('../assets/img/cursor-contrast.png') 20 20, default;
}
.transport__opt h2 {
    text-align: center;
    font-size: 3.5em;
    font-weight: 900;
}

.transport__frames {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 3rem;
}

.transport__frames > div {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
    padding: 0 1.5rem;
    width: 225px;
    aspect-ratio: 1 / 1;
    background-color: var(--color-light);
    border-radius: 30px;
    text-align: center;
    cursor: url('../assets/img/cursor.png') 20 20, default;
}
.transport__frames i {
    font-size: 2.4em;
    font-weight: 300;
}
.transport__frames p {
    font-size: 1.4em;
    font-weight: 900;
}
.transport__frames a,
.transport__frames button {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    right: -1.5rem;
    bottom: 0;
    padding: 0 1.5rem;
    height: 45px;
    background-color: #2B493026;
    border: 2px solid #2B4930BF;
    outline: none;
    border-radius: 22.5px;
    color: inherit;
    font-size: 0.95em;
    font-weight: 900;
    overflow: hidden;
    translate: 0 50%;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: background-color 0.3s ease, border 0.3s ease;
    z-index: 10;
}
.transport__frames button {
    transition: width 0.3s ease, background-color 0.3s ease, border 0.3s ease;
}
.transport__frames button i {
    font-size: 1.2em;
}
.transport__frames .pop-over {
    position: absolute;
    display: grid;
    align-items: center;
    align-content: center;
    grid-template-columns: 35px 1fr;
    grid-auto-rows: min-content;
    column-gap: 1rem;
    row-gap: 1.5rem;
    top: 0;
    left: 0;
    padding: 2rem;
    width: 100%;
    height: 100%;
    background-color: var(--color-light);
    border-radius: 30px;
    text-align: start;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
}
.transport__frames div:hover a,
.transport__frames div:hover button {
    background-color: #FBFBF340;
    border: 2px solid #3C664B1A;
}
/* .transport__frames div:hover .pop-over {
    opacity: 1;
} */

/* Experience */
section.transport__exp {
    justify-content: space-evenly;
    padding: 0 2rem;
    background-color: var(--color-brown-2);
    color: var(--color-light);
    text-align: center;
    text-shadow: 0px 0px 20px #00000026;
}
.transport__exp h2 {
    max-width: 600px;
    font-size: 2.9em;
}
.transport__exp h3 {
    font-size: 2em;
}
.transport__exp i {
    margin-top: 3rem;
    font-size: 2em;
}



/* ------------------------------------Experiences------------------------------------ */

/* Banner */
.exp__section-one > img {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 66%;
    object-fit: cover;
    z-index: 1;
}

.exp__banner {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 100vh calc(100vh - 130px) auto;
    width: 100%;
    background: linear-gradient(180deg, #75C1C1 0%, #75C1C100 53%, #33573D 66%, #33573D 100%);
    z-index: 10;
}

.exp__intro {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: end;
    gap: 20%;
    padding: 2rem;
}
.exp__intro h1 {
    max-width: 700px;
    margin: 0;
    text-align: center;
    font-size: 4.2em;
}
.exp__intro div {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;
}
.exp__intro i {
    font-size: 1.8em;
}

.exp__desc {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    padding: 0 4rem;
}
.exp__desc h3 {
    max-width: 580px;
    color: var(--color-light);
    text-shadow: 0px 0px 20px #00000026;
    font-size: 2em;
    font-weight: 900;
    line-height: 1.5em;
}
.exp__desc h3:last-child {
    max-width: 400px;
    margin-left: auto;
    text-align: right;
}

/* Gourmet */
.exp__gourmet-cont {
    display: block;
    padding: 0 2rem;
    width: 100%;
    min-height: calc(100vh + 130px);
}

.exp__gourmet {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 5rem;
    padding: 10rem 5rem 5rem 5rem;
    width: 100%;
    height: 100%;
    background-color: var(--color-yellow);
    border-radius: 15px;
    color: var(--color-teal);
    cursor: url('../assets/img/cursor-contrast.png') 20 20, default;
}
.exp__gourmet h2 {
    text-align: center;
    font-size: 3.5em;
    font-weight: 900;
}
.exp__gourmet > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6rem;
    width: 100%;
}
.exp__gourmet p {
    max-width: 340px;
    font-size: 2em;
    font-weight: 900;
}
.exp__gourmet a {
    display: flex;
    align-items: center;
    padding: 1.5rem;
    height: 55px;
    background-color: #2E6869;
    border-radius: 27.5px;
    color: var(--color-light);
    font-size: 1.1em;
    font-weight: 900;
}
.exp__gourmet i {
    position: absolute;
    right: 3rem;
    bottom: 3rem;
    font-size: 2.6em;
}

.exp__gourmet-gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(22, 1fr);
    column-gap: 10px;
    margin-left: auto;
    width: 100%;
    height: min-content;
    max-width: 350px;
    aspect-ratio: 223 / 249;
}
.exp__gourmet-gallery img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    object-fit: cover;
}
.exp__gourmet-gallery img:nth-child(1) {
    grid-column: 1 / 2;
    grid-row: 1 / 21;
}
.exp__gourmet-gallery img:nth-child(2) {
    grid-column: 2 / 3;
    grid-row: 3 / 23;
}
.exp__gourmet-gallery img:nth-child(3) {
    grid-column: 3 / 4;
    grid-row: 2 / 22;
}
.exp__gourmet-gallery img:nth-child(4) {
    grid-column: 4 / 5;
    grid-row: 1 / 21;
}

/* Second section */
.exp__section-two {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
}
.exp__section-two > img {
    grid-column: 1 / 2;
    grid-row: 3 / 5;
    align-self: end;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.exp__legal {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6rem;
    padding: 12rem 2rem 8rem 2rem;
    color: var(--color-light);
}
.exp__legal h2 {
    margin: 0;
    text-align: center;
    text-shadow: 0px 0px 20px #00000026;
    font-size: 3.5em;
    font-weight: 900;
}
.exp__legal p {
    margin: 0;
    max-width: 520px;
    text-align: center;
    text-shadow: 0px 0px 20px #00000026;
    font-size: 2em;
    font-weight: 900;
    line-height: 1.4em;
}
.exp__legal a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    padding: 1.5rem;
    height: 55px;
    background-color: var(--color-orange);
    outline: none;
    border-radius: 27.5px;
    color: var(--color-yellow);
    font-size: 1.1em;
    font-weight: 900;
}

/* Adventure */
.exp__adv-cont {
    grid-column: 1 / 2;
    grid-row: 2 / 4;
    display: block;
    padding: 0 2rem;
}

.exp__adventure {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 4rem;
    width: 100%;
    min-height: calc(100vh + 130px);
    padding: 10rem 5rem 12rem 5rem;
    background-color: #A7D7D8;
    border-radius: 15px;
    color: #224E4F;
    cursor: url('../assets/img/cursor-contrast.png') 20 20, default;
}
.exp__adventure h2 {
    text-align: center;
    font-size: 3.5em;
    font-weight: 900;
}
.exp__adventure > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6rem;
    width: 100%;
}
.exp__adventure p {
    max-width: 340px;
    text-align: end;
    text-shadow: 0px 0px 20px #00000026;
    font-size: 2em;
    font-weight: 900;
}
.exp__adventure a {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 1.5rem;
    width: max-content;
    height: 55px;
    background-color: var(--color-light);
    border-radius: 27.5px;
    font-size: 1.1em;
    font-weight: 900;
}
.exp__adventure > i {
    position: absolute;
    right: 3rem;
    bottom: 3rem;
    font-size: 2.6em;
}

.exp__adv-gallery {
    display: grid;
    grid-template-columns: 17fr 24fr 14fr;
    grid-template-rows: 57fr 52fr;
    gap: 10px;
    width: 100%;
    max-width: 580px;
    aspect-ratio: 17 / 10;
}
.exp__adv-gallery img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    object-fit: cover;
}
.exp__adv-gallery img:nth-child(1) {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
}
.exp__adv-gallery img:nth-child(2) {
    grid-column: 2 / 4;
    grid-row: 1 / 2;
}
.exp__adv-gallery img:nth-child(3) {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}
.exp__adv-gallery img:nth-child(4) {
    grid-column: 3 / 4;
    grid-row: 2 / 3;
}

.exp__adv-service {
    display: flex;
    flex-direction: column;
    align-items: end;
    gap: 8rem;
    margin-left: auto;
}

/* Enhance */
.exp__enhance {
    grid-column: 1 / 2;
    grid-row: 4 / 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5rem;
    padding: 12rem 2rem 6rem 2rem;
    color: var(--color-light);
    font-size: 2em;
}
.exp__enhance p {
    max-width: 800px;
    text-align: center;
    text-shadow: 0px 0px 20px #00000026;
    font-weight: 900;
}
.exp__enhance {
    text-shadow: 0px 0px 20px #00000033;
}

.exp__bg {
    grid-column: 1 / 2;
    display: block;
    width: 100%;
    height: 100%;
}
.exp__bg.green {
    grid-row: 1 / 3;
    background: linear-gradient(180deg, #33573D 0%, #33573D 79%, #294E61 100%);
}
.exp__bg.blue {
    grid-row: 3 / 5;
    background:linear-gradient(0deg, #294E61 0%, #294E6180 56%, #294E61 100%);
}



/* -------------------------------------Real State------------------------------------- */
.real-state {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    justify-items: center;
    gap: 8rem;
    padding: 27vh 2rem 0 2rem;
    width: 100%;
    min-height: 100vh;
    background-color: var(--color-green-2);
    overflow: visible;
}
.real-state h1 {
    max-width: 1050px;
    color: var(--color-light);
    text-align: center;
    text-shadow: 0px 0px 20px #00000026;
    font-size: 3.4em;
    font-weight: 900;
}

.rs__grid-cont {
    position: relative;
    display: flex;
    padding: 6rem 3rem;
    width: 100%;
    height: calc(100% + 110px);
    background-color: var(--color-light);
    border-radius: 15px;
    z-index: 1;
    cursor: url('../assets/img/cursor-contrast.png') 20 20, default;
}

.rs__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, 240px);
    grid-auto-rows: min-content;
    justify-content: center;
    column-gap: 4rem;
    row-gap: 4rem;
    width: 100%;
}

.rs__grid-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    cursor: pointer;
}
.rs__item-img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 15px;
    overflow: hidden;
}
.rs__item-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: scale 0.3s ease;
}
.rs__grid-item span {
    color: #2B4930;
    font-size: 1.3em;
    font-weight: 900;
}
.rs__item-info {
    position: absolute;
    display: grid;
    align-items: center;
    justify-content: center;
    top: 1rem;
    right: 1rem;
    width: 45px;
    height: 45px;
    border-radius: 50%;
}
.rs__item-info img {
    grid-column: 1 / 1;
    grid-row: 1 / 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: opacity 0.3s ease;
}
.rs__item-info img:last-child {
    opacity: 0;
}
.rs__grid-item:hover .rs__item-info img:first-child {
    opacity: 0;
}
.rs__grid-item:hover .rs__item-info img:last-child {
    opacity: 1;
}
.rs__grid-item:hover .rs__item-img img {
    scale: 1.1;
}



/* ----------------------------------Property Detail---------------------------------- */
section.property-detail {
    display: grid;
    grid-template-columns: minmax(310px, 18fr) 25fr;
    grid-template-rows: 65px auto;
    align-items: start;
    justify-items: center;
    column-gap: 4rem;
    row-gap: 2rem;
    padding: 30px 3rem 3rem 3rem;
    min-height: 100vh;
    background-color: #CB674F;
}

.property-detail > button {
    grid-column: 1 / 3;
    align-self: center;
    justify-self: start;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    margin: 0 20px;
    width: max-content;
    height: min-content;
    background-color: transparent;
    outline: none;
    border: none;
    color: var(--color-light);
    text-shadow: 0px 0px 20px #00000033;
    transition: opacity 0.3s ease;
}
.property-detail > button i {
    font-size: 2em;
}
.property-detail > button span {
    font-size: 1.1em;
}
.property-detail > button:hover {
    opacity: 0.85;
}

.pd__details-frame {
    position: relative;
    display: block;
    padding: 4rem 2rem 3rem 2rem;
    width: 100%;
    height: calc(100vh - 95px - 5rem);
    background-color: var(--color-light);
    border-radius: 20px;
    max-width: 600px;
    cursor: url('../assets/img/cursor-contrast.png') 20 20, default;
}
.pd__details-frame > i {
    display: none;
    position: absolute;
    left: 50%;
    bottom: -3rem;
    font-size: 1.6em;
    translate: -50%;
}

.pd__details {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr 55px;
    gap: 2rem;
    width: 100%;
    height: 100%;
    color: var(--color-teal);
}
.pd__details h1 {
    margin: 0 0 1rem 0;
    text-align: center;
    font-size: 2em;
    font-weight: 900;
}
.pd__details a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-color: var(--color-green-2);
    border-radius: 27.5px;
    color: var(--color-light);
    font-size: 1.1em;
}
.pd__details-list {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-auto-rows: min-content;
    align-items: center;
    gap: 1rem;
    padding-right: 1.2rem;
    overflow-y: auto;
}
.pd__details-list::-webkit-scrollbar {
    width: 6px;
}
.pd__details-list::-webkit-scrollbar-track {
    background: #00000026;
    border-radius: 3px;
}
.pd__details-list::-webkit-scrollbar-thumb {
    background: var(--color-green-2);
    border-radius: 3px;
}
.pd__details-list span {
    font-size: 1.22em;
    font-weight: 900;
}
.pd__details-list i {
    font-size: 1.15em;
}

.pd__swiper-cont {
    display: grid;
    grid-template-columns: 60px 1fr 60px;
    align-items: center;
    justify-items: center;
    width: 100%;
    height: 100%;
    max-width: 620px;
}
.pd__swiper-cont button {
    background-color: transparent;
    outline: none;
    border: none;
    color: var(--color-light);
    font-size: 1.8em;
    opacity: 1;
    text-shadow: 0px 0px 20px #00000033;
    transition: opacity 0.2s ease;
}
.pd__swiper-cont button:disabled {
    opacity: 0.5;
}

.pd__swiper {
    position: relative;
    display: block;
    width: 100%;
    height: min-content;
    aspect-ratio: 1 / 1;
    border-radius: 25px;
    overflow: hidden;
}
.pd__swiper .swiper {
    width: 100%;
    height: 100%;
}
.pd__swiper .swiper-slide {
    display: block;
    width: 100%;
    height: 100%;
}
.pd__swiper img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: pointer;
}

/* Gallery */
.gallery {
    position: fixed;
    display: grid;
    grid-template-columns: 200px 1fr 200px;
    grid-template-rows: 34px auto 110px;
    row-gap: 3rem;
    top: 0;
    left: 0;
    padding: 3rem;
    width: 100%;
    height: 100vh;
    background: var(--color-teal);
    z-index: 2100;
}

#close-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    aspect-ratio: 1 / 1;
    background-color: transparent;
    border: 2px solid #FBFBF3BF;
    outline: none;
    border-radius: 50%;
    color: #FBFBF3BF;
    font-size: 1.15em;
    cursor: pointer;
    transition: background-color 0.3s ease, border 0.3s ease, color 0.3s ease;
}
#close-btn:hover  {
    background-color: #FBFBF3E5;
    border: 2px solid #FBFBF3E5;
    color: var(--color-teal);
}

.gallery span {
    justify-self: center;
    font-size: 1.2em;
    color: var(--color-dark-3);
    font-weight: 900;
}

.gallery__nav-btn {
    align-self: center;
    justify-self: center;
    display: block;
    margin: 0;
    width: 40px;
    height: 40px;
    background-color: transparent;
    outline: none;
    border: none;
    color: #FBFBF3;
    font-size: 1.8em;
    transition: opacity 0.3s ease;
    cursor: pointer;
}
.gallery__nav-btn:disabled {
    opacity: 0.5;
}

.gallery__viewer {
    position: relative;
    align-self: center;
    justify-self: center;
    display: block;
    width: 100%;
    height: 100%;
    max-width: calc((100vh - 12rem - 134px) * 3 / 2);
    max-height: calc(100vh - 12rem - 134px);
    border-radius: 20px;
    overflow: hidden;
}

.gallery__main-swiper {
    display: block;
    width: 100%;
    height: 100%;
}
.gallery__main-swiper .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}
.gallery__main-swiper img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 20px;
    object-fit: contain;
}

.gallery__thumbs {
    grid-column: 1 / 4;
    position: relative;
    display: block;
    margin: 0 2rem;
    width: calc(100% - 4rem);
    height: 100%;
    overflow-x: hidden;
    overflow-y: visible;
}

.gallery__thumbs .swiper-slide {
    display: block;
    margin: 10px 0;
    width: 135px;
    height: 90px;
    border-radius: 15px;
    overflow: hidden;
}

.gallery__thumbs .swiper-slide-active {
    margin: 0;
    width: 160px;
    height: 110px;
}
.gallery__thumbs img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}



/* ---------------------------------------Thanks-------------------------------------- */
.thanks {
    justify-content: space-between;
    padding: 3rem 3rem 5rem 3rem ;
    background-color: var(--color-light);
    color: var(--color-green-1);
    text-align: center;
    font-weight: 900;
    cursor: url('../assets/img/cursor-contrast.png') 20 20, default;
}
.thanks a {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    margin-left: auto;
    padding: 0 1.5rem;
    height: 55px;
    background-color: #CB674F;
    border-radius: 27.5px;
    color: var(--color-light);
    font-size: 1.1em;
    font-weight: 900;
}
.thanks i {
    font-size: 1.3em;
}
.thanks h1 {
    font-size: 3.5em;
}
.thanks h2 {
    margin-top: 4rem;
    font-size: 1.8em;
}
.thanks img {
    display: block;
    width: max(22%, 250px);
}



/* -------------------------------------Error 404------------------------------------- */
.error-404 {
    padding: 4rem;
    background-color: #F6C86D;
}

.error__frame {
    display: grid;
    grid-template-columns: 1fr minmax(240px, 25%);
    align-items: center;
    width: 100%;
    height: calc(100vh - 8rem);
    background-color: var(--color-green-1);
    border-radius: 15px;
}
.error__frame img {
    align-self: end;
    display: block;
    width: 100%;
    object-fit: contain;
    translate: 2rem 2rem;
}

.error__info {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    padding: 3rem 0 3rem 4rem;
    font-weight: 900;
}
.error__info h2 {
    font-size: 2.8em;
}
.error__info div:last-child {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-top: 3rem;
}
.error__info p {
    font-size: 1.6em;
}
.error__info span {
    color: #F6C86D;
}
.error__info a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 65px;
    aspect-ratio: 1 / 1;
    background-color: #CB674F;
    border-radius: 50%;
    font-size: 1.8em;
}

.error__info-title {
    display: block;
    width: min-content;
}
.error__info-title h1 {
    margin: 0;
    padding: 0 1rem;
    width: min-content;
    font-size: 140px;
    line-height: 100px;
}
.error__info-title div {
    display: block;
    width: 100%;
    height: 4px;
    background-color: #E6A848;
    border-radius: 2px;
}



/* ----------------------------------------Card---------------------------------------- */
.card__cont {
    display: block;
    padding: 6rem 0;
    width: 100%;
    background-color: #163536;
}

.card {
    justify-content: start;
    margin: 0 auto;
    width: 100%;
    max-width: 480px;
    background-color: #FBFBF3F9;
    border-radius: 30px;
    overflow: hidden;
    cursor: url('../assets/img/cursor-contrast.png') 20 20, default;
}

/* Intro */
.card__intro {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 59px 59px;
    width: 100%;
}

.card__banner {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    display: flex;
    align-items: start;
    justify-content: space-between;
    padding: 1.5rem;
    width: 100%;
    aspect-ratio: 13 / 8;
    background: url(../assets/img/home_banner.png) center center no-repeat;
    background-size: cover;
}
.card__banner img {
    display: block;
    height: 55px;
    object-fit: contain;
}
.card__banner h4 {
    margin: 0.65rem 0;
    text-align: end;
    font-size: 15px;
    font-weight: 900;
}

.card__photo {
    grid-column: 1 / 1;
    grid-row: 2 / 4;
    justify-self: center;
    position: relative;
    display: block;
    padding: 3px;
    height: 118px;
    aspect-ratio: 1 / 1;
    background-color: var(--color-light);
    border-radius: 50%;
}
.card__photo img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}
.card__photo button {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    right: 0;
    bottom: 0;
    width: 33px;
    height: 33px;
    background-color: #B9D0C7;
    outline: none;
    border: none;
    border-radius: 50%;
    color: var(--color-light);
    transition: background-color 0.3s ease;
}
.card__photo a:hover {
    background-color: var(--color-teal);
}

/* Contact */
.card__director {
    margin: 1.2rem 0;
    text-align: center;
    font-weight: 900;
    line-height: 1.5em;
}
.card__director h1 {
    margin: 0;
    color: #224E4F;
    font-size: 1.1em;
}
.card__director h2 {
    color: #9AB5B2;
    font-size: 1.1em;
}

.card__links {
    display: flex;
    justify-content: center;
    gap: 1.6rem;
    align-items: center;
}
.card__links a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 70px;
    height: 70px;
    border-radius: 15px;
    transition: opacity 0.3s ease;
}
.card__links i {
    font-size: 1.4em;
}
.card__links span {
    font-size: 0.7em;
}
.card__links a:hover {
    opacity: 0.75;
}

.card__sm {
    display: flex;
    justify-content: center;
    gap: 2.3rem;
    margin: 2.5rem 0;
}
.card__sm a {
    color: #9AB5B2;
    font-size: 1.5em;
    transition:  color 0.3s ease;
}
.card__sm a:hover {
    color: var(--color-teal);
}

.card__save {
    display: block;
    height: 55px;
    width: calc(100% - 4rem);
    background-color: var(--color-teal);
    outline: none;
    border: none;
    border-radius: 27.5px;
    color: var(--color-light);
    font-size: 1.1em;
    font-weight: 900;
}

.card__spacer {
    display: block;
    margin: 3rem 0;
    width: calc(100% - 2rem);
    height: 2px;
    background-color: #C8D6D0;
    border-radius: 1px;
}

/* About */
.card__about {
    display: flex;
    flex-direction: column;
    padding: 0 1rem;
    font-weight: 900;
    line-height: 1.5em;
}
.card__about h2 {
    margin: 0;
    color: #C48E79;
    text-align: center;
    font-size: 1.1em;
}
.card__about h3 {
    margin: 1rem 0 0.6rem 0;
    color: #9AB5B2;
    font-size: 1em;
}
.card__about > div {
    display: block;
    padding: 1.5rem;
    width: 100%;
    background-color: var(--color-light);
    box-shadow: 2px 2px 5px #00000014;
    border-radius: 15px;
}
.card__about div.img {
    display: grid;
    grid-template-columns: 50px 1fr;
    align-items: center;
    gap: 1.5rem;
}
.card__about div.qr {
    padding: 0;
    overflow: hidden;
}
.card__about img {
    display: block;
    width: 100%;
    object-fit: contain;
}
.card__about .large {
    min-height: 160px;
}
.card__about p {
    color: #224E4F;
    font-size: 1em;
}
.card__about span {
    color: #B36B51;
    font-size: 0.9em;
}

/* Atlantian */
.card__atlantian {
    position: relative;
    display: block;
    margin-top: 1rem;
    padding-top: 1rem;
    width: 100%;
}
.card__atlantian > img {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    opacity: 0;
    transition: opacity 0.5s ease;
    z-index: 10;
}
.card__atlantian:hover > img {
    opacity: 1;
}
.card__atlantian:hover div {
    opacity: 0;
}

.card__powered-by {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    top: 1rem;
    left: 0;
    width: 100%;
    height: 100%;
    transition: opacity 0.5s ease;
    z-index: 1;
}
.card__powered-by span {
    color: #9AB5B2;
    font-size: 1.1em;
    font-weight: 900;
}
.card__powered-by img {
    display: block;
    height: 16.5px;
    object-fit: contain;
}


/* -------------------------------Language Adjustments------------------------------- */
.home p.es-one {
    max-width: 600px;
}

h1.es-two {
    max-width: 450px;
}



/* --------------------------------------Special-------------------------------------- */
.hidden {
    display: none;
}
.empty {
    display: none;
}

.right {
    text-align: right;
}

.green-1 {
    background-color: var(--color-green-1);
}

.green-2 {
    background-color: var(--color-green-2);
}

.blue {
    background-color: var(--color-blue);
}

.teal {
    background-color: var(--color-teal);
}

.brown-1 {
    background-color: var(--color-brown-1);
}

.brown-3 {
    background-color: var(--color-brown-3);
}

.orange {
    background-color: var(--color-orange);
}

.mid-blue {
    background-color: #48ADB7;
}

.select {
    position: relative;
    display: inline-block;
}
.select i {
    position: absolute;
    top: 50%;
    right: 0.35rem;
    color: #FFFFFF3F;
    translate: 0 -50%;
}



/* -------------------------------------Responsive------------------------------------- */

@media screen and (max-width: 1080px) {
    /* Header */
    nav {
        padding: 0 1.2rem;
    }
    nav div {
        gap: 1.8rem;
        align-items: center;
        text-align: center;
    }
    nav a {
        width: min-content;
    }
    /* Footer */
    .footer__main {
        grid-template-rows: 100px auto 180px;
    }
    .footer__main i {
        grid-column: 1 / 2;
    }
    .footer__main .copyright {
        grid-column: 2 / 4;
        margin: 6rem 0 0 1.2rem;
    }
    .footer__main .year {
        grid-column: 2 / 4;
        font-size: 230px;
    }
    /* Home */
    .home__services div:nth-child(1):hover {
        translate: 0 -7px;
        rotate: -3deg;
    }
    .home__services div:nth-child(2):hover {
        translate: 0 -14px;
        rotate: 0deg;
    }
    .home__services div:nth-child(3):hover {
        translate: 0 -7px;
        rotate: 3deg;
    }
    .home__services div:nth-child(4):hover {
        translate: 0 -14px;
        rotate: 0deg;
    }
    .home__cont-btns {
        flex-direction: column;
    }
    .home__banner > div:last-child {
        padding: 0 2.5rem;
    }
    .home__services div {
        width: 210px;
        font-size: 1.6em;
    }
    /* Property Management */
    .pro-man__title h1 {
        padding-left: 3rem;
        font-size: 3.4em;
    }
    .pro-man__frames div {
        width: 192px;
    }
    /* Transportation */
    .transport__title {
        justify-self: end;
        padding-right: 3rem;
    }
    .transport__journey {
        padding: 4rem 2rem 2rem 2rem;
        width: 60%;
        font-size: 1.8em;
    }
    .transport__serv {
        font-size: 1.8em;
    }
    /* Experiences */
    .exp__adv-service {
        gap: 5rem;
    }
    /* Real State */
    .real-state {
        padding: 27vh 1.5rem 0 1.5rem;
    }
    .rs__grid-cont {
        padding: 6rem 2rem;
    }
    /* Property Detail */
    section.property-detail {
        column-gap: 1rem;
        padding: 30px 1.5rem 3rem 1.5rem;
    }
    /* Gallery */
    .gallery {
        grid-template-columns: 65px 1fr 65px;
        padding: 3rem 2rem;
    }
    #gallery-nav-prev {
        justify-self: start;
    }
    #gallery-nav-next {
        justify-self: end;
    }
    /* Thanks */
    .thanks {
        padding: 2.5rem 3rem;
    }
    .thanks h1 {
        font-size: 3.2em;
    }
    .thanks h2 {
        font-size: 1.6em;
    }
    /* 404 */
    .error__info > div:last-child {
        flex-direction: column;
        align-items: start;
        gap: 1rem;
    }
    .error__info a {
        width: 50px;
        font-size: 1.6em;
    }
}

@media screen and (max-width: 768px) {
    .empty {
        display: block;
    }
    /* Header */
    nav {
        padding: 3rem 2rem;
        grid-template-columns: 1fr 1fr;
    }
    nav div {
        grid-column: 1 / 3;
        grid-row: 2 / 3;
        flex-direction: column;
    }
    nav a {
        width: unset;
    }
    /* Contact */
    .contact {
        padding: 3rem 2rem;
    }
    .contact.rs {
        padding: calc(3rem + 110px) 2rem 3rem 2rem;
    }
    .contact h2 {
        font-size: 5em;
    }
    .contact__grid {
        grid-template-columns: 1fr;
    }
    .contact__grid button {
        justify-self: start;
    }
    .contact__info {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
    }
    /* Footer */
    .footer__main {
        grid-template-columns: 1fr;
        grid-template-rows: 100px auto 150px;
    }
    .footer__main i {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
        align-self: end;
        justify-self: start;
        margin: 0 0 1rem 0;
        font-size: 30px;
    }
    .footer__main .copyright {
        grid-column: 1 / 2;
        margin: 0;
    }
    .footer__main .year {
        grid-column: 1 / 2;
        font-size: 185px;
    }
    .footer__links > div * {
        width: min-content;
        text-align: center;
    }
    /* Home */
    .home__banner h1 {
        margin: 0;
        font-size: 3em;
    }
    .home__banner h2 {
        font-size: 2.15em;
    }
    .home__banner > div:last-child {
        grid-template-rows: auto 50vh;
        padding: 0 1.5rem;
    }
    .home__services div {
        width: 195px;
        font-size: 1.5em;
    }
    .home__services div:nth-child(1):hover,
    .home__services div:nth-child(3):hover {
        translate: 0 -7px;
        rotate: -3deg;
    }
    .home__services div:nth-child(2):hover,
    .home__services div:nth-child(4):hover {
        translate: 0 -7px;
        rotate: 3deg;
    }
    .home section:not(.contact):not(.home__banner) {
        grid-template-columns: 1fr;
        row-gap: 6rem;
        padding: 6rem 0 10rem 0;
    }
    .home section p {
        font-size: 1.8em;
    }
    .home section > p {
        padding: 0 4rem;
    }
    .home section img {
        grid-row: 2 / 3;
    }
    .home section img.vertical {
        width: min(65%, 290px);
    }
    .home__cont {
        padding: 0 2rem;
    }
    .home__cont-btns {
        margin-top: 4rem;
    }
    /* Property Management */
    .pro-man__intro {
        grid-template-rows: 38% 30% 32%;
    }
    .pro-man__title {
        grid-template-columns: 1fr;
    }
    .pro-man__title h1 {
        justify-self: start;
        margin: 1.5rem 0 0 0;
    }
    .pro-man__title img {
        align-self: start;
        justify-self: end;
        padding-right: 2rem;
        width: 250px;
    }
    .pro-man__standard {
        padding: 25vh 2.5rem 0 2.5rem;
    }
    .pro-man__intro > img {
        left: 20%;
    }
    .pro-man__services h2 {
        font-size: 2.9em;
    }
    .pro-man__frames div {
        width: 150px;
    }
    .pro-man__frames p {
        font-size: 1.15em;
    }
    .pro-man__frames i {
        font-size: 2.1em;
    }
    .pro-man__frames div:hover:nth-child(1),
    .pro-man__frames div:hover:nth-child(3) {
        translate: 0 -7px;
        rotate: -3deg;
    }
    .pro-man__frames div:hover:nth-child(2),
    .pro-man__frames div:hover:nth-child(4) {
        translate: 0 -7px;
        rotate: 3deg;
    }
    .pro-man__frames div:hover:nth-child(5) {
        translate: 0 -16px;
        rotate: 0deg;
    }
    /* Transportation */
    .transport__intro {
        grid-template-columns: 1fr;
        grid-template-rows: 150px auto 190px 33vh;
        padding-top: 130px;
    }
    .transport__title {
        grid-column: 1 / 2;
        grid-row: 1 / 4;
        height: 100%;
        justify-content: space-between;
    }
    .transport__title h1 {
        font-size: 3.6em;
    }
    .transport__title img {
        width: unset;
        height: 210px;
    }
    .transport__serv {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
        margin: 4rem 0 0 0;
        padding: 6rem 2rem 6rem 2rem;
        width: 70%;
        font-size: 1.6em;
    }
    .transport__journey {
        grid-column: 1 / 2;
        grid-row: 4 / 5;
        width: 75%;
        font-size: 1.6em;
    }
    .transport__opt {
        padding: 8rem 1.5rem;
    }
    .transport__frames > div {
        justify-content: center;
        gap: 1rem;
        width: 185px;
    }
    .transport__frames p {
        font-size: 1.15em;
    }
    .transport__exp h2 {
        font-size: 2.3em;
    }
    .transport__exp h3 {
        font-size: 1.8em;
    }
    /* Experiences */
    .exp__intro {
        justify-content: space-between;
    }
    .exp__intro h1 {
        font-size: 3em;
    }
    .exp__desc h3 {
        font-size: 1.8em;
    }
    .exp__gourmet {
        padding: 8rem 3rem;
    }
    .exp__gourmet h2 {
        font-size: 2.8em;
    }
    .exp__gourmet > div {
        justify-content: center;
    }
    .exp__gourmet p {
        max-width: unset;
        text-align: center;
        font-size: 1.8em;
    }
    .exp__gourmet-gallery {
        margin-left: 0;
    }
    .exp__legal h2 {
        font-size: 2.8em;
    }
    .exp__legal p {
        font-size: 1.8em;
    }
    .exp__adventure {
        align-items: center;
        padding: 8rem 3rem;
    }
    .exp__adventure h2 {
        font-size: 2.8em;
    }
    .exp__adventure > div {
        justify-content: center;
    }
    .exp__adventure p {
        text-align: center;
        font-size: 1.8em;
    }
    .exp__adv-gallery {
        max-width: 450px;
    }
    .exp__adv-service {
        align-items: center;
        margin: 0 auto;
    }
    .exp__enhance {
        font-size: 1.8em;
    }
    /* Real State */
    .real-state h1 {
        font-size: 2.8em;
    }
    /* Property Detail */
    section.property-detail {
        grid-template-columns: 1fr;
    }
    .property-detail > button {
        grid-column: 1 / 2;
    }
    .pd__details-frame {
        margin-bottom: 5rem;
        height: calc(100vh - 95px - 7rem);
    }
    .pd__details-frame > i {
        display: inline;
    }
    #music-btn.prop-detail {
        top: 30px;
        right: 120px;
        height: 60px;

    }
    /* Gallery */
    .gallery {
        padding: 3rem 1rem;
    }
    .gallery__nav-btn {
        width: 32px;
    }
    .gallery__thumbs {
        margin: 0 1rem;
        width: calc(100% - 2rem);
    }
    /* Thanks */
    .thanks {
        padding: 3rem 3rem 5rem 3rem;
    }
    .thanks h1 {
        font-size: 3.5em;
    }
    .thanks h2 {
        font-size: 1.8em;
    }
    /* 404 */
    .error-404 {
        padding: 2rem;
    }
    .error__frame {
        grid-template-columns: 1fr;
        grid-template-rows: auto 150px;
        height: calc(100vh - 4rem);
    }
    .error__frame img {
        justify-self: end;
        width: unset;
        height: 100%;
        translate: 1rem 1rem;
    }
    .error__info {
        padding: 3rem 2rem;
    }
    .error__info h2 {
        font-size: 1.8em;
    }
    .error__info div:last-child {
        margin-top: 0.5rem;
    }
    .error__info-title h1 {
        font-size: 6em;
        line-height: 1em;
    }
    /* Music */
    #music-btn:disabled {
        opacity: 0;
    }
    .music__pop-up {
        grid-template-columns: 1fr;
        /* gap: 1rem; */
        right: 30px;
        max-width: 250px;
        translate: 0;
    }
    .music__pop-up p {
        grid-column: 1 / 2;
    }
    .music__pop-up button:nth-child(2) {
        margin-top: 0.4rem;
    }
}

@media screen and (max-width: 480px) {
    /* Contact */
    .contact {
        padding: 3rem 1.5rem;
    }
    .contact.rs {
        padding: calc(3rem + 110px) 1.5rem 3rem 1.5rem;
    }
    /* Footer */
    footer {
        grid-template-rows: 70px auto min-content;
        min-height: 80vh;
    }
    .footer__main {
        grid-template-rows: 100px auto 110px;
    }
    .footer__main i {
        font-size: 26px;
    }
    .footer__main .year {
        font-size: 140px;
    }
    .footer__links {
        flex-direction: column;
        padding: 2rem 0 0 0;
    }
    .footer__links > div * {
        width: unset;
        text-align: unset;
    }
    .atlantian > img:nth-child(2) {
        display: none;
    }
    .atlantian > img:last-child {
        display: block;
        width: 100%;
        height: unset;
    }
    /* Home */
    .home__banner h1 {
        font-size: 2.7em;
    }
    .home__banner > div:first-child {
        padding: 6rem 1.5rem;
    }
    .home section p {
        line-height: 40px;
    }
    .home__services div {
        width: 150px;
        font-size: 1.2em;
    }
    .home__services i {
        font-size: 32px;
    }
    /* Property Management */
    .pro-man__intro > img {
        left: 3rem;
        width: 300px;
    }
    .pro-man__services {
        padding: 25vh 1.5rem 6rem 1.5rem;
    }
    .pro-man__frames div:hover:nth-child(5) {
        translate: 0 -7px;
        rotate: -3deg;
    }
    /* Transport */
    .transport__intro {
        grid-template-rows: 115px auto 170px 40vh;
    }
    .transport__title h1 {
        font-size: 3.1em;
    }
    .transport__title img {
        height: 190px;
    }
    .transport__journey {
        left: 8%;
        padding: 8rem 2rem 6rem 2rem;
    }
    .transport__opt {
        gap: 6rem;
    }
    .transport__opt h2 {
        font-size: 2.7em;
    }
    .transport__frames > div {
        padding: 0 1rem 1rem 1rem;
        width: 140px;
    }
    .transport__frames p {
        font-size: 1em;
    }
    .transport__frames i {
        font-size: 1.6em;
    }
    .transport__frames .pop-over {
        gap: 0.8rem;
    }
    section.transport__exp {
        gap: 10rem;
        padding: 8rem 2rem;
        min-height: unset;
    }
    /* Experiences */
    .exp__intro {
        padding: 3rem 1.5rem;
    }
    .exp__intro h1 {
        font-size: 2.8em;
    }
    .exp__desc {
        justify-content: space-around;
        padding: 0 1.8rem;
    }
    .exp__gourmet-cont {
        padding: 0 1rem;
    }
    .exp__gourmet {
        padding: 6rem 1.5rem 8rem 1.5rem;
    }
    .exp__adv-cont {
        padding: 0 1rem;
    }
    .exp__adventure {
        justify-content: start;
        padding: 6rem 1.5rem 8rem 1.5rem;
        min-height: unset;
    }
    .exp__adventure > div {
        justify-content: space-between;
    }
    /* Real State */
    .real-state {
        padding: 16vh 1.5rem 0 1.5rem;
    }
    /* Gallery */
    .gallery {
        grid-template-columns: 50px 1fr 50px;
    }
    .gallery__viewer {
        grid-column: 1 / 4;
        grid-row: 2 / 3;
        padding: 0 1rem;
        overflow: hidden;
    }
    .gallery__main-swiper {
        overflow: hidden;
        width: 99%;
    }
    #gallery-nav-prev {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
    }
    #gallery-nav-next {
        grid-column: 3 / 4;
        grid-row: 3 / 4;
    }
    .gallery__thumbs {
        grid-column: 2 / 3;
        grid-row: 3 / 4;
        margin: 0;
        width: 100%;
    }
    /* Presentation card */
    .card__cont {
        padding: 0;
    }
    .card {
        border-radius: 0;
    }
    /* Thanks */
    .thanks {
        padding: 3rem 1.5rem;
    }
    .thanks h1 {
        font-size: 3.5em;
    }
    .thanks h2 {
        font-size: 1.8em;
    }
    .thanks a {
        height: 50px;
        gap: 1rem;
    }
    /* Music */
    .music__pop-up {
        padding: 0.8rem 1rem;
        width: calc(100vw - 155px);
    }
}

/* IPhone SE */
@media screen and (max-width: 376px) and (max-height: 668px) {
    /* Footer */
    footer {
        min-height: 100vh;
    }
    /* Property Management */
    .pro-man__title h1 {
        padding-left: 1.5rem;
        font-size: 2.8em;
    }
    .pro-man__title img {
        width: 230px;
    }
    .pro-man__standard {
        padding: 20vh 2.5rem 0 2.5rem;
        font-size: 1.8em;
    }
    .pro-man__investment {
        padding: 16vh 3rem 0 3rem;
        font-size: 1.8em;
    }
    .pro-man__services {
        padding: 40vh 3rem 6rem 3rem;
    }
    .pro-man__services h2 {
        font-size: 2.5em;
    }
    .pro-man__services h3 {
        font-size: 1.6em;
    }
    /* Transportation */
    .transport__intro {
        grid-template-rows: 115px auto 170px 50vh;
    }
    .transport__journey {
        left: 5%;
        width: 75%;
    }
    /* Thanks */
    .thanks h1 {
        font-size: 2.8em;
    }
    /* 404 */
    .error__frame {
        grid-template-rows: auto 130px;
    }
    .error__info {
        padding: 1.5rem;
    }
}


/* ------------------------------------Animations------------------------------------ */

nav.appear,
#nav-btn.appear,
.music__license.appear {
    animation: fade-in 0.3s ease;
}

nav.disappear,
#nav-btn.disappear,
.preloader.disappear,
.music__pop-up.disappear,
.music__license.disappear {
    animation: fade-out 0.3s ease forwards;
}

.gallery.appear {
    animation: fade-in 0.4s ease;
}
.gallery.disappear {
    animation: fade-out 0.4s ease;
}

@keyframes fade-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}
@keyframes fade-out {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes scrolling {
    0% {
        translate: 0;
    }

    100% {
        translate: var(--marquee-width);
    }
}

@keyframes translate-appear {
    0% {
        top: 1rem;
        opacity: 0;
    }

    100% {
        top: 2rem;
        opacity: 1;
    }
}

/* Site Preloader */

@keyframes logo {
    0% {
        opacity: 1;
        rotate: 10deg;
        translate: 0;
    }
    9.187% {
        translate: 0 -12%;
    }
    10.857% {
        translate: 0 -13%;
    }
    17.121% {
        rotate: -7deg;
    }
    18.791% {
        rotate: -9deg;
    }
    20.044% {
        translate: 0 6%;
    }
    21.714% {
        translate: 0 8%;
    }
    25.89% {
        rotate: 10deg;
        translate: 0; 
    }
    31.319% {
        opacity: 1;
    }
    41.758% {
        opacity: 0;
        rotate: 80deg;
        translate: 0 -90%;
    }
    42%, 95% {
        opacity: 0;
        rotate: 10deg;
        translate: 0;

    }
    100% {
        opacity: 1;
        rotate: 10deg;
        translate: 0;
    }
}

@keyframes riviera {
    0% {
        opacity: 0;
        translate: 65%;
    }
    8.462% {
        opacity: 0.8;
        translate: 20%;
    }
    15.385%, 27.692% {
        opacity: 1;
        translate: 0;
    }
    38.462%, 100% {
        opacity: 0;
        translate: 0;
    }
}

@keyframes kolibri {
    0% {
        opacity: 0;
        translate: 65%;
    }
    8.462% {
        opacity: 0.8;
        translate: 20%;
    }
    15.385%, 27.692% {
        opacity: 1;
        translate: 0;
    }
    38.462%, 100% {
        opacity: 0;
        translate: -40%;
    }
}


/* @keyframes logo {
    0% {
        opacity: 1;
        rotate: 10deg;
        translate: 0;
    }
    22% {
        translate: 0 -12%;
    }
    26% {
        translate: 0 -13%;
    }
    41% {
        rotate: -7deg;
    }
    45% {
        rotate: -9deg;
    }
    48% {
        translate: 0 6%;
    }
    52% {
        translate: 0 8%;
    }
    62% {
        rotate: 10deg;
        translate: 0; 
    }
    75% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        rotate: 80deg;
        translate: 0 -90%;
    }
}

@keyframes riviera {
    0% {
        opacity: 0;
        translate: 65%;
    }
    22% {
        opacity: 0.8;
        translate: 20%;
    }
    40%, 72% {
        opacity: 1;
        translate: 0;
    }
    100% {
        opacity: 0;
        translate: 0;
    }
}

@keyframes kolibri {
    0% {
        opacity: 0;
        translate: 65%;
    }
    22% {
        opacity: 0.8;
        translate: 20%;
    }
    40%, 72% {
        opacity: 1;
        translate: 0;
    }
    100% {
        opacity: 0;
        translate: -40%;
    }
} */