@media only screen and (min-width: 350px) and (max-width: 401px) {
    nav#mainNav {
        display: none;
    }

    nav.navbar.navbar-expand-lg.d-lg-none {
        background: #141432;
    }

    #hero {
        height: 50vh;
        min-height: 420px;
    }

    .hero-content {
        padding-bottom: 20px;
    }

    .scroll-text {
        font-size: .8rem;
    }

    #intro {
        padding: 30px 0;
    }

    .intro-para {
        font-size: 0.75rem;
        text-align: justify;
    }

    .intro-heading {
        font-size: clamp(1rem, 3vw, 2.3rem);
        margin-bottom: 12px;
    }

    .intro-label {
        font-size: 0.65rem;
        margin-bottom: 8px;
    }

    .about-text-col {
        padding: 30px 20px;
    }

    .about-label {
        font-size: 0.52rem;
        margin-bottom: 10px;
    }

    .about-heading {
        font-size: clamp(1.2rem, 2.5vw, 2.2rem);
        margin-bottom: 14px;
    }

    .p-absolute {
        position: unset;
    }

    .about-para {
        font-size: 0.8rem;
        letter-spacing: 0px;
        width: 100%;
    }

    #services {
        padding-top: 20px;
    }

    .services-label {
        padding: 0 0 20px;
    }

    .service-item {
        height: 500px;
        margin-bottom: 20px;
    }

    .service-title {
        font-size: 1rem;
    }

    #counters {
        padding: 30px 0;
    }

    .counter-number {
        font-size: clamp(1.5rem, 4vw, 3.5rem);
    }

    .counter-divider {
        height: 16px;
        margin: 13px auto;
    }

    .counter-label {
        font-size: 0.7rem;
    }

    #testimonials {
        padding: 30px 0 0;
    }

    .testi-quote {
        font-size: .9rem;
        margin: 0 auto 14px;
    }

    .testi-body {
        font-size: .8rem;
        margin: 0 auto 20px;
    }

    .testi-author {
        font-size: 0.75rem;
    }

    .testi-nav svg {
        width: 18px;
    }

    .testi-btn {
        font-size: 0.75rem;
    }

    .testi-nav {
        margin-top: 10px;
        margin-bottom: 20px;
    }

    #gallery .container.px-4.px-md-5 {
        padding: 0 10px !important;
    }

    #contact {
        padding: 30px 0;
    }

    .contact-label
 {
    font-size: 0.65rem;
    margin-bottom: 20px;
}

.contact-left-heading {
    font-size: 1.5rem;
}

.contact-sub {
    font-size: 0.85rem;
    margin-bottom: 16px;
}

.contact-info-label {
    font-size: 0.68rem;
    margin-bottom: 4px;
}

.col-lg-4.mb-5.mb-lg-0 {
    margin-bottom: 1rem !important;
}

#footer {
    padding: 20px 0 0;
}

.footer-brand {
    font-size: 0.65rem;
    margin-bottom: 4px;
}

.footer-sub
 {
    font-size: 0.5rem;
    margin-bottom: 18px;
}

.footer-imgs {
    gap: 4px;
    margin-bottom: 16px;
}

.footer-img {
    width: 68px;
    height: 68px;
}

.footer-nav {
    gap: 10px;
    padding-left: 0;
    margin-bottom: 12px;
}

.footer-nav a {
    font-size: 0.7rem;
}

.footer-socials {
    margin-bottom: 0px;
}

.footer-copy {
    padding: 10px 2px 0;
}

/* end home page */

/* Services page start */
section.wedding-section {
    padding: 20px 0;
}

section.wedding-section .container-fluid {
    width: 100%;
}

section.wedding-section .center-text h1 {
    font-size: 25px;
}

section.wedding-section .center-text p {
    font-size: 12.5px;
}

.row.align-items-center.justify-content-between.mb-5.heading-row {
    margin-bottom: 0 !important;
}

section.wedding-section .img-box img {
    height: 240px;
}
/* end */

