:root {
    --primary-blue: #009CD0;
    --dark-heading: #212529;
    --light-bg    : #f8f9fa;
    --text-color  : #666666;
}

.mobile {
    display: none;
}

.desktop {
    display: block;
}

.service-hero-section {
    position       : relative;
    height         : 60vh;
    display        : flex;
    justify-content: center;
    align-items    : center;
    text-align     : center;
    color          : white;
}

.service-hero-section img {
    width   : 100%;
    height  : 100%;
    display : block;
    position: absolute;
    top     : 0;
    left    : 0;
    z-index : 0;
}

.service-hero-section::before {
    content         : '';
    position        : absolute;
    top             : 0;
    left            : 0;
    width           : 100%;
    height          : 100%;
    background-color: rgba(0, 0, 0, 0.6);
    z-index         : 1;
}

.service-hero-section h1 {
    font-size: 48px;
    margin   : 0 0 15px;
}

.service-hero-section p {
    font-size: 18px;
    margin   : 0 0 40px;
    padding  : 0 190px;
}

.breadcrumb {
    display         : flex;
    align-items     : center;
    background-color: rgba(255, 255, 255, 0.22) !important;
    padding         : 10px 30px !important;
    border-radius   : 0px !important;
    font-size       : 14px;
    font-weight     : 600;
    color           : white;
}

.breadcrumb a {
    color                : white;
    text-decoration      : underline;
    text-decoration-color: transparent;
    transition           : text-decoration-color 0.3s ease, text-underline-offset 0.3s ease;
}

.breadcrumb a:hover {
    color                : white;
    text-decoration-color: white;
    text-underline-offset: 3px;
}

.breadcrumb i {
    color    : #ccc;
    margin   : 0 5px;
    font-size: 14px;
}

/* factory-section */

.factory-cta-group {
    display    : flex;
    align-items: center;
    gap        : 10px;
    margin-top : 25px;
}

.cta-button {
    text-decoration: none;
    display        : flex;
    align-items    : center;
    border-radius  : 8px;
    transition     : background-color 0.3s;
}

.view-btn {
    background         : linear-gradient(to left, var(--primary-blue) 0%, var(--primary-blue) 50%, black 50%, black 100%);
    background-size    : 250% 107%;
    background-position: right bottom;
    color              : #ffffff !important;
    border             : none;
    padding            : 10px 16px !important;
    border-radius      : 4px;
    font-weight        : 600;
    font-size          : 15px;
    cursor             : pointer;
    display            : flex;
    align-items        : center;
    gap                : 8px;
    text-decoration    : none;
    transition         : background-position 0.4s ease-in-out;
    width              : fit-content;
    margin-right       : 40px;
}

.view-btn:hover {
    background-position: left bottom;
    color              : #ffffff;
    text-decoration    : none;
}

.hotline-btn:hover {
    text-decoration: none;
}

.hotline-btn {
    background-color: transparent;
    border          : none;
    color           : #333;
    padding         : 10px 0;
}

.hotline-icon-wrapper {
    background-color: #d7d8db;
    color           : #555;
    border-radius   : 50%;
    width           : 50px;
    height          : 50px;
    display         : flex;
    align-items     : center;
    justify-content : center;
    font-size       : 1.2rem;
    margin-right    : 5px;
    animation: pulse-blue 2s infinite;
}
@keyframes phone-shake {
  0% { transform: rotate(0); }
  10% { transform: rotate(-15deg); }
  20% { transform: rotate(15deg); }
  30% { transform: rotate(-15deg); }
  40% { transform: rotate(15deg); }
  50% { transform: rotate(0); }
  100% { transform: rotate(0); }
}

.hotline-icon-wrapper i {
  animation: phone-shake 1.5s infinite ease-in-out;
}
@keyframes pulse-blue {
  0% { 
    transform: scale(0.95); 
    box-shadow: 0 0 0 0 rgba(0, 156, 208, 0.7); 
  }
  70% { 
    transform: scale(1); 
    box-shadow: 0 0 0 15px rgba(0, 156, 208, 0); 
  }
  100% { 
    transform: scale(0.95); 
    box-shadow: 0 0 0 0 rgba(0, 156, 208, 0); 
  }
}
.hotline-text-content {
    display       : flex;
    flex-direction: column;
    text-align    : left;
    line-height   : 1.2;
}

.hotline-label {
    font-size: 0.9rem;
    color    : #666;
}

.hotline-number {
    font-size  : 16px;
    font-weight: bold;
    color      : #333;
}

.factory-section {
    background-color   : #eff3f7;
    padding            : 60px 0px;
    background-image   : url(../img/work2_overlay.png);
    background-repeat  : no-repeat;
    background-size    : cover;
    background-position: center;
}

.factory-image-simple-wrapper {
    padding-right: 20px;
}

.main-factory-image {
    width        : 100%;
    height       : 100%;
    min-height   : 450px;
    object-fit   : contain;
    border-radius: 5px;
}

.content-inner-padding {
    padding: 0 0 0px 30px;
}

.about-us-badge {
    display      : inline-block;
    color        : var(--primary-blue);
    font-size    : 15px;
    font-weight  : 600;
    border-radius: 3px;
    margin-bottom: 25px;
}

.content-title {
    font-size    : 40px;
    font-weight  : 700;
    margin-bottom: 10px;

}

.content-body {
    font-size    : 1rem;
    color        : #666;
    margin-bottom: 45px;
    position     : relative;
    line-height  : 1.7;
}

.content-body1 {
    font-size    : 1rem;
    color        : #666;
    margin-bottom: 45px;
    position     : relative;
    line-height  : 1.7;
}

.content-body::before {
    content         : '';
    position        : absolute;
    top             : 101%;
    left            : 13%;
    transform       : translateX(-50%);
    width           : 25%;
    height          : 3px;
    background-color: #d8d8d8;
    margin-top      : 15px;
}

.content-body::after {
    content         : '';
    position        : absolute;
    top             : 101%;
    left            : 6%;
    transform       : translateX(-50%);
    width           : 12%;
    height          : 3px;
    background-color: var(--primary-blue);
    margin-top      : 15px;
}

.feature-list2 {
    list-style   : none;
    padding-left : 0;
    margin-bottom: 10px;
}

.feature-list2 li {
    margin-bottom: 10px;
    font-size    : 1rem;
    font-weight  : 500;
}

.feature-list2 li i {
    color       : var(--primary-blue);
    margin-right: 10px;
    font-size   : 1rem;
}


.small-image-footer {
    display   : flex;
    gap       : 10px;
    margin-top: 40px;
}

.footer-img {
    width        : 28%;
    object-fit   : cover;
    border-radius: 5px;
}


/* faq-section */
.custom-faq-wrapper {
    padding            : 60px;
    background-image   : url('../img/world_contact.png');
    background-position: bottom left;
    background-repeat  : no-repeat;
    background-color   : white;
    position           : relative;
}

.custom-faq-title {
    font-weight  : 700;
    margin-bottom: 10px;
}

.custom-faq-header-content {
    text-align: center;
}

.custom-faq-right-panel img.img-faq {
    max-width    : 100%;
    height       : auto;
    display      : block;
    margin-left  : auto;
    margin-right : auto;
    margin-bottom: 20px;
    border-radius: 8px;
}

.custom-left-panel {
    position        : relative;
    padding         : 30px;
    background-color: white;
    border-radius   : 8px;
    overflow        : hidden;
    height          : 100%;
}

.custom-faq-subtitle {
    font-size     : 17px;
    position      : relative;
    padding-bottom: 50px;
    color         : #666666;
}

.custom-faq-subtitle::before {
    content         : '';
    position        : absolute;
    top             : 62%;
    left            : 50%;
    transform       : translateX(calc(-50% + 5px));
    width           : 50%;
    height          : 3px;
    background-color: #d8d8d8;
    margin-top      : 15px;
}

.custom-faq-subtitle::after {
    content         : '';
    position        : absolute;
    top             : 62%;
    left            : 50%;
    transform       : translateX(calc(-50% + 5px));
    width           : 20%;
    height          : 3px;
    background-color: var(--primary-blue);
    margin-top      : 15px;
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
    background: var(--primary-blue);
}

.custom-faq-right-panel {
    padding     : 0;
    padding-left: 30px;
}

#customerCarousel.owl-carousel {
    height: 100%;
}

#customerCarousel .item {
    height     : 100%;
    line-height: 0;
}

#customerCarousel .item img {
    width     : 100%;
    height    : 100%;
    min-height: 700px;
    object-fit: cover;
}

#customerCarousel2 .item img {
    width     : 100%;
    height    : 100%;
    min-height: 400px;
    object-fit: cover;
}

.custom-faq-item {
    border          : 1px solid var(--border-color);
    overflow        : hidden;
    border-radius   : 0;
    background-color: white;
}

.custom-faq-toggle {
    background-color: white;
    padding         : 0;
    border-bottom   : 0;
    cursor          : pointer;
    transition      : background-color 0.3s, color 0.3s;
    display         : flex;
    align-items     : center;
    justify-content : space-between;
    width           : 100%;
    border          : none;
}


.custom-checklist-wrapper {
    column-count : 2;
    column-gap   : 30px;
    margin-bottom: 0;
}

