// Hero
.fp-hero {
    .fp-hero-top {
        position: relative;
        z-index: 1;
        background: $bgBlack;
        padding: 120px 0 240px;

        @media only screen and (max-width: $xl_1400) {
            padding: 100px 0 200px;
        }

        @media only screen and (max-width: $sm_767) {
            padding: 80px 0 160px;
        }

        &::after,
        &::before {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            content: '';
            width: 100%;
        }

        &::after {
            height: 100%;
            background: url('../images/home/fp-hero-glow.png') no-repeat bottom;
            background-size: cover;

            @media only screen and (min-width: $xl_1921) {
                margin: 0 auto;
                max-width: 1900px;
            }

            @media only screen and (max-width: $xl_1400) {
                height: 98%;
            }

            @media only screen and (max-width: $sm_767) {
                height: 100%;
                background-size: 100% 100%;
            }
        }

        &::before {
            z-index: -1;
            width: 100%;
            height: 90%;
            background: url('../images/home/fp-hero-bg.png') no-repeat bottom;
            background-size: cover;

            @media only screen and (max-width: $xl_1440) {
                height: 80%;
            }
        }

        .fp-hero-des {
            position: relative;
            z-index: 1;
            text-align: center;

            h1 {
                color: $textPurple;
                margin-bottom: 20px;
                font-weight: $fontMedium;

                @media only screen and (max-width: $md_991) {
                    margin-bottom: 10px;
                }
            }

            p {
                color: $textWhite;
                font-size: $font20;

                @media only screen and (max-width: $xl_1440) {
                    font-size: 18px;
                }

                @media only screen and (max-width: $md_991) {
                    font-size: 16px;
                }
            }
        }

        .fp-cmn-form {
            margin: auto;
            padding-top: 50px;
            max-width: 820px;

            @media only screen and (max-width: $md_991) {
                padding-top: 20px;
            }

            .form-control {
                color: $textWhite;
                border-color: $bgWhite;
                background: transparent;

                &:focus {
                    border-color: $bgWhite;
                }

                &::-webkit-input-placeholder {
                    color: $textWhite;
                }

                &:-moz-placeholder {
                    color: $textWhite;
                    opacity: 1;
                }

                &::-moz-placeholder {
                    color: $textWhite;
                    opacity: 1;
                }

                &:-ms-input-placeholder {
                    color: $textWhite;
                }

                &::-ms-input-placeholder {
                    color: $textWhite;
                }

                &::placeholder {
                    color: $textWhite;
                }
            }

            .fp-ic-group {
                .fp-ic-search {
                    background-image: url('../images/icons/fp-search-white.svg');
                }
            }

            .fp-cmn-btn {
                width: 100%;
                height: 56px;

                &:hover,
                &:focus {
                    color: $textBlack;
                    background: $bgWhite;
                }

                @media only screen and (max-width: $sm_767) {
                    height: 46px;
                }

                @media only screen and (max-width: $xs_575) {
                    height: auto;
                    margin-top: 15px;
                }
            }
        }
    }

    .fp-hero-box {
        position: relative;
        z-index: 1;
        margin-top: -90px;

        .fp-hero-box-list {
            padding: 20px;
            border-radius: 30px;
            background: $bgLightPurple;
            border: 1px solid $bgLightPink;

            @media only screen and (max-width: $sm_767) {
                border-radius: 20px;
            }

            .fp-hero-box-des {
                padding: 20px 30px;

                @media only screen and (max-width: $md_991) {
                    padding: 0 15px;
                }

                @media only screen and (max-width: $sm_767) {
                    padding: 0;
                }

                .fp-box-icon {
                    margin-bottom: 20px;
                    background: $bgBlack;
                    @include fpCommonBoxIcon;
                }

                p {
                    color: $textPink;
                    margin-bottom: 0;
                }
            }

            .fp-box-border {
                &:not(:last-child) {
                    @media only screen and (min-width: $sm_768) {
                        border-right: 1px solid $bgLightPink;
                    }

                    @media only screen and (max-width: $sm_767) {
                        .fp-hero-box-des {
                            margin-bottom: 20px;
                            padding-bottom: 20px;
                            border-bottom: 1px solid $bgLightPink;
                        }
                    }
                }
            }
        }
    }
}