/* gallery page */
section.gallery-pg {
    padding: 20px 0px;
}

section.gallery-pg .gallery-image img {
    height: 240px;
    margin-bottom: 13px;
}
}

@media only screen and (min-width: 402px) and (max-width: 600px) {
    nav#mainNav {
        display: none;
    }

    nav.navbar.navbar-expand-lg.d-lg-none {
        background: #141432;
    }

    #hero {
        height: 50vh;
        min-height: 420px;
    }

    .hero-content {
        padding-bottom: 20px;
    }

    .scroll-text {
        font-size: .8rem;
    }

    #intro {
        padding: 30px 0;
    }

    .intro-para {
        font-size: 0.75rem;
        text-align: justify;
    }

    .intro-heading {
        font-size: clamp(1rem, 3vw, 2.3rem);
        margin-bottom: 12px;
    }

    .intro-label {
        font-size: 0.65rem;
        margin-bottom: 8px;
    }

    .about-text-col {
        padding: 30px 20px;
    }

    .about-label {
        font-size: 0.52rem;
        margin-bottom: 10px;
    }

    .about-heading {
        font-size: clamp(1.2rem, 2.5vw, 2.2rem);
        margin-bottom: 14px;
    }

    .p-absolute {
        position: unset;
    }

    .about-para {
        font-size: 0.8rem;
        letter-spacing: 0px;
        width: 100%;
    }

    #services {
        padding-top: 20px;
    }

    .services-label {
        padding: 0 0 20px;
    }

    .service-item {
        height: 500px;
        margin-bottom: 20px;
    }

    .service-title {
        font-size: 1rem;
    }

    #counters {
        padding: 30px 0;
    }

    .counter-number {
        font-size: clamp(1.5rem, 4vw, 3.5rem);
    }

    .counter-divider {
        height: 16px;
        margin: 13px auto;
    }

    .counter-label {
        font-size: 0.7rem;
    }

    #testimonials {
        padding: 30px 0 0;
    }

    .testi-quote {
        font-size: .9rem;
        margin: 0 auto 14px;
    }

    .testi-body {
        font-size: .8rem;
        margin: 0 auto 20px;
    }

    .testi-author {
        font-size: 0.75rem;
    }

    .testi-nav svg {
        width: 18px;
    }

    .testi-btn {
        font-size: 0.75rem;
    }

    .testi-nav {
        margin-top: 10px;
        margin-bottom: 20px;
    }

    #gallery .container.px-4.px-md-5 {
        padding: 0 10px !important;
    }

    #contact {
        padding: 30px 0;
    }

    .contact-label
 {
    font-size: 0.65rem;
    margin-bottom: 20px;
}

.contact-left-heading {
    font-size: 1.5rem;
}

.contact-sub {
    font-size: 0.85rem;
    margin-bottom: 16px;
}

.contact-info-label {
    font-size: 0.68rem;
    margin-bottom: 4px;
}

.col-lg-4.mb-5.mb-lg-0 {
    margin-bottom: 1rem !important;
}

#footer {
    padding: 20px 0 0;
}

.footer-brand {
    font-size: 0.65rem;
    margin-bottom: 4px;
}

.footer-sub
 {
    font-size: 0.5rem;
    margin-bottom: 18px;
}

.footer-imgs {
    gap: 4px;
    margin-bottom: 16px;
}

.footer-img {
    width: 68px;
    height: 68px;
}

.footer-nav {
    gap: 10px;
    padding-left: 0;
    margin-bottom: 12px;
}

.footer-nav a {
    font-size: 0.7rem;
}

.footer-socials {
    margin-bottom: 0px;
}

.footer-copy {
    padding: 10px 2px 0;
}

/* end home page */

/* Services page start */
section.wedding-section {
    padding: 20px 0;
}

section.wedding-section .container-fluid {
    width: 100%;
}

section.wedding-section .center-text h1 {
    font-size: 25px;
}

section.wedding-section .center-text p {
    font-size: 12.5px;
}

