@media screen and (min-width:1690px) and (max-width:1920px) {
    .flow-outer {
        max-width: 700px;
    }

    .service-type-item {
        height: 260px;
    }
}

@media screen and (min-width:1400px) and (max-width:1690px) {
    .service-type-item {
        height: 250px;
    }

}

@media screen and (max-width:1550px) {
   
}

@media screen and (max-width:1380px) {
   
}

@media screen and (max-width:1024px) {
    .service-type-wrap {
        width: 80%;
    }

    .flow-step-box2 {
        min-width: 700px;
    }

    .flow-dotted {
        height: 180px;
    }
}

@media screen and (max-width:834px) {
    .main-content-text p {
        font-size: 20px;
    }

    .point-title {
        padding: 20px 10px 20px 0;
    }

    table.tbl-compatible-area tr td:first-child {
        padding: 0 10px;
    }

    .ft-header {
        width: 80%;
    }

    .footer-sec3-content {
        width: 80%;
    }

    .service-type-wrap {
        width: 100%;
    }

    .flow-step-box2 {
        min-width: auto;
        min-height: 250px;
    }

    .flow-dotted2 {
        height: 218px;
    }

    
}

@media screen and (max-width:768px) {
    .main-content {
        top: 48%;
    }

    table.tbl-compatible-area tr td:first-child {
        width: 10%;
    }

    .faq-wrap {
        margin: 40px auto 0;
    }

    table.tbl-permit-approval tr td:first-child {
        width: 31%;
    }
}

