/* Common fix for all screen sizes */
body, html {
    overflow-x: hidden;
    width: 100%;
}

img, video {
    max-width: 100%;
    height: auto;
}

.container, .container-fluid {
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
}

button, .btn, a.fancy-btn {
    font-size: 16px;
    padding: 12px 20px;
    min-width: 140px;
    touch-action: manipulation;
}

/* Large Devices (Desktops, 992px–1199px) */
@media (min-width: 992px) and (max-width: 1199px) {
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 15px;
        padding-left: 15px;
    }
    .testimonials-slides .owl-prev {
        left: -3%;
    }
    .testimonials-slides .owl-next {
        right: -3%;
    }
    .fancy-skills-area {
        padding: 100px;
    }
    .breadcumb-content h2 {
        font-size: 40px;
    }
}

/* Medium Devices (Tablets, 768px–991px) */
@media (min-width: 768px) and (max-width: 991px) {
    .header_area {
        height: 70px;
        padding: 0 30px;
    }
    .navbar-toggler {
        border: 2px solid #fff;
        margin: 18px 0;
    }
    .navbar-toggler span {
        color: #fff;
    }
    #fancyNav {
        background: linear-gradient(to right, #7450fe, #21d397);
        padding: 15px;
        border-radius: 0 0 3px 3px;
        margin-top: -2px;
    }
    .fancy-search-and-shop-area {
        margin-left: 30px;
        margin-top: 15px;
    }
    .fancy-search-form {
        height: 70px;
        padding: 0 30px;
    }
    .fancy-search-form form input {
        font-size: 24px;
    }
    .search-close-btn {
        top: 4px;
    }
    .fancy-hero-content h2 {
        font-size: 36px;
    }
    .fancy-hero-area {
        height: 800px;
    }
    .about-us-thumb {
        margin-top: 50px;
    }
    .fancy-skills-area {
        padding: 100px 0;
    }
    .section-heading h2 {
        font-size: 30px;
    }
    .testimonials-slides .owl-prev {
        left: -2%;
    }
    .testimonials-slides .owl-next {
        right: -2%;
    }
    .footer-nav ul li a {
        padding: 0 5px;
    }
    .breadcumb-content h2 {
        font-size: 36px;
    }
    .blog-sidebar {
        margin-top: 100px;
    }
}

/* Small Devices (Mobiles, 320px–767px) */
@media (min-width: 320px) and (max-width: 767px) {
    .header_area {
        height: 70px;
        padding: 0 15px;
    }
    .navbar-toggler {
        border: 2px solid #fff;
        margin: 18px 0;
        z-index: 9999;
    }
    .navbar-toggler span {
        color: #fff;
    }
    #fancyNav {
        background: linear-gradient(to right, #7450fe, #21d397);
        padding: 15px 0;
        border-radius: 0 0 3px 3px;
        margin-top: -2px;
    }
    .fancy-search-and-shop-area {
        margin-left: 15px;
        margin-top: 15px;
    }
    .fancy-search-form {
        height: 60px;
        padding: 0 20px;
    }
    .fancy-search-form form input {
        font-size: 20px;
    }
    .search-close-btn {
        top: 4px;
    }
    .fancy-hero-content h2 {
        font-size: 24px;
        margin-bottom: 20px;
        text-align: center;
    }
    .video-overview > a {
        margin-bottom: 20px;
        display: block;
        text-align: center;
    }
    .single-top-feature {
        padding: 15px;
    }
    .fancy-btn {
        width: 140px;
    }
    .fancy-top-features-content {
        position: relative;
        bottom: 0;
        transform: translateY(0%);
    }
    .about-us-text > h2 {
        font-size: 22px;
        text-align: center;
    }
    .about-us-thumb {
        margin-top: 30px;
    }
    .fancy-hero-area {
        height: 600px;
    }
    .fancy-skills-area {
        padding: 60px 0;
    }
    .skills-side-thumb {
        width: 100%;
        transform: translateY(0%);
        margin-bottom: 30px;
    }
    .footer-copywrite-area {
        height: auto;
        padding: 20px 0;
    }
    .copywrite-text p {
        font-size: 12px;
        text-align: center;
        margin: 0;
    }
    .footer-nav ul li a {
        font-size: 12px;
        text-align: center;
        padding: 0 10px 0 0;
    }
    .testimonials-slides .owl-prev,
    .testimonials-slides .owl-next {
        left: 0 !important;
        right: 0 !important;
        transform: translateY(150%);
    }
    .contact-form-area {
        margin-top: 60px;
    }
    .breadcumb-content h2 {
        font-size: 22px;
        text-align: center;
    }
    .section-heading h2 {
        font-size: 24px;
        text-align: center;
    }
    .blog-sidebar {
        margin-top: 80px;
    }
}
