/* mobile */
@media (max-width: 767px) {

    .mt-sm-3 {
        margin-top: 1.5rem;
    }

    .mb-sm-3 {
        margin-bottom: 1.5rem;
    }

    .gap-y-sm-3 {
        row-gap: 3rem
    }

    .sec {
        margin-top: 70px;
    }

    .intro-sec {
        margin-top: 21em;
    }

    .bread-crumb {
        display: none;
    }

    .header {
        display: flex;
        flex-direction: column;
        align-items: start;
        gap: 15px;
        margin-bottom: 1.5rem;
    }

        /* ------Home-banner------ */
    .hmbanner {
        background-color: #306BAC;
    }

    .hmbanner .mySwiper {
        height: 100%;
    }

    .hmbanner .swiper-slide .hm-bn-con {
        width: 100%;
        padding: 50px 0px;
    }

    .bn-slide-img,
    .hmbanner .swiper-slide::before,
    .hmbanner .swiper-slide::after,
    .hmbanner .swiper-button-prev,
    .hmbanner .swiper-button-next,
    .swiper-pagination {
        display: none;
    }


    .features-grid {
        grid-template-columns: repeat(1, 1fr);
        gap: 30px;
    }

    .stats {
        display: flex;
        flex-direction: column;
        gap: 25px;
        margin-bottom: 1.3rem;
        align-items: center;
    }
    
    .stat {
        display: flex;
        flex-direction: row;
        gap: 20px;
        align-items: center;
        width: 85%;
    }

    .stat span {
        font-size: 50px;
        font-weight: 800;
    }

    .product-categories-grid {
        grid-template-columns: repeat(1, 1fr);
    }

    .panel-tabs {
        width: 90%;
    }

    .leader-sec img {
        width: 100%;
    }

    .blog-sec {
        grid-template-columns: repeat(1, 1fr);
    }

    .products-grid {
        grid-template-columns: repeat(1, 1fr);
    }

    .cta-card {
        width: 100%;
    }


    /* about us page */
    .banner {
        background-position: right;
        height: 20vh;
    }
    
    .bn-con {
        padding: 35px 20px;
        width: 96%;
        top: 20vh;
        transform: translateY(-15%);
    }

    .credo-grid {
        grid-template-columns: repeat(1, 1fr);
    }

    .video-wrapper {
        width: 100%;
        padding: 12px;
    }

    .video-wrapper > iframe {
        height: 30vh;
    }

    .bod-card {
        flex-direction: column !important;
        width: 100%;
        height: unset;
        z-index: 10 !important;
        gap: 0px;
    }

    .bod-card img {
        height: auto;
        width: 100%;
    }

    .bod-card-con-r .bod-card .card-con,
    .bod-card-con-l .bod-card .card-con {
        padding: 30px 25px;
    }


    /* product page */
    .theme-cards-grid {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 20px;
    }

    .theme-card {
        padding: 30px 25px;
        position: relative;
    }

    .theme-card .icon {
        width: 90px !important;
        height: 90px;
    }

    .theme-card .icon > img {
        width: 70px;
    }

    #theme-card-btn {
        position: absolute;
        top: 30px;
        right: 25px;
    }


    /* franchise-page */
    .separator {
        display: none;
    }

    .franchisee-requirements {
        width: 100%;
    }

    .franchise-partnership {
        width: 100%;
    }

    .contact-form .form-field .upload {
        flex-direction: column;
        justify-content: space-between;
        align-items: start;
        gap: 20px;
    }

    .contact-form.careers-form {
        grid-template-columns: repeat(1, 1fr);
    }

    .product-bn {
        padding: 55px 0px;
        background: #F8F8F8;
        position: relative;
        height: 100%;
        display: flex;
        align-items: center;
    }

    .product-bn .product-bn-inner {
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        gap: 30px;
    }

    .product-bn .product-img {
        width: 80vw;
        height: auto;
    }

    .product-bn .product-bn-con {
        width: 100%;
    }

    .grid-2, .grid-3,  .grid-4 {
        grid-template-columns: repeat(1, 1fr);
    }
    
}