.checklist-item-box {
    display      : flex;
    align-items  : baseline;
    gap          : 8px;
    line-height  : 1.7;
    margin-bottom: 12px;
}

.checklist-item-box .fa-check-circle {
    vertical-align: top;
    margin-top    : 2px;
}

.custom-faq-link {
    color              : var(--dark-heading);
    text-decoration    : none;
    flex-grow          : 1;
    padding            : 12px 50px 12px 15px;
    text-align         : left;
    font-size          : 16px;
    line-height        : 1.4;
    display            : block;
    background-image   : url(../img/accordion-bar.png);
    background-repeat  : no-repeat;
    background-position: center;
    background-size    : cover;
    background-color   : white;
    text-transform     : uppercase;
    font-weight        : 500;
}

.contact-btn {
    background         : linear-gradient(to left, var(--primary-blue) 0%, var(--primary-blue) 50%, black 50%, black 100%);
    background-size    : 250% 100%;
    background-position: right bottom;
    color              : #ffffff !important;
    border             : none;
    padding            : 10px 24px !important;
    border-radius      : 4px;
    font-weight        : 600;
    font-size          : 15px;
    cursor             : pointer;
    display            : flex;
    align-items        : center;
    gap                : 8px;
    text-decoration    : none;
    transition         : background-position 0.4s ease-in-out;
    width              : fit-content;
}

.contact-btn:hover {
    background-position: left bottom;
    color              : #ffffff;
    text-decoration    : none;
}

.check-primary {
    color: #009CD0;
}

.custom-faq-link:hover,
.custom-faq-link:focus {
    text-decoration : none;
    color           : var(--dark-heading);
    background-color: #f7f7f7;
    outline         : none;
}

.custom-faq-icon-box {
    background-color: black;
    color           : white;
    width           : 48px;
    height          : 48px;
    min-width       : 48px;
    display         : flex;
    align-items     : center;
    justify-content : center;
    font-size       : 1rem;
    transition      : background-color 0.3s ease;
}


.custom-faq-item.active .custom-faq-toggle {
    background-color: var(--dark-heading);
    color           : white;
    width           : 100%;
}

.custom-faq-item.active .custom-faq-link {
    color           : white;
    background-color: transparent;
}

.custom-faq-item.active .custom-faq-link:hover,
.custom-faq-item.active .custom-faq-link:focus {
    color           : white;
    background-color: transparent;
}

.custom-faq-item.active .custom-faq-icon-box {
    background-color: var(--primary-blue);
    color           : white;
}

.custom-faq-body {
    color           : var(--text-color);
    line-height     : 1.7;
    background-color: white;
    padding         : 19px 25px;
    border-top      : 1px solid var(--border-color);
}

.collapse-content {
    display   : none;
    transition: max-height 0.3s ease-out;
}

/* why-section */

.why-section {
    padding            : 60px 0;
    background-color   : white;
    position           : relative;
    background-image   : url(../img/work2_overlay.png);
    background-repeat  : no-repeat;
    background-size    : cover;
    background-position: center;
}

.why-header-left {
    margin-bottom: 25px;
}

.mobile-dropdown .dropdown-item.open .dropdown-toggle-btn {
    color: var(--primary-blue);
}

.why-section-sub-title {
    font-size     : 15px;
    font-weight   : 600;
    color         : var(--primary-blue);
    text-transform: uppercase;
    margin-bottom : 25px;
}

.why-section-title {
    font-size    : 40px;
    font-weight  : 700;
    color        : var(--heading-color);
    line-height  : 1.2;
    margin-bottom: 10px;

}

.why-subtitle {
    color: #666;
    font : 17px;
}

.why-image-info-block {
    position     : relative;
    max-width    : 100%;
    border-radius: 20px;
    min-height   : 350px;
}

.why-main-img {
    width        : 85%;
    height       : auto;
    display      : block;
    border-radius: 8px;
    object-fit   : cover;
    max-height   : 450px;
}



.why-stats-group {
    display       : flex;
    flex-direction: column;
    gap           : 20px;
}

.why-stat-item {
    text-align: left;
    position  : relative;
}

.why-stat-number {
    font-size    : 2.2rem;
    font-weight  : 700;
    line-height  : 1.2;
    margin-bottom: 5px;
    display      : block;
}

.why-stat-text {
    font-size  : 1rem;
    line-height: 1.4;
    margin     : 0;
    color      : white;
    font-weight: 600;
}

.why-secondary-img-top {
    width        : 100%;
    height       : 200px;
    display      : block;
    border-radius: 5px 5px 0 0;
    margin-bottom: 35px;
}

.why-nav-tabs {
    width  : 100%;
    display: flex;
}

.why-nav-tabs .nav-item {
    flex-grow       : 1;
    background-color: white;
}

.why-nav-tabs .nav-item.active::before {
    content         : "";
    position        : absolute;
    top             : 0;
    left            : 0;
    width           : 100%;
    height          : 3px;
    background-color: var(--primary-blue);
    z-index         : 10;
}

.why-nav-tabs .why-nav-link::after {
    content         : "";
    position        : absolute;
    top             : 50%;
    right           : 0;
    height          : 60%;
    width           : 2px;
    background-color: #61616178;
    transform       : translateY(-50%);
}

.why-nav-tabs .nav-item:last-child .why-nav-link::after {
    content: none;
}

.why-nav-tabs .nav-item.active {
    color: var(--primary-blue) !important;
}

.why-nav-tabs .nav-link.why-nav-link {
    display         : inline-block !important;
    align-items     : initial !important;
    padding         : 10px 12px !important;
    font-size       : 16px;
    font-weight     : 600;
    position        : relative;
    width           : 100%;
    background-color: #ede9e9;
}

.why-nav-tabs .nav-link.why-nav-link::before {
    content: none !important;
}

.why-tab-content {
    padding         : 20px 0 0 0;
    overflow        : hidden;
    background-color: transparent;
    max-height      : 630px;
    min-height      : 630px;
}

.why-tab-subtitle,
.why-tab-subtitle-detail {
    font-size    : 16px;
    color        : #555;
    line-height  : 1.7;
    margin-bottom: 15px;
}

.why-btn-learn-more {
    background         : linear-gradient(to left, var(--primary-blue) 0%, var(--primary-blue) 50%, black 50%, black 100%);
    background-size    : 250% 100%;
    background-position: right bottom;
    color              : #ffffff;
    border             : none;
    padding            : 10px 24px;
    border-radius      : 4px;
    font-weight        : 600;
    font-size          : 15px;
    cursor             : pointer;
    display            : flex;
    gap                : 8px;
    text-decoration    : none;
    transition         : background-position 0.4s ease-in-out;
    width              : fit-content;
    margin-top         : 40px;
}

.why-btn-learn-more i {
    margin-left: 8px;
    transition : margin-left 0.3s;
    margin-top : 4px;
}

.why-btn-learn-more:hover {
    background-position: left bottom;
    color              : #ffffff;
    text-decoration    : none;
}

.small-image-footer2 {
    display   : flex;
    gap       : 10px;
    margin-top: 35px;
    padding   : 0 15px;
}

.footer-img2 {
    width        : 20%;
    object-fit   : cover;
    border-radius: 5px;
    cursor       : pointer;
}


/* process-section */
.process-section {
    padding         : 60px 0;
    background-color: #eff3f7;
}

.process-section .section-title {
    font-size    : 40px;
    font-weight  : 700;
    margin-bottom: 10px;
    width        : 54%;

}

.view-all-solutions-btn {
    background         : linear-gradient(to left, var(--primary-blue) 0%, var(--primary-blue) 50%, black 50%, black 100%);
    background-size    : 250% 112%;
    background-position: right bottom;
    color              : #ffffff !important;
    border             : none;
    padding            : 10px 16px !important;
    border-radius      : 4px;
    font-weight        : 600;
    font-size          : 15px;
    cursor             : pointer;
    display            : flex;
    align-items        : center;
    gap                : 8px;
    text-decoration    : none;
    transition         : background-position 0.4s ease-in-out;
    width              : 170px;
    display            : flex;
    justify-content    : center;
    white-space        : nowrap;
    height             : 100%;
}

.view-all-solutions-btn:hover {
    background-position: left bottom;
    color              : #ffffff;
    text-decoration    : none;
}

.process-nav-list {
    display       : flex;
    flex-direction: column;
    padding       : 10px;
    border-radius : 8px;
    gap           : 5px;
}

.process-nav-list .process-nav-item {
    display      : block;
    color        : #444;
    font-size    : 16px;
    font-weight  : 500;
    padding      : 12px 20px;
    margin-bottom: 5px;
    border-radius: 6px;
    transition   : all 0.3s;

    border    : none;
    background: #F9FAFB;
    cursor    : pointer;
    text-align: left;
    width     : 100%;
}

.process-nav-list .process-nav-item:hover {
    background-color: var(--primary-blue);
    color           : white;
}

.process-nav-list .process-nav-item.active {
    background-color: var(--primary-blue);
    color           : white;
    font-weight     : 600;
}

.process-content-wrapper {
    background-color: transparent;
    border-radius   : 8px;
    display         : flex;
    gap             : 40px;
}

.process-image {
    width        : 100%;
    height       : auto;
    max-height   : 400px;
    object-fit   : cover;
    border-radius: 6px;
}


