body {
    font-family: 'Poppins', 'sans-serif';
}

.scrollable {
    overflow: scroll !important;
}

.services {
    font-size: 17px;
    font-weight: 300;
    text-align: left;
    color: #fff;
}

button.contact-us {
    width: auto;
    padding: 16px 24px;
    border: solid 1px #fff;
    font-size: 15px;
    font-weight: 300;
    color: #fff;
    background-color: transparent;
}

.navbar-ramallo {
    z-index: 10;
    width: 100%;
    position: fixed;
    padding: 22px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: rgb(4 4 4 / 40%);
}

.first-section video {
    position: absolute;
    object-fit: cover;
    top: 0;
    left: 0;
    z-index: -100;
    width: 100%;
    height: 100%;
}

.first-section {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.navbar-ramallo img {
    height: 75px;
}

.switch-mode img {
    width: 32px;
}

.switch-mode {
    margin-right: 16px;
    cursor: pointer;
}

.light-mode .switch-mode img:first-child {
    display: none;
}

.night-mode .switch-mode img:nth-child(2) {
    display: none;
}

.night-light {
    display: flex;
    align-items: center;
    gap: 16px;
}

.important-title {
    font-size: 75px;
    font-weight: 200;
    letter-spacing: 1.92px;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    font-family: 'Roboto', 'sans-serif';
    z-index: 9;
    position: relative;
}

.arrow-animation {
    width: 36px;
    height: 56px;
    padding: 15px 5px;
    border-radius: 50px;
    border: solid 1px #fff;
    animation: jumpInfinite 1.5s infinite;
}

a .arrow-animation {
    position: absolute;
    left: calc(50% - 14px);
    transform: translateY(-110px);
}

@keyframes jumpInfinite {
    0% {
        margin-top: 0;
    }

    50% {
        margin-top: 20px;
    }

    100% {
        margin-top: 0;
    }
}

.services-click {
    min-width: 142px;
    font-size: 28px;
    line-height: 1;
    font-weight: 200;
    text-align: left;
    color: #fff;
    text-transform: uppercase;
}

.card-link+.card-link {
    margin-left: 0;
}

.services-click:hover {
    text-decoration: underline;
}

.infinite-slide {
    display: flex;
    justify-content: center;
    gap: 60px;
    position: relative;
    padding-bottom: 40px;
    overflow-x: auto;
    padding-left: 145px;
    z-index: 9;
}

.second-section {
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("img/bg-2.webp");
}

.third-section {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-image: url("img/third-bg.webp");
}

.blue-text {
    font-family: "Playfair Display", serif;
    font-size: 40px;
    letter-spacing: 0.96px;
    text-align: left;
    color: #23a4cf;
    text-transform: uppercase;
}

.flex-logo-title {
    display: flex;
    gap: 43px;
    align-items: center;
}

.learn-more {
    font-family: "Playfair Display", serif;
    font-size: 20px;
    font-style: italic;
    line-height: 1.4;
    letter-spacing: 0.4px;
    text-align: left;
    color: #fff;
}

.pad-third-section .buy-spain {
    line-height: 1.3;
}

.small-text {
    font-family: 'Poppins', 'sans-serif';
    font-size: 15px;
    font-weight: 300;
    line-height: 1.87;
    letter-spacing: 0.3px;
    text-align: left;
    color: #fff;
    max-width: 430px;
    margin-bottom: 48px;
    margin-top: 32px;
}

button.blue-btn {
    min-width: 300px;
    max-width: 300px;
    width: auto;
    padding: 16px 0;
    background-color: #01779f;
    font-size: 15px;
    font-weight: 300;
    color: #fff;
    border: 1px solid #01779f;
    text-align: center;
}

.bottom-flex-btn {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

button.learn-btn {
    background-color: transparent;
    border: 0;
    display: flex;
    gap: 16px;
}

.second-cnt-pad {
    padding: 98px 0;
    align-items: center;
    display: flex;
    flex-direction: column;
}

.max-blue {
    max-width: 840px;
}

.buy-spain {
    font-size: 40px;
    font-weight: 200;
    letter-spacing: 0.96px;
    text-align: left;
    color: #fff;
    max-width: 230px;
    text-transform: uppercase;
}

.buy-sell-flex {
    display: flex;
    flex-direction: column;
    gap: 72px;
}

.pad-third-section {
    padding: 98px 0 94px;
    display: flex;
    justify-content: space-between;
}

.section-title-text {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.blue-title-small {
    font-family: 'Poppins', 'sans-serif';
    font-size: 20px;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: 0.4px;
    text-align: left;
    color: #23a4cf;
    text-transform: uppercase;
}

.form-btns {
    display: grid;
    gap: 44px 100px;
    grid-template-columns: 2fr 2fr;
}

.btns-cnt-third {
    display: flex;
    gap: 16px;
    margin-top: 72px;
}

.litigation {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url("img/litigation.webp");
}

.left-litigation {
    display: flex;
    flex-direction: column;
}

.litigation .buy-spain {
    margin-bottom: 48px;
    max-width: unset;
}

.medium-blue-title {
    font-weight: 200;
    font-size: 32px;
    letter-spacing: 0.64px;
    text-align: left;
    color: #23a4cf;
    margin-bottom: 74px;
    text-transform: uppercase;
}

.pad-litigation {
    padding: 98px 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.contracts {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("img/contract.webp");
}

.contracts-flex {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.flex-contract {
    display: flex;
    flex-direction: column;
    gap: 63px;
}

.space-contract {
    display: flex;
    justify-content: space-between;
}

.pad-contracts {
    padding: 98px 0;
    max-width: 690px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: auto;
}

.pad-contracts .small-text.m-0 {
    max-width: 360px;
}

.residence {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("img/residence.webp");
}

.light-mode .residence {
    background-image: url("img/light-residence.png");
}

.companies {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("img/companies.webp");
}

.light-mode .companies {
    background-image: url("img/light-companies.png");
}

.tax-duties {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("img/tax_duties_bg.webp");
}

.light-mode .tax-duties {
    background-image: url("img/light-tax.png");
}

.litigation.accidents {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("img/accidents.webp");
}

.light-mode .litigation.accidents {
    background-image: url("img/light-accidents.png");
}

.the-office {
    background-color: #121212;
}

.card-flex {
    display: flex;
    justify-content: center;
}

.second-office .card-flex {
    background-color: #181818;
    gap: 98px;
}

.satin-cover {
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("img/shape.webp");
    padding: 62px 64px;
    height: 100%;
}

.office-title {
    font-weight: 200;
    font-size: 48px;
    letter-spacing: 0.96px;
    text-align: left;
    color: #fff;
    text-transform: uppercase;
}

.office-desc {
    font-family: "Playfair Display", serif;
    font-size: 32px;
    letter-spacing: 0.64px;
    text-align: left;
    color: #fff;
    text-transform: uppercase;
    padding: 48px 0;
}

.list-contact {
    display: flex;
    gap: 55px;
}

img.paint-contact {
    max-width: 583px;
    height: auto;
}

.the-office li,
.footer-area li,
.last-part-menu li {
    font-size: 18px;
    font-weight: 300;
    line-height: 2.44;
    letter-spacing: 0.36px;
    text-align: left;
    color: #fff;
    min-width: 222px;
}

.the-office li:hover,
.last-middle-footer li:hover {
    text-decoration: underline;
}

li.li-title:hover {
    text-decoration: unset !important;
}

li.label-offices:hover {
    text-decoration: unset !important;
}

ul {
    list-style-type: none;
    padding-left: 0;
    width: 222px;
}

.blue-bg {
    background-color: #23a4cf;
    /*width: 100%;*/
}

button.white-btn-request {
    padding: 16px 32px;
    background-color: #fff;
    font-size: 18px;
    font-weight: 300;
    text-align: left;
    color: #01779f;
    border: 1px solid #fff;
    margin-top: 65px;
}

.area-last-footer {
    padding: 64px 88px 0 88px;
    display: flex;
    flex-direction: column;
    background-color: #1c1c1c;
}

.footer-left-logo {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.media-section {
    display: flex;
    gap: 32px;
}

.footer-left-logo img {
    max-width: 105px;
}

.footer-left-logo .medium-blue-title {
    max-width: 250px;
}

.accidents .medium-blue-title {
    max-width: 556px !important;
}

.flex-ul-part {
    display: flex;
    gap: 95px;
    padding-bottom: 32px;
    border-bottom: 1px solid #01779f;
}

.top-padding-footer {
    padding-top: 44px;
}

.last-middle-footer ul {
    width: 400px;
}

.second-middle-footer ul {
    width: 130px;
}

.footer-right-part ul {
    margin-bottom: 0;
}

li.li-title {
    color: #a5a5a5;
}

.flex-services {
    display: flex;
    padding-top: 100px;
}

.pg {
    font-size: 15px;
    font-weight: 300;
    line-height: 2.93;
    letter-spacing: 0.3px;
    text-align: left;
    color: #a5a5a5;
}

.border-flex {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #01779f;
    padding-top: 32px;
    margin-top: 94px;
    width: 100%;
    align-items: center;
    margin-bottom: 32px;
}

.only-mobile {
    display: none;
}

.flex-last-part {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 80px;
}

.border-flex img {
    height: 70px;
}

.flex-last-part img.rr,
.flex-last-part img.rrr {
    height: 180px;
}

.section-footer {
    display: flex;
    justify-content: space-between;
}

.space-main-section {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: calc(100vh - 240px);
}

.mode {
    overflow: hidden;
}

.litigation .medium-blue-title {
    max-width: 425px;
}

.space-cnt-logo {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.inline-svg {
    display: block;
    margin: 0 auto 8px;
    width: 39px;
    height: 39px;
}

.desktop-menu-icon .svg-menu-toggle {
    fill: #fff;
    pointer-events: all;
    cursor: pointer;
}

.desktop-menu-icon .svg-menu-toggle .bar {
    transform: rotate(0) translateY(0) translateX(0);
    opacity: 1;
    transform-origin: 20px 10px;
    transition: transform 0.4s ease-in-out, opacity 0.2s ease-in-out;
}

.desktop-menu-icon .svg-menu-toggle .bar:nth-of-type(1) {
    transform-origin: 20px 10px;
}

.desktop-menu-icon .svg-menu-toggle .bar:nth-of-type(3) {
    transform-origin: 20px 20px;
}

.desktop-menu-icon.active .svg-menu-toggle .bar:nth-of-type(1) {
    transform: rotate(-45deg) translateY(0) translateX(0);
}

.desktop-menu-icon.active .svg-menu-toggle .bar:nth-of-type(2) {
    opacity: 0;
}

.desktop-menu-icon.active .svg-menu-toggle .bar:nth-of-type(3) {
    transform: rotate(45deg) translateY(0em) translateX(0em);
}

.menu-collapse-full {
    background-color: #171717;
    width: 100%;
    height: 100vh;
    z-index: 9999;
    overflow: scroll;
    position: fixed;
    transition: background-color 250ms;
}

.services-links {
    display: flex;
    flex-direction: column;
}

button.blue-btn:hover {
    background-color: transparent;
    color: #fff;
    border: 1px solid #fff;
}

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

.flex-images-menu {
    display: flex;
    justify-content: space-between;
}

.flex-menu-collapse {
    display: none;

}

.menu-resp {
    display: flex;
    justify-content: space-between;
    padding: 120px 88px;
}

.menu-collapse.menu-collapse-full .navbar-ramallo {
    background-color: unset;
}

.block-images-menu {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.images-menu {
    gap: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

button.contact-us:hover {
    background-color: #01779f;
    border: 1px solid #01779f;
}

.services-links a li {
    line-height: 1;
    font-size: 22px;
    font-weight: 200;
    letter-spacing: 4px;
    text-align: left;
    color: #fff;
    text-transform: uppercase;
    padding-bottom: 22px;
    cursor: pointer;
    transition: padding-left 0.3s ease;
}

.title-li {
    font-family: 'Poppins', 'sans-serif';
    font-size: 18px;
    font-weight: 300;
    text-align: left;
    color: #a5a5a5;
    margin-bottom: 16px;
}

.border-blue {
    border-bottom: 1px solid #01779f;
    padding-bottom: 18px;
    margin-bottom: 40px;
}

.last-part-menu {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.blue-btn-menu {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.last-part-menu button.blue-btn {
    max-width: unset;
}

.menu-element select {
    border: 0;
    background-color: transparent;
}

.language select {
    font-family: "Playfair Display", serif;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0.52px;
    text-align: left;
    color: #fff;
    text-transform: uppercase;
    padding-right: 27px;
    cursor: pointer;
}

.language {
    display: flex;
    align-items: center;
    gap: 10px;
}

.line {
    position: absolute;
    top: 22%;
    left: 0;
    width: 0;
    height: 3px;
    background-color: #01779f;
    transition: width 0.35s ease, left 0.35s ease;
}

.services-links a:hover .line {
    width: 70px;
}

.services-links li:not(.title-li):hover {
    padding-left: 80px;
}

.services-links a {
    position: relative;
}

a:hover {
    text-decoration: unset;
}

.light-mode button.white-btn-request:hover {
    background-color: #fff;
    color: #a67b5b;
}

.light-mode button.contact-us:hover {
    background-color: #fff;
    color: #a67b5b;
    border: 1px solid #a67b5b;
}

.light-mode button.blue-btn:hover {
    background-color: #fff;
    color: #a67b5b;
    border: 1px solid #a67b5b;
}

.light-mode button.contact-us:not(.navbar-ramallo button.contact-us) {
    background-color: #fff;
    color: #a67b5b;
    border: 1px solid #a67b5b;
}

.language img {
    width: 24px;
    height: 24px;
}

/*BUY&SALE PAGE*/

.sale-title {
    font-weight: 200;
    font-size: 96px;
    line-height: 1.04;
    letter-spacing: 1.92px;
    text-align: left;
    color: #fff;
}

.buy-sale .first-section {
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("img/buy-bg.webp");
}

.space-main-section-buy {
    padding: 164px 0 165px;
    display: flex;
    flex-direction: column;
    gap: 48px;
    align-items: flex-end;
}

.space-main-section-buy .sale-title {
    max-width: 635px;
}

.space-main-section-buy button.blue-btn,
.space-main-section-buy button.contact-us {
    width: 355px;
    max-width: unset;
}

.buy-sale .pad-third-section {
    padding: 98px 0 0;
    display: flex;
    flex-direction: column;
}

.buy-sale .buy-spain {
    max-width: unset;
    padding-bottom: 98px;
}

.buy-sale .third-section {
    position: relative;
    background-image: url("img/bg-buy-3.png");
}

.buy-sale .card-images-flow img {
    max-width: 370px;
    height: 295px;
}

.card-images-flow {
    display: flex;
    flex-direction: column;
    position: absolute;
    right: 0;
}

.buy-images-office {
    display: flex;
    justify-content: space-between;
}

.buy-images-office .small-text {
    max-width: 340px;
}

.slim-images {
    display: flex;
    gap: 24px;
}

.chair-back .buy-spain {
    max-width: 437px;
    padding-bottom: 48px;
}

.slim-images img {
    max-width: 290px;
}

.details-section {
    display: flex;
}

.chair-back {
    margin-top: -2px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("img/bg-chair.webp");
}

.buy-sale label {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.87;
    letter-spacing: 0.3px;
    text-align: left;
    color: #fff;
    margin-bottom: 6px;
}

.buy-sale form {
    display: flex;
    flex-direction: column;
}

.buy-sale .satin-cover input {
    width: 100%;
    height: 60px;
    margin-bottom: 24px;
    padding: 16px;
    backdrop-filter: blur(20px);
    border: solid 1px #5c9cb0;
    background-color: #2b80a2;
    color: #fff;
}

input:focus-visible {
    outline: unset;
}

.buy-sale .satin-cover input::placeholder {
    color: #fff;
    font-size: 15px;
    font-weight: 300;
}

.buy-sale .office-title {
    width: 460px;
}

.the-office.second-office {
    padding: 98px;
}

.right-breakdown {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 98px 98px 98px 0;
}

.second-office .satin-cover {
    min-width: 500px;
    padding: 48px;
}

.second-office button.white-btn-request {
    width: 100% !important;
    text-align: center;
    color: #fff;
    background-color: #01779f;
    margin-top: 20px;
}

.bg-blur {
    border: 1px solid #5c9cb0;
    padding: 24px;
    backdrop-filter: blur(10px);
}

/*CONTACT US PAGE*/

.contact-page .first-section {
    background-image: linear-gradient(to bottom, #313131 0%, #161616 100%);
}

.contact-page.light-mode .first-section {
    background-color: #967054;
    background-image: unset;
}

.light-mode .contact-section-cnt {
    background-color: #fff8e7;
}

.contact-page .contact-title {
    font-size: 80px;
    font-weight: 200;
    line-height: 1.04;
    letter-spacing: 1.92px;
    color: #fff;
    text-transform: uppercase;
}

.contact-page .small-desc {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.87;
    letter-spacing: 0.3px;
    color: #fff;
    margin-top: 24px;
    margin-bottom: 47px;
}

.contact-section-cnt {
    display: flex;
    background-color: #2d2d2d;
}

.form-cnt {
    display: flex;
}

.cnt-contact label {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.87;
    letter-spacing: 0.3px;
    text-align: left;
    color: #fff;
}

.cnt-contact {
    padding: 145px 0 98px 0;
}

#map {
    width: 489px;
    height: 775px;
}

#map2 {
    width: 1000px;
    height: 699px;
}

.light-mode .cnt-contact input,
.light-mode .cnt-contact select,
.light-mode .cnt-contact textarea {
    border: 1px solid #a8a399;
    background-color: transparent;
}

.form-details {
    padding: 48px;
    width: 100%;
}

.cnt-contact input,
.cnt-contact select,
.cnt-contact textarea {
    border: 1px solid #79797a;
    border-radius: 0;
    background-color: #353535;
    font-size: 15px;
    font-weight: 300;
    line-height: 1.87;
    letter-spacing: 0.3px;
    text-align: left;
    color: #fff;
    padding: 16px;
    width: 100%;
    height: 60px;
}

.cnt-contact input::placeholder,
.cnt-contact textarea::placeholder {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.87;
    letter-spacing: 0.3px;
    text-align: left;
    color: #fff;
}

.light-mode .cnt-contact input::placeholder,
.light-mode .cnt-contact textarea::placeholder,
.light-mode .cnt-contact select {
    color: #000;
}

select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url('img/icon-fa-angle-down-white.svg');
    background-repeat: no-repeat;
    background-position: right center;
}

.light-mode .contact-section-cnt select {
    background-image: url('img/icon-fa-angle-down.svg');
}

.light-mode .cnt-contact label {
    color: #000;
}

.cnt-contact textarea {
    min-height: 240px;
    margin-bottom: 22px;
}

.cnt-contact button.blue-btn {
    min-width: 250px;
}

.form-cnt {
    margin-bottom: 23px;
    gap: 20px;
}

.light-mode .menu-collapse-full {
    background-color: #a57b5d;
}

.light-mode .last-part-menu button.blue-btn {
    background-color: #fff;
    color: #a57b5d;
}

.light-mode .border-blue {
    border-bottom: 1px solid #b8977f;
}

.light-mode li.li-title,
.light-mode .title-li {
    color: #fff;
}

.light-mode .line {
    background-color: #fff;
}

.buy-sale.light-mode .first-section {
    background-image: url('img/light-buy.webp') !important;
}

.buy-sale.light-mode .first-section button.blue-btn {
    background-color: #fff;
    color: #a57b5d;
    border: 1px solid #fff;
}

.light-mode button.blue-btn {
    background-color: #a67b5b;
    color: #fff;
    border: 1px solid #a67b5b;
}

.light-mode .area-last-footer {
    background-color: #a67b5b;
}

.buy-sale.light-mode .third-section {
    background-image: url("img/bg-light-buy-2.png");
}

.light-mode .third-section {
    background-image: url("img/sculpture-light-mode.webp");
}

.buy-sale.light-mode .buy-spain,
.light-mode .blue-title-small,
.buy-sale.light-mode .second-office .office-title {
    color: #a67b5b !important;
}

.light-mode .blue-text,
.light-mode .learn-more {
    color: #a67b5b !important;
}

.light-mode .small-text {
    color: #000;
}

.buy-sale.light-mode .first-section .small-text {
    color: #fff;
}

.buy-sale.light-mode .chair-back {
    background-image: url(img/chair-light.png);
    border-top: 1px solid #a57b5b;
    margin-top: 0;
}

.light-mode .the-office {
    background-color: #f5f5dc;
}

.buy-sale.light-mode .second-office .card-flex {
    background-color: #fff8e7;
}

.footer-area {
    padding: 45px 0;
    background-color: #121212;
}

.light-mode .footer-area {
    background-color: #f5f5dc;
}

.light-mode .blue-bg {
    background-color: #a67b5b;
}

.buy-sale.light-mode .satin-cover input {
    border: solid 1px #a89c93;
    background-color: #816a5d;
}

.light-mode button.white-btn-request {
    background-color: #a67b5b;
    color: #fff;
}

.learn-btn {
    position: relative;
    transition: margin-left 0.4s ease;
}

.learn-btn img {
    position: relative;
}

.learn-btn:hover img {
    margin-left: 10px;
    transition: all ease 0.5s
}

.learn-btn:not(:hover) img {
    margin-left: 0;
    transition-delay: 0.2s;
    transition: all ease 0.5s
}

.light-mode .learn-btn img {
    filter: invert(19%) sepia(20%) saturate(480%) hue-rotate(-11deg) brightness(66%) contrast(110%);
}

.buy-sale.light-mode .bg-blur {
    border: 1px solid #a89c93;
}

.buy-sale.light-mode .contracts {
    background-image: url("img/contracts-light-bg.png");
}

.light-mode .litigation {
    background-image: url("img/litigation-light.png");
}

.light-mode .contracts {
    background-image: url("img/contracts-light.png");
}

.buy-sale.light-mode .medium-blue-title {
    color: #a57b5b;
}

.buy-sale.light-mode .contracts .buy-spain,
.buy-sale.light-mode .third-section .buy-spain,
.buy-spain.light-mode .buy-spain {
    color: #000 !important;
}

.buy-sale.light-mode .column-mile span.number-title {
    color: #000;
}

.buy-sale.light-mode .milestones .buy-spain,
.buy-sale.light-mode span.subtitle,
.buy-sale.light-mode .flex-final-div .buy-spain {
    color: #000 !important;
}

.buy-sale.light-mode .final-completion {
    background-image: url(img/bg-light-buy-2.png);
}

.light-mode .medium-blue-title {
    color: #a67b5b;
}

.light-mode .footer-area .medium-blue-title {
    color: #fff;
}

.buy-sale.light-mode .the-office .office-title {
    color: #fff;
}

.buy-sale.light-mode .the-office button.white-btn-request {
    background-color: #fff;
    color: #a67b5b;
}

.buy-sale.light-mode .footer-area .medium-blue-title {
    color: #fff;
}

.light-mode .pg {
    color: #fff;
}

.light-mode .rrr {
    display: block !important;
}

.light-mode .rr {
    display: none;
}

.light-mode .flex-ul-part {
    border-bottom: 1px solid #b08c6e;
}

.light-mode .border-flex {
    border-top: 1px solid #b08c6e;
}

.light-mode .second-section {
    background-image: url("img/second-section-light.png") !important;
}

#captchaBackground {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    justify-content: space-between;
}

.error-email {
    margin-bottom: 0;
    margin-top: 20px;
    color: red;
}

.error-message {
    color: red;
}

.error-text-title {
    font-family: "Playfair Display", serif;
    font-size: 96px;
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: 1.92px;
    text-align: center;
    color: #fff;
}

.error-page .first-section {
    background-color: #1c1c1c;
}

.error-page .first-section .space-error-section img {
    max-width: 140px;
}

.space-error-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 145px 0 65px;
}

.space-error-section .details-desc {
    max-width: 459px;
    padding: 48px 0;
    font-size: 15px;
    font-weight: 300;
    text-align: center;
    color: #fff;
}

.error-page.light-mode .first-section {
    background-color: #967054;
}

.error-page.light-mode .space-error-section img {
    filter: brightness(0) invert(1);
}

.error-page.light-mode button.blue-btn {
    background-color: #fff;
    color: #a67b5b;
    border: 1px solid #a67b5b;
}

.error-page.light-mode button.blue-btn:hover {
    background-color: #a67b5b;
    color: #fff;
    border: 1px solid #a67b5b;
}

.flex-card-choose {
    display: flex;
    gap: 48px;
    justify-content: center;
    padding: 64px 0;
}

.card-looking {
    min-width: 297px;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    border: solid 1px #2e2e2e;
    background-color: #212121;
    min-height: 360px;
    padding: 107px 45px;
}

.card-looking:hover {
    background-color: #01779f;
    cursor: pointer;
    border: solid 1px #01779f;
}

.card-looking:hover img {
    filter: brightness(0) invert(1);
}

.desc-looking {
    font-size: 20px;
    letter-spacing: 0.4px;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    padding-top: 32px;
}

.new-taxes .table-simulator {
    margin-top: 145px;
}

.looking-title {
    font-size: 90px;
    font-weight: 200;
    line-height: 1.04;
    letter-spacing: 1.92px;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    max-width: 800px;
    margin: auto;
    padding-top: 145px;
}

.message-received .space-error-section .details-desc {
    font-size: 19px;
}

.message-received .error-text-title {
    font-family: "Playfair Display", serif;
    font-size: 65px;
}

.menu-resp .services-links ul {
    width: unset;
    max-width: 371px;
}

.first-step.light-mode .first-section {
    background-color: #f5f5dc;
}

/* ── first-step light-mode adaptations ──────────────────────────────────────── */
.first-step.light-mode .looking-title {
    color: #2a2a2a;
}

.first-step.light-mode .card-looking {
    background-color: #fff;
    border-color: #d4d0c8;
}

.first-step.light-mode .card-looking:hover {
    background-color: #967054;
    border-color: #967054;
}

.first-step.light-mode .card-looking img {
    filter: brightness(0) sepia(1) saturate(2) hue-rotate(340deg) brightness(0.68);
}

.first-step.light-mode .card-looking:hover img {
    filter: brightness(0) invert(1);
}

.first-step.light-mode .desc-looking {
    color: #2a2a2a;
}

.first-step.light-mode .card-looking:hover .desc-looking {
    color: #fff;
}

.first-step.light-mode .back-btn-simulator {
    color: rgba(0, 0, 0, 0.65);
    border-color: rgba(0, 0, 0, 0.25);
}

.first-step.light-mode .back-btn-simulator:hover {
    background: rgba(0, 0, 0, 0.06);
    border-color: rgba(0, 0, 0, 0.45);
    color: #000;
}

.medium-middle-text {
    font-size: 32px;
    letter-spacing: 0.64px;
    color: #fff;
    margin-top: 48px;
}

.italic-text {
    font-size: 20px;
    font-weight: normal;
    font-style: italic;
    line-height: 1.8;
    letter-spacing: 0.4px;
    padding: 35px 0;
    color: #fff;
}

.firmMarbella .chair-back img {
    max-width: 449px;
}

.firmMarbella .chair-back {
    background-color: #1c1c1c;
    background-image: unset;
}

.firmMarbella .pad-litigation {
    align-items: center;
    gap: 100px;
}

.firmMarbella.buy-sale .first-section {
    background-image: unset;
    background-color: #121212;
}

.firm-title {
    font-size: 85px;
    font-weight: 200;
    line-height: 1.04;
    letter-spacing: 1.92px;
    color: #fff;
    text-transform: uppercase;
    text-align: center;
    padding-bottom: 55px;
    padding-top: 160px;
}

.firmMarbella .first-section .the-office {
    background-color: unset;
    padding-top: 0;
}

.firmMarbella .first-section .office-title {
    padding-bottom: 48px;
}

.firmMarbella .first-section .list-contact {
    justify-content: space-between;
    gap: 40px;
}

.firmMarbella .first-section ul {
    list-style-type: none;
    padding-left: 0;
    width: unset;
    max-width: 809px;
}

.firmMarbella .first-section button.white-btn-request {
    margin-top: 56px;
    min-width: 330px;
    text-align: center;
}

.firmMarbella .first-section .li.text-decoration-underline {
    max-width: 305px;
}

.firmMarbella .chair-back .buy-spain {
    max-width: unset;
}

.firmMarbella .card-images-flow {
    position: unset;
}

.firmMarbella .third-section {
    background-image: url('img/marb-third-sec.png');
}

.firmMarbella .buy-images-office {
    gap: 65px;
    padding: 98px 0;
}

.firmMarbella .pad-third-section {
    padding: 0;
}

.firmMarbella .buy-spain {
    padding-bottom: 0;
}

.firmMarbella .blue-title-small {
    text-transform: uppercase;
}

.practice-areas {
    background-color: #01779f;
}

.practice-grid {
    padding: 98px 0 75px;
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto;
}

.flex-practice {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 98px;
}

.subtitle-practice {
    font-family: "Playfair Display", serif;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0.52px;
    text-align: center;
    color: #fff;
    padding-top: 18px;
}

.firmMarbella .chair-back .small-text {
    max-width: unset;
    margin: 0;
}

.desc-practice {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.87;
    letter-spacing: 0.3px;
    text-align: center;
    color: #fff;
    margin-top: 18px;
}

.section-practice {
    display: flex;
    flex-direction: column;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    padding: 48px 50px;
}

.section-practice img {
    max-width: 85px;
}

.section-practice:hover {
    background-color: #5c9cb0;
    cursor: pointer;
    transition: all ease 0.5s;
}

.right-border-special {
    border-right: 1px solid rgba(255, 255, 255, 0.5) !important;
}

.firmMarbella.light-mode .chair-back {
    background-image: unset;
    border-top: unset;
    margin-top: 0;
    background-color: #967054;
}

.firmMarbella.buy-sale.light-mode .first-section {
    background-image: unset !important;
    background-color: #f5f5dc;
}

.firmMarbella.light-mode .chair-back .buy-spain,
.firmMarbella.light-mode .small-text {
    color: #fff !important;
}

.firmMarbella.light-mode .third-section .small-text {
    color: #000 !important;
}

.light-mode .practice-areas {
    background-color: #a67b5b;
}

.light-mode .section-practice:hover {
    background-color: #b68e6f;
}

.firmMarbella.light-mode button.white-btn-request {
    background-color: #fff;
    color: #a67b5b;
}

/*SIMULATOR*/

.space-flex-table {
    display: flex;
    justify-content: space-between;
    padding-bottom: 10px;
}

.table-subtitle {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.87;
    letter-spacing: 0.3px;
    text-align: left;
    color: #fff;
}

.price {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.87;
    letter-spacing: 0.3px;
    text-align: right;
    color: #fff;
}

.blue-btn-menu button.contact-us {
    min-width: 300px;
}

.table-simulator p {
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: 0.4px;
    text-align: left;
    color: #fff;
}

.table-simulator h4 {
    font-family: "Playfair Display", serif;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0.52px;
    text-align: left;
    color: #fff;
    padding: 24px;
    text-transform: uppercase;
    border-bottom: 1px solid #2e2e2e;
    margin: 0;
}

.body-table-sim {
    padding: 24px;
}

.table-simulator-page .firm-title {
    padding-bottom: 48px;
}

.space-flex-table.blue-total {
    background-color: #01779f;
    padding: 16px;
}

.table-simulator {
    width: 514px;
    border: solid 1px #2e2e2e;
    background-color: #212121;
    margin: auto;
}

.language select:focus-visible {
    outline: unset;
}

.firmMarbella .menu-collapse .last-part-menu ul {
    width: 222px;
}

.table-mortgage {
    background-color: #1c1c1c;
    padding: 24px;
    position: relative;
}

.flex-table-part {
    display: flex;
    gap: 24px;
}

.left-table-part form {
    min-width: 395px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 24px;
    border: solid 1px #2e2e2e;
    background-color: #212121;
}

label.white-text-titles {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.87;
    letter-spacing: 0.3px;
    text-align: left;
    color: #fff;
}

.flex-table-part input {
    height: 59px;
    padding: 15px 80px 15px 16px;
    border: solid 1px #2c2c2c;
    background-color: #1b1b1b;
    color: #fff;
    font-size: 15px;
    font-weight: 300;
}

.flex-table-part input::placeholder {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.87;
    letter-spacing: 0.3px;
    text-align: left;
    color: #fff;
}

span.input-position {
    position: absolute;
    right: 16px;
    bottom: 16px;
    color: #7b7b7b;
    font-size: 15px;
    font-weight: 300;
    font-family: 'Poppins', 'sans-serif';
}

.discount {
    padding: 3px 6px;
    background-color: #01779f;
    position: absolute;
    right: 16px;
    bottom: 16px;
    font-size: 15px;
    font-weight: 300;
    color: #fff;
}

.with-discount span.input-position {
    right: 69px;
}

.input-cnt {
    display: flex;
    flex-direction: column;
    position: relative;
}

.info-cnt-blue {
    display: flex;
    padding: 16px;
    gap: 16px;
    background-color: #01779f;
}

.desc-mortgage {
    font-size: 15px;
    font-weight: 300;
    color: #fff;
}

.switch-field.property-condition,
.switch-field.interest-rate {
    display: flex;
    gap: 5px;
    padding: 4px;
    border: solid 1px #2c2c2c;
    background-color: #1b1b1b;
    overflow: hidden;
}

.switch-field.property-condition input,
.switch-field.interest-rate input {
    position: absolute !important;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    width: 1px;
    border: 0;
    overflow: hidden;
}

.switch-field.property-condition label,
.switch-field.interest-rate label {
    width: 100%;
    padding: 10px 24px;
    background-color: #212121;
    font-size: 15px;
    font-weight: 300;
    line-height: 1.87;
    letter-spacing: 0.3px;
    text-align: center;
    color: #fff;
    border-radius: 0;
    border: 0;
    transition: all 0.1s ease-in-out;
    margin: 0;
}

.switch-field.property-condition label:hover,
.switch-field.interest-rate label:hover {
    cursor: pointer;
}

.switch-field.property-condition input:checked+label,
.switch-field.interest-rate input:checked+label {
    background-color: #01779f;
    box-shadow: none;
}

button#increment,
button#decrement {
    border: 0;
    background-color: transparent;
}

.plus-minus input {
    height: unset;
    padding: 0;
    border: 0;
    background-color: transparent;
}

.subtitle-legal {
    text-decoration: underline;
    color: #23a4cf;
}

.input-group.plus-minus {
    display: flex;
    justify-content: space-between;
    height: 59px;
    padding: 15px 16px;
    border: solid 1px #2c2c2c;
    background-color: #1b1b1b;
}

input#percentageInput {
    text-align: center;
    font-size: 15px;
    font-weight: 300;
    color: #fff;
}

select#location {
    height: 59px;
    padding: 15px 16px;
    border: solid 1px #2c2c2c;
    background-color: #1b1b1b;
    font-size: 15px;
    font-weight: 300;
    line-height: 1.87;
    letter-spacing: 0.3px;
    text-align: left;
    color: #fff;
}

button.green-calculate {
    padding: 16px 32px;
    background-color: #2fb354;
    font-size: 18px;
    font-weight: 300;
    color: #fff;
    border: 0;
    text-align: center;
}

.mortgage-simulator.light-mode .table-simulator-page {
    background-color: #f5f5dc !important;
}

.mortgage-simulator.light-mode .table-simulator-page .firm-title {
    color: #1c1c1c;
}

.mortgage-simulator.light-mode .navbar-ramallo button.contact-us {
    border: solid 1px #1c1c1c;
    color: #1c1c1c;
}

.mortgage-simulator.light-mode .last-part-menu button.blue-btn {
    background-color: #fff !important;
    color: #a57b5d !important;
    border: 1px solid #fff !important;
    width: 100%;
}

.mortgage-simulator.light-mode .navbar-ramallo img,
.mortgage-simulator.light-mode i.desktop-menu-icon,
.mortgage-simulator.light-mode .services {
    filter: invert(100%);
}

.mortgage-contracts {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 25px;
    padding: 98px 0;
    background-size: cover;
    background-image: url("img/contract-mortgage.webp");
}

.mortgage-contracts .office-title {
    width: unset;
    max-width: 743px;
    text-align: center;
}

.flex-table-part .office-title {
    width: unset;
    font-size: 32px;
    font-weight: 500;
    line-height: 0.88;
    letter-spacing: 0.64px;
    text-align: center;
    color: #fff;
    font-family: 'Poppins', 'sans-serif';
    padding-bottom: 0 !important;
}

.table-mortgage .satin-cover {
    padding: 30px 0;
}

.right-table-part {
    width: 100%;
    background-color: #212121;
    border: 1px solid #2e2e2e;
    overflow-y: scroll;
    max-height: 993px;
}

.flex-costs {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px;
    border-bottom: 1px solid #2E2E2E;
}

.block-amount {
    display: flex;
    flex-direction: column;
}

.grey-small-desc {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.87;
    letter-spacing: 0.3px;
    text-align: left;
    color: #7b7b7b;
}

.price-amount {
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: 0.4px;
    text-align: left;
    color: #fff;
}

.right-table-part .info-cnt-blue {
    padding: 10px 12px;
    background-color: #252525;
    align-items: flex-start;
    max-width: 540px;
}

.right-table-part .info-cnt-blue img {
    width: 16px;
}

.legend-property {
    width: 12px;
    height: 12px;
    background: #FFB13D;
}

.legend-taxes {
    width: 12px;
    height: 12px;
    background: #c58628;
}

.box-calculator {
    padding: 16px;
    margin: 24px;
    background-color: #252525;
}

.flex-tables-box {
    display: flex;
    gap: 10px;
}

.valuation {
    width: 100%;
    display: flex;
    justify-content: space-between;
    font-size: 15px;
    font-weight: 300;
    line-height: 1.87;
    letter-spacing: 0.3px;
    text-align: left;
    color: #fff;
    padding: 12px 24px;
    background-color: #692fb3;
}

.valuation.total-expenses {
    background: #2FB354;
}

.totals {
    display: flex;
    margin-top: 24px;
}

.box-calculator .table-subtitle {
    color: #7b7b7b;
}

.box-calculator .blue-total .table-subtitle {
    color: #fff;
}

.box-calculator .table-simulator {
    width: 100%;
}

#chartdiv {
    width: 100%;
    height: 500px;
}

.legend-deposit {
    width: 12px;
    height: 12px;
    background: #20C9EE;
}

.legend-mortgage {
    width: 12px;
    height: 12px;
    background: #811CE7;
}

.legend-interest {
    width: 12px;
    height: 12px;
    background: #16E58E;
}

.see-table {
    color: #FFF;
    font-size: 15px;
    font-weight: 300;
    line-height: 28.019px;
    letter-spacing: 0.3px;
    text-decoration-line: underline;
    text-transform: capitalize;
}

.buy-sale.light-mode .first-section button.blue-btn {
    background-color: #fff;
    color: #a57b5d;
    border: 1px solid #fff;
}

.mortgage-simulator.light-mode .first-section button.blue-btn {
    background-color: #01779f;
    color: #fff;
    border: 1px solid #01779f;
}

.coming-soon {
    background-color: #fff;
    z-index: 999;
}

.overlay {
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 300px 24px 0 24px;
    z-index: 999;
}

.overlay-content {
    text-align: center;
    color: white;
}

.overlay-content h1 {
    font-size: 40px;
    font-weight: 200;
    text-transform: uppercase;
}

.overlay-content p {
    font-size: 18px;
    margin-top: 20px;
    font-weight: 300;
}

.second-step .looking-title {
    font-size: 79px;
    max-width: 1153px;
    margin-bottom: 60px;
}

button.white-btn-request:hover {
    border: 1px solid #fff;
    background-color: transparent;
    color: #fff;
}

.overlay {
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 150px 24px 0 24px;
    z-index: 999;
}

.new-taxes .overlay {
    padding: 150px 24px 0 24px;
}

.italian-style {
    color: #FFF;
    font-size: 16px;
    font-style: italic;
    font-weight: 300;
    line-height: 28px;
    letter-spacing: 0.32px;
    max-width: 470px;
}

.buy-sale.about-us .first-section {
    background-image: url(img/about-dark-bg.webp) !important;
}

.buy-sale.about-us.light-mode .first-section {
    background-image: url(img/about-light-bg.webp) !important;
}

.about-us .sale-title {
    font-family: 'Poppins', 'sans-serif';
    font-weight: 200;
    text-transform: uppercase;
}

.about-us .space-main-section-buy {
    align-items: center;
}

.about-us .right-position svg {
    width: 48px;
    height: 48px;
}

.about-us .right-position button.blue-btn {
    margin: 48px 0 0 65px;
}

.about-us .space-main-section-buy {
    padding: 145px 0 280px;
}

.about-us .space-main-section-buy {
    gap: 110px;
}

.column-pride {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.column-pride .pride-text {
    color: #01779F;
    font-size: 20px;
    font-style: normal;
    font-weight: 300;
    line-height: 28.019px;
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

.column-pride .pride-desc {
    color: #FFF;
    font-size: 15px;
    font-style: normal;
    font-weight: 300;
    line-height: 28.019px;
    letter-spacing: 0.3px;
}

.pride-section {
    background-color: #0F0F0F;
    padding: 98px 0 0;
}

.flex-pride-image img {
    max-width: 343px;
    margin-top: -154px;
    height: 450px;
}

.flex-pride-image {
    display: flex;
    gap: 100px;
}

.content-about {
    display: flex;
    gap: 24px;
}

.about-us.light-mode .pride-section {
    background-color: #F5F5DC;
}

.about-us.light-mode .column-pride .pride-text {
    color: #967054;
}

.about-us.light-mode .column-pride .pride-desc {
    color: #000;
}

.blue-box {
    background-color: #01779F;
    padding: 24px;
    color: #FFF;
    font-size: 15px;
    font-style: normal;
    font-weight: 300;
    line-height: 28.019px;
    letter-spacing: 0.3px;
}

.buy-images-office img.rr,
.buy-images-office img.rrr {
    max-width: 436px;
    margin-top: -130px;
}

.buy-sale .buy-images-office .small-text {
    max-width: unset;
}

.buy-sale .section-title-text .blue-box {
    margin-bottom: 24px;
}

.flex-accidents {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.buy-sale.about-us.accidents-page .first-section {
    background-image: url(img/accidents-dark-bg.webp) !important;
}

.buy-sale.about-us.accidents-page.light-mode .first-section {
    background-image: url(img/light-acc.webp) !important;
}

.accidents-page .space-main-section-buy .sale-title {
    max-width: unset;
}

.accidents-page .sale-title {
    font-size: 92px;
}

.flex-accidents .gap-position {
    gap: 48px;
    display: flex;
    flex-direction: column;
    max-width: 508px;
}

.accidents-page .space-main-section-buy {
    padding: 145px 0 0;
}

.accidents-page .italian-style {
    max-width: 450px;
}

.light-mode .buy-spain {
    color: #000;
}

.accidents-page .classic-style {
    color: #FFF;
    font-size: 15px;
    font-style: normal;
    font-weight: 300;
    line-height: 28px;
    letter-spacing: 0.3px;
}

.flex-help {
    padding: 100px 0;
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
}

.title-tax-help {
    color: #FFF;
    font-family: "Playfair Display", serif;
    font-size: 48.033px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.961px;
    text-transform: uppercase;
}

.group-desc {
    max-width: 700px;
    color: #23A4CF;
    font-size: 20.014px;
    font-style: normal;
    font-weight: 300;
    line-height: 28.019px;
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

.tax-page .first-section {
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("img/tax-bg.webp") !important;
}

.tax-page.light-mode .first-section {
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("img/light-tax-bg.webp") !important;
}

.tax-page .space-main-section-buy {
    align-items: flex-start;
}

.tax-page .classic-style {
    color: #FFF;
    font-size: 15px;
    font-style: normal;
    font-weight: 300;
    line-height: 28px;
    letter-spacing: 0.3px;
    padding-bottom: 48px;
    max-width: 500px;
}

.tax-page.light-mode .title-tax-help,
.companies-page.light-mode .title-tax-help {
    color: #000;
}

.tax-page.light-mode .group-desc,
.companies-page.light-mode .group-desc {
    color: #967054;
}

.tax-page.light-mode .column-list li,
.companies-page.light-mode .column-list li {
    color: #000;
}

.residence-subtitle {
    color: #FFF;
    font-size: 48.033px;
    font-weight: 200;
    letter-spacing: 0.961px;
    text-transform: uppercase;
}

.residence-page .space-main-section-buy {
    padding-bottom: 160px;
}

.tax-page .how-can-we-help {
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("img/sec2-tax-bg.webp");
}

.tax-page.light-mode .how-can-we-help {
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("img/sec2-light-tax.png");
}

.companies-page.light-mode .how-can-we-help {
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("img/sec2-light-tax.png");
}

.column-list {
    display: flex;
    flex-direction: column;
    gap: 48px;
    margin-bottom: 100px;
}

.column-list li {
    color: #FFF;
    font-size: 15.01px;
    font-style: normal;
    font-weight: 300;
    line-height: 28.019px;
    letter-spacing: 0.3px;
    padding-left: 10px;
}

ul.custom-marker {
    gap: 24px;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 500px;
}

ul.custom-marker li {
    list-style-image: url('img/list-marker.svg');
}

li::marker {
    height: 3px;
}

.flex-help img.rr,
.flex-help img.rrr {
    max-width: 520px;
    height: 360px;
}

.title-area-practice {
    color: #FFF;
    font-family: "Playfair Display", sans-serif;
    font-size: 32px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.64px;
    text-transform: uppercase;
    max-width: 900px;
}

.litigation-page .classic-style {
    max-width: 615px;
}

.litigation-page .flex-help {
    align-items: baseline;
}

.litigation-page .column-list {
    margin-bottom: 0;
}

.litigation-page.light-mode .title-area-practice {
    color: #000;
}

.litigation-page.light-mode .first-section button.blue-btn,
.tax-page.light-mode .first-section button.blue-btn {
    background-color: #fff !important;
    color: #a67b5b !important;
    border: 1px solid #a67b5b;
}

.companies-page .first-section {
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("img/company-bg-1.webp");
}

.companies-page.light-mode .first-section {
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("img/company-bg-light.webp");
}

.companies-page .space-main-section-buy {
    align-items: flex-start;
}

.companies-page .space-main-section-buy {
    gap: 50px;
}

.companies-page .how-can-we-help {
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(img/sec2-tax-bg.webp);
}

.residence-page .how-can-we-help .collapsible:after {
    content: "";
    display: inline-block;
    width: 64px;
    height: 64px;
    background-image: url('img/plus-btn.svg');
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
}

.residence-page.light-mode .how-can-we-help .collapsible:after {
    background-image: url('img/plus-light.svg');
}

.residence-page.light-mode .how-can-we-help .active:after {
    background-image: url('img/minus-light.svg');
}

.residence-page .how-can-we-help .collapsible {
    background-color: transparent;
    color: white;
    cursor: pointer;
    padding: 18px;
    width: 100%;
    border: none;
    text-align: left;
    outline: none;
    font-size: 15px;
    border-bottom: 1px solid #282828;
}

.residence-page .how-can-we-help .active,
.collapsible:hover {
    border: 0;
}

.collapse-area-visa {
    padding: 98px 0;
}

.residence-page .how-can-we-help .content {
    padding: 0 18px;
    display: none;
    overflow: hidden;
    border-bottom: 1px solid #01779F;
    color: #FFF;
    font-size: 15.01px;
    font-style: normal;
    font-weight: 300;
    line-height: 28.019px;
    letter-spacing: 0.3px;
    padding-bottom: 44px;
}

.residence-page.light-mode .how-can-we-help .collapsible {
    border-bottom: 1px solid #967054;
}

.residence-page .how-can-we-help .active:after {
    content: "";
    display: inline-block;
    width: 64px;
    height: 64px;
    background-image: url('img/minus-btn.svg');
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
}

.residence-page .how-can-we-help .collapse-title {
    color: #FFF;
    font-size: 32px;
    font-style: normal;
    font-weight: 200;
    line-height: normal;
    letter-spacing: 0.64px;
    text-transform: uppercase;
}

button.collapsible.active {
    gap: 10px;
}

.how-can-we-help button.collapsible {
    display: flex;
    justify-content: space-between;
}

.residence-page .how-can-we-help {
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("img/collapse-bg.webp");
}

.residence-page.light-mode .how-can-we-help {
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("img/collapse-light-bg.png");
}

.residence-page .first-section {
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("img/residence-bg.webp");
}

.residence-page.light-mode .first-section {
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("img/residence-light.webp");
}

.residence-page.light-mode .residence-subtitle {
    color: #000;
}

.residence-page.light-mode .collapse-title,
.residence-page.light-mode .content p {
    color: #000;
}

.residence-page.light-mode .collapse-title span {
    color: #967054;
}

.residence-page.light-mode .how-can-we-help .collapsible.active {
    border-bottom: 0;
}

.residence-page.light-mode .how-can-we-help .content {
    border-bottom: 1px solid #967054;
}

.flex-milestones {
    display: flex;
    justify-content: space-between;
}

.column-mile {
    display: flex;
    flex-direction: column;
    gap: 18px;
    max-width: 343px;
}

.column-mile span.number-title {
    color: #FFF;
    font-family: "Playfair Display", sans-serif;
    font-size: 48px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.96px;
    text-transform: uppercase;
}

.column-mile span.blue-subtitle {
    color: #23A4CF;
    font-size: 20.014px;
    font-style: normal;
    font-weight: 300;
    line-height: 28.019px;
    /* 140% */
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

.column-mile span.subtitle {
    color: #FFF;
    font-size: 15.01px;
    font-style: normal;
    font-weight: 300;
    line-height: 28.019px;
    /* 186.667% */
    letter-spacing: 0.3px;
}

.milestones {
    padding: 98px 0 0;
    background-color: #181818;
}

.milestones img {
    max-width: 1150px;
    margin-top: 85px;
    margin-bottom: -80px;
}

.final-completion {
    padding: 98px 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(img/shades.webp);
}

.flex-final {
    max-width: 550px;
}

.flex-final-div {
    display: flex;
    justify-content: space-between;
    padding-top: 98px;
}

.buy-sale.light-mode .column-mile span.blue-subtitle {
    color: #A67B5B;
}

.buy-sale.light-mode .milestones {
    background-color: #F5F5DC;
}

.important-flex-footer {
    width: 100%;
    display: flex;
}

.homepage-section .first-section {
    position: relative;
    overflow: hidden;
    height: 100vh;
    background: linear-gradient(180deg, rgba(23, 23, 23, 0.00) 64.16%, rgba(17, 17, 17, 0.20) 82.76%, rgba(0, 0, 0, 0.60) 92.81%);
}

.homepage-section .first-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 30%);
    /*backdrop-filter: blur(5px);*/
    z-index: 2;
}

.companies-page .flex-help {
    padding: 100px 0 0;
}

.companies-page .column-list:nth-child(2) {
    padding-bottom: 30px;
}

@media (min-width: 1200px) {

    .the-office .container,
    .first-section .the-office.container {
        max-width: 1400px;
    }

    footer .container {
        max-width: 1400px;
    }
}

@media(max-width: 1400px) {
    #map2 {
        width: 689px;
        height: 655px;
    }

    .form-btns {
        gap: 44px 44px;
    }

    .right-breakdown {
        padding: 98px 45px;
    }

    .second-office .card-flex {
        gap: 30px;
    }

    .flex-ul-part {
        gap: 10px;
    }

    .section-footer {
        gap: 24px;
    }
}

@media(max-width: 1300px) {
    .border-flex img {
        height: 70px;
        max-width: 419px;
    }

    .light-mode .border-flex {
        border-top: 1px solid #b08c6e;
        gap: 20px;
    }

    .right-breakdown {
        padding: 98px 21px;
    }

    .images-menu {
        display: none;
    }

    .menu-resp {
        justify-content: center;
        gap: 120px;
    }

    img.paint-contact {
        max-width: 548px;
    }

    .satin-cover {
        padding: 62px 45px;
    }

    .second-office .card-flex {
        gap: 10px;
    }
}

@media(max-width: 1201px) {
    .buy-sale .card-images-flow img {
        max-width: 370px;
        height: 263px;
    }

    .flex-pride-image {
        display: flex;
        gap: 30px;
        flex-direction: column-reverse;
        align-items: center;
    }

    .pride-section {
        padding: 0 0 45px;
    }

    .column-pride .pride-text {
        font-size: 17px;
    }

    .column-pride {
        gap: 10px;
    }

    .flex-pride-image img {
        margin-top: -55px;
    }

    .flex-table-part {
        flex-direction: column;
    }

    .right-table-part {
        overflow-y: hidden;
        max-height: unset;
    }

    .firm-title {
        font-size: 70px;
    }

    .firmMarbella .card-images-flow {
        position: absolute;
        left: 0;
        top: 0;
    }

    .firmMarbella .card-images-flow img {
        max-width: 450px;
        height: 294px;
    }

    .firmMarbella .form-btns {
        padding-bottom: 48px;
    }

    #map2 {
        width: 100%;
        height: 400px;
    }

    .firmMarbella .pad-third-section {
        z-index: 999;
    }

    .firmMarbella .buy-spain {
        padding-bottom: 48px;
    }

    .area-last-footer {
        padding: 64px 45px 0 45px;
    }

    .second-office .card-flex {
        flex-direction: column-reverse;
    }

    .second-office .small-text {
        max-width: unset;
    }

    .slim-images img {
        max-width: 201px;
    }

    .card-images-flow {
        opacity: 0.2;
    }

    .buy-images-office {
        flex-direction: column;
    }

    .flex-services {
        display: flex;
        padding-top: 80px;
    }

    .border-flex {
        margin-top: 80px;
    }

    .border-flex {
        flex-direction: column;
        align-items: flex-start;
    }

    .space-cnt-logo {
        flex-direction: row;
        align-items: center;
        margin-bottom: 34px;
    }

    .flex-ul-part {
        margin-top: 20px;
    }

    .footer-left-logo .medium-blue-title {
        max-width: unset;
        margin-bottom: 0;
    }

    .card-flex {
        display: flex;
        flex-direction: column;
    }

    img.paint-contact {
        max-width: unset;
        width: 100%;
    }

    .section-footer {
        flex-direction: column;
    }
}

@media(max-width: 991px) {
    .important-flex-footer {
        flex-direction: column;
    }

    .top-padding-footer {
        padding-top: 0;
    }

    .last-middle-footer ul {
        width: unset;
    }

    .buy-images-office img.rr,
    .buy-images-office img.rrr {
        max-height: unset;
    }

    .space-main-section-buy .sale-title {
        max-width: unset;
    }

    .blue-btn-menu a,
    .blue-btn-menu button.contact-us {
        width: 100%;
    }

    .buy-sale.light-mode .first-section button.blue-btn {
        width: 100%;
    }

    .blue-btn-menu {
        align-items: center;
    }

    .flex-final-div {
        flex-direction: column;
    }

    .flex-final-div {
        padding-top: 50px;
    }

    .flex-final {
        max-width: unset;
    }

    .milestones img {
        width: 100%;
    }

    .flex-milestones {
        flex-direction: column;
    }

    .column-mile {
        max-width: unset;
    }

    .buy-sale .buy-spain {
        padding-bottom: 35px;
    }

    .buy-images-office img.rr,
    .buy-images-office img.rrr {
        max-width: unset;
        margin-top: 30px;
        width: 100%;
    }

    .buy-sale .form-btns {
        display: flex;
        flex-direction: column;
    }

    .residence-page .space-main-section-buy {
        padding-bottom: 115px;
    }

    .residence-subtitle {
        font-size: 37.033px;
    }

    .residence-page .sale-title {
        width: 100%;
    }

    .infinite-slide {
        padding-bottom: 0;
    }

    .flex-help {
        flex-direction: column;
        gap: 35px;
    }

    ul.custom-marker {
        max-width: unset;
    }

    .flex-help.pb-0.align-items-end {
        padding: 0;
        align-items: center !important;
    }

    .accidents-page .sale-title {
        font-size: 54px;
        text-align: center;
    }

    .about-us.accidents-page .space-main-section-buy {
        gap: 70px;
    }

    .flex-accidents {
        flex-direction: column;
    }

    .accidents-page .italian-style {
        max-width: unset;
        width: 100%;
    }

    .litigation-page .classic-style {
        max-width: unset;
        width: 100%;
    }

    .flex-accidents .gap-position {
        max-width: unset;
        margin-top: 24px;
    }

    .about-us .right-position button.blue-btn {
        margin: 48px 0 0 0;
        width: 100%;
    }

    img.rrr {
        max-width: 100px;
        max-height: 67px;
        margin-top: 25px;
    }

    #chartdiv {
        height: 250px !important;
    }

    .flex-costs.middle-flex-resp {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .right-table-part .info-cnt-blue {
        max-width: unset;
    }

    .table-simulator {
        width: 100%;
    }

    .firm-title {
        font-size: 49px;
    }

    .practice-grid {
        grid-template-columns: unset;
    }

    .right-border-special {
        border-right: 0 !important;
    }

    .section-practice.border-0.right-border-special {
        border-bottom: 1px solid rgba(255, 255, 255, 0.5) !important
    }

    .firmMarbella .card-images-flow img {
        height: 341px !important;
        max-width: 450px !important;
        max-height: 444px;
    }

    .firmMarbella .chair-back img {
        max-width: unset;
        width: 100%;
    }

    .pad-third-section {
        z-index: 999999;
    }

    .looking-title {
        font-size: 76px;
    }

    .third-section {
        background-position: unset;
    }

    .contact-page .contact-title {
        font-size: 63px;
    }

    .details-section {
        display: flex;
        justify-content: space-between;
        flex-direction: column;
    }

    .contact-section-cnt {
        flex-direction: column;
    }

    #map {
        width: 100%;
        height: 400px;
    }

    .slim-images img {
        max-width: 335px;
        margin-top: 46px;
    }

    .chair-back .buy-spain {
        max-width: 454px;
        padding-bottom: 18px;
    }

    .buy-sale .card-images-flow img {
        max-width: 100%;
        height: 329px;
    }

    .menu-resp {
        gap: 65px;
    }

    .only-mobile {
        display: block;
    }

    .navbar-ramallo img.only-mobile {
        width: unset;
        margin-left: 25px;
    }

    .only-web {
        display: none;
    }

    .flex-last-part {
        align-items: center;
    }

    .flex-last-part {
        gap: 15px;
    }

    .flex-services {
        display: grid;
        grid-template-columns: 2fr 2fr;
    }

    .flex-last-part img.rr {
        max-width: 150px;
        width: 100%;
        height: 100%;
    }

    .left-litigation {
        width: 100%;
    }

    .litigation .medium-blue-title {
        max-width: unset;
    }

    .pad-litigation,
    .pad-contracts {
        flex-direction: column;
    }

    .pad-third-section {
        flex-direction: column;
    }

    .form-btns {
        margin-top: 48px;
    }

    .max-blue {
        max-width: unset;
    }

    .flex-logo-title {
        flex-direction: column;
    }

    .blue-text {
        font-size: 38px;
        text-align: center;
    }

    .small-text {
        max-width: unset;
    }

    .important-title {
        font-size: 70px;
    }

    .services {
        display: none;
    }

    .bottom-flex-btn {
        flex-direction: column;
        align-items: center;
        margin-top: 48px;
    }

    .flex-help img.rr,
    .flex-help img.rrr {
        width: 100% !important;
        max-width: unset !important;
        max-height: unset !important;
        height: auto !important;
    }
}

@media(max-width: 767px) {
    a.mobile-contact-display {
        display: none;
    }

    .navbar-ramallo {
        flex-direction: row-reverse;
    }

    .tax-page .right-position.w-100 {
        align-items: center;
        display: flex;
        flex-direction: column;
    }

    .tax-page .column-list {
        align-items: center;
    }

    .tax-page .space-main-section-buy {
        padding: 145px 0 100px;
    }

    .tax-page .space-main-section-buy {
        align-items: center;
    }

    .tax-page .classic-style {
        max-width: unset;
    }

    .title-tax-help {
        font-size: 38.033px;
    }

    ul.custom-marker {
        margin-left: 20px;
    }

    .tax-page .classic-style,
    .group-desc {
        text-align: center;
    }

    .about-us .sale-title {
        font-size: 35px;
    }

    .about-us .space-main-section-buy {
        gap: 60px;
    }

    .about-us .space-main-section-buy {
        padding: 145px 0 60px;
    }

    .about-us .right-position svg {
        width: 35px;
        height: 35px;
    }

    .content-about {
        flex-direction: column;
        display: flex;
        gap: 24px;
    }

    .about-us .right-position button.blue-btn {
        margin: 30px 0 0;
        width: 100%;
    }

    img.rrr {
        margin-top: -26px;
    }

    .totals {
        flex-direction: column;
        gap: 10px;
    }

    .valuation {
        padding: 12px;
    }

    .flex-costs {
        padding: 24px 12px;
    }

    .block-amount .d-flex.align-items-center {
        justify-content: center;
    }

    .grey-small-desc {
        text-align: center;
    }

    .flex-costs {
        flex-direction: column;
        gap: 20px;
    }

    .flex-tables-box {
        flex-direction: column;
    }

    .price-amount {
        text-align: center;
    }

    .firm-title {
        font-size: 35px;
    }

    .firmMarbella .card-images-flow img {
        height: 361px !important;
    }

    .section-practice {
        padding: 48px 0;
    }

    .menu-resp .services-links ul {
        max-width: unset;
    }

    .blue-btn-menu button.blue-btn {
        width: 100%;
    }

    .flex-card-choose {
        flex-direction: column;
    }

    .card-looking {
        width: 100%;
        max-width: unset;
    }

    .looking-title {
        font-size: 55px;
    }

    .flex-ul-part {
        flex-direction: column;
    }

    .sale-title {
        font-size: 59px;
    }

    .the-office.second-office {
        padding: 48px;
    }

    .second-office .satin-cover {
        padding: 32px;
    }

    .slim-images img {
        max-width: unset;
        width: 100%;
    }

    .slim-images {
        flex-direction: column;
    }

    .buy-sale .card-images-flow img {
        max-width: 100%;
        height: 367px;
    }

    .menu-resp ul {
        width: 100%;
    }

    .blue-btn-menu {
        margin-bottom: 30px;
    }

    .border-blue {
        margin-bottom: 30px;
    }

    .menu-resp ul.mb-0 {
        padding-bottom: 30px;
        border-bottom: 1px solid #01779f;
    }

    .light-mode .menu-resp ul.mb-0 {
        border-bottom: 1px solid #b7977e;
    }

    .menu-resp {
        display: flex;
        justify-content: space-between;
        padding: 115px 88px 100px;
    }

    .title-li {
        text-align: center;
    }

    .services-links a li {
        text-align: center;
    }

    .menu-resp {
        flex-direction: column;
    }

    .btns-cnt-third button.contact-us {
        max-width: 300px;
        padding: 14px 10px;
    }

    .important-title {
        font-size: 50px;
    }

    .office-title {
        font-size: 42px;
    }

    .office-desc {
        font-size: 27px;
    }

    .flex-last-part img.rr {
        display: none;
    }

    .list-contact {
        flex-direction: column;
        gap: 30px;
    }

    .flex-ul-part {
        gap: 0;
    }

    .flex-services {
        padding-top: 35px;
    }

    .border-flex {
        margin-top: 35px;
        align-items: center;
    }

    .border-flex img {
        height: 70px;
        width: 100%;
    }

    .flex-contract {
        margin-top: 20px;
        gap: 48px;
    }

    .space-contract {
        flex-direction: column;
    }

    .buy-spain {
        font-size: 42px;
    }

    .medium-blue-title {
        font-size: 27px;
    }

    .form-btns {
        gap: 13px 25px;
    }

    .btns-cnt-third {
        flex-direction: column;
    }
}

@media(max-width: 600px) {
    .firmMarbella .third-section {
        background-image: unset;
        background-color: #000;
    }

    .infinite-slide {
        display: none;
    }

    .residence-page .collapse-title span {
        font-size: 27px !important;
    }

    .residence-page .how-can-we-help .collapsible:after,
    .residence-page .how-can-we-help .active:after {
        width: 40px;
        height: 40px;
    }

    .residence-page .how-can-we-help .collapse-title {
        font-size: 23px;
    }

    .litigation-page .flex-help {
        align-items: center;
    }

    .flex-help {
        padding: 65px 0;
    }

    .title-tax-help {
        text-align: center;
    }

    .title-area-practice {
        font-size: 30px;
        text-align: center;
    }

    .tax-page .column-list a,
    .tax-page .space-main-section-buy a {
        width: 100%;
    }

    .title-tax-help {
        font-size: 26.033px;
    }

    .tax-page .sale-title {
        font-size: 43px;
    }

    .flex-pride-image img {
        max-width: unset;
        width: 100%;
        margin-top: -100px;
        height: auto;
    }

    .flex-last-part {
        flex-direction: column;
    }

    img.rrr {
        margin-top: 0;
    }

    .flex-last-part {
        gap: 0;
    }

    .office-title {
        font-size: 30px;
    }

    .flex-costs a,
    .mortgage-contracts a {
        width: 100%;
    }

    .mortgage-contracts {
        padding: 24px 12px;
    }

    .firmMarbella .card-images-flow img {
        height: auto !important;
        max-width: 100% !important;
    }

    .message-received .error-text-title {
        font-size: 48px;
    }

    .space-error-section a {
        width: 100%;
    }

    .space-error-section .details-desc {
        max-width: unset;
    }

    .error-text-title {
        font-size: 70px;
    }

    img#captcha {
        margin: auto;
    }

    #captchaBackground {
        flex-direction: column;
    }

    .contact-page .contact-title {
        font-size: 39px;
    }

    .area-last-footer {
        padding: 45px 45px 0 45px;
    }

    .form-details {
        padding: 21px;
    }

    .second-office .office-title {
        width: 100%;
    }

    .second-office .satin-cover {
        min-width: unset;
    }

    .the-office.second-office {
        padding: 42px 24px;
    }

    .only-mobile img {
        width: auto;
    }

    .navbar-ramallo button.contact-us {
        max-width: 150px;
    }

    .buy-sale .buy-spain {
        font-size: 31px;
    }

    button.blue-btn,
    button.contact-us {
        width: 100% !important;
    }

    .buy-sale .pad-third-section {
        padding: 45px 0 0;
    }

    .firmMarbella .buy-images-office {
        padding: 0 0 45px;
    }

    .buy-sale .buy-spain {
        padding-bottom: 0;
    }

    .buy-sale .card-images-flow img {
        max-width: 100%;
        height: auto;
    }

    .btns-cnt-third button.contact-us {
        max-width: unset;
    }

    button.white-btn-request {
        width: 100%;
        text-align: center;
    }

    button.white-btn-request {
        margin-top: 35px;
    }

    .flex-ul-part {
        display: block;
    }

    .office-desc {
        padding: 27px 0;
    }

    .form-btns {
        display: flex;
        flex-direction: column;
    }

    .blue-text {
        font-size: 30px;
    }

    button.blue-btn {
        max-width: unset;
        width: 100%;
        text-align: center;
        min-width: unset;
    }
}

@media(max-width: 480px) {
    .residence-page .how-can-we-help .collapse-title {
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        max-width: 190px;
    }

    .buy-spain {
        font-size: 30px;
        max-width: unset;
    }

    .infinite-slide {
        gap: 35px;
    }

    .services-click {
        font-size: 21px;
    }

    .overlay-content h1 {
        font-size: 30px;
    }

    .box-calculator {
        margin: 12px;
    }

    .mortgage-simulator .body-table-sim {
        padding: 12px;
    }

    .table-simulator p {
        font-size: 15px;
    }

    .mortgage-simulator .table-mortgage {
        padding: 12px;
    }

    .left-table-part form {
        padding: 12px;
        min-width: unset;
    }

    .switch-field.property-condition label,
    .switch-field.interest-rate label {
        padding: 10px 0;
    }

    input#percentageInput {
        width: 30px;
    }

    .firm-title {
        font-size: 38px;
        text-align: left;
    }

    .flex-card-choose {
        gap: 25px;
    }

    .looking-title {
        font-size: 41px;
    }

    .form-cnt {
        flex-direction: column;
    }

    .right-breakdown {
        padding: 65px 20px;
    }

    .the-office.second-office {
        padding: 42px 0;
    }

    .satin-cover {
        padding: 45px 20px;
    }

    button.white-btn-request {
        padding: 16px 5px;
    }

    .card-images-flow {
        display: none;
    }

    .menu-resp {
        padding: 100px 30px 30px;
    }

    .important-title {
        font-size: 35px;
    }

    .flex-services {
        display: block;
    }

    .border-flex img {
        height: 50px;
    }

    .blue-text {
        font-size: 21px;
    }

    .space-cnt-logo {
        display: block;
    }

    .footer-left-logo .medium-blue-title {
        margin-top: 20px;
    }

    .area-last-footer {
        padding: 45px 25px 0 25px;
    }
}