@media screen and (max-width:767px) {

    .sp-show {
        display: block;
    }

    .sp-none {
        display: none;
    }

    /* Flow TOP page responsive */
    .flow-left {
        position: absolute;
        right: 25px;
        top: 75px;
        width: 120px;
        z-index: 1;
    }

    .flow-customer, .flow-company {
        width: 30px;
        height: 30px;
    }

    .flow-customer img, 
    .flow-company img {
        width: 65px;
        height: 65px;
    }
    
    .flow-step-box {
        min-width: 300px;
        flex-direction: column;
        align-items: stretch;
        padding-right: 0;    
        margin-bottom: 20px;
        width: 100%;
        position: relative;
    }

    .flow-step-bar {
        border-radius: 4px 4px 0 0;
        height: auto;
        padding: 15px 24px;
    }

    .flow-step-content {
        margin-left: 0;
        padding: 20px;
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .flow-step-label {
        font-size: 15px;
    }

    .flow-dotted {
        height: 245px;
        position: absolute;
        right: 15px;
        top: 45px;
    }

    .flow-dotted.customer {
        right: 45px;
        display: none;
    }

    .flow-dotted.company {
        right: 15px;
        display: none;
    }

    .flow-step-icon {
        margin: 0 auto;
    }

    .flow-right {
        width: 100%;
        margin-left: 0;
    }

    .flow-person {
        position: relative;
    }
    
    /* Flow Service page responsive */
    .flow-row {
        padding-left: 15px;
        position: relative;
    }

    .flow-left2 {
        position: absolute;
        right: 25px;
        top: 75px;
        width: 120px;
        z-index: 1;
    }

    .flow-left2 .flow-customer, 
    .flow-left2 .flow-company {
        width: 30px;
        height: 30px;
    }

    .flow-left2 .flow-customer img, 
    .flow-left2 .flow-company img {
        width: 65px;
        height: 65px;
    }
    
    .flow-right2 .flow-step-box {
        min-width: 50px;
        flex-direction: column;
        align-items: stretch;
        padding-right: 0;    
        margin-bottom: 20px;
        width: 100%;
        position: relative;
    }

    .flow-step-bar {
        border-radius: 4px 4px 0 0;
        height: auto;
        padding: 15px 24px;
    }

    .flow-step-content {
        margin-left: 0;
        padding: 20px;
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .flow-step-label {
        font-size: 15px;
    }

    .flow-left2 .flow-dotted {
        height: 245px;
        position: absolute;
        right: 15px;
        top: 45px;
    }

    .flow-left2 .flow-dotted.customer {
        right: 45px;
        display: none;
    }

    .flow-left2 .flow-dotted.company {
        right: 15px;
        display: none;
    }

    .flow-right2 .flow-step-icon {
        margin: 0 auto;
    }

    .flow-right2 {
        width: 100%;
        margin-left: 0;
    }

    .flow-left2 .flow-person {
        position: relative;
    }

    
    

    /* Footer responsive stacking */
    .menu-content-wrapper {
        gap: 15px;
        margin: 42px 15px;
    }

    .menu-item-group {
        flex-direction: column;
        gap: 10px;
    }

    .side-menu ul {
        display: block;
    }

    .side-menu li {
        margin-bottom: 0;
    }

    .menu-content {
        gap: 0;
    }

    .menu-content > div {
        padding-left: 0;
        min-height: auto;
        padding: 10px 0;
    }

    /* Style the content items to look like they belong to the menu item above */
    .menu-content > div {
        padding: 10px 0;
        /* border-left: 3px solid #00bcd4; */
        padding-left: 15px;
        /* margin-left: 20px; */
        background: rgba(240, 255, 255, 0.5);
        border-radius: 0 4px 4px 0;
        font-size: 14px;
        color: #666;
        display: block;
    }

    .useful-information-item {
        max-width: 100%;
        margin: 0 0 20px 0;
    }

    .useful-information-nav-item:first-child {
        padding-right: 10px;
    }

    .useful-information-nav-item:last-child {
        margin-left: 10px;
    }

    .useful-information-nav-item-prev {
        flex-wrap: wrap;
    }

    .useful-information-nav-item-next {
        flex-wrap: wrap;
    }

    .useful-information-nav-item-img {
        width: 100%;
    }

    .useful-information-nav-item-next .useful-information-nav-item-img {
        order: 1;
    }

    .useful-information-nav-item-next .useful-information-nav-item-title {
        order: 2;
    }

    #main {               
        position: relative;
        margin-top: 150px;
    }

    .main-content {
        top: 37%;
    }

    .main-content-text p {
        font-size: 16px;
        margin-bottom: 15px;
    }

    .btn-quote {
        padding: 10px 20px;
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        display: block;
        margin: 20px auto;
        width: fit-content;
        z-index: 3;
    }

    .trouble-img {
        margin-bottom: 20px;
    }

    .about-text {
        text-align: left;
    }

    table.tbl-compatible-area tr td {
        display: block;
    }

    table.tbl-compatible-area tr td:first-child {
        width: 30%;
    }

    .midle-img {
        margin-bottom: 20px;
    }

    .flow-text {
        text-align: left;
    }

    .testimonial-header {
        line-height: 2.2em;
    }

    .testimonial-body {
        flex-wrap: wrap;
        padding: 20px 20px 0;
    }

    .testimonial-img {
        width: 100%;        
    }

    .testimonial-text {
        width: 100%;
    }

    .news-item {
        flex-wrap: wrap;
        width: 100%;
    }

    .news-item .news-date {
        width: 100%;
        margin-right: 0;
    }

    .news-item .news-title {
        width: 100%;
        margin: 20px 0;
    }

    .blog-item {
        max-width: 100%;
        margin: 0 0 30px 0;
    }

    .ig-item {
        max-width: 100%;
        margin: 0 0 30px 0;
    }

    .sponsor-text {
        text-align: left;
    }

    .ft-header {
        width: 90%;
    }

    .footer-sec3-content {
        width: 90%;
    }

    .service-content-img {
        max-width: 100%;
        margin: 0 0 30px 0;
    }

    .service-content-text {
        max-width: 100%;
        margin: 0 0 30px 0;
    }

    /* Service type items stacking */
    .service-type-wrap {
        flex-direction: column;
        align-items: center;
        gap: 30px;
        width: 90%;
    }

    .service-type-item {
        width: 200px;
        height: 200px;
        margin-bottom: 0;
    }

    /* Hide arrows between items when stacked */
    .service-type-item:not(:last-child)::after {
        display: none;
    }

    .service-type-item-text {
        font-size: 17px;
    }

    .supported-items-situations-img {
        max-width: 100%;
        margin: 0 0 30px 0;
    }

    .supported-items-situations-text {
        max-width: 100%;
        margin: 0 0 30px 0;
    }

    .supported-items-situations-wrap:nth-child(2n) .supported-items-situations-text {
        order: 2;
        padding-left: 0;
    }

    .supported-items-situations-wrap:nth-child(2n) .supported-items-situations-img {
        order: 1;
    }

    .flow-right2 .flow-step-box {
        min-height: 350px;
        padding-top: 60px;
    }

    .flow-left2 .flow-dotted {
        height: 400px;
    }

    .flow-right2 .flow-step-box2 {
        min-height: 350px;
        padding-top: 60px;
    }

    .flow-left2 .flow-dotted2 {
        height: 604px;
    }

    /* Flow TOP page - matching flow-left2/flow-right2 layout */
    .flow-right .flow-step-box {
        min-height: 350px;
        padding-top: 60px;
    }

    .flow-left .flow-dotted {
        height: 400px;
    }

    #testimonials-results2 .text-center {
        text-align: left!important;
    }

    .case-studies-item {
        width: 100%;
    }

    .message-img {
        margin-bottom: 20px;
    }

    table.tbl-outline th {
        width: 100%;
        display: block;
        padding: 10px;
    }

    table.tbl-outline td {
        display: block;
        width: 100%;
        padding: 10px;
    }

    .employee-position {
        width: 100%;
        display: block;
    }

    .employee-name {
        display: block;
    }

    table.tbl-permit td {
        padding: 10px 10px 10px 10px;
    }

    table.tbl-permit-approval tr td:first-child {
        width: 100%;
        display: block;
    }

    table.tbl-permit-approval tr td {
        display: block;
        padding: 0 0 20px;
    }

    #contact .text-center {
        text-align: left!important;
    }

    .btn-line {
        display: none;
    }
    
    .float-cta {
        display: block;
        position: fixed;
        bottom: 10px;
        bottom: 0.625rem;
        left: 50%;
        -webkit-transform: translate(-50%);
        transform: translate(-50%);
        width: 95%;
        z-index: 2;
    }

    .cta {
        width: 100%;
        height: auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: stretch;
            -ms-flex-align: stretch;
                align-items: stretch;
        border: 2px solid #333333;
        border: 0.125rem solid #333333;
        border-radius: 0.4375rem;
        background-color: #fff;
      }

      .cta__link {
        width: 50%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
      }
      
      .cta__link--tel {
        position: relative;
      }
      
      .cta__link--tel::after {
        display: block;
        content: "";
        width: 2px;
        width: 0.125rem;
        height: 85%;
        background-color: #333333;
        position: absolute;
        top: auto;
        right: 0;
      }
      
      .cta__img {
        width: 25%;
        height: auto;
        padding: 5px;
        padding: 0.3125rem;
      }
      
      .cta__link--tel .cta__img {
        padding-top: 10px;
        padding-top: 0.625rem;
        padding-bottom: 10px;
        padding-bottom: 0.625rem;
      }
}