.process-content-title {
    font-size    : 24px;
    font-weight  : 700;
    color        : #333;
    margin-bottom: 15px;
}

.process-description {
    font-size: 16px;
    color    : #555;

}

.process-description-wrapper {
    height    : 32vh;
    overflow-y: auto;
}

/* Danh sách checkmark */
.checkmark-list-right {
    list-style: none;
    padding   : 0;
}

.checkmark-list-right li {
    font-size    : 15px;
    margin-bottom: 10px;
    color        : #555;
}

.checkmark-list-right li i {
    color       : var(--primary-blue);
    margin-right: 8px;
}

.read-more-process-link {
    background         : linear-gradient(to left, var(--primary-blue) 0%, var(--primary-blue) 50%, black 50%, black 100%);
    background-size    : 250% 103%;
    background-position: right bottom;
    color              : #ffffff !important;
    border             : none;
    padding            : 10px 24px !important;
    border-radius      : 4px;
    font-weight        : 600;
    font-size          : 15px;
    cursor             : pointer;
    display            : flex;
    align-items        : center;
    gap                : 8px;
    text-decoration    : none;
    transition         : background-position 0.4s ease-in-out;
    width              : fit-content;
    margin-top         : 10px;
}

.read-more-process-link:hover {
    background-position: left bottom;
    color              : #ffffff;
    text-decoration    : none;
}

.header {
    display        : flex;
    justify-content: space-between;
    margin-bottom  : 20px;
}

.tech-section-split {
    background-color   : #1A191D;
    padding            : 60px 0;
    background-position: bottom center;
    background-repeat  : no-repeat;
    background-size    : cover;
    background-image   : url(../img/curve_overlay_big.png);
}

.tech-left-content {
    color        : #fff;
    padding-right: 40px;
}

.tech-description {
    margin-bottom: 56px;
}

.tech-subtitle {
    color         : #999;
    font-weight   : 600;
    text-transform: uppercase;
    margin-bottom : 25px;
    font-size     : 15px;
    margin-top    : 60px;
}

.tech-title {
    font-size    : 40px;
    margin-bottom: 10px;
}

.tech-button {
    background         : linear-gradient(to left, var(--primary-blue) 0%, var(--primary-blue) 50%, white 50%, white 100%);
    background-size    : 250% 100%;
    background-position: right bottom;
    color              : #ffffff;
    border             : none;
    padding            : 10px 24px !important;
    border-radius      : 4px;
    font-weight        : 600;
    font-size          : 15px;
    cursor             : pointer;
    display            : flex;
    align-items        : center;
    gap                : 8px;
    text-decoration    : none;
    transition         : background-position 0.4s ease-in-out;
    width              : fit-content;
}

.tech-button:hover {
    background-position: left bottom;
    color              : black;
    text-decoration    : none;
}

.tech-right-slider {
    position: relative !important;
    overflow: hidden;
}

.tech-slide-item {
    background-size    : cover;
    background-position: center center;
    height             : 500px;
    display            : flex;
    align-items        : center;
    justify-content    : center;
    position           : relative;
    padding            : 0;
    background-color   : #333;
}

.tech-slide-overlay {
    position        : absolute;
    width           : 75%;
    height          : 75%;
    background-color: #1a1c1c9c;
    color           : #fff;
    padding         : 55px 30px;
    display         : flex;
    flex-direction  : column;
    justify-content : start;
    align-items     : center;
    text-align      : center;
}

.tech-slide-icon i {
    font-size    : 45px;
    margin-bottom: 15px;
}

.tech-slide-title {
    margin-bottom: 16px;
}

.tech-right-slider .custom-nav {
    position: absolute;
    z-index : 10;
    right   : calc(5% + 200px);
    bottom  : calc(19% + 20px);
    display : flex;
    gap     : 10px;
}

.tech-right-slider .custom-nav button {
    background     : rgb(255, 255, 255) !important;
    color          : black !important;
    border         : 1px solid #fff !important;
    padding        : 0 !important;
    font-size      : 24px !important;
    cursor         : pointer !important;
    transition     : background 0.3s !important;
    display        : flex !important;
    align-items    : center !important;
    justify-content: center !important;
    line-height    : 1 !important;
    width          : 45px;
    height         : 45px;
}

.tech-right-slider .custom-nav button span {
    margin-bottom: 6px;
    display      : block;
    line-height  : 1;
}

.tech-right-slider .custom-nav button:hover {
    background  : #fff;
    color       : #6a9c39;
    border-color: #6a9c39;
}


/* certificate-section  */

.certificate-section {
    padding         : 60px 0 60px 0;
    background-color: #fff;
    text-align      : center;
    position        : relative;
    overflow        : hidden;
}

.cert-section-title {
    font-size    : 40px;
    font-weight  : 700;
    color        : #333;
    margin-bottom: 10px;
    position     : relative;
}

.cert-section-subtitle::before {
    content         : '';
    position        : absolute;
    top             : 100%;
    left            : 50%;
    transform       : translateX(-50%);
    width           : 50%;
    height          : 3px;
    background-color: #d8d8d8;
    margin-top      : 15px;
}

.cert-section-subtitle::after {
    content         : '';
    position        : absolute;
    top             : 100%;
    left            : 50%;
    transform       : translateX(-50%);
    width           : 15%;
    height          : 3px;
    background-color: var(--primary-blue);
    margin-top      : 15px;
}

.cert-section-subtitle {
    font-size    : 17px;
    color        : #666666;
    margin-bottom: 50px;
    max-width    : 750px;
    margin-left  : auto;
    margin-right : auto;
    position     : relative;
}

.certificate-carousel-wrapper {
    position : relative;
    max-width: 1300px;
    margin   : 0 auto;
}

.certificate-row {
    min-height: 600px;
}

.certificate-slider .owl-stage-outer {
    overflow: visible !important;
}

.certificate-slider .owl-stage {
    padding: 60px 0 !important;
}

.certificate-item {
    padding        : 0 5px !important;
    height         : 600px;
    display        : flex;
    align-items    : center;
    justify-content: center;
    transition     : transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), z-index 0s;

}

.certificate-slider .owl-item {
    position: relative !important;
    z-index : 1 !important;
}


.owl-item:has(.level-1) {
    z-index: 3 !important;
}

.owl-item:has(.level-2) {
    z-index: 2 !important;
}

.owl-item.center {
    z-index: 5 !important;
}

.certificate-item.level-2 {
    transform: scale(1);
}

.certificate-item.level-1 {
    transform: scale(1.25);
}

.certificate-item.active-slide {
    transform: scale(1.5);
}

.certificate-img {
    width     : 100%;
    height    : auto;
    display   : block;
    border    : 4px solid #e3e1e1;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
}

.slider-nav-btn {
    position        : absolute !important;
    top             : 55% !important;
    transform       : translateY(-50%) !important;
    background-color: var(--primary-blue) !important;
    color           : #fff !important;
    border          : none !important;
    width           : 45px !important;
    height          : 45px !important;
    border-radius   : 4px !important;
    display         : flex !important;
    justify-content : center !important;
    align-items     : center !important;
    font-size       : 1.4rem !important;
    cursor          : pointer !important;
    transition      : all 0.3s ease !important;
    z-index         : 10 !important;
    opacity         : 1 !important;
}

.slider-nav-btn:hover {
    cursor: pointer !important;
}

.prev-btn {
    left: -5%;
}

.next-btn {
    right: -5%;
}


.certificate-slider .owl-dots {
    text-align: center;
    margin-top: 20px;
    display   : none;
}

.certificate-owl .owl-dot span {
    width     : 10px;
    height    : 10px;
    margin    : 5px 4px;
    background: #D6D6D6;
    display   : block;
    transition: opacity 0.2s ease;
}

.certificate-owl .owl-dot.active span,
.certificate-owl .owl-dot:hover span {
    background: var(--primary-blue);
}

/*case-studies */
.case-studies {
    width           : 100%;
    padding         : 60px 100px;
    background-color: #eff3f7;
    position        : relative;
}

.case-header {
    display        : flex;
    align-items    : center;
    justify-content: space-between;
    margin-bottom  : 25px;
    display        : flex;
    justify-content: space-between;
    align-items    : center;
}

.case-header .case-header-title {
    margin-left: 15%;
    max-width  : 50%;
}

.case-header h2 {
    font-size  : 40px;
    font-weight: bold;
    margin     : 0 0 10px;
}

.case-header p {
    font-size  : 17px;
    color      : #555;
    position   : relative;
    line-height: 1.6;
}

.case-nav {
    margin-right: 15%;
}

.case-nav button {
    width      : 50px;
    height     : 50px;
    border     : 1px solid #ccc;
    background : white;
    cursor     : pointer;
    margin-left: 5px;
    font-size  : 20px;
    transition : 0.3s ease;
    color      : #8f8d8d;
}

.case-nav button:hover {
    color: black;
}

.case-carousel {
    overflow  : hidden;
    width     : 100%;
    position  : relative;
    margin-top: 50px;
}

.case-track {
    display   : flex;
    transition: transform 0.5s ease;
    gap       : 30px;
}

/* Each item */
.case-item {
    flex         : 0 0 calc((100% - 60px) / 3);
    /* Hiển thị 3 items */
    height       : 420px;
    position     : relative;
    overflow     : hidden;
    border-radius: 5px;
    cursor       : pointer;
}