.row.align-items-center.justify-content-between.mb-5.heading-row {
    margin-bottom: 0 !important;
}

section.wedding-section .img-box img {
    height: 240px;
}
/* end */

/* gallery page */
section.gallery-pg {
    padding: 20px 0px;
}

section.gallery-pg .gallery-image img {
    height: 240px;
    margin-bottom: 13px;
}
}

@media only screen and (min-width: 768px) and (max-width: 992px) {
    nav#mainNav {
        display: none;
      }

    #hero {
        height: 80vh;
        min-height: 500px;
    }

    .scroll-text {
        font-size: .9rem;
    }

    .hero-content {
        padding-bottom: 20px;
    }

    #intro {
        padding: 40px 0;
    }

    .intro-label {
        font-size: 0.65rem;
        margin-bottom: 10px;
    }

    .intro-heading {
        font-size: clamp(1.2rem, 3vw, 2.3rem);
        margin-bottom: 18px;
    }

    .intro-para {
        font-size: 0.85rem;
        max-width: 500px;
    }

    .about-text-col {
        padding: 30px;
    }

    .about-label {
        font-size: 0.60rem;
        margin-bottom: 15px;
    }

    .about-heading {
        font-size: clamp(1.4rem, 2.5vw, 2.2rem);
        margin-bottom: 16px;
    }

    .p-absolute {
        position: unset;
    }

    .about-para {
        font-size: 0.8rem;
        margin-bottom: 25px;
        width: 100%;
        letter-spacing: 0px;
    }

    #services {
        padding-top: 30px;
    }

    .services-grid {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        height: 400px;
    }

    .service-item {
        height: 380px;
    }

    .service-title {
        font-size: 1rem;
    }

    #counters {
        padding: 30px 0;
    }

    .counter-number {
        font-size: clamp(1.5rem, 4vw, 3.5rem);
    }

    .counter-divider {
        height: 26px;
        margin: 14px auto;
    }

    .counter-label {
        font-size: 0.7rem;
    }

    #testimonials {
        padding: 30px 0 20px;
    }

    .testi-body {
        font-size: .9rem;
    }

    #gallery {
        padding: 10px 0;
    }

    section#gallery .container.px-4.px-md-5 {
        padding: 20px !important;
        margin: 0 auto;
    }

    #contact {
        padding: 30px 0;
    }

    .contact-label {
        margin-bottom: 20px;
    }

    .contact-left-heading {
        font-size: clamp(1rem, 3vw, 2.5rem);
        margin-bottom: 20px;
    }

    .contact-sub {
        font-size: 0.75rem;
        margin-bottom: 20px;
    }

    section#contact .col-lg-4.col-md-4.mb-5.mb-lg-0 {
        margin-bottom: 10px !important;
    }
    /* end home page */

    /* services page */
    section.wedding-section {
        padding: 20px 0;
    }

    section.wedding-section .row.align-items-center.justify-content-between.mb-5.heading-row {
        margin-bottom: 10px !important;
    }

    section.wedding-section .center-text h1 {
        font-size: 30px;
        margin-bottom: 12px;
    }

    section.wedding-section .center-text p {
        font-size: 15px;
    }

    section.wedding-section .container-fluid {
        width: 100%;
    }

    section.wedding-section .img-box img {
        height: 340px;
    }
    /* end */

    /* gallery page */
    section.gallery-pg {
        padding: 20px 10px;
    }

    section.gallery-pg .gallery-image img {
        height: 320px;
    }
}

@media only screen and (min-width: 1024px) and (max-width: 1200px) {
    .nav-link-custom {
        font-size: 0.65rem;
        padding: 0 20px !important;
    }

    #intro {
        padding: 60px 0;
    }

    .intro-img-top {
        width: 100%;
    }

    .intro-heading {
        font-size: clamp(1.5rem, 2vw, 2.3rem);
    }

    .intro-para {
        font-size: 0.90rem;
    }

    .about-text-col {
        padding: 30px;
    }

    .about-label {
        font-size: 0.55rem;
        margin-bottom: 10px;
    }

    .about-heading {
    font-size: clamp(1rem, 2vw, 2.2rem);
    margin-bottom: 36px;
}

