/* Responsive homepage overrides. */
@media (max-width: 991px) {
    .homepage #enfinity_1 .pix_slideshow_target {
        width: 100% !important;
    }

    .homepage .container,
    .homepage .container2 {
        width: 100%;
        max-width: 760px;
        margin-inline: auto;
        padding-inline: 24px;
    }

    .homepage .header,
    .homepage .header.affix {
        padding: 6px 0 !important;
        background: #fff;
    }

    .homepage .header .container2 {
        padding-inline: 20px !important;
    }

    .homepage .header .container2 > .row,
    .homepage .header.affix .container2 > .row {
        min-height: 64px !important;
    }

    .homepage .header .container2 > .row::before,
    .homepage .header .container2 > .row::after {
        display: none;
    }

    .homepage .header .col-md-8 {
        display: none !important;
    }

    .homepage .header .logo img,
    .homepage .header.affix .logo img {
        width: auto !important;
        max-width: min(200px, 55vw) !important;
        height: 38px !important;
        max-height: 38px !important;
    }

    .homepage .header:not(.affix) .logo img.logo1 {
        height: 48px !important;
        max-height: 48px !important;
        max-width: min(220px, 55vw) !important;
    }

    .homepage .header #trigger-menu {
        position: relative;
        z-index: 12;
        display: flex !important;
        align-items: center;
        gap: 6px;
        min-height: 44px;
    }

    .homepage .header #trigger-menu.is-active {
        background: #fff;
        border-radius: 4px;
        box-shadow: 0 0 0 6px #fff;
    }

    .homepage .header .overlay {
        width: min(340px, calc(100% - 64px)) !important;
        left: -100%;
        height: 100vh;
        height: 100dvh;
        padding: 76px 24px 24px;
        overscroll-behavior: contain;
    }

    .homepage .header .overlay.active {
        left: 0;
    }

    .homepage .menubackdrop {
        background: rgb(14 43 92 / 30%);
    }

    .homepage .nav_one > li > a {
        padding-block: 12px;
        font-size: 18px;
    }

    .homepage .overlay .info-inner {
        margin-bottom: 0;
        padding-top: 24px;
    }

    .homepage .overlay .info li {
        padding-left: 30px;
        overflow-wrap: anywhere;
        font-size: 14px;
    }

    .homepage .overlay .info a {
        color: #fff;
    }

    .homepage .heading,
    .homepage .heading2 {
        font-size: clamp(32px, 5vw, 42px) !important;
        line-height: 1.18;
    }

    .homepage .subhead {
        font-size: 22px;
        line-height: 1.4;
    }

    .homepage .golden-welcome .anim-icon,
    .homepage .catback .anim-icon,
    .homepage .addback > [class^="teddydetail"],
    .homepage footer > [class^="teddydetail"],
    .homepage .footer1,
    .homepage .vid1,
    .homepage .vid2,
    .homepage .video2,
    .homepage .testiback .value-shape {
        display: none;
    }

    .homepage .notice {
        margin: 24px 0 40px;
    }

    .homepage .notice .row {
        display: grid;
        gap: 24px;
    }

    .homepage .notice .row::before,
    .homepage .notice .row::after {
        display: none;
    }

    .homepage .notice .box {
        width: 100%;
        height: auto;
        padding: 4px;
    }

    .homepage .notice .box::before,
    .homepage .notice .box > span {
        border-radius: 28px;
    }

    .homepage .notice .box1 {
        position: relative;
        z-index: 1;
    }

    .homepage .notice .box1 span {
        position: relative;
        inset: auto;
        display: block;
        border-radius: 24px;
        padding: 24px;
        line-height: 1.8;
    }

    .homepage .rangeback {
        margin: 40px 0;
    }

    .homepage .rangelist {
        max-width: 400px;
        margin: 36px auto 0;
    }

    .homepage .catback {
        margin-top: 48px;
        padding: 40px 0 64px;
    }

    .homepage .face .slick-dots {
        position: static;
        margin: 18px 0 0;
    }

    .homepage .face .slick-dots li {
        margin: 0 2px;
    }

    .homepage .addback {
        padding: 64px 0 40px;
    }

    .homepage .golden-choose-visual {
        max-width: 600px;
        margin: 32px auto 0;
    }

    .homepage .cycleback {
        padding: 40px 0;
        overflow: hidden;
    }

    .homepage .cyclepart {
        flex-direction: column;
        gap: 24px;
        max-width: 712px;
        margin: 0 auto;
        padding: 0 24px;
    }

    .homepage .part1,
    .homepage .part2 {
        width: 100%;
        padding: 0;
        min-width: 0;
    }

    .homepage .part1 p {
        margin-top: 20px;
    }

    .homepage .phool img {
        max-width: 120px;
    }

    .homepage .videoback {
        padding: 40px 0;
    }

    .homepage .videoback .vidimg {
        width: 100% !important;
        max-width: 500px;
        height: auto;
        aspect-ratio: 1;
        margin: 0 auto;
        padding: 10px;
    }

    .homepage .videobase {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 12px;
        margin-top: 32px;
        padding: 0;
    }

    .homepage .videobase .heading2 {
        grid-column: 1 / -1;
    }

    .homepage .videobase > .col-md-6 {
        width: auto;
        padding: 0;
    }

    .homepage .videobase .single-item {
        margin: 0;
        gap: 12px;
        align-items: flex-start;
    }

    .homepage .videobase .iconboxbase {
        flex: 0 0 40px;
    }

    .homepage .videobase .single-item h3 {
        font-size: 18px;
        line-height: 1.4;
    }

    .homepage .testiback {
        padding: 48px 0;
    }

    .homepage .testi {
        display: grid;
        gap: 24px;
        max-width: 600px;
        margin: 32px auto 0;
    }

    .homepage .testilist {
        width: 100%;
        min-width: 0;
        margin: 0;
    }

    .homepage .testibox {
        padding: 36px 24px;
        margin: 10px;
    }

    .homepage footer {
        padding-top: 64px;
    }

    .homepage footer .row > [class*="col-md-"] {
        display: flow-root;
        margin-bottom: 20px;
    }

    .homepage .fooheading h6 {
        font-size: 28px;
        margin: 0 0 20px;
    }

    .homepage .footer-contacts li {
        float: none;
        padding-left: 48px;
        min-height: 36px;
        overflow-wrap: anywhere;
    }

    .homepage .footer-contacts li img {
        width: 32px;
    }

    .homepage ul.footer-useful-links li {
        padding-left: 28px;
        min-height: 0;
    }

    .homepage ul.footer-useful-links li img {
        width: 16px;
        top: 4px;
    }

    .homepage .copyright {
        padding: 20px 15px;
    }

    /* Small screens should not depend on the legacy scroll-reveal scripts. */
    .homepage .wow {
        visibility: visible !important;
        animation: none !important;
    }
}