/* Image */
.case-item img {
    width     : 100%;
    height    : 100%;
    object-fit: cover;
    transition: 0.4s ease;
}

/* Overlay on hover */
.case-item .overlay {
    position  : absolute;
    top       : 0;
    left      : 0;
    width     : 100%;
    height    : 100%;
    background: rgba(26, 25, 29, 0.7);
    opacity   : 0;
    transition: 0.4s ease;
}

/* Text info */
.case-item .info {
    position  : absolute;
    bottom    : 25px;
    left      : 25px;
    right     : 25px;
    opacity   : 0;
    transform : translateY(20px);
    transition: 0.4s ease;
    color     : white;
}

.case-item .info h3 {
    margin       : 0;
    font-size    : 30px;
    color        : white;
    width        : fit-content;
    transition   : color 0.3s ease-in-out;
    margin-bottom: 15px;
}

.case-item .info h3:hover {
    color: var(--primary-blue);
}

.case-item .info p {
    font-size  : 18px;
    line-height: 1.5;
}

/* Zoom image on hover */
.case-item:hover img {
    transform: scale(1.1);
}

.case-item:hover .overlay {
    opacity: 1;
}

.case-item:hover .info {
    opacity  : 1;
    transform: translateY(0);
}

.case-header p::after {
    content   : '';
    position  : absolute;
    left      : 0;
    bottom    : -25px;
    width     : 25%;
    height    : 3px;
    background: linear-gradient(to right, var(--primary-blue) 50%, #dcdcdc 50%);
}

/* Plus icon */
.case-item .plus-icon {
    position        : absolute;
    top             : 50px;
    right           : 70px;
    width           : 50px;
    height          : 50px;
    border-radius   : 50%;
    background      : white;
    display         : flex;
    align-items     : center;
    justify-content : center;
    opacity         : 0;
    transform-origin: center;
    will-change     : transform, opacity;
    transition      : opacity 0.3s ease 0.15s, transform 0.3s ease 0.15s;
}

.case-item .plus-icon::before {
    content         : "";
    position        : absolute;
    top             : -15px;
    left            : -15px;
    width           : calc(100% + 30px);
    height          : calc(100% + 30px);
    border          : 1px solid white;
    border-radius   : 50%;
    opacity         : 0;
    transform-origin: center;
    transition      : opacity 0.3s ease 0.25s, transform 0.3s ease 0.25s;
    pointer-events  : none;
}

.btn-view-all-projects {
    background         : linear-gradient(to left, var(--primary-blue) 0%, var(--primary-blue) 50%, black 50%, black 100%);
    background-size    : 250% 115%;
    background-position: right bottom;
    color              : #ffffff;
    border             : none;
    padding            : 10px 24px;
    border-radius      : 4px;
    font-weight        : 600;
    font-size          : 15px;
    cursor             : pointer;
    display            : flex;
    align-items        : center;
    gap                : 8px;
    text-decoration    : none;
    transition         : background-position 0.4s ease-in-out;
    width              : fit-content;
}

.btn-view-all-projects:hover {
    background-position: left bottom;
    color              : #ffffff;
    text-decoration    : none;
}


@media (hover: hover) and (pointer: fine) {


    .case-item .plus-icon {
        transform: scale(0.2);
    }

    .case-item:hover .plus-icon {
        opacity  : 1;
        transform: scale(1);
    }

    .case-item:hover .plus-icon::before {
        opacity  : 1;
        transform: scale(1);
    }

    .case-item .plus-icon::before {
        transform: scale(0.8);
    }
}

@media (hover: none) and (pointer: coarse) {
    .case-item .plus-icon {
        transform: scale(1);
    }

    .case-item .plus-icon::before {
        transform: scale(1);
        opacity  : 0;
    }

    .case-item .plus-icon.active-mobile::before {
        opacity: 1;
    }
}


/* gallery-section */
.gallery-section {
    width  : 100%;
    padding: 60px 100px;
}

.gallery-header {
    display        : flex;
    align-items    : center;
    justify-content: space-between;
    margin-bottom  : 25px;
    display        : flex;
    justify-content: space-between;
    align-items    : center;
}

.gallery-header #gallery-header-title {
    margin-left: 15%;
    max-width  : 50%;
}

.gallery-header h2 {
    font-size  : 40px;
    font-weight: bold;
    margin     : 0 0 10px;
}

.gallery-header p {
    font-size: 17px;
    color    : #555;
    position : relative;
}

.gallery-nav {
    margin-right: 15%;
}

.gallery-nav button {
    width      : 50px;
    height     : 50px;
    border     : 1px solid #ccc;
    background : white;
    cursor     : pointer;
    margin-left: 5px;
    font-size  : 20px;
    transition : 0.3s ease;
    color      : #8f8d8d;
}

.gallery-nav button:hover {
    color: black;
}

.gallery-carousel {
    overflow: hidden;
    width   : 100%;
    position: relative;
}

.gallery-track {
    display   : flex;
    transition: transform 0.5s ease;
    gap       : 30px;
    margin-top: 50px;
}