@media(max-width: 400px) {
    .valuation {
        flex-direction: column-reverse;
        align-items: center;
    }

    .firmMarbella .first-section button.white-btn-request {
        min-width: unset;
    }

    .buy-sale .office-title {
        font-size: 21px;
    }

    .mortgage-simulator input[placeholder] {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .looking-title {
        font-size: 33px;
    }

    .buy-sale .office-title {
        width: unset;
        font-size: 37px;
    }

    .the-office li,
    .footer-area li,
    .last-part-menu li {
        font-size: 16px;
    }

    .second-office .satin-cover {
        padding: 14px;
    }

    .menu-resp {
        padding: 20px 16px 30px;
    }

    .important-title {
        font-size: 24px;
    }
}

/* ── Back button — simulator pages ──────────────────────────────────────────── */
.back-btn-simulator {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 400;
    padding: 8px 20px;
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 50px;
    background: transparent;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
    cursor: pointer;
    margin: 16px 0 0 24px;
}
.back-btn-simulator:hover {
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.45);
    color: #fff;
    text-decoration: none;
}
@media (max-width: 768px) {
    .back-btn-simulator {
        margin-left: 15px;
    }
}

/* ── Mortgage Simulator — light mode ────────────────────────────────────────── */
.mortgage-simulator.light-mode {
    background-color: #f5f5dc;
}

