/* 
  ##Device = Desktops
  ##Screen = 1281px to higher resolution desktops
*/

@media (min-width: 1281px) {
    /* CSS */
}

/* 
  ##Device = Laptops, Desktops
  ##Screen = B/w 1025px to 1280px
*/

@media (min-width: 1025px) and (max-width: 1280px) {
    /* CSS */
}

/* 
  ##Device = Tablets, Ipads (portrait)
  ##Screen = B/w 768px to 1024px
*/

@media (min-width: 768px) and (max-width: 1024px) {
    /* CSS */
}

/* 
  ##Device = Tablets, Ipads (landscape)
  ##Screen = B/w 768px to 1024px
*/

@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
    /* CSS */
}

/* 
  ##Device = Low Resolution Tablets, Mobiles (Landscape)
  ##Screen = B/w 481px to 767px
*/
/* Desktop normal grid */
@media (min-width: 768px) {
    .mobile-scroll-row {
        flex-wrap: wrap;
        overflow: visible;
        gap: 0;
        padding-left: 0;
    }

    .mobile-scroll-col {
        flex: 0 0 25%;
    }

    .impact-flex {
        flex-wrap: nowrap;
    }

    .impact-item {
        flex: 1;
    }
}

/* DESKTOP - keep Bootstrap */
@media (min-width: 769px) {
    .emr-scroll-inner .row {
        display: flex;
        flex-wrap: wrap;
    }
}

/* MOBILE FIX */
@media (max-width: 768px) {

    /* scroll container */
    .emr-scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-left: 15px;
    }

    /* break bootstrap row */
    .emr-scroll-inner .row {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 16px;
        margin: 0;
    }

    /* override bootstrap columns */
    .emr-scroll-inner .col-lg-3,
    .emr-scroll-inner .col-md-6 {
        flex: 0 0 75% !important;
        /* 👈 1.5 card */
        max-width: 75% !important;
        padding: 0;
    }

    .emr-card-home {
        padding: 20px;
    }

    .main-heading {
        font-size: 28px;
    }

    .team-heading {
        font-size: 28px;
    }

    .philosophy-card {
        padding: 40px 50px;
    }
}

@media (max-width: 768px) {
    .device-section .row {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 16px;
        padding-left: 15px;
    }

    .device-section .col-lg-3 {
        flex: 0 0 75%;
        max-width: 75%;
    }
}

@media (min-width: 481px) and (max-width: 767px) {
    /* CSS */
}

/* 
  ##Device = Most of the Smartphones Mobiles (Portrait)
  ##Screen = B/w 320px to 479px
*/

@media (min-width: 320px) and (max-width: 480px) {
    .top-header-logo {
        width: 30px;
    }

    .contact-heading {
        font-size: 34px;
    }

    .contact-section {
        background: #dfe9e8;
        padding: 150px 0px 100px;
    }

    .btn-hero-primary {
        font-size: 16px;
    }

    .btn-hero-outline {
        font-size: 16px;
    }

    .hero-sub {
        font-size: 16px;
    }

    .section-title {
        font-size: 30px;
    }

    .section-heading {
        font-size: 30px;
    }

    .team-wrapper {
        display: flex;
        flex-direction: column;
    }

    .team-left {
        width: 100%;
    }

    .team-right {
        width: 100%;
    }

    .fs-48 {
        font-size: 34px;
    }

    .fs-18 {
        font-size: 16px;
    }

    .fs-20 {
        font-size: 18px;
    }

    .hero {
        padding: 190px 20px 120px;
        height: auto;
    }

    .stjhonlogo {
        width: 100px;
    }

    .pb-50 {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }

    .pb-70 {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .pb-80 {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }

    .learn-life {
        padding: 20px;
    }
}

@media (max-width: 576px) {
    .device-pill {
        flex: 0 0 calc(50% - 0.7rem);
        /* 2 per row */
        text-align: center;
    }

    .suported {
        padding: 20px;
    }

    .pz-card {
        flex-direction: column;
        padding: 20px;
    }
}