.gallery-header p::after {
    content   : '';
    position  : absolute;
    left      : 0;
    bottom    : -25px;
    width     : 25%;
    height    : 3px;
    background: linear-gradient(to right, var(--primary-blue) 50%, #dcdcdc 50%);
}

.gallery-item {
    flex         : 0 0 calc((100% - 60px) / 5);
    height       : 250px;
    position     : relative;
    overflow     : hidden;
    border-radius: 5px;
    cursor       : pointer;
}

.gallery-item img {
    width     : 100%;
    height    : 100%;
    object-fit: cover;
    transition: 0.4s ease;
}

.gallery-item .overlay {
    position  : absolute;
    top       : 0;
    left      : 0;
    width     : 100%;
    height    : 100%;
    background: rgba(26, 25, 29, 0.7);
    opacity   : 0;
    transition: 0.4s ease;
}

.gallery-item .info {
    position  : absolute;
    bottom    : 25px;
    left      : 25px;
    right     : 25px;
    opacity   : 0;
    transform : translateY(20px);
    transition: 0.4s ease;
    color     : white;
}

.gallery-item .info h3 {
    margin    : 0;
    font-size : 30px;
    color     : white;
    width     : fit-content;
    transition: color 0.3s ease-in-out;
}

.gallery-item .info h3:hover {
    color: var(--primary-blue);
}

.gallery-item .info p {
    font-size  : 18px;
    line-height: 1.5;
}

.gallery-item:hover img {
    transform: scale(1.1);
}

.gallery-item:hover .overlay {
    opacity: 1;
}

.gallery-item:hover .info {
    opacity  : 1;
    transform: translateY(0);
}

.gallery-item .plus-icon {
    position        : absolute;
    top             : 50px;
    right           : 70px;
    width           : 50px;
    height          : 50px;
    border-radius   : 50%;
    background      : white;
    display         : flex;
    align-items     : center;
    justify-content : center;
    opacity         : 0;
    transform-origin: center;
    will-change     : transform, opacity;
    transition      : opacity 0.3s ease 0.15s, transform 0.3s ease 0.15s;
}

.gallery-item .plus-icon::before {
    content         : "";
    position        : absolute;
    top             : -15px;
    left            : -15px;
    width           : calc(100% + 30px);
    height          : calc(100% + 30px);
    border          : 1px solid white;
    border-radius   : 50%;
    opacity         : 0;
    transform-origin: center;
    transition      : opacity 0.3s ease 0.25s, transform 0.3s ease 0.25s;
    pointer-events  : none;
}

/* modal gallery-section */

.full-gallery-modal {
    position  : fixed;
    z-index   : 9999;
    padding   : 0;
    left      : 0;
    top       : 0;
    width     : 100%;
    height    : 100%;
    overflow  : auto;
    background: rgba(0, 0, 0, 0.9);
    display   : none;
    animation : fadeIn 0.4s;
}

.close-modal-btn {
    position   : absolute;
    top        : 20px;
    right      : 35px;
    color      : #f1f1f1;
    font-size  : 40px;
    font-weight: bold;
    transition : 0.3s;
    cursor     : pointer;
    z-index    : 10000;
}

.close-modal-btn:hover,
.close-modal-btn:focus {
    color: #bbb;
}

.modal-content-img {
    margin    : auto;
    display   : block;
    width     : 80%;
    max-width : 1000px;
    max-height: 90vh;
    object-fit: contain;
    transform : translateY(5vh);
    animation : zoom 0.6s;
}

.modal-caption {
    display: none;
}

@keyframes zoom {
    from {
        transform: scale(0.1) translateY(5vh);
    }

    to {
        transform: scale(1) translateY(5vh);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}


.full-gallery-modal .modal-prev,
.full-gallery-modal .modal-next {
    cursor          : pointer;
    position        : absolute;
    top             : 50%;
    transform       : translateY(-50%);
    width           : auto;
    padding         : 16px;
    color           : black;
    font-weight     : bold;
    font-size       : 20px;
    transition      : 0.6s ease;
    border-radius   : 0 3px 3px 0;
    user-select     : none;
    background-color: rgba(237, 236, 236, 0.907);
    z-index         : 100;
    text-decoration : none;
}

.full-gallery-modal .modal-prev {
    left         : 15%;
    border-radius: 3px 0 0 3px;
}

.full-gallery-modal .modal-next {
    right        : 15%;
    border-radius: 0 3px 3px 0;
}

.full-gallery-modal .modal-prev:hover,
.full-gallery-modal .modal-next:hover {
    transform: scale(1.2) translateY(-50%);
}

.full-gallery-modal .modal-content-img {
    margin    : auto;
    display   : block;
    max-width : 90%;
    max-height: 80vh;
    object-fit: contain;
    padding   : 20px 50px;
}


/* contact-section */
.contact-section {
    width   : 100%;
    position: relative;
}


.contact-section .row {
    margin-left : 0;
    margin-right: 0;
}

.contact-qna-col-left {
    background-color   : #212121;
    color              : white;
    background-image   : url(../img/wave-overlay.png);
    background-position: bottom left;
    background-repeat  : no-repeat;
}

.contact-qna-inner {
    padding: 60px 60px;
    height : 100%;
}

.contact-qna-title {
    font-size    : 40px;
    font-weight  : 700;
    margin-bottom: 10px;
}

.contact-qna-subtitle {
    font-size    : 16px;
    color        : #ccc;
    margin-bottom: 40px;
}

.contact-highlight-link {
    color          : #ffffff;
    font-weight    : 600;
    text-decoration: underline;
    cursor         : pointer;
}

.contact-header-underline {
    width        : 230px;
    height       : 3px;
    background   : linear-gradient(to right, #0582CA 40%, #d3d3d3 20%);
    margin-bottom: 30px;
}

.contact-accordion {
    border          : none;
    background-color: white;
}

.contact-qna-item {
    border          : none;
    border-bottom   : 1px solid rgba(0, 0, 0, 0.1);
    margin-bottom   : 0;
    background-color: transparent;
}

.contact-qna-toggle {
    border          : none;
    width           : 100%;
    padding         : 15px 20px;
    font-size       : 17px;
    font-weight     : 500;
    text-align      : left;
    display         : flex;
    justify-content : space-between;
    align-items     : center;
    cursor          : pointer;
    background-color: white;
    color           : black;
    transition      : all 0.3s;
}

.contact-qna-toggle span.contact-qna-link {
    color: inherit;
    width: 87%;
}

.contact-qna-item.active .contact-qna-toggle {
    background-color: var(--primary-blue);
    color           : white;
}

.contact-qna-icon-box {
    display        : flex;
    justify-content: center;
    align-items    : center;
    width          : 20px;
    height         : 20px;
}

.contact-qna-item:not(.active) .contact-qna-icon-box {
    background-color: var(--primary-blue);
}

.contact-qna-item:not(.active) .contact-qna-icon-box i {
    color    : white;
    font-size: 12px;
}

.contact-qna-item.active .contact-qna-icon-box {
    background-color: transparent;
    padding-right   : 5px;
}

.contact-qna-item.active .contact-qna-icon-box i {
    color    : white;
    font-size: 16px;
}

.contact-qna-content {
    height     : 0;
    overflow   : hidden;
    transition : height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: height;
}



.contact-qna-body {
    background-color: white;
    color           : black;
    padding         : 15px;
    font-size       : 15px;
    border          : none;
}


.contact-form-col-right {
    background-color: #f0f0f0;
    color           : #333;
}

.contact-form-inner {
    padding: 60px;
    height : 100%;
}

.contact-form-title {
    font-size    : 40px;
    font-weight  : 700;
    margin-bottom: 10px;
    color        : #333;
}

.contact-form-subtitle {
    font-size    : 16px;
    color        : #666;
    margin-bottom: 40px;
}

.contact-form-col-right .contact-header-underline {
    background-color: var(--primary-blue);
}

.contact-form-control:focus {
    box-shadow  : none;
    border-color: var(--primary-blue);
}

.contact-submit-btn {
    background         : linear-gradient(to left, var(--primary-blue) 0%, var(--primary-blue) 50%, black 50%, black 100%);
    background-size    : 250% 100%;
    background-position: right bottom;
    color              : #ffffff !important;
    border             : none;
    padding            : 10px 24px !important;
    border-radius      : 4px;
    font-weight        : 600;
    font-size          : 15px;
    cursor             : pointer;
    display            : flex;
    align-items        : center;
    gap                : 8px;
    text-decoration    : none;
    transition         : background-position 0.4s ease-in-out;
}


.contact-submit-btn:hover {
    background-position: left bottom;
    color              : #ffffff;
    text-decoration    : none;
}

.contact-terms-text {
    font-size: 14px;
    color    : #666;
}

.contact-form .row>[class*="col-"] {
    padding-left : 0;
    padding-right: 0;
}

.contact-form-control,
.contact-form-col-right .form-select {
    height          : 38px;
    line-height     : 38px;
    padding         : 0 10px;
    box-sizing      : border-box;
    border          : 1px solid #ddd;
    border-radius   : 4px;
    font-size       : 0.8rem !important;
    background-color: white;
    width           : 100%;
}

.contact-form-control[rows="5"] {
    height     : auto;
    line-height: 1.5;
    padding    : 8px 10px;
    resize     : none;
}

.contact-form .row .col-sm-6:nth-child(even) {
    padding-left: 10px;
}

.contact-form .row .col-sm-6:nth-child(odd) {
    padding-right: 10px;
}

.contact-form-control[type="file"] {
    height            : 38px;
    line-height       : 1;
    padding           : 0;
    appearance        : none;
    -webkit-appearance: none;
    -moz-appearance   : none;
    font-size         : 0.8rem;
}


.contact-form-control[type="file"]::-webkit-file-upload-button {
    width           : 25%;
    height          : 38px;
    background-color: white;
    color           : black;
    border          : none;
    border-right    : 1px solid #ddd;
    cursor          : pointer;
    margin          : 0;
    padding         : 0 10px;
    box-sizing      : border-box;
    line-height     : 38px;
    text-align      : center;
    background      : #cccc;
}

.contact-form-control[type="file"]::-moz-file-upload-button {
    width           : 25%;
    height          : 38px;
    background-color: white;
    color           : black;
    border          : none;
    border-right    : 1px solid #ddd;
    cursor          : pointer;
    margin          : 0;
    padding         : 0 10px;
    box-sizing      : border-box;
    line-height     : 38px;
    text-align      : center;
}

.error-message {
    display: none;
}

.has-error .error-message {
    display: block;
    color: #dc3545;
    font-size: 13px;
    margin-top: 5px;
}

.has-error input,
.has-error textarea,
.has-error select {
    border: 1px solid #dc3545;
}


/* order-section */
.order-section {
    padding            : 60px 0;
    text-align         : center;
    background-image   : url('../img/work2_overlay.png');
    background-repeat  : no-repeat;
    background-size    : cover;
    background-position: center;
}

.card-title2 {
    font-size    : 1.3rem;
    font-weight  : 600;
    color        : #333;
    margin-top   : 0;
    margin-bottom: 30px !important;
    position     : relative;
}

.card-title2::after {
    content   : '';
    position  : absolute;
    left      : 0;
    bottom    : -15px;
    width     : 100%;
    height    : 1px;
    background: linear-gradient(to right, #0582CA 20%, #d3d3d3 20%);
}

.order-section .owl-carousel .owl-stage-outer {
    width: 101% !important;
}

.order-section .container {
    align-items    : center;
    justify-content: center;
    display        : flex;
    flex-direction : column;
}

.section-title {
    font-size    : 2.5rem;
    font-weight  : 700;
    color        : var(--heading-color);
    margin-bottom: 10px;
}

.section-subtitle {
    font-size    : 17px;
    color        : #666;
    margin-bottom: 50px;
    max-width    : 750px;
    margin-left  : auto;
    margin-right : auto;
    position     : relative;
}

.section-subtitle::before {
    content         : '';
    position        : absolute;
    top             : 100%;
    left            : 50%;
    transform       : translateX(-50%);
    width           : 50%;
    height          : 3px;
    background-color: #d8d8d8;
    margin-top      : 15px;
}

.section-subtitle::after {
    content         : '';
    position        : absolute;
    top             : 100%;
    left            : 50%;
    transform       : translateX(-50%);
    width           : 15%;
    height          : 3px;
    background-color: var(--primary-blue);
    margin-top      : 15px;
}

#order-owl-carousel .owl-stage {
    height     : 585px !important;
    padding-top: 10px !important;
}

.order-section .owl-carousel.order-slider .owl-dots {
    display    : block !important;
    text-align : center;
    padding-top: 15px;
}

.order-section .owl-carousel.order-slider .owl-dot {
    opacity   : 0.7;
    transition: opacity 0.3s ease;
}

.order-section .owl-carousel.order-slider .owl-dot span {
    width        : 10px;
    height       : 10px;
    margin       : 5px;
    border-radius: 0;
    background   : #555;
    display      : block;
}

.order-section .owl-carousel.order-slider .owl-dot.active {
    opacity: 1;
}

.order-section .owl-carousel.order-slider .owl-dot.active span {
    background: var(--primary-blue);
}

.order-card {
    background-color: #fff;
    border          : 1px solid #e0e0e0;
    overflow        : hidden;
    text-align      : left;
    height          : 100%;
    transition      : transform 0.3s, box-shadow 0.3s;
}

.order-card::after {
    content          : "";
    display          : block;
    width            : 10px;
    background-color : #dedede;
    position         : absolute;
    top              : 15px;
    bottom           : -9px;
    right            : -10px;
    -webkit-clip-path: polygon(0 0, 100% 6px, 100% 100%, 0 100%);
    -khtml-clip-path : polygon(0 0, 100% 6px, 100% 100%, 0 100%);
    -moz-clip-path   : polygon(0 0, 100% 6px, 100% 100%, 0 100%);
    -ms-clip-path    : polygon(0 0, 100% 6px, 100% 100%, 0 100%);
    -o-clip-path     : polygon(0 0, 100% 6px, 100% 100%, 0 100%);
    clip-path        : polygon(0 0, 100% 6px, 100% 100%, 0 100%);
    transition       : all 350ms ease-in-out 0ms;
}

.order-card::before {
    content          : "";
    display          : block;
    height           : 10px;
    background-color : #dedede;
    position         : absolute;
    bottom           : -9px;
    left             : 10px;
    right            : -1px;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 6px 100%);
    -khtml-clip-path : polygon(0 0, 100% 0, 100% 100%, 6px 100%);
    -moz-clip-path   : polygon(0 0, 100% 0, 100% 100%, 6px 100%);
    -ms-clip-path    : polygon(0 0, 100% 0, 100% 100%, 6px 100%);
    -o-clip-path     : polygon(0 0, 100% 0, 100% 100%, 6px 100%);
    clip-path        : polygon(0 0, 100% 0, 100% 100%, 6px 100%);
    transition       : all 350ms ease-in-out 0ms;
}

.order-card:hover::after,
.order-card:hover::before {
    background-color: var(--primary-blue);
}

.card-image-container {
    position: relative;
    overflow: hidden;
}


.card-icon-overlay {
    display            : inline-block;
    transform-style    : preserve-3d;
    backface-visibility: hidden;
    transition         : transform 0.5s ease-in-out;
    transform          : rotateY(0deg);
    position           : absolute;
    top                : 30px;
    left               : 30px;
    background-color   : var(--primary-blue);
    color              : white;
    padding            : 8px 12px;
    font-size          : 1.5rem;
}

.order-card:hover .card-icon-overlay {
    transform: rotateY(-720deg);
}

.card-body {
    padding: 30px 25px;
}

.order-card .card-body {
    height         : 310px;
    display        : flex;
    flex-direction : column;
    justify-content: space-between;
}

.read-more-link {
    background         : linear-gradient(to left, var(--primary-blue) 0%, var(--primary-blue) 50%, black 50%, black 100%);
    background-size    : 250% 100%;
    background-position: right bottom;
    color              : #ffffff !important;
    border             : none;
    padding            : 10px 24px !important;
    border-radius      : 4px;
    font-weight        : 600;
    font-size          : 15px;
    cursor             : pointer;
    display            : flex;
    align-items        : center;
    gap                : 8px;
    text-decoration    : none;
    transition         : background-position 0.4s ease-in-out;
    width              : fit-content;
}

.read-more-link:hover {
    background-position: left bottom;
    color              : #ffffff;
    text-decoration    : none;
}

.read-more-link .icon-arrow {
    opacity    : 0;
    transition : all 0.3s ease;
    line-height: normal;
    margin-left: -20px;
}

.read-more-link .icon-plus {
    opacity    : 1;
    transition : all 0.3s ease;
    line-height: normal;
    color      : var(--primary-blue);
}

.order-card:hover .read-more-link {
    color          : var(--primary-blue);
    text-decoration: none;
}

.order-card:hover .read-more-link .icon-plus {
    opacity: 0;
    color  : var(--primary-blue);
}

.order-card:hover .read-more-link .icon-arrow {
    opacity: 1;
    color  : var(--primary-blue);
}

.order-product-btn {
    background         : linear-gradient(to left, var(--primary-blue) 0%, var(--primary-blue) 50%, black 50%, black 100%);
    background-size    : 250% 124%;
    background-position: right bottom;
    color              : #ffffff;
    border             : none;
    padding            : 10px 24px;
    border-radius      : 4px;
    font-weight        : 600;
    font-size          : 15px;
    cursor             : pointer;
    display            : flex;
    align-items        : center;
    gap                : 8px;
    text-decoration    : none;
    transition         : background-position 0.4s ease-in-out;
    width              : fit-content;
}

.order-product-btn:hover {
    background-position: left bottom;
    color              : #ffffff;
    text-decoration    : none;
    font-weight        : 500;
}

.card-image {
    width     : 100%;
    height    : 250px;
    object-fit: cover;
    display   : block;
}

.read-more-link2 {
    color          : black;
    text-decoration: none;
    font-weight    : 600;
    font-size      : 0.95rem;
    display        : inline-flex;
    align-items    : center;
    transition     : color 0.3s;
    position       : relative;
    gap            : 10px;
}

.read-more-link2 .icon-arrow {
    opacity    : 0;
    transition : all 0.3s ease;
    line-height: normal;
    margin-left: -20px;
}

.read-more-link2 .icon-plus {
    opacity    : 1;
    transition : all 0.3s ease;
    line-height: normal;
    color      : var(--primary-blue)
}

.order-card:hover .read-more-link2 {
    color          : var(--primary-blue);
    text-decoration: none;
}

.order-card:hover .read-more-link2 .icon-plus {
    opacity: 0;
    color  : var(--primary-blue);
}

.order-card:hover .read-more-link2 .icon-arrow {
    opacity: 1;
    color  : var(--primary-blue);
}

.feature-image-block {
    border       : 1px solid #ccc;
    border-radius: .25rem;
    box-shadow   : 0 .125rem .25rem rgba(0, 0, 0, .075);
}

.feature-main-image {
    width     : 100%;
    height    : 100%;
    object-fit: cover;
}

.number-box {
    padding         : 2rem 1.5rem;
    border          : 1px solid #ccc;
    border-radius   : .25rem;
    background-color: #eff3f7;
}

.feature-icon {
    color    : #666666;
    font-size: 2.5rem;
}

.number-section {
    padding         : 60px 0;
    background-color: #eff3f7;
}

.gallery-header .gallery-header-title {
    margin-left: 15%;
    max-width  : 50%;
}

.scroll-to-top-btn {
    display         : none;
    position        : fixed;
    bottom          : 20px;
    right           : 20px;
    z-index         : 99;
    width           : 50px;
    line-height     : 50px;
    text-align      : center;
    background-color: var(--primary-blue);
    color           : #fff;
    border-radius   : 4px;
    box-shadow      : 0 2px 5px 0 rgba(0, 0, 0, 0.26);
    font-size       : 20px;
}

@media (max-width: 450px) {
    .case-header h2 {
        font-size: 30px;
    }

    .case-header .case-header-title,
    .gallery-header .gallery-header-title {
        margin   : 0 10px;
        max-width: 100%;
    }

    .mobile {
        display: block;
    }

    .desktop {
        display: none;
    }

    .tech-right-slider .custom-nav {
        right: calc(5% + 115px);
    }

    .view-all-solutions-btn {
        display: none;
    }

    .pc {
        display: none !important;
    }

    .service-hero-section {
        position  : relative;
        padding   : 80px 15px;
        text-align: center;
        overflow  : hidden;
        min-height: 350px;
        margin-top: 70px;
    }

    .service-hero-section img {
        position  : absolute;
        top       : 0;
        left      : 0;
        width     : 100%;
        height    : 100%;
        object-fit: cover;
        z-index   : 0;
    }

    .service-hero-section .container {
        position: relative;
        z-index : 2;
    }

    .service-hero-section .row {
        width  : 100%;
        margin : 0;
        display: block;
    }

    .service-hero-section h1 {
        color        : white;
        font-size    : 26px;
        font-weight  : 700;
        line-height  : 1.3;
        margin-bottom: 10px;
    }

    .service-hero-section p {
        color        : rgba(255, 255, 255, 0.8);
        font-size    : 14px;
        margin-bottom: 15px;
        padding      : 0 10px;
    }

    .service-hero-section .breadcrumb {
        color          : white;
        font-size      : 13px;
        padding        : 10px 20px !important;
        justify-content: center;
    }

    .service-hero-section .breadcrumb a {
        color          : white;
        text-decoration: none;
    }

    .service-hero-section .breadcrumb i {
        font-size     : 10px;
        vertical-align: middle;
        margin        : 0 5px;
    }

    .factory-section {
        padding: 30px 0px;
    }

    .factory-image-simple-wrapper {
        padding-right: 0;
        margin-bottom: 10px;
    }



    .main-factory-image {
        min-height: 250px;
    }

    .content-inner-padding {
        padding: 0;
    }

    .content-title {
        margin-bottom: 15px;
        font-size    : 30px;
    }

    .content-body {
        font-size    : 15px;
        margin-bottom: 15px;
    }

    .content-body::before {
        display: none;
    }

    .content-body::after {
        display: none;
    }

    .checkmark-list-row>.col-sm-6 {
        width    : 100%;
        max-width: 100%;
        flex     : 0 0 100%;
    }

    .small-image-footer {
        gap       : 5px;
        margin-top: 20px;
    }

    .footer-img {
        width: 32% !important;

    }

    .custom-faq-wrapper {
        padding: 60px 0px;
    }

    .custom-checklist-wrapper {
        column-count : 1;
        column-gap   : 0;
        margin-bottom: 0;
    }

    .checklist-item-box {
        display      : flex;
        align-items  : baseline;
        gap          : 8px;
        line-height  : 1.3;
        margin-bottom: 12px;
    }

    .col-lg-12.col-md-12 {
        padding-right: 0px !important;
        padding-left : 0px !important;
    }

    .custom-left-panel {
        height       : auto;
        padding      : 15px;
        margin-bottom: 30px;
    }

    #customerCarousel .item img {
        min-height: 400px;
        height    : 100%;
    }

    .custom-faq-right-panel {
        padding: 0;
    }

    .custom-faq-title {
        margin-bottom: 25px;
        font-size    : 30px;
    }

    .custom-faq-subtitle {
        font-size     : 15px;
        padding-bottom: 25px;
        text-align    : center;
    }


    .custom-faq-subtitle::before {
        content   : '';
        position  : absolute;
        top       : 88%;
        left      : 50%;
        transform : translateX(-50%);
        width     : 50%;
        height    : 3px;
        margin-top: 15px;
    }

    .custom-faq-subtitle::after {
        content         : '';
        position        : absolute;
        top             : 88%;
        left            : 50%;
        transform       : translateX(-50%);
        width           : 15%;
        height          : 3px;
        background-color: var(--primary-blue);
    }

    .custom-faq-link {
        font-size: 15px;
        padding  : 10px;

    }

    .view-btn {
        margin-right: 2px;
    }

    .custom-faq-icon-box {
        width    : 48px;
        height   : 62px;
        min-width: 62px;
    }

    .fat {
        min-width: 100% !important;
    }

    .custom-checklist-row {
        flex-direction: column;
    }

    .custom-faq-body {
        padding: 15px;
    }

    .why-main-img {
        width        : 100%;
        height       : auto;
        margin-bottom: 25px;
    }

    .why-info-overlay2 {
        background   : url(../img/pp.webp) no-repeat center center / cover, var(--primary-blue);
        color        : #fff;
        padding      : 20px;
        border-radius: 8px;
        text-align   : left;
        z-index      : 10;
        margin-bottom: 10px;
    }

    .why-secondary-img-top {
        height: auto;
    }

    .why-nav-tabs,
    .why-tab-content {
        display: none !important;
    }

    .mobile-dropdown {
        display   : block !important;
        margin-top: 15px;

    }

    .mobile-dropdown .dropdown-item {
        border-bottom: 1px solid #e7e7e7;
        margin-bottom: 10px;
    }

    .mobile-dropdown .dropdown-content p {
        font-size: 15px;
    }

    .mobile-dropdown .dropdown-toggle-btn {
        width          : 100%;
        background     : #ede9e9;
        padding        : 12px 15px;
        border         : none;
        display        : flex;
        text-align     : center;
        justify-content: space-between;
        font-weight    : 600;
        color          : #333;
        font-size      : 16px;
    }

    .muiten {
        margin-top: 5px
    }

    .mobile-dropdown .dropdown-content p,
    .mobile-dropdown .dropdown-content a.why-btn-learn-more {
        display      : block !important;
        width        : 100%;
        margin-bottom: 10px;
    }

    .mobile-dropdown .dropdown-item {
        padding       : 0px;
        display       : flex;
        flex-direction: column;
    }

    .why-btn-learn-more {
        margin-top: 15px;
        padding   : 10px 12px;
    }

    .mobile-dropdown .dropdown-content {
        width           : 100%;
        box-sizing      : border-box;
        display         : none;
        padding         : 15px;
        color           : #555;
        background-color: white;
    }

    .why-section-title {
        font-size: 30px;
    }

    .why-tab-subtitle,
    .why-tab-subtitle-detail {
        white-space  : normal;
        word-wrap    : break-word;
        overflow-wrap: break-word;
    }

    .why-mobile-card {
        display       : flex;
        flex-direction: column;
        padding-top   : 15px;
        padding-bottom: 15px;
        border-bottom : 1px solid #e0e0e0;
        margin-bottom : 0;
    }

    .why-mobile-card:last-child {
        border-bottom: none;
    }

    .mobile-card-item {
        display      : flex;
        align-items  : baseline;
        margin-bottom: 5px;
        word-wrap    : break-word;

    }

    .mobile-header {
        min-width   : 120px;
        max-width   : 120px;
        font-size   : 0.95rem;
        color       : #555;
        margin-right: 10px;
        flex-shrink : 0;
        word-wrap   : break-word;
    }

    .mobile-value {
        flex-grow    : 1;
        font-weight  : 400;
        font-size    : 0.95rem;
        white-space  : normal;
        overflow-wrap: break-word;
    }

    .small-image-footer2 {
        gap       : 5px;
        margin-top: 20px;
        display   : flex;
        overflow-x: auto;
    }

    .footer-img2 {
        width: 32% !important;
    }

    .process-content-wrapper {
        flex-direction: column;
    }

    .process-accordion-item {
        margin-bottom: 10px;
        border       : 1px solid #ddd;
        border-radius: 5px;
        overflow     : hidden;
    }


    .process-accordion-toggle {
        width           : 100%;
        padding         : 15px;
        text-align      : left;
        background-color: #f8f8f8;
        border          : none;
        font-size       : 16px;
        font-weight     : bold;
        cursor          : pointer;
        display         : flex;
        justify-content : space-between;
        align-items     : center;
    }

    .process-accordion-toggle i {
        transition: transform 0.3s ease;
    }

    .process-section .section-title {
        margin-bottom: 20px;
        font-size    : 30px;
        width        : 100%;
    }

    .process-accordion-item.active .process-accordion-toggle i {
        transform: rotate(180deg);
    }

    .process-accordion-content {
        display         : none;
        padding         : 15px;
        border-top      : 1px solid #eee;
        background-color: #fff;
    }

    .process-accordion-content .process-content-wrapper {
        padding-top: 0;
        margin-top : 0;
    }

    .process-description-wrapper {
        height  : auto !important;
        overflow: visible !important;
    }

    .header {
        flex-direction: column;
    }

    .tech-title {
        font-size: 30px;
    }

    .tech-slide-item {
        height    : 400px;
        margin-top: 20px;
    }

    .tech-slide-overlay {
        width     : 90%;
        height    : auto;
        min-height: 80%;
        padding   : 20px;
    }

    .tech-subtitle {
        margin-top: 0px;
    }

    .tech-slide-icon i {
        font-size: 35px;
    }

    .tech-slide-title {
        font-size: 20px;
    }

    .tech-slide-text {
        font-size: 14px;
    }

    .tech-description {
        margin-bottom: 15px;
    }

    .tech-carousel.owl-carousel .owl-nav {
        right    : 50%;
        bottom   : 60px;
        transform: translateX(50%);
    }

    .tech-carousel.owl-carousel .owl-nav button {
        width    : 45px;
        height   : 45px;
        font-size: 24px !important;
    }

    .certificate-slider .owl-stage {
        padding: 0 !important;
    }

    .certificate-item {
        padding: 5px !important;
        height : auto;
    }

    .certificate-item.level-2,
    .certificate-item.level-1,
    .certificate-item.active-slide {
        transform: scale(1) !important;
        z-index  : 1 !important;
    }

    .slider-nav-btn {
        display: none !important;
    }

    .cert-section-subtitle {
        padding: 10px;
    }

    .certificate-owl .owl-dots {
        display   : block;
        margin-top: 15px;
    }

    .cert-section-title {
        font-size: 30px;
    }

    /* case-studies */
    .case-studies {
        padding: 60px 0px 60px 0px;
    }

    .case-header {
        display    : block;
        margin-left: 0;
        max-width  : 100%;
    }

    .case-header #case-header-title {
        max-width: 100%;
    }


    .case-carousel {
        margin-top: 28px;
    }

    .case-header .case-nav {
        text-align  : right;
        padding-top : 50px;
        margin-right: 3%;
    }

    .case-header .case-nav button {
        margin-left: 5px;
    }

    .case-item {
        flex: 0 0 100%;
    }

    .case-item .plus-icon.active-mobile::before {
        opacity: 1;
    }

    .case-header p {
        margin-bottom: 0px !important;
    }

    .gallery-header h2 {
        font-size: 30px;
    }

    /* gallery-section */
    .gallery-section {
        padding: 60px 0px 0px 0px;
    }

    .gallery-header {
        display      : block;
        margin-left  : 0;
        max-width    : 100%;
        margin-bottom: 0px;
    }

    .gallery-track {
        margin-top: 28px;
    }

    .gallery-header #gallery-header-title {
        margin   : 0 3%;
        max-width: 100%;
    }

    .gallery-header .gallery-nav {
        text-align  : right;
        padding-top : 50px;
        margin-right: 3%;
    }

    .gallery-header .gallery-nav button {
        margin-left: 5px;
    }

    .gallery-item {
        flex: 0 0 100%;
    }

    .gallery-item .plus-icon.active-mobile::before {
        opacity: 1;
    }

    .gallery-header p {
        margin-bottom: 0px !important;
    }

    .close-modal-btn {
        top      : 10px;
        right    : 15px;
        font-size: 30px;
    }

    .modal-content-img {
        width     : 95% !important;
        max-width : 95% !important;
        max-height: 90vh !important;
        height    : auto;
        object-fit: contain;
        margin    : auto;
        position  : absolute;
        top       : 50%;
        left      : 50%;
        transform : translate(-50%, -50%);
        padding   : 0 !important;
        animation : zoom-mobile 0.6s;
    }

    @keyframes zoom {
        to {
            transform: scale(1) translateY(0);
        }
    }

    .full-gallery-modal .modal-prev,
    .full-gallery-modal .modal-next {
        top             : 50%;
        padding         : 10px;
        font-size       : 16px;
        background-color: rgba(237, 236, 236, 1);
        border-radius   : 4px;
        z-index         : 10001;
    }

    .full-gallery-modal .modal-prev {
        left     : 8px;
        transform: translateY(-50%);
    }

    .full-gallery-modal .modal-next {
        right    : 8px;
        transform: translateY(-50%);
    }

    .contact-section {
        width     : 100%;
        margin-top: 0px;
    }

    .contact-qna-col-left {
        background-position: bottom center;
        background-size    : 100% auto;
    }

    .contact-qna-inner {
        padding: 60px 15px;
    }

    .contact-qna-title {
        font-size: 32px;
    }

    .contact-qna-subtitle {
        font-size    : 15px;
        margin-bottom: 30px;
    }

    .contact-header-underline {
        margin-bottom: 20px;
    }

    .contact-qna-toggle {
        padding  : 12px 15px;
        font-size: 16px;
    }

    .contact-qna-body {
        padding  : 10px 15px;
        font-size: 14px;
    }

    .contact-form-inner {
        padding: 40px 15px;
    }

    .contact-form-title {
        font-size    : 32px;
        margin-bottom: 15px;
    }

    .contact-form-subtitle {
        font-size    : 15px;
        margin-bottom: 30px;
    }

    .contact-form .row .col-sm-6 {
        width        : 100%;
        padding-left : 0 !important;
        padding-right: 0 !important;
    }

    .contact-form .row .col-sm-6:nth-child(even),
    .contact-form .row .col-sm-6:nth-child(odd) {
        padding-left : 0;
        padding-right: 0;
    }

    .contact-form-control[type="file"]::-webkit-file-upload-button,
    .contact-form-control[type="file"]::-moz-file-upload-button {
        width: 30%;
    }

    .d-flex.align-items-center.pt-3 {
        flex-direction: column;
        align-items   : flex-start !important;
    }

    .contact-submit-btn {
        width          : 100%;
        margin-right   : 0 !important;
        margin-bottom  : 15px;
        justify-content: center;
    }

    .form-check.m-0 {
        padding-left: 0;
    }

    .contact-terms-text {
        font-size: 13px;
    }

    .contact-qna-toggle span.contact-qna-link {
        width: 90%;
    }

    .order-section .owl-carousel .owl-stage-outer {
        width: 103% !important;
    }
}