.mortgage-simulator.light-mode .firm-title {
    color: #2a2a2a;
}

.mortgage-simulator.light-mode .back-btn-simulator {
    color: rgba(0,0,0,0.65);
    border-color: rgba(0,0,0,0.25);
}
.mortgage-simulator.light-mode .back-btn-simulator:hover {
    background: rgba(0,0,0,0.06);
    border-color: rgba(0,0,0,0.45);
    color: #000;
}

/* Container */
.mortgage-simulator.light-mode .table-mortgage {
    background-color: #f0ede5;
}

/* Left panel — form */
.mortgage-simulator.light-mode .left-table-part form {
    background-color: #fff;
    border-color: #d4d0c8;
}

.mortgage-simulator.light-mode label.white-text-titles {
    color: #2a2a2a;
}

.mortgage-simulator.light-mode .flex-table-part input {
    background-color: #f5f2ec;
    border-color: #d4d0c8;
    color: #2a2a2a;
}

.mortgage-simulator.light-mode .flex-table-part input::placeholder {
    color: #999;
}

.mortgage-simulator.light-mode .input-group.plus-minus {
    border: 1px solid #d4d0c8;
    background-color: #f5f2ec;
}

.mortgage-simulator.light-mode .input-group.plus-minus input {
    color: #2a2a2a;
    background-color: transparent;
    border: 0;
}