// Our Fortune Client
.fp-clients {

    .fp-client-logo {
        img {
            height: 50px;
            object-fit: contain;

            @media only screen and (max-width: $xl_1400) {
                height: 35px;
            }

            @media only screen and (max-width: $sm_767) {
                height: 30px;
            }
        }
    }

    .fp-award-logo {
        img {
            margin: auto;
            display: block;
            height: 140px;

            @media only screen and (max-width: $xl_1400) {
                height: 120px;
            }

            @media only screen and (max-width: $sm_767) {
                height: 100px;
            }
        }
    }
}

// Browse Agencies by Category
.fp-brw-agency {
    .fp-browse-head {
        margin-bottom: 10px;

        @media only screen and (max-width: $md_991) {
            margin-bottom: 0;
            text-align: center;
        }
    }

    .fp-brw-agency-box {
        padding: 30px;
        margin-top: 30px;
        border-radius: 24px;
        border: 1px solid $bgLightPink;

        @media only screen and (max-width: $xl_1400) {
            padding: 25px;
        }

        @media only screen and (max-width: $sm_767) {
            padding: 20px;
            border-radius: 15px;
        }

        .fp-brw-head {
            margin-bottom: 20px;
            padding-bottom: 20px;
            border-bottom: 1px solid $bgPurple;

            @media only screen and (min-width: $xs_576) {
                display: flex;
                flex-wrap: wrap;
                align-items: center;
            }

            .fp-head-24 {
                margin-bottom: 0;

                @media only screen and (max-width: $xs_575) {
                    margin-top: 10px;
                }
            }
        }

        .fp-img-icon {
            margin-right: 15px;
            @include fpCommonBoxIcon;
            border: 1px solid $bgLightPink;

            @media only screen and (max-width: $xl_1400) {
                margin-right: 10px;
            }
        }

        .fp-brw-des {
            ul {
                margin-bottom: 0;

                li {
                    list-style-type: none;

                    &:last-child {
                        p {
                            margin-bottom: 0;
                        }
                    }

                    p {
                        color: $textBlack;
                    }
                }
            }
        }
    }
}

.fp-brw-mob-btn {
    margin-top: 30px;
}

