/* Media Queries for responsive design */
@media (max-width: 575.98px) {

    /* Navigation Bar */
    .navbar-toggler {
        right: 15px;
        top: 20px;
    }

    .gallery-in .light-link {width: 100%;}
    .gallery-in .gallery-grid img {max-width: 100%;}

    .navbar-collapse {
        display: flex;
        justify-content: flex-end;
    }

    .navbar-nav {
        padding: 15px;
        background: #151515;
        position: absolute;
        top: 63px;
    }

    .navbar-nav .dropdown-menu {
        position: absolute !important;
    }

    .hero h1 {
        font-size: 30px;
    }

    .hero h4 {
        font-size: 16px;
    }

    .hero-little {
        height: 218px;
    }

    .hero-little h1 {
        font-size: 30px !important;
    }

    .services-in,
    .services-list,
    .contact-section,
    .contact,
    .news-in,
    .news,
    .gallery-in,
    .gallery-list,
    .about-us {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .stats-section p,
    .review-box .quote,
    .review-box .name {
        font-size: 16px;
    }

    .stats-section h3 {
        font-size: 50px;
    }

    .faq p.title {
        font-size: 18px;
    }

    .faq p.text {
        font-size: 16px;
    }

    .services-overview p.lead {
        font-size: 16px;
    }

    .services-overview h2 {
        font-size: 30px;
    }

    .professionals .container .splide,
    .review .container .splide {
        text-align: -webkit-center;
    }

    .blog {
        padding-bottom: 6rem;
    }

    .blog a.btn.btn-filled-dark {
        margin: 0 auto;
        margin-top: 100px;
    }

    .blog .card-body {
        position: static;
        transform: none;
        width: 100%;
        max-width: 80%;
        height: auto;
        margin-top: -50px;
    }

    .blog .card img:not(.btn img) {
        aspect-ratio: unset;
        height: auto;
    }

    .gallery-list a.btn {
        font-size: 15px !important;
    }

    .gallery-in .gallery-grid {
        grid-template-columns: 1fr;
    }

    .gallery-in .gallery-grid img {
        width: 100%;
        height: 250px;
        object-fit: cover;
    }

    .services-list .card img:not(.btn.btn-transparent-with-arrow img),
    .news .card img:not(.btn.btn-transparent-with-arrow img) {
        width: 100%;
        max-width: 100%;
        height: auto;
        max-height: 210px;
        object-fit: cover;
    }

    .news .card .card-text {
        margin-bottom: 0.5rem;
    }

    .news-in .context h2 {
        font-size: 30px;
    }

    .news-in .context ul li,
    .news-in .context p {
        font-size: 16px;
    }

    footer {
        padding-top: 3rem;
    }

    .contact-section .right-col h4 {
        font-size: 28px;
    }

    .contact-section .right-col p.lead {
        font-size: 16px;
    }

    .hero {
        height: 520px;
    }

    .services-overview h2 {
        line-height: 120%;
    }

    .service-box {
        max-width: 100%;
    }

    .construction-section img {
        max-width: 100%;
        object-fit: cover;
        max-height: 350px;
    }

    .blog h2,
    .professionals h2,
    .previous-projects h2,
    .review h2,
    .faq h2,
    .quality-construction h2,
    .construction-section .right-content h2,
    .services-overview h2 {
        font-size: 30px;
    }

    .services-overview .service-box h5 {
        font-size: 18px;
    }

    .blog p.lead,
    .professionals p,
    .previous-projects p,
    .review div.lead,
    .quality-construction div:not(.card div),
    .services-overview p.lead {
        font-size: 16px;
    }

    .blog,
    .professionals,
    .previous-projects,
    .review,
    .stats-section,
    .faq .contact-fluid,
    .quality-construction,
    .services-overview {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .professionals {
        padding-bottom: 6rem;
    }

    .construction-section {
        padding-top: 0;
        padding-bottom: 0;
    }

    .quality-construction .card-body h4 {
        font-size: 16px;
    }

    .quality-construction .card-body h4 {
        font-size: 16px;
    }

    .quality-construction .card {
        max-width: 100%;
    }

    .quality-construction .card img {
        width: 100%;
        max-width: 100%;
        height: 250px;
        object-fit: cover;
    }

    .faq .right-side img {
        display: none;
    }

    .blog .card img:not(a.btn img) {
        width: 100%;
        max-width: 100%;
        height: 300px;
        object-fit: cover;
    }

    .blog .card-body {
        width: calc(100% - 20px);
        max-width: 100%;
    }
}

/* Extra small devices (phones, less than 576px) */
@media (min-width: 576px) and (max-width: 767.98px) {

    .gallery-in .light-link {width: 100%;}
    .gallery-in .gallery-grid img {max-width: 100%;}


    .services-in,
    .services-list,
    .contact-section,
    .contact,
    .news-in,
    .news,
    .gallery-in,
    .gallery-list,
    .about-us {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }


    .hero-little {
        height: 218px;
    }

    .hero-little h1 {
        font-size: 30px !important;
    }

    /* Navigation Bar */
    .navbar-toggler {
        right: 15px;
        top: 20px;
    }

    .navbar-collapse {
        display: flex;
        justify-content: flex-end;
    }

    .navbar-nav {
        padding: 15px;
        background: #151515;
        position: absolute;
        top: 63px;
    }

    .navbar-nav .dropdown-menu {
        position: absolute !important;
    }

    .stats-section p,
    .review-box .quote,
    .review-box .name {
        font-size: 16px;
    }

    .stats-section h3 {
        font-size: 50px;
    }

    .faq p.title {
        font-size: 18px;
    }

    .faq p.text {
        font-size: 16px;
    }

    .blog {
        padding-bottom: 6rem;
    }

    .blog a.btn.btn-filled-dark {
        margin: 0 auto;
        margin-top: 100px;
    }

    .blog .card-body {
        position: static;
        transform: none;
        width: 100%;
        max-width: 70%;
        height: auto;
        margin-top: -50px;
    }

    .blog .card img:not(.btn img) {
        aspect-ratio: unset;
        height: auto;
    }

    .gallery-list a.btn {
        font-size: 15px !important;
    }

    .gallery-in .gallery-grid {
        grid-template-columns: 1fr;
    }

    .gallery-in .gallery-grid img {
        width: 100%;
        height: 250px;
        object-fit: cover;
    }

    .services-list .card img:not(.btn.btn-transparent-with-arrow img),
    .news .card img:not(.btn.btn-transparent-with-arrow img) {
        width: 100%;
        max-width: 100%;
        height: auto;
        max-height: 210px;
        object-fit: cover;
    }

    .news .card .card-text {
        margin-bottom: 0.5rem;
    }

    .news-in .context h2 {
        font-size: 32px;
    }

    .news-in .context ul li,
    .news-in .context p {
        font-size: 18px;
    }

    footer {
        padding-top: 3rem;
    }

    .hero {
        height: 520px;
    }

    .services-overview h2 {
        line-height: 120%;
    }

    .service-box {
        max-width: 100%;
    }

    .construction-section img {
        max-width: 100%;
        object-fit: cover;
        max-height: 350px;
    }

    .blog h2,
    .professionals h2,
    .previous-projects h2,
    .review h2,
    .faq h2,
    .quality-construction h2,
    .construction-section .right-content h2,
    .services-overview h2 {
        font-size: 30px;
    }

    .services-overview .service-box h5 {
        font-size: 18px;
    }

    .blog p.lead,
    .professionals p,
    .previous-projects p,
    .review div.lead,
    .quality-construction div:not(.card div),
    .services-overview p.lead {
        font-size: 16px;
    }

    .blog,
    .professionals,
    .previous-projects,
    .review,
    .stats-section,
    .faq .contact-fluid,
    .quality-construction,
    .services-overview {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .professionals {
        padding-bottom: 6rem;
    }

    .construction-section {
        padding-top: 0;
        padding-bottom: 0;
    }

    .quality-construction .card-body h4 {
        font-size: 16px;
    }

    .quality-construction .card {
        max-width: 100%;
    }

    .quality-construction .card img {
        width: 100%;
        max-width: 100%;
        height: 250px;
        object-fit: cover;
    }

    .faq .right-side img {
        display: none;
    }

    .blog .card img:not(a.btn img) {
        width: 100%;
        max-width: 100%;
        height: 300px;
        object-fit: cover;
    }

    .blog .card-body {
        width: calc(100% - 20px);
        max-width: 100%;
    }
}

/* Medium devices (tablets, less than 992px) */
@media (min-width: 768px) and (max-width: 991.98px) {

    .services-in,
    .services-list,
    .contact-section,
    .contact,
    .news-in,
    .news,
    .gallery-in,
    .gallery-list,
    .about-us {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }


    .hero-little {
        height: 218px;
    }

    .hero-little h1 {
        font-size: 30px !important;
    }

    /* Navigation Bar */
    .navbar-toggler {
        right: 15px;
        top: 20px;
    }

    .navbar-collapse {
        display: flex;
        justify-content: flex-end;
    }

    .navbar-nav {
        padding: 15px;
        background: #151515;
        position: absolute;
        top: 63px;
    }

    .navbar-nav .dropdown-menu {
        position: absolute !important;
    }

    .stats-section p,
    .review-box .quote,
    .review-box .name {
        font-size: 16px;
    }

    .stats-section h3 {
        font-size: 50px;
    }

    .faq p.title {
        font-size: 18px;
    }

    .faq p.text {
        font-size: 16px;
    }

    .blog {
        padding-bottom: 6rem;
    }

    .blog a.btn.btn-filled-dark {
        margin: 0 auto;
        margin-top: 100px;
    }

    .blog .card-body {
        position: static;
        transform: none;
        width: 100%;
        max-width: 50%;
        height: auto;
        margin-top: -50px;
    }

    .blog .card img:not(.btn img) {
        aspect-ratio: unset;
        height: auto;
    }

    .gallery-list a.btn {
        font-size: 15px !important;
    }

    .services-list .card img:not(.btn.btn-transparent-with-arrow img),
    .news .card img:not(.btn.btn-transparent-with-arrow img) {
        width: 100%;
        max-width: 100%;
        height: auto;
        max-height: 210px;
        object-fit: cover;
    }

    .news .card .card-text {
        margin-bottom: 0.5rem;
    }

    .news-in .context h2 {
        font-size: 32px;
    }

    .news-in .context ul li,
    .news-in .context p {
        font-size: 18px;
    }

    footer {
        padding-top: 3rem;
    }

    .hero {
        height: 520px;
    }

    .construction-section img {
        max-width: 100%;
        object-fit: cover;
        max-height: 350px;
    }

    .construction-section {
        padding-top: 0;
        padding-bottom: 0;
    }

    .blog h2,
    .professionals h2,
    .previous-projects h2,
    .review h2,
    .faq h2,
    .quality-construction h2,
    .construction-section .right-content h2,
    .services-overview h2 {
        font-size: 32px;
    }

    .services-overview .service-box h5 {
        font-size: 20px;
    }

    .blog p.lead,
    .professionals p,
    .previous-projects p,
    .review div.lead,
    .quality-construction div:not(.card div),
    .services-overview p.lead {
        font-size: 18px;
    }

    .quality-construction .card-body h4 {
        font-size: 16px;
    }

    .faq .contact-fluid {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }

    .faq .right-side img {
        display: none;
    }

    .blog,
    .professionals,
    .previous-projects,
    .review {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .blog {
        min-height: 0px;
    }

    .professionals {
        padding-bottom: 6rem;
    }

    .blog .card img:not(a.btn img) {
        width: 100%;
        max-width: 100%;
        height: 300px;
        object-fit: cover;
    }

    .blog .card-body {
        width: calc(100% - 20px);
        max-width: 100%;
    }
}

/* Large devices (desktops, less than 1200px) */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .hero-little {
        height: 218px;
    }

    .hero-little h1 {
        font-size: 30px !important;
    }

    /* Navigation Bar */
    .navbar-toggler {
        right: 15px;
        top: 20px;
    }

    .navbar-collapse {
        display: flex;
        justify-content: flex-end;
    }

    .navbar-nav {
        padding: 15px;
        background: #151515;
        position: absolute;
        top: 63px;
    }

    .navbar-nav .dropdown-menu {
        position: absolute !important;
    }

    .btn.btn-transparent-with-arrow {
        font-size: 14px;
    }

    .gallery-list a.btn {
        font-size: 15px !important;
    }

    .services-list .card img:not(.btn.btn-transparent-with-arrow img),
    .news .card img:not(.btn.btn-transparent-with-arrow img) {
        width: 100%;
        max-width: 100%;
        height: auto;
        max-height: 210px;
        object-fit: cover;
    }

    .news .card .card-text {
        margin-bottom: 0.5rem;
    }

    .hero {
        height: 520px;
    }

    .construction-section {
        padding-top: 0;
        padding-bottom: 0;
    }

    .quality-construction .card-body h4 {
        font-size: 16px;
    }

    .faq .contact-fluid {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }

    .blog,
    .professionals,
    .previous-projects,
    .review {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .blog {
        min-he