.mortgage-simulator.light-mode .switch-field.property-condition,
.mortgage-simulator.light-mode .switch-field.interest-rate {
    background-color: #f5f2ec;
    border-color: #d4d0c8;
}

.mortgage-simulator.light-mode .switch-field.property-condition label,
.mortgage-simulator.light-mode .switch-field.interest-rate label {
    background-color: #f5f2ec;
    color: #2a2a2a;
}

.mortgage-simulator.light-mode .switch-field.property-condition input:checked + label,
.mortgage-simulator.light-mode .switch-field.interest-rate input:checked + label {
    background-color: #967054;
    color: #fff;
}

.mortgage-simulator.light-mode select {
    background-color: #f5f2ec;
    border-color: #d4d0c8;
    color: #2a2a2a;
}

.mortgage-simulator.light-mode .info-cnt-blue {
    background-color: rgba(1, 119, 159, 0.12);
}

.mortgage-simulator.light-mode .info-cnt-blue .desc-mortgage {
    color: #01779f;
}

.mortgage-simulator.light-mode .info-cnt-blue img {
    filter: brightness(0) saturate(100%) invert(34%) sepia(61%) saturate(595%) hue-rotate(163deg) brightness(93%);
}

.mortgage-simulator.light-mode .desc-mortgage {
    color: #444;
}