@media (min-width: 992px) and (max-width: 1299px) {
    .contact-qna-toggle span.contact-qna-link {
        width: 90%;
    }

    .process-description-wrapper {
        height: 35vh;
    }

    .service-hero-section {
        height: 60vh;
    }

    .service-hero-section h1 {
        font-size: 48px;
    }

    .service-hero-section p {
        font-size: 18px;
        padding  : 0 100px;
    }

    .factory-section {
        padding: 40px 80px;
    }

    .content-inner-padding {
        padding: 0 0 10px 20px;
    }

    .factory-image-simple-wrapper {
        padding-right: 15px;
    }

    .main-factory-image {
        min-height: 400px;
    }

    .content-title {
        font-size    : 32px;
        margin-bottom: 15px;
    }

    .content-body {
        margin-bottom: 50px;
        font-size    : 15px;
    }

    .content-body::before {
        top  : 105%;
        left : 15%;
        width: 30%;
    }

    .content-body::after {
        top  : 105%;
        left : 7%;
        width: 15%;
    }

    .footer-img {
        height: 80px;
    }

    .custom-faq-wrapper {
        padding: 40px 100px;
    }

    .custom-left-panel {
        padding: 20px;
    }

    .custom-faq-right-panel {
        padding-left: 20px;
    }

    #customerCarousel .item img {
        min-height: 550px;
    }

    .custom-faq-link {
        padding  : 10px 40px 10px 20px;
        font-size: 16px;
    }

    .cert-section-title {
        font-size: 40px;
    }

    .cert-section-subtitle {
        font-size    : 17px;
        margin-bottom: 40px;
    }

    .certificate-row {
        min-height: 500px;
    }

    .certificate-carousel-wrapper {
        max-width: 1098px;
    }

    .prev-btn {
        left: -8%;
    }

    .next-btn {
        right: -8%;
    }

    .case-studies,
    .gallery-section {
        padding: 40px 80px;
    }

    .case-header #case-header-title,
    .gallery-header #gallery-header-title {
        margin-left: 0%;
        max-width  : 80%;
    }

    .gallery-track {

        margin-top: 30px;
    }

    .case-header h2,
    .gallery-header h2 {
        font-size: 32px;
    }

    .case-header p,
    .gallery-header p {
        font-size: 15px;
    }

    .case-nav,
    .gallery-nav {
        margin-right: 5%;
    }


    .case-item .info h3,
    .gallery-item .info h3 {
        font-size: 24px;
    }

    .case-item .info p,
    .gallery-item .info p {
        font-size: 16px;
    }

    .btn-view-all-projects {
        padding  : 8px 20px;
        font-size: 14px;
    }


    .section-title {
        font-size    : 40px;
        margin-bottom: 8px;
    }

    .section-subtitle {
        font-size    : 17px;
        margin-bottom: 40px;
    }

    .section-subtitle::before {
        width: 50%;
    }

    .section-subtitle::after {
        width: 15%;
    }

    /* #order-owl-carousel .owl-stage {
        height     : 500px !important;
        padding-top: 10px !important;
    } */

    .order-section .owl-carousel .owl-stage-outer {
        height: 550px;
    }

    .order-card .card-body {
        padding: 20px;
        height : 280px;
    }

    .card-icon-overlay {
        top      : 20px;
        left     : 20px;
        padding  : 6px 10px;
        font-size: 1.2rem;
    }

    .order-product-btn {
        padding  : 8px 20px;
        font-size: 14px;
    }

}