@media screen and (max-width:376px) {
    .main-content-text p {
        font-size: 10px;
    }

    .btn-quote {
        font-size: 14px;
        padding: 6px 20px;
    }

    table.tbl-compatible-area tr td:first-child {
        width: 30%;
    }    

    .faq-title::before, .faq-title::after {
        min-width: 10px;
    }

    .flow-right2 .flow-step-box {
        min-height: 400px;
        padding-top: 60px;
    }

    .flow-left2 .flow-dotted {
        height: 662px;
    }

    .flow-step-label {
        font-size: 13px;
    }

    .flow-right2 .flow-step-box2 {
        min-height: 400px;
        padding-top: 60px;
    }

    /* Flow TOP page - matching flow-left2/flow-right2 layout */
    .flow-right .flow-step-box {
        min-height: 400px;
        padding-top: 60px;
    }

    .flow-left .flow-dotted {
        height: 662px;
    }
}

@media screen and (max-width:321px) {

    .header-top {
        font-size: 14px;
    }

    .header-top span {
        font-size: 12px;
    }

    table.tbl-compatible-area tr td:first-child {
        width: 35%;
    }

    .faq-title {
        font-size: 16px;
    }

    .faq-title::before, .faq-title::after {
        display: none;
    }

    .flow-step-label {
        font-size: 13px;
    }

    .flow-dotted {
        height: 300px;
    }

    .flow-step-box2 {
        min-height: 450px;
    }

    .flow-dotted2 {
        height: 664px;
        display: none;
    }

    /* Flow TOP page - matching flow-left2/flow-right2 layout */
    .flow-right .flow-step-box {
        min-height: 450px;
        padding-top: 60px;
    }

    .flow-left .flow-dotted {
        height: 664px;
        display: none;
    }

    .testimonial-sub-title {
        font-size: 15px;
    }
}


/* Make the form responsive */
@media (max-width: 768px) {
    .form-group {
        flex-direction: column;
        align-items: flex-start;
    }

    .form-group label {
        margin-bottom: 5px;
    }

    .form-group .form-control {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .contact-form {
        width: 88%;
    }

    .form-group p label {
        min-width: 300px;
    }

    .form-group p {
        gap: 15px;
    }
}