/* Right panel — results */
.mortgage-simulator.light-mode .right-table-part {
    background-color: #fff;
    border-color: #d4d0c8;
}

.mortgage-simulator.light-mode .blue-bg {
    background-color: #967054 !important;
}

.mortgage-simulator.light-mode .blue-bg .desc-mortgage,
.mortgage-simulator.light-mode .blue-bg .office-title {
    color: #fff;
}

.mortgage-simulator.light-mode .flex-costs {
    border-bottom-color: #e4e0d8;
}

.mortgage-simulator.light-mode .price-amount {
    color: #2a2a2a;
}

.mortgage-simulator.light-mode .grey-small-desc {
    color: #666;
}

.mortgage-simulator.light-mode .right-table-part .info-cnt-blue {
    background-color: #f5f2ec;
}

.mortgage-simulator.light-mode .right-table-part .info-cnt-blue .desc-mortgage {
    color: #555;
}

/* Cost tables */
.mortgage-simulator.light-mode .table-simulator {
    background-color: #faf8f4;
    border: 1px solid #e4e0d8;
}

.mortgage-simulator.light-mode .body-table-sim p {
    color: #2a2a2a;
}

.mortgage-simulator.light-mode .table-subtitle {
    color: #555;
}

.mortgage-simulator.light-mode .price {
    color: #2a2a2a;
}