// Get Your Project and Find Agencies
.fp-get-find {
    margin-top: 30px;

    @media only screen and (max-width: $xl_1660) {
        margin-top: 10px;
    }

    @media only screen and (max-width: $xs_575) {
        margin-top: 0;
    }

    @media only screen and (min-width: $md_992) {
        padding-left: 10px;
        padding-right: 10px;
    }

    .fp-get-project {
        position: relative;
        border-radius: 40px;
        background: #F0DBEF;
        padding: 110px 30px 110px 110px;

        @media only screen and (max-width: $xl_1660) {
            padding: 80px 30px;
        }

        @media only screen and (max-width: $lg_1199) {
            border-radius: 20px;
            margin-bottom: 30px;
        }

        @media only screen and (max-width: $md_991) {
            padding: 50px 30px;
        }

        @media only screen and (max-width: $sm_767) {
            padding: 30px;
        }

        @media only screen and (max-width: $xs_575) {
            padding: 20px;
        }

        .fp-get-des {
            max-width: 430px;

            @media only screen and (max-width: $xl_1660) {
                max-width: 370px;
            }

            @media only screen and (max-width: $md_991) {
                max-width: 350px;
            }

            @media only screen and (max-width: $sm_767) {
                max-width: 100%;
            }

            .fp-head-40 {
                margin-bottom: 15px;
            }

            p {
                font-size: $font20;

                @media only screen and (max-width: $xl_1660) {
                    font-size: 18px;
                }

                @media only screen and (max-width: $md_991) {
                    font-size: 16px;
                }

                @media only screen and (max-width: $xs_575) {
                    font-size: 14px;
                }
            }

            .fp-cmn-btn {
                margin-top: 40px;

                @media only screen and (max-width: $xl_1660) {
                    margin-top: 20px;
                }

                @media only screen and (max-width: $xs_575) {
                    margin-top: 0;
                }
            }
        }

        .fp-get-img {
            position: absolute;
            bottom: 0;
            right: 0;
            text-align: right;
            pointer-events: none;

            @media only screen and (max-width: $sm_767) {
                display: none;
            }

            img {
                width: 100%;

                @media only screen and (max-width: $xl_1660) {
                    width: 80%;
                }

                @media only screen and (max-width: $xl_1440) {
                    width: 75%;
                }

                @media only screen and (max-width: $md_991) {
                    width: 65%;
                }

                @media only screen and (max-width: $sm_767) {
                    width: 300px;
                }
            }
        }
    }

    .fp-find-agency {
        padding: 60px;
        background: $bgBlack;
        border-radius: 40px;

        @media only screen and (max-width: $xl_1660) {
            padding: 40px 30px;
        }

        @media only screen and (max-width: $lg_1199) {
            border-radius: 20px;
        }

        @media only screen and (max-width: $xs_575) {
            padding: 20px;
        }

        .fp-head-40 {
            color: $textPurple;
        }

        .fp-find-link-list {
            padding: 20px 0 50px;

            @media only screen and (max-width: $xl_1660) {
                padding-bottom: 20px;
            }

            a {
                color: $textWhite;
                border-radius: 8px;
                padding: 12px 24px;
                margin-bottom: 15px;
                display: inline-block;
                font-weight: $fontMedium;
                background: rgba($color: $bgPurple, $alpha: 0.2);

                &:hover {
                    color: $textBlack;
                    background: $bgPurple;
                }

                &:not(:last-child) {
                    @media only screen and (min-width: $xs_576) {
                        margin-right: 15px;
                    }
                }

                @media only screen and (max-width: $md_991) {
                    font-size: 14px;
                    padding: 10px 20px;
                }

                @media only screen and (max-width: $xs_575) {
                    padding: 10px;
                }
            }
        }

        .fp-cmn-btn {

            &:hover,
            &:focus {
                color: $textBlack;
                background: $bgWhite;
            }
        }
    }
}

// Simplify Your Agency Search
.fp-your-agency {
    .fp-cmn-head {
        @media only screen and (max-width: $sm_767) {
            padding-bottom: 0;
        }
    }

    .fp-agency-box {
        .fp-img-icon {
            width: 90px;
            height: 90px;
            line-height: 90px;
            text-align: center;
            border-radius: 24px;
            background: $bgLightPurple;
            border: 1px solid $bgLightPink;

            @media only screen and (max-width: $xl_1440) and (min-width: $lg_1200) {
                flex: 1 0 auto;
            }

            img {
                width: 40px;
                height: 40px;
            }

            @media only screen and (max-width: $md_991) {
                width: 60px;
                height: 60px;
                margin: 0 auto;
                line-height: 60px;
                border-radius: 14px;

                img {
                    width: 30px;
                    height: 30px;
                }
            }

            @media only screen and (max-width: $sm_767) {
                margin-top: 30px;
            }
        }

        .fp-cmn-des {
            @media only screen and (min-width: $md_992) {
                padding-left: 20px;
            }

            @media only screen and (max-width: $md_991) {
                padding-top: 20px;
                text-align: center;
            }

            .fp-head-24 {
                margin-bottom: 5px;
            }

            p {
                margin-bottom: 0;
            }
        }
    }
}