@media (max-width: 767px) {
    .homepage #enfinity_1 {
        /* Keep the complete banner below the fixed mobile header. */
        margin-top: 76px;
    }

    .homepage #enfinity_1 .filmore_commands {
        opacity: 1;
    }

    .homepage #enfinity_1 .filmore_command {
        top: auto;
        bottom: 0;
        width: 44px;
        height: 44px;
        line-height: 44px;
        margin-top: 0;
        border-radius: 50%;
        background: transparent;
        opacity: 1;
    }

    .homepage #enfinity_1 .filmore_command::before {
        font-size: 20px;
        text-shadow: 0 1px 3px rgb(14 43 92 / 55%);
    }

    .homepage #enfinity_1 .filmore_prev {
        left: 0;
    }

    .homepage #enfinity_1 .filmore_next {
        right: 0;
    }

    .homepage #enfinity_1 .filmore_pagination {
        bottom: 6px;
    }

    .homepage #enfinity_1 .filmore_pag {
        border-color: #286a94;
    }

    .homepage #enfinity_1 .filmore_current_pag {
        background: #286a94;
    }

    .homepage .golden-welcome {
        padding: 36px 0 44px;
    }

    .homepage .golden-welcome .para {
        margin-top: 22px;
        line-height: 1.85;
    }

    .homepage .fixed-contact {
        top: auto;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 9;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 8px 16px calc(8px + env(safe-area-inset-bottom));
        background: #fff;
        box-shadow: 0 -2px 14px rgb(14 43 92 / 12%);
        transform: none;
    }

    .homepage .fixed-contact .touch-btn {
        position: static;
        flex: 1;
        max-width: 280px;
        width: auto;
        height: 44px;
        border-radius: 8px;
    }

    .homepage .touch-btn span {
        writing-mode: horizontal-tb;
        transform: none;
    }

    .homepage .fixed-contact .contact-btn {
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        border-radius: 50%;
    }

    .homepage a#backToTop {
        right: 12px;
        bottom: calc(76px + env(safe-area-inset-bottom));
        width: 44px;
        height: 44px;
    }

    .homepage a#backToTop::before {
        display: none;
    }

    .homepage footer {
        padding-bottom: calc(60px + env(safe-area-inset-bottom));
    }

    .homepage .modal-dialog {
        margin: 12px;
    }

    .homepage .modal-content {
        display: block;
        width: 100%;
        padding: 16px;
        border-radius: 24px;
    }

    .homepage .modal-title {
        padding-right: 36px;
        font-size: 24px;
        line-height: 1.3;
    }

    .homepage .modal-header .close {
        top: 8px;
        right: 8px;
        width: 44px;
        height: 44px;
    }

    .homepage .modal-body {
        padding: 12px 0;
    }

    .homepage .modal input,
    .homepage .modal select,
    .homepage .modal textarea {
        font-size: 16px;
        padding-inline: 14px;
    }
}

@media (max-width: 359px) {
    .homepage #recaptcha1 {
        transform: scale(0.84);
        transform-origin: top left;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .homepage .rangeback .row {
        display: flex;
        flex-wrap: wrap;
    }

    .homepage .rangeback .col-md-12 {
        width: 100%;
    }

    .homepage .rangeback .col-md-4 {
        width: 33.333%;
    }
}

.homepage html,
html:has(body.homepage) {
    scroll-behavior: smooth;
}

.homepage a.offer {
    display: block;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

.homepage #what-we-offer {
    scroll-margin-top: 120px;
}

.homepage .bt_bb_card_inner,
.homepage .bt_bb_card_inner a,
.homepage .bt_bb_card_inner span {
    color: #317fa5;
}

.homepage ul.footer-useful-links {
    display: flex;
    flex-wrap: wrap;
    column-gap: 24px;
    row-gap: 8px;
}

.homepage ul.footer-useful-links li {
    float: none;
    width: auto;
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.3;
    padding-left: 22px;
}

.homepage ul.footer-useful-links li img {
    width: 14px;
    top: 3px;
}
