img,
video,
iframe {
    max-width: 100%;
}

html,
body {
    overflow-x: hidden;
}

@media (max-width: 1199px) {
    .header-con .navbar {
        align-items: center;
    }

    .header-con .navbar-brand img {
        max-width: 150px;
        height: auto;
    }

    .header-con .navbar-collapse {
        width: 100%;
        margin-top: 16px;
        padding: 18px 20px;
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 18px 45px rgba(10, 38, 99, 0.13);
    }

    .header-con .navbar-expand-lg .navbar-nav {
        gap: 0;
        align-items: stretch;
    }

    .header-con .navbar-light .navbar-nav .nav-link {
        display: block;
        padding: 12px 0 !important;
        line-height: 20px;
        border-bottom: 1px solid rgba(10, 38, 99, 0.09);
    }

    .header-con .navbar-light .navbar-nav .nav-item:last-child .nav-link {
        border-bottom: 0;
    }

    .header-btn {
        margin-left: 18px;
    }
}

@media (max-width: 991px) {
    .top-bar2-con {
        display: none;
    }

    .header-con {
        position: sticky;
        top: 0;
        z-index: 1000;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 10px 30px rgba(10, 38, 99, 0.08);
        backdrop-filter: blur(12px);
    }

    .main-banner3-con {
        min-height: auto;
        padding: 88px 0 165px;
        background-position: center;
    }

    .main-banner3-title {
        max-width: 680px;
        margin: 0 auto;
    }

    .main-banner3-title h1 {
        font-size: 40px;
        line-height: 46px;
    }

    .main-banner3-title p {
        max-width: 620px;
        margin-right: auto;
        margin-left: auto;
    }

    .generic-title {
        width: min(100%, 680px);
    }

    .service-item,
    .blog-box-item {
        width: min(100%, 430px);
    }

    .about-box,
    .home3-about-box,
    .form-box,
    .main-services-box {
        grid-template-columns: 1fr;
    }

    .about-img,
    .home3-about-img,
    .form-img {
        max-width: 520px;
        width: 100%;
        margin: 0 auto 26px;
    }

    .about-content,
    .home3-about-content-box,
    .form-con {
        text-align: center;
    }

    .contact-form ul {
        grid-template-columns: 1fr 1fr;
    }

    .footer-box {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }

    .footer-info,
    .footer-box .footer-item:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    body {
        font-size: 15px;
        line-height: 24px;
    }

    .header-con {
        padding: 12px 16px;
    }

    .header-con .navbar {
        display: flex;
        flex-wrap: wrap;
    }

    .header-con .navbar-brand img {
        max-width: 126px;
    }

    .navbar-toggler {
        margin-left: auto;
        padding: 8px;
        border: 0;
    }

    .header-btn {
        display: none !important;
    }

    .main-banner3-con {
        padding: 72px 0 135px;
    }

    .main-banner3-title span,
    .main-banner3-title small {
        font-size: 15px;
        line-height: 18px;
    }

    .main-banner3-title h1 {
        font-size: 30px;
        line-height: 36px;
        letter-spacing: 0;
    }

    .main-banner3-title h1 br {
        display: none;
    }

    .main-banner3-title p {
        font-size: 15px;
        line-height: 24px;
    }

    .padding-top {
        padding-top: 52px;
    }

    .padding-bottom {
        padding-bottom: 52px;
    }

    h2 {
        font-size: 28px;
        line-height: 34px;
    }

    h3 {
        font-size: 21px;
        line-height: 27px;
    }

    .service-item,
    .blog-box-item,
    .static-box-item,
    .team-box,
    .pricing-box-item,
    .contact-con .contact-box {
        width: 100% !important;
        max-width: 420px;
    }

    .service-img img,
    .blog-box-item img,
    .about-img img,
    .home3-about-img img {
        width: 100%;
        height: auto;
    }

    .contact-form ul,
    .footer-box,
    .pricing-box,
    .static-box,
    .team-box {
        grid-template-columns: 1fr;
    }

    .contact-form ul li {
        width: 100%;
    }

    .contact-form ul li input,
    .contact-form ul li textarea,
    .newsletter input {
        width: 100%;
    }

    .form-con {
        padding: 36px 18px;
    }

    .footer-con {
        text-align: left;
    }

    .footer-item,
    .footer-info {
        padding-right: 0;
        padding-left: 0;
    }

    .footer-info ul {
        align-items: flex-start !important;
    }
}

@media (max-width: 420px) {
    .main-banner3-title h1 {
        font-size: 26px;
        line-height: 32px;
    }

    .main-banner3-title p {
        font-size: 14px;
        line-height: 22px;
    }

    .generic-btn a,
    .submit-btn {
        width: 100%;
        text-align: center;
    }
}