.mortgage-simulator.light-mode .space-flex-table {
    border-bottom-color: #e4e0d8;
}

.mortgage-simulator.light-mode .space-flex-table.blue-total {
    background-color: #967054;
}

.mortgage-simulator.light-mode .box-calculator .blue-total .table-subtitle,
.mortgage-simulator.light-mode .box-calculator .blue-total .price {
    color: #fff;
}

/* Totals bars */
.mortgage-simulator.light-mode .valuation {
    background-color: #7a5740;
}

.mortgage-simulator.light-mode .valuation.total-expenses {
    background-color: #5c7a40;
}

.mortgage-simulator.light-mode .totals .price-amount {
    color: #fff;
}

/* Amortization table */
.mortgage-simulator.light-mode .see-table {
    color: #967054;
}

.mortgage-simulator.light-mode #amortizationTable table {
    background-color: #faf8f4;
}

/* Contact section */
.mortgage-simulator.light-mode .mortgage-contracts {
    background-color: #f0ede5;
    background-image: none;
}

.mortgage-simulator.light-mode .mortgage-contracts .office-title {
    color: #2a2a2a;
}

/* ── Sell Costs (taxesExpenses) — light mode ────────────────────────────────── */
.sell-simulator.light-mode {
    background-color: #f5f5dc;
}
.sell-simulator.light-mode .firm-title {
    color: #2a2a2a;
}
.sell-simulator.light-mode .back-btn-simulator {
    color: rgba(0,0,0,0.65);
    border-color: rgba(0,0,0,0.25);
}
.sell-simulator.light-mode .back-btn-simulator:hover {
    background: rgba(0,0,0,0.06);
    border-color: rgba(0,0,0,0.45);
    color: #000;
}
.sell-simulator.light-mode .table-mortgage {
    background-color: #f0ede5;
}
.sell-simulator.light-mode .left-table-part form {
    background-color: #fff;
    border-color: #d4d0c8;
}
.sell-simulator.light-mode label.white-text-titles {
    color: #2a2a2a;
}
.sell-simulator.light-mode .flex-table-part input {
    background-color: #f5f2ec;
    border-color: #d4d0c8;
    color: #2a2a2a;
}
.sell-simulator.light-mode .flex-table-part input::placeholder {
    color: #999;
}
.sell-simulator.light-mode .input-group.plus-minus {
    border: 1px solid #d4d0c8;
    background-color: #f5f2ec;
}
.sell-simulator.light-mode .input-group.plus-minus input {
    color: #2a2a2a;
    background-color: transparent;
    border: 0;
}
.sell-simulator.light-mode .switch-field.property-condition,
.sell-simulator.light-mode .switch-field.interest-rate {
    background-color: #f5f2ec;
    border-color: #d4d0c8;
}
.sell-simulator.light-mode .switch-field.property-condition label,
.sell-simulator.light-mode .switch-field.interest-rate label {
    background-color: #f5f2ec;
    color: #2a2a2a;
}
.sell-simulator.light-mode .switch-field.property-condition input:checked + label,
.sell-simulator.light-mode .switch-field.interest-rate input:checked + label {
    background-color: #967054;
    color: #fff;
}
.sell-simulator.light-mode .info-cnt-blue {
    background-color: rgba(1,119,159,0.12);
}
.sell-simulator.light-mode .info-cnt-blue .desc-mortgage {
    color: #01779f;
}
.sell-simulator.light-mode .info-cnt-blue img {
    filter: brightness(0) saturate(100%) invert(34%) sepia(61%) saturate(595%) hue-rotate(163deg) brightness(93%);
}
.sell-simulator.light-mode .desc-mortgage {
    color: #444;
}
.sell-simulator.light-mode .right-table-part {
    background-color: #fff;
    border-color: #d4d0c8;
}
.sell-simulator.light-mode .blue-bg {
    background-color: #967054 !important;
}
.sell-simulator.light-mode .blue-bg .desc-mortgage,
.sell-simulator.light-mode .blue-bg .office-title {
    color: #fff;
}
.sell-simulator.light-mode .flex-costs {
    border-bottom-color: #e4e0d8;
}
.sell-simulator.light-mode .price-amount {
    color: #2a2a2a;
}
.sell-simulator.light-mode .grey-small-desc {
    color: #666;
}
.sell-simulator.light-mode .table-simulator {
    background-color: #faf8f4;
    border: 1px solid #e4e0d8;
}
.sell-simulator.light-mode .body-table-sim p {
    color: #2a2a2a;
}
.sell-simulator.light-mode .table-subtitle {
    color: #555;
}
.sell-simulator.light-mode .price {
    color: #2a2a2a;
}
.sell-simulator.light-mode .space-flex-table {
    border-bottom-color: #e4e0d8;
}
.sell-simulator.light-mode .space-flex-table.blue-total {
    background-color: #967054;
}
.sell-simulator.light-mode .box-calculator .blue-total .table-subtitle,
.sell-simulator.light-mode .box-calculator .blue-total .price {
    color: #fff;
}
.sell-simulator.light-mode .sellGainInfo .price-amount {
    color: #2a2a2a;
}
.sell-simulator.light-mode .mortgage-contracts {
    background-color: #f0ede5;
    background-image: none;
}
.sell-simulator.light-mode .mortgage-contracts .office-title {
    color: #2a2a2a;
}

.sell-simulator.light-mode .first-section {
    background-image: none !important;
    background-color: #f5f5dc;
}

.sell-simulator.light-mode .right-table-part {
    background-color: #f5f2ec !important;
}

.sell-simulator.light-mode .flex-costs {
    background-color: #f5f2ec;
}