// Success Stories from Our Clients
.fp-testimonials {
    background: $bgBlack;

    .fp-testimonials-slider {
        @media only screen and (min-width: $md_992) {
            padding: 0 40px;
        }

        @media only screen and (max-width: $md_991) {
            padding-top: 70px;
        }

        .slick-arrow {
            border-color: $bgWhite;
            background: url('../images/icons/fp-arrow-white.svg') no-repeat center center / 26px 22px;
            padding: 0;
            margin: 0;
            z-index: 9;

            &:hover,
            &:focus {
                border-color: $bgDarkPink;
                background-color: $bgDarkPink;
            }

            @media only screen and (max-width: $md_991) {
                width: 40px;
                height: 40px;
                line-height: 36px;
                border-radius: 5px;
                background-size: 20px 20px;
                top: 25px;
            }

            &:before {
                display: none;
            }

            &.slick-prev {
                transform: rotateY(180deg);
                margin-top: -28px;

                @media only screen and (max-width: $md_991) {
                    margin-top: -20px;
                    left: calc(50% - 50px);
                }
            }

            &.slick-next {
                @media only screen and (max-width: $md_991) {
                    right: calc(50% - 50px);
                }
            }
        }
    }

    .fp-testi-des {
        padding-left: 17%;
        padding-right: 100px;

        @media only screen and (max-width: $xl_1660) {
            padding-left: 50px;
            padding-right: 50px;
        }

        .fp-head-40 {
            color: $textPurple;
            margin-bottom: 40px;
        }

        p {
            margin-bottom: 0;
            color: $textWhite;
        }

        @media only screen and (max-width: $md_991) {
            text-align: center;
            padding: 0 0 50px;

            .fp-head-40 {
                margin-bottom: 30px;
            }
        }

        .fp-testi-name {
            padding-top: 30px;

            @media only screen and (max-width: $sm_767) {
                padding-top: 10px;
            }

            h3 {
                margin-bottom: 3px;
                font-size: $font20;
                color: $textPurple;
            }

            .fp-testi-star {
                display: flex;
                flex-wrap: wrap;
                gap: 4px;
                margin: 4px 0 0;

                @media only screen and (max-width: $md_991) {
                    justify-content: center;
                }

                img {
                    width: 22px;
                    height: 22px;
                    object-fit: contain;

                    @media only screen and (max-width: $sm_767) {
                        width: 15px;
                        height: 15px;
                    }
                }
            }
        }
    }

    .fp-testi-img {

        @media only screen and (min-width: $xl_1921) {
            padding-right: 100px;
        }

        @media only screen and (max-width: $xl_1920) {
            padding-right: 100px;
        }

        @media only screen and (max-width: $xl_1660) {
            padding-right: 50px;
        }

        @media only screen and (max-width: $md_991) {
            padding-right: 0;
        }

        img {
            width: 100%;
            border-radius: 40px;

            @media only screen and (max-width: $lg_1199) {
                border-radius: 20px;
            }
        }
    }
}

// Discover Top Agencies
.fp-disc-head {
    margin-bottom: 30px;

    @media only screen and (max-width: $md_991) {
        margin-bottom: 15px;

        .fp-cmn-des {
            text-align: center;
        }
    }
}