@media (min-width: 1300px) and (max-width: 1700px) {

    .custom-faq-icon-box {

        width : 55px;
        height: 55px;
    }

    .service-hero-section {
        height: 60vh;
    }

    .service-hero-section h1 {
        font-size: 48px;
    }

    .service-hero-section p {
        font-size: 18px;
        padding  : 0 220px;
    }

    .factory-image-simple-wrapper {
        padding-right: 30px;
    }

    .footer-img {
        height       : 120px;
        border-radius: 8px;
    }

    .custom-faq-wrapper {
        padding: 60px;
    }

    .custom-left-panel {
        padding: 40px;
    }

    .custom-faq-right-panel {
        padding-left: 40px;
    }

    .custom-faq-subtitle::before {
        top  : 65%;
        left : 50%;
        width: 25%;
    }

    .custom-faq-subtitle::after {
        top  : 65%;
        left : 50%;
        width: 12%;
    }

    #customerCarousel .item img {
        min-height: 625px;
    }

    .custom-faq-link {
        padding  : 15px 60px 15px 30px;
        font-size: 18px;
    }

    .cert-section-title {
        font-size: 40px;
    }

    .cert-section-subtitle {
        font-size: 17px;
    }

    .certificate-row {
        min-height: 700px;
    }

    .prev-btn {
        left: -3%;
    }

    .next-btn {
        right: -3%;
    }

    .case-header h2,
    .gallery-header h2 {
        font-size: 40px;
    }

    .case-header p,
    .gallery-header p {
        font-size: 17px;
    }

    /* .case-item,
    .gallery-item {
        flex  : 0 0 calc((100% - 60px) / 3);
        height: 480px;
    } */

    .case-item .info h3,
    .gallery-item .info h3 {
        font-size: 32px;
    }

    .case-item .info p,
    .gallery-item .info p {
        font-size: 18px;
    }

    .btn-view-all-projects {
        padding  : 12px 28px;
        font-size: 16px;
    }

    .contact-qna-inner,
    .contact-form-inner {
        padding: 60px;
    }

    .contact-qna-title,
    .contact-form-title {
        font-size: 40px;
    }

    .contact-qna-subtitle,
    .contact-form-subtitle {
        font-size: 17px;
    }

    .contact-form .row .col-sm-6:nth-child(even) {
        padding-left: 15px;
    }

    .contact-form .row .col-sm-6:nth-child(odd) {
        padding-right: 15px;
    }

    .order-section {
        padding: 60px 0;
    }

    .section-title {
        font-size    : 40px;
        margin-bottom: 15px;
    }

    .section-subtitle {
        font-size    : 17px;
        margin-bottom: 60px;
    }

    #order-owl-carousel .owl-stage {
        height     : 670px !important;
        padding-top: 15px !important;
    }

    .order-card .card-body {
        padding: 40px 30px;
        height : 350px;
    }



    .order-product-btn {
        padding  : 12px 28px;
        font-size: 16px;
    }

    .process-section .section-title {
        width: 54%;
    }

    .process-description-wrapper {
        height: 38vh;
    }
}