/* mobile-tablet */
@media (max-width: 1023px) {

    .navbar {
        display: none;
    }

    .mob-nav {
        --mobile-nav: 75px;
        padding-bottom: var(--mobile-nav);
    }

    .mob-nav-con {
        top: 0;
        position: fixed !important;
        width: 100%;
        height: var(--mobile-nav);
        background: #ffffff !important;
        transition: 0.5s ease;
        display: flex;
        justify-content: center !important;
        z-index: 999 !important;
    }

    .mob-nav-overlay {
        position: fixed;
        width: 100vw;
        height: 100vh;
        transform: translate(100%, 0);
        display: none;
        transition: 0.8s ease;
        background-color: #ffffff;
        z-index: 998;
        padding-top: calc(var(--mobile-nav) + 15px);
        padding-bottom: var(--mobile-nav);
    }

    .mob-nav-overlay .container {
        height: 100% !important;
    }
    
    .mob-nav button.nav-toggle {
        width: 40px !important;
        height: 40px !important;
        background: transparent;
        border: 3px solid #74C7A9;
        border-radius: 100px;
        padding: 7px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .mob-nav button.nav-toggle::before {
        content: "";
        background-image:url(./images/icons/nav-toggle.svg) !important;
        background-position: center;
        background-size: contain;
        background-repeat: no-repeat;
        width: 100%;
        height: 100%;
    }

    .mob-nav .mob-nav-inner {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 30px;
        overflow-y: scroll;
        overflow-x: hidden;
        height: 100% !important;
    }

    .search > img {
        position: absolute;
        left: 16px;
        top: 10px;
    }

    .search-input {
        width: 100%;
        height: 35px;
        padding: 0 16px 0 45px;
        border: 2px solid #74C7A9;
        border-radius: 30px;
        color: #306BAC;
        font-size: 17px;
        font-weight: 500;
        background-color: transparent;
        outline: none;
    }

    .mob-nav .nav-links {
        display: flex;
        flex-direction: column;
        align-items: start;
        justify-content: start;
        gap: 0px;
        height: fit-content;
        width: 100% !important;
    }

    .mob-nav a.nav-link {
        font-weight: 500;
        font-size: 15px;
        line-height: 100%;
        transition: 0.4s ease;
        color: #306BAC;
        border-radius: 0;
        padding: 15px 0px 12px;
        border-bottom: 2px solid #74C7A9;
        width: 100% !important;
    }

    .mob-nav a.nav-link:hover {
        transform: unset;
        background-color: unset;
        box-shadow: unset;
        border-bottom: 2px solid #D1343E;
    }

    .mob-nav a.nav-link:last-child {
        border-bottom: none;
    }

    .mob-dropdown {
        width: 100%;
    }

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

    .dropdown-icon {
        width: 12px;
        height: 12px;
        transition: 0.5s ease;
        background-image: url(./images/icons/dropdown-icon.png);
        background-size: contain;
        background-repeat: no-repeat;
    }

    .mob-dropdown.open .dropdown-icon {
        transform: rotate(180deg);
    }

    .dropdown-content {
        max-height: 0;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        background-color: #F8F8F8;
        border-radius: 5px;
        overflow: hidden;
        padding: 0 10px;
        transition: max-height 0.5s ease;
    }

    .ft-logo {
        width: 150px;
    }

    .ft-logo img {
        width: 100%;
    }

    .ft-bottom {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        position: relative;
        min-height: 38px;
        gap: 20px;
    }

    .footer .socials {
        display: flex;
        flex-direction: row;
        gap: 12px;
        width: fit-content;
        position: static;
        left: unset;
    }

    .ft-bottom p {
        width: fit-content;
        alignment-baseline: middle;
        text-align: center;
    }

    .stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .interactive-sec {
        display: flex;
        flex-direction: column;
        justify-content: start;
        gap: 0px;
        min-height: fit-content;
    }

    .panel-sec {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        position: relative;
        min-height: fit-content;
    }

    
    .panel-cards {
        height: unset;
        min-height: var(--panels-height);
    }

    .panel-card {
        width: 100% !important;
        padding: 30px 20px 100px;
        background-size: cover;
        background-position: center;
        box-shadow: 1px 4px 8px rgba(0, 0, 0, 0.4);
        border-radius: 30px;
    }

    .panel-tabs {
        display: flex;
        flex-direction: column;
        border-radius: 20px;
        overflow: hidden;
        box-shadow: 1px 4px 8px rgba(0, 0, 0, 0.4);
        width: fit-content;
        position: relative;
        transform: translateY(-60px);
        min-height: fit-content;
    }

    .leader-sec {
        display: flex;
        flex-direction: column;
        padding: 27px;
        border-radius: 30px;
        box-shadow: 1px 4px 8px rgba(0, 0, 0, 0.4);
        width: 100%;
    }

    .leader-sec img {
        border-radius: 14px;
        width: 60%;
    }    

    .bod-card-con-l .bod-card:hover,
    .bod-card-con-r .bod-card:hover {
        transform: translateX(0px) !important;
        box-shadow: 1px 4px 10px rgba(0, 0, 0, 0.1) !important;
    }

    .bod-card {
        width: 100%;
    }

    .credo {
        padding: 30px 25px;
        flex-direction: column;
        align-items: start;
    }

    .faq-img {
        width: 100%;
        height: 30vh;
        border-radius: 30px;
        box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.3);
        background: url(./images/faq-img-bg.webp);
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
    }

    .faq-img img {
        display: none;
    }

    /* faq-page tabs */
    .faq-tabs {
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 10px;
    }

    .faq-tab {
        width: 100%;
        text-align: left;
        padding: 12px 20px;
        font-size: 14px;
        white-space: normal;
    }

}

/* tablet */
@media (min-width: 768px) and (max-width: 1023px) {
    .gap-y-md-0 {
        row-gap: 0;
    }

    .bn-con {
        width: 80%;
    }
    
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }    

    .product-categories-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .blog-sec {
        grid-template-columns: repeat(2, 1fr);
    }

    .credo-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .theme-cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .products-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cta-card {
        width: 80%;
    }

    .grid-3, .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }

}

/* tablet */
@media (min-width: 768px) {

    .pr-md-0 {
        padding-right: 0 !important;
    }

    .pl-md-4 {
        padding-left: 4rem;
    }

    .p-md-0 {
        padding-left: 0;
        padding-right: 0;
    }

    .w-md-50 {
        width: 47% !important;
    }

}

/* desktop */
@media (min-width: 1024px) {    

    .p-lg-0 {
        padding-left: 0;
        padding-right: 0;
    }

    .pr-lg-0 {
        padding-right: 0 !important;
    }

    .pl-lg-4 {
        padding-left: 4rem;
    }

    .pr-lg-4 {
        padding-right: 4rem;
    }

    .mob-nav {
        display: none !important;
    }

    .features-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .cta-sec-2 h2 {
        font-size: 48px;
    }

}