.fp-discover-agency-list {
    .fp-discover-box {
        padding: 25px;
        border-radius: 24px;
        border: 1px solid $bgLightPink;
        display: flex;
        flex-direction: column;

        > {
            * {
                width: 100%;
            }
        }

        @media only screen and (max-width: $xs_575) {
            padding: 20px;
            border-radius: 14px;
        }
    }

    .fp-discover-logo {
        margin-bottom: 15px;

        .fp-vetted-badge {
            .fp-badge {
                position: relative;
                display: inline-flex;
                align-items: center;
                line-height: normal;
                gap: 8px;

                img {
                    width: 17px;
                    height: auto;
                }
            }
        }

        img {
            width: 70px;
            height: 70px;
            object-fit: contain;
        }
    }

    .fp-disc-list {
        span {
            font-size: $font14;
            padding-right: 20px;
            display: inline-block;

            img {
                width: 15px;
                height: 15px;
                margin-right: 5px;
                display: inline-block;
                vertical-align: middle;
            }
        }
    }

    .fp-cmn-des {
        flex: 1 0 0;
    }

    .fp-discover-detail {
        margin-top: 40px;

        .fp-disc-list {
            display: flex;
            flex-wrap: wrap;

            span {
                display: flex;
            }
        }

        .fp-disc-btn-group {
            gap: 12px;
        }

        @media only screen and (max-width: $xs_575) {
            margin-top: 10px;
        }
    }

    .fp-disc-btn-group {

        @media only screen and (min-width: $xs_576) {
            display: flex;
            justify-content: end;
        }

        .btn {
            margin-left: 10px;
            font-size: $font14;
            padding: 10px 20px;
            border-radius: 5px;

            @media only screen and (max-width: $sm_767) {
                width: 50%;
                margin: 10px 5px 0;
            }

            @media only screen and (max-width: $xs_575) {
                width: 100%;
                margin: 10px 0 0;
            }
        }
    }

    .fp-dagency-slider {
        .item {
            padding: 10px;
        }
    }
}

// Cust Navigation
.fp-disc-nav {
    padding-right: 30px;
    @include fpDflexWrap;

    .btn {
        width: 48px;
        height: 48px;
        margin-right: 8px;
        line-height: 42px;
        border-radius: 8px;
        border: 1px solid $bgBlack;
        @include fpDflexWrap;
        align-items: center;

        &.fp-disc-next {
            transform: rotate(-180deg);
            -o-transform: rotate(-180deg);
            -ms-transform: rotate(-180deg);
            -moz-transform: rotate(-180deg);
            -webkit-transform: rotate(-180deg);
        }

        &:hover {
            background: $bgBlack;

            svg {
                path {
                    fill: $bgPurple;
                }
            }
        }
    }

    @media only screen and (max-width: $md_991) {
        padding-right: 0;
        margin-bottom: 15px;

        .btn {
            margin: 5px;
            padding: 0;
            width: 40px;
            height: 40px;
            line-height: 36px;
            border-radius: 5px;

            svg {
                width: 20px;
                height: 20px;
                margin: auto;
            }
        }
    }
}

.slick-arrow {
    width: 48px;
    height: 48px;
    margin-right: 10px;
    line-height: normal;
    border-radius: 8px;
    border: 1px solid $bgBlack;
    @include fpDflexWrap;

    &.fp-disc-next {
        transform: rotate(-180deg);
        -o-transform: rotate(-180deg);
        -ms-transform: rotate(-180deg);
        -moz-transform: rotate(-180deg);
        -webkit-transform: rotate(-180deg);
    }

    &:hover {
        background: $bgBlack;

        svg {
            path {
                fill: $bgPurple;
            }
        }
    }
}

// Join Our Community
.fp-join-community {
    background: $bgLightPurple;

    .fp-cmn-des {
        margin-bottom: 30px;
    }

    .form-control {
        background: transparent;
    }

    .fp-join-img {
        img {
            width: 100%;
            min-height: 450px;
            object-fit: cover;

            @media only screen and (max-width: $md_991) {
                min-height: 300px;
            }
        }
    }

    .fp-cmn-form {
        @media only screen and (max-width: $md_991) {
            padding: 50px 0;
            text-align: center;

            .form-group {
                margin-bottom: 20px !important;
            }
        }
    }
}

// Why Choose 5oPros
.fp-best-compny {
    .fp-cmn-des {
        margin-bottom: 50px;

        .fp-head-40 {
            span {
                color: $textPurple;
            }
        }
    }

    .fp-best-box-des {
        padding: 30px;

        h3 {
            position: relative;
            padding-bottom: 15px;
            margin-bottom: 15px;

            &::after {
                position: absolute;
                left: 0;
                bottom: 0;
                content: '';
                width: 100px;
                height: 2px;
                background: $bgPurple;
            }
        }

        @media only screen and (max-width: $sm_767) {
            padding: 15px 0;
        }
    }
}