.p-absolute {
    bottom: 0px;
}

.about-para {
    font-size: 0.75rem;
}

#services {
    padding-top: 40px;
}

.services-grid {
    height: 530px;
}

#contact {
    padding: 40px 0;
}

.footer-img {
    width: 180px;
    height: 180px;
}
/* end home page */

/* services page */
section.wedding-section {
    padding: 40px 0;
}

section.wedding-section .side-img {
    position: relative;
    width: 160px;
}

section.wedding-section .side-img img {
    width: 100%;
    display: block;
}

section.wedding-section .side-img.right::after {
    left: -15px;
}

section.wedding-section .side-img.left::after {
    right: -15px;
}

section.wedding-section .side-img.left::after, section.wedding-section .side-img.right::after {
    top: 10%;
    height: 75%;
}

section.wedding-section .center-text h1 {
    font-size: 30px;
    margin-bottom: 12px;
}

section.wedding-section .center-text p {
    font-size: 14px;
}

section.wedding-section .container-fluid {
    width: 90%;
}

section.wedding-section .row.align-items-center.justify-content-between.mb-5.heading-row {
    margin-bottom: 20px !important;
}

section.wedding-section .img-box img {
    height: 410px;
}
/* end */

/* gallery page */

section.gallery-pg {
    padding: 40px 20px;
}

section.gallery-pg .gallery-image img {
    height: 430px;
}

}

@media only screen and (min-width: 1201px) and (max-width: 1300px) {
    .nav-link-custom {
        font-size: 0.67rem;
        padding: 0 30px !important;
    }

    .hero-content {
        padding-bottom: 30px;
    }

    .scroll-text {
        font-size: .9rem;
    }

    #intro {
        padding: 50px 0;
    }

    .intro-img-top {
        width: 100%;
    }

    .intro-heading
 {
    font-size: clamp(1.8rem, 2vw, 2.3rem);
}

.intro-para {
    font-size: 0.90rem;
}

.about-text-col
 {
    padding: 40px;
}

.about-label {
    font-size: 0.60rem;
    margin-bottom: 15px;
}

.about-heading {
    font-size: clamp(1.6rem, 2vw, 2.2rem);
}

.services-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    height: 620px;
}
/* end home page */

/* services page */
section.wedding-section {
    padding: 50px 0;
}

section.wedding-section .container-fluid {
    width: 90%;
}

section.wedding-section .side-img {
    width: 220px;
}

section.wedding-section .side-img img {
    width: 100%;
}

section.wedding-section .center-text h1
 {
    font-size: 40px;
}

section.wedding-section .img-box img {
    height: 490px;
}
/* end */

/* gallery page */
section.gallery-pg {
    padding: 40px 30px;
}

section.gallery-pg .gallery-image img {
    height: 510px;
}
}

@media only screen and (min-width: 1365px) and (max-width: 1450px) {
    #intro {
        padding: 30px 0;
    }

    .intro-img-top {
        width: 100%;
    }

    .intro-heading {
        font-size: clamp(1rem, 2vw, 1.5rem);
    }

    .about-heading {
        font-size: clamp(1.6rem, 2vw, 2.2rem);
    }

    .services-grid {
        height: 600px;
    }
    /* end home page */

    /* services page */
    section.wedding-section {
        padding: 50px 0;
    }

    section.wedding-section .container-fluid {
        width: 90%;
    }

    section.wedding-section .side-img {
        width: 250px;
    }

    section.wedding-section .side-img img {
        width: 100%;
    }

    section.wedding-section .center-text h1 {
        font-size: 40px;
    }

    section.wedding-section .img-box img {
        height: 560px;
    }
    /* end */

    /* gallery page */
    section.gallery-pg .gallery-image img {
        height: 520px;
    }
}