@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
    outline: none;
    list-style: none;
    color: #141414;
}

h1,
h2,
h3,
h4,
h5,
p {
    margin: 0;
    padding: 0;
}

body {
    background: #FAFAFA;
    font-family: 'Inter';
    font-style: normal;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 12px;
}

/* ------------- Typography Utilities ------------- */

.fs_12 {
    font-size: 12px;
}

.fs_14 {
    font-size: 14px;
}

.fs_16 {
    font-size: 16px;
}

.fs_18 {
    font-size: 18px;
}

.fs_20 {
    font-size: 20px;
}

.fs_24 {
    font-size: 24px;
}

.fs_28 {
    font-size: 28px;
}

.fs_30 {
    font-size: 30px;
}

.fs_36 {
    font-size: 36px;
}

.fs_48 {
    font-size: 48px;
}

.fw_400 {
    font-weight: 400;
}

.fw_500 {
    font-weight: 500;
}

.fw_600 {
    font-weight: 600;
}

.fw_700 {
    font-weight: 700;
}

/* ------------- Line Height Utilities ------------- */

.lh_20 {
    line-height: 20px;
}

.lh_24 {
    line-height: 24px;
}

.lh_28 {
    line-height: 28px;
}

.lh_30 {
    line-height: 30px;
}

.lh_32 {
    line-height: 32px;
}

.lh_38 {
    line-height: 38px;
}

.lh_60 {
    line-height: 60px;
}

.lh_normal {
    line-height: normal;
}

/* ------------- Colors ------------- */

.text_primary {
    color: #1570EF;
}

.text_gray_400 {
    color: var(--Gray-400, #A3A3A3);
}

.text_gray_500 {
    color: var(--Gray-500, #737373);
}

.text_gray_600 {
    color: #525252;
}

.text_gray_700 {
    color: var(--Gray-700, #424242);
}

.text_gray_900 {
    color: #141414;
}

.text_gray_950 {
    color: var(--Gray-950, #0F0F0F);
}

.text_red_500 {
    color: var(--Red-500, #F14E42);
}

.text_red_600 {
    color: var(--Red-600, #D92D20);
}

.text_warning_500 {
    color: var(--Warning-500, #F79009);
}

.text_warning_600 {
    color: var(--Warning-600, #DC6803);
}

.text_525252 {
    color: #525252;
}

.text_141414 {
    color: #141414;
}

/* ------------- Spacing ------------- */

.p_10_16 {
    padding: 10px 16px;
}

.pt-120 {
    padding-top: 120px;
}

.px_14 {
    padding: 14px;
}

/* ------------- Buttons ------------- */

.btn-primary {
    background-color: #1570EF;
    transition: background-color 0.3s;
}

    .btn-primary:hover {
        background-color: #0d5fcb;
    }

/* ------------- Background ------------- */

.bg_primary_50 {
    background: var(--Primary-50, #EFF8FF);
    border-radius: 16px;
    padding: 20px 24px;
}

/* ------------- Form Elements ------------- */

.input_field {
    border-radius: var(--border-redius-sm, 8px);
    background: var(--Gray-100, #F5F5F5);
    padding: 12px 16px;
    width: 100%;
    border: none;
    font-size: var(--size-md, 14px);
    font-style: normal;
    font-weight: 400;
    line-height: var(--line-height-2xl, 20px);
}

.eye-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    cursor: pointer;
}

.form-control::placeholder {
    color: var(--Gray-400, #A3A3A3);
}

.asterisk {
    color: red;
}

/* ------------- Card & Layout Components ------------- */

.card {
    border-color: #F5F5F5;
    border-radius: 8px !important;
}

.valuation-card {
    padding: 20px;
    border-radius: 8px;
}

    .valuation-card .initial {
        color: #D92D20;
    }

    .valuation-card .adjusted {
        color: #1570EF;
    }

/* ------------- Sign Up & Login Section ------------- */

.sign-up-section {
    min-height: 100vh;
    display: grid;
    place-items: center;
}

.sign-up-section-right {
    min-height: calc(100vh - 0px);
    position: sticky;
    top: 0;
}

.signup_bg {
    position: relative;
    background-color: transparent;
    padding: 2rem;
    overflow: hidden;
    width: 100%;
    min-height: 100vh;
    height: fit-content !important;
}

    .signup_bg::after {
        content: "";
        position: absolute;
        left: 30px;
        width: calc(100% - 60px);
        height: 100%;
        background-image: url('/Assets/Falcon/Onboard/Images/instant_update.png');
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom center;
        z-index: 1;
        pointer-events: none;
    }

.background-image-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center;
    z-index: 0;
}

.z-index-1 {
    z-index: 1;
}
/* ------------- Responsive Styles ------------- */

@media screen and (max-width: 768px) {
    .view-all-img {
        right: 30px;
        bottom: 30px;
        width: fit-content;
    }

    .pt-120 {
        padding-top: 60px;
    }

    .signup_bg {
        padding: 50px 30px 200px;
    }

    .sign-up-section-right,
    .signup_bg {
        height: auto;
        position: relative;
    }
}

@media screen and (max-width: 450px) {
    .video-container {
        height: 295px;
    }

        .video-container .custom-play-button {
            width: 45px;
            height: 45px;
            font-size: 28px;
        }

    .map-direction {
        height: 250px;
    }

    .fs_48 {
        font-size: 36px;
    }

    .lh_60 {
        line-height: normal;
    }

    .fs_30 {
        font-size: 24px;
    }

    .fs_24 {
        font-size: 20px;
    }

    .fs_20 {
        font-size: 18px;
    }

    .fs_36 {
        font-size: 26px;
    }

    .fs_18 {
        font-size: 16px;
    }
}

@media screen and (max-width: 350px) {
    .fs_24 {
        font-size: 18px;
    }

    .fs_48 {
        font-size: 30px;
    }

    .fs_sm_12 {
        font-size: 12px;
    }
}

@media screen and (max-width: 992px) {
    .navbar-collapse.show {
        clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
    }

    .navbar-light .navbar-toggler {
        color: rgba(0, 0, 0, .55);
        border-color: rgba(0, 0, 0, .1);
        padding: 0;
        border: none;
        outline: none;
        box-shadow: none;
    }
}

@media screen and (max-width: 575px) {
    .hero-img,
    .zillo-main {
        max-width: 100%;
    }

    .contact-btn {
        width: 100%;
    }
}
