*{
    font-family:"Lucida Sans Unicode";
    line-height: 20px;
    box-sizing: border-box;
}
html,
body{
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}
img,
iframe{
    max-width: 100%;
}
h1,h2,h3,h4,h5,h6{
    font-family: "Lucida Sans Unicode";
    margin-top:10px;
    margin-bottom:10px;
}
h4{
    line-height: 26px;
}
p{
    line-height: 24px;
}
a:hover{
    text-decoration: none;
}
.padding{
    padding-top: 25px;
    padding-bottom: 25px;
}

.navbar-default{
    padding-top: 8px;
    padding-bottom: 8px;
    background: #ffffff;
    box-shadow: 0 0 10px #1e1e1e;
    border: none !important;
    border-radius: 1px;
    margin-bottom: 0;
    z-index: 2;
}
.header{
    height: 102px;
    line-height: 160px;
    -webkit-transition: height 0.5s;
    -moz-transition: height 0.5s;
    transition: height 0.5s;
}
.logoimg{
    width: 147px;
    height: 83px;
}
.logoimg{
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}
.logoimg1{
    width: 90px;
    height: 125px;
    position: absolute;
    left: 3%;
    top: -9%;
    float: left;
}
.logoimg2{
    width: 400px;
    height: auto;
    position: absolute;
    left: 11%;
    top:64%;
}
.promotionContent{
    margin-top: 40px;
    padding-left: 0;
    padding-right: 0;
    padding-top: 80px;
    padding-bottom: 30px;
    background: url("../images/logoShade.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
}

.promotionTitle{
    color: #303030;
    font-size: 20px;
    margin-top: 10px;
    padding-bottom: 10px;
}
.promotionSentence{
    color: #646464;
    font-size: 17px;
}
.navigation{
    margin-top: 2px;
    clear: right;
    float: right;
}
.navigation li{
    padding-top: 2px;
}
.navigation li a{
    padding-top: 14px;
    padding-bottom: 12px;
    color: #999999 !important;
    font-size: 14px;
    transition: all 0.3s ease-in;
}
.navigation li a:hover{
    color: #3b5e87 !important;
    transition: all 0.3s ease-in;
}
.navigation li ul li a{
    padding-top: 12px;
    display: block;
    height: inherit;
}

.navigation ul{
    position: absolute;
    min-width: 270px;
    display: none;
    list-style-type: none;
    background: #ffffff;
    padding-left: 0;
    /*border-left: 1px solid #dddddd;
    border-right: 1px solid #dddddd;
    border-bottom: 1px solid #dddddd;*/
    box-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}
.navigation li:hover ul{
    display: block;
}
.navigation ul li{
    padding-top: 0px;
}
.navigation ul li a{
    padding-left: 15px;
    padding-right: 15px;
}
.navigation ul li a:hover{
    background: #82929e;
    color: #ffffff !important;
}
.navigation li ul li{
    border-bottom: 1px solid #dddddd;
}
.navigation li ul li:last-child{
    border-bottom: none;
}
.dropdown-menu{
    padding-top:0px;
    padding-bottom: 0px;
}
.extraInfo{
    padding-right: 10px;
    padding-top: 8px;
    padding-bottom: 8px;
    margin-top: 8px;
    margin-bottom: 0px;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}
.extraInfo li{
    color: #999999;
}
.protfolio{
    margin-top: 15px;
    padding-top:40px;
    padding-bottom: 50px;
}
.service-content{
    width: min(1100px, 100%);
    margin: 0 auto;
}
.img-container{
    height:240px;
}
.protfolioSection img{

    height: inherit;
}
.img
.protfolioSection{
    overflow: hidden;
    transition:all 0.2s linear;
}
.protfolioSection:hover,.service-container:hover .service-title{
    transform:scale(1.05);
    transition:all 0.2s linear;
}
.protfolioSectionContainer{

    border:2px solid #aaa8a8;
    border-radius: 3px;
    box-shadow: 4px 4px 6px rgba(0,0,0,0.25);
}
.protfolioSectionContainer img{
    width: 100%;
}
.protfolioTitle{
    font-weight:bold;
    font-size: 17px;
    background: #dddddd;
    height: 52px;
    margin: 0;
    padding-top: 6px;
    padding-bottom: 6px;
    line-height: 20px;
    color: #5a7288;
}
.automotiveTitle{
    padding-top:15px;
    padding-bottom: 15px;
}
.section-2,.section-4{
    margin-top:30px;
    margin-bottom:30px;
}
.serviceTitle{
    color:#646464;
    font-size: 17px;
}
.service-container{
    width: calc(100% - 30px);
    max-width: 490px;
    border: 3px solid #dddddd;
    border-radius: 3px;
    margin-bottom: 30px;
    padding-left: 8px;
    padding-right: 10px;
}
.service-title{
    color: #433f3f;
    font-weight: bold;
    font-size: 16px;
    transition:all 0.2s linear;
}
.service-desc{
    width: auto;
    max-width: 100%;
    overflow-wrap: anywhere;
    color:#5a5a5a;
    font-size: 15px;
    line-height: 19px;
    margin-bottom: 0;
}
.service-img img{
    margin-left: 8px;
    height: 215px;
}
.serviceContent{
    padding-top: 11px;
    padding-left:20px;
    padding-right: 0px;
}
.fea{
    margin-left: -8px !important;
}
.manufacturing{
    margin-left: -8px !important;
}
.pdt{
    margin-left: -8px !important;
}
.footer{
    background: #383838;
}
.footerBlock{
    padding-top: 40px;
    padding-bottom: 20px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
}
.footer-navigation{
    margin-left: 20px;
    margin-top: 20px;
    list-style-type: none;
    padding:0;
    border: none;
    background: transparent;
}
.footer-navigation li{
    padding-top: 4px;
    padding-bottom: 4px;
    background: transparent;
    border: none;
}
.footer-navigation li a{
    color:#dddddd;
    text-decoration: none;
    font-size: 14px;
}
.footer-title{
    font-size: 16px;
    color: #d7d7d7;
    text-transform: uppercase;
}
.footer-form input,.footer-form textarea{
    color: #ffffff;
    border: none;
    border-radius: 1px;
    background: rgba(153,153,153,0.5);
}
.footer-form input:focus,.footer-form textarea:focus{
    outline: none;
    box-shadow: none;
    color:#ffffff;
}
.submit-btn{
    border-radius: 0px;
    background: rgba(247,247,247,0.5);
    font-size: 12px;
    padding-top: 7px;
    padding-bottom: 7px;
}
.addressline p{
    font-size:14px;
    color:#dddddd !important;
    line-height: 16px;
    margin-bottom: 4px;
}
.copy{
    background: #222222;
    color:#7a7a7a;
    padding-top:10px;
    padding-bottom: 10px;
}
.pointer{
    border: 1px solid #333333;
}
.carousel-control.left,.carousel-control.right{
    background-image: none !important;
}
.control-left,.control-right{
    color: #333333;
}
.footer-chevron{
    font-size: 12px;
    font-weight: lighter;
}
.wrap{
    margin-top: 20px;
}
.wrapper{
    position: relative;
    z-index: 1;
    margin-top: 102px;
    box-shadow: 4px 4px 10px #1e1e1e;
}
.gallery-container{
    padding:0;
    list-style-type: none;
}
.gallery-container li{
    width: 33.333333%;
    height:88px;
    padding: 1px 1px 1px 1px;
    margin-top: 1px;
    margin-bottom: 1px;
    opacity: 0.7;
    transition:all 0.3s linear;
}
.gallery-container li img{
    display: block;
    max-width: 88px;
    max-height: 88px;
    min-height: 88px;
    width: 100%;
    height: auto;
}
.thumbnail{
    padding:0;
    border-radius: 0px;
}
.gallery-container li:hover{
    opacity: 1;
    transition:all 0.3s linear;
}
.gallery-container li img{
    margin-bottom: 0px;
}
.arrow{
    vertical-align: middle;
    font-size: 72px;
    margin-top: 200px;
    vertical-align: center;
}
.arrow-left{
    margin-right: 75px;
}
.arrow-right{
    margin-left: 75px;
}
#carousel-example-generic{
    margin-bottom: 50px;
}
#services{
    scroll-margin-top: 112px;
}
.content-divition{
    margin-bottom:50px;
}
.footer-arrow{
    color: #f7f7f7;
    font-size: 20px;
}

/* SUB PAGES STYLE */

.banner{
    padding:0px;
    height: 400px;
    /* background: url('../images/subpage/sysengg.jpg');
    background-position:center center;
    background-size: contain; 
    background-repeat: no-repeat;
    background-origin: content-box;*/

}
.banner-1{
    padding:0px;
    height: 400px;
    /*background: url('../images/subpage/pdd.jpg');
    background-position:center center;
    background-size: contain; 
    background-repeat: no-repeat;
    background-origin: content-box;*/

}
.banner-2{
    padding:0px;
    height: 400px;
    /*background: url('../images/subpage/manufacturing.jpg');
    background-position:center center;
    background-size: contain; 
    background-repeat: no-repeat;
    background-origin: content-box;*/

}
.banner-3{
    padding:0px;
    height: 400px;
    /*background: url('../images/subpage/pdd1-edit.jpg');
    background-position:center center;
    background-size: contain; 
    background-repeat: no-repeat;
    background-origin: content-box;*/

}
.banner-4{
    padding:0px;
    height: 400px;
    /*background: url('../images/subpage/intelligent.jpg');
    background-position:center center;
    background-size: contain; 
    background-repeat: no-repeat;
    background-origin: content-box;*/

}
.banner-5{
    padding:0px;
    height: 400px;
    /*background: url('../images/subpage/fea1.jpg');
    background-position:center center;
    background-size: contain; 
    background-repeat: no-repeat;
    background-origin: content-box;*/

}
.banner-text{
    position: absolute;
    top: 5%;
    right: 10%;
}
.banner-text h4{
    color: #dddddd;
    font-size: 22px;
    line-height: 33px;
}
.contact2{
    margin-top:70px;
}
.contact-form input,.contact-form textarea,.contact-form select{
    border:1px solid #dddddd !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    border-radius: 0px;
}
.banner img,
.banner-1 img,
.banner-2 img,
.banner-3 img,
.banner-4 img,
.banner-5 img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{
    outline:1px solid #555555;
    box-shadow: none;
}
.contact-form-submit-btn{
    padding-top: 10px;
    padding-bottom: 10px;
    border-radius: 0px;
background: #cccccc;    color: #ffffff;
}
.contact-form-submit-btn:hover{
    background: #c3c3c3;
    color: #ffffff;
}
.contact-address{
    color: #646464;
    font-size: 20px;
}
.contact-address{
    margin-top: 0px;
    font-size: 17px;
    color: #777777;
    line-height: 28px;
}
.map{
    height: 320px;
}
.sysengg,.iss,.feaas{
    margin-left: 15px;
}
.pdd,.mst,.plcm{
    margin-right: 15px;
}
.sub-title{
    color:#666666;
}
.page-title{
    font-size:22px;
    color: #527992;
    margin-bottom: 5px;
}
.content-section > .sub-title:first-child,
.apply-section > .col-xs-12:first-child > .sub-title:first-child{
    margin-top: 5px;
}
.content-section p{
    font-size: 17px;
    color: #777777;
}
.content-section-list{
    font-size: 17px;
    color: #777777;
}
.content-section-list li{
    line-height: 26px;
}
.content-image-div img{
    margin-bottom: 40px;
}
.caption-1{
    position: absolute;
    top: 13%;
    left: 3%;
}
.caption-2{
    position: absolute;
    top: 12%;
    right: 1%;
}
.caption-3{
    position: absolute;
    top: 13%;
    left: 3%;
}
.caption-4{
    position: absolute;
    top: 18%;
    right: 6%;
}
.caption-4 ul{
    list-style-type: square;
    list-style-type-color:#5a7288; 
}
.caption-4 ul li{
    font-size: 20px;
    font-family: Lucida Sans Unicode;
    color: #5a7288;
    text-shadow:1px 1px 1px rgba(0,0,0,.30);
    font-weight: 500;
    line-height: 30px;
}
.caption p{
    font-size: 20px;
    font-family: Lucida Sans Unicode;
    color: #ffffff;
    text-shadow:1px 1px 1px rgba(0,0,0,.30);
    margin-bottom: 20px;
    font-weight: 550;
}
.caption-4 p{
    color: #5a7288;
    font-weight: 460;
}
.caption h4{
    font-size: 20px;
    font-family: Lucida Sans Unicode;
    color: #ffffff;
    text-shadow:1px 1px 1px rgba(0,0,0,.30);
    margin-bottom: 20px;
    font-weight: 500;
}
.form-label{
    color: #777777;
    font-size: 17px;
}
.apply-section{
    margin-bottom: 40px;
}
.apply-column{
    margin-bottom: 30px;
}
.application-form{
    margin-top: 10px;
}
.application-form input[type="file"]{
    height: auto;
}
.application-response{
    display: none;
}
.application-response.alert{
    display: block;
    border-radius: 0;
    margin-bottom: 18px;
}

.legacy-title-space{
    padding-top: 160px;
}
.footer-title a{
    color: inherit;
}
.public-gallery-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    padding: 25px 0 50px;
}
.public-gallery-grid figure{
    margin: 0;
    border: 1px solid #dddddd;
    background: #ffffff;
}
.public-gallery-grid img{
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.public-gallery-grid figcaption{
    min-height: 42px;
    padding: 10px 12px;
    color: #646464;
    font-size: 14px;
}
.gallery-page{
    min-height: 520px;
}
.team-section{
    clear: both;
    padding-top: 35px;
    padding-bottom: 55px;
}
.team-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 25px;
}
.team-member{
    display: grid;
    grid-template-columns: 140px minmax(0, 1fr);
    gap: 20px;
    border-top: 3px solid #527992;
    padding-top: 14px;
}
.team-member img{
    width: 140px;
    height: 160px;
    object-fit: cover;
}
.team-member h4{
    margin-top: 0;
    color: #433f3f;
}
.team-member p{
    color: #777777;
}
.team-member .team-role{
    color: #527992;
    font-size: 14px;
}
.dynamic-service-1,.dynamic-service-3,.dynamic-service-5{
    margin-left: 15px;
}
.dynamic-service-2,.dynamic-service-4,.dynamic-service-6{
    margin-right: 15px;
}

@media screen and (max-width: 991px) {
    .service-content{
        width: 100%;
    }
    .service-container{
        width: calc(100% - 16px);
        max-width: none;
        margin-right: 8px;
        margin-left: 8px;
    }
    .sysengg,.iss,.feaas,
    .pdd,.mst,.plcm,
    .dynamic-service-1,.dynamic-service-2,.dynamic-service-3,
    .dynamic-service-4,.dynamic-service-5,.dynamic-service-6{
        margin-right: 8px;
        margin-left: 8px;
    }
    .service-img img{
        width: 100%;
        height: 215px;
        margin-left: 0;
        object-fit: cover;
    }
    .serviceContent{
        padding: 12px 10px 18px;
    }
    .fea,.manufacturing,.pdt{
        margin-left: 0 !important;
    }
}

@media screen and (max-width: 767px) {
    .header{
        height: auto;
        min-height: 102px;
    }
    .navbar-header{
        min-height: 84px;
    }
    .navbar-toggle{
        margin-top: 26px;
    }
    .navbar-collapse{
        max-height: calc(100vh - 102px);
        max-height: calc(100dvh - 102px);
        overflow-y: auto;
        background: #ffffff;
    }
    .extraInfo,
    .navigation{
        float: none !important;
        width: 100%;
    }
    .extraInfo{
        padding: 8px 15px;
    }
    .extraInfo li{
        display: block;
        padding: 3px 0;
    }
    .navigation{
        margin: 0;
    }
    .navigation li{
        display: block;
        width: 100%;
    }
    .navigation li a{
        padding: 11px 15px;
    }
    .navigation ul{
        position: static;
        display: block;
        width: 100%;
        min-width: 0;
        padding-left: 14px;
        box-shadow: none;
    }
    .navigation li ul li a{
        padding: 9px 15px;
        font-size: 13px;
    }
    .promotionContent{
        padding-top: 35px;
        background-size: cover;
    }
    .promotionTitle,
    .promotionSentence,
    .serviceTitle{
        padding-right: 12px;
        padding-left: 12px;
    }
    .protfolio{
        padding-top: 20px;
        padding-bottom: 30px;
    }
    .img-container{
        height: clamp(190px, 55vw, 280px);
    }
    .protfolioSection img{
        width: 100%;
        object-fit: cover;
    }
    .service-container{
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }
    .sysengg,.iss,.feaas,
    .pdd,.mst,.plcm,
    .dynamic-service-1,.dynamic-service-2,.dynamic-service-3,
    .dynamic-service-4,.dynamic-service-5,.dynamic-service-6{
        margin-right: 0;
        margin-left: 0;
    }
    .servicesSection{
        padding-right: 8px;
        padding-left: 8px;
    }
    .banner,.banner-1,.banner-2,.banner-3,.banner-4,.banner-5{
        height: clamp(180px, 42vw, 300px);
    }
    .legacy-title-space{
        padding-top: 20px;
    }
    .public-gallery-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    .team-grid{
        grid-template-columns: 1fr;
    }
    .content-section,
    .content-section-list,
    .contact-address,
    .footer{
        overflow-wrap: anywhere;
    }
}

@media screen and (max-width: 480px) {
    .slide{
        height: 180px;
    }
    .wrap{
        padding-left: 5px;
        padding-right: 5px;
    }
    .slide .carousel-inner .item img{
        height: 180px;
    }
    .promotionContent{
        padding-top: 20px;
    }
    .protfolioSection{
        width: 100%;
    }
    .protfolioSection img{
        width: 100%;
        height: inherit;
    }
    .services{
        padding-left: 0px;
        padding-right: 0px;
    }
    .service-content{
        margin-top:50px;
        padding-right: 0px;
        padding-left: 0px;
    }
    .footerBlock{
        background-size: cover;
    }
    .public-gallery-grid,
    .team-grid{
        grid-template-columns: 1fr;
    }
    .team-member{
        grid-template-columns: 100px minmax(0, 1fr);
    }
    .team-member img{
        width: 100px;
        height: 120px;
    }
    .legacy-title-space{
        padding-top: 20px;
    }
    .copy{
        text-align: center;
    }
}
 .smaller{
        height: 75px;
        line-height: 80px;
        padding-top: 5px;
        padding-bottom: 5px;
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        transition: all 0.5s;
    }
    .smaller .extraInfo{
        opacity: 0;
        margin-top: -50px;
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        transition: all 0.5s;
    }
    .smaller .navigation{
        margin-top:28px;
    }
    .smaller .navigation li a{
        padding-bottom: 5px;
        padding-top: 15px;
    }
    .smaller .navbar-header .logoimg{
        width: 110px;
        height: 66px;
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        transition: all 0.5s;
    }

/* Responsive homepage carousel captions */
#carousel-example-generic .carousel-inner > .item{
    position: relative;
    aspect-ratio: 1350 / 460;
    overflow: hidden;
}

/* Smooth, faster cross-fade for the homepage photos. */
#carousel-example-generic .carousel-inner{
    display: grid;
}
#carousel-example-generic .carousel-inner > .item,
#carousel-example-generic .carousel-inner > .item.next,
#carousel-example-generic .carousel-inner > .item.prev{
    grid-area: 1 / 1;
    display: block;
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transform: none;
    pointer-events: none;
    transition: opacity .6s ease-in-out, visibility 0s linear .6s;
}
#carousel-example-generic .carousel-inner > .item.active{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 2;
    transition: opacity .6s ease-in-out;
}
#carousel-example-generic .carousel-inner > .item.slide-in-right{
    animation: carousel-slide-fade-in-right .65s ease both;
}
#carousel-example-generic .carousel-inner > .item.slide-in-left{
    animation: carousel-slide-fade-in-left .65s ease both;
}
#carousel-example-generic .carousel-inner > .item.slide-out-left,
#carousel-example-generic .carousel-inner > .item.slide-out-right{
    visibility: visible;
    pointer-events: none;
    z-index: 1;
}
#carousel-example-generic .carousel-inner > .item.slide-out-left{
    animation: carousel-slide-fade-out-left .65s ease both;
}
#carousel-example-generic .carousel-inner > .item.slide-out-right{
    animation: carousel-slide-fade-out-right .65s ease both;
}

@keyframes carousel-slide-fade-in-right {
    from { opacity: 0; transform: translateX(12%); }
    to { opacity: 1; transform: translateX(0); }
}
@keyframes carousel-slide-fade-in-left {
    from { opacity: 0; transform: translateX(-12%); }
    to { opacity: 1; transform: translateX(0); }
}
@keyframes carousel-slide-fade-out-left {
    from { opacity: 1; transform: translateX(0); }
    to { opacity: 0; transform: translateX(-12%); }
}
@keyframes carousel-slide-fade-out-right {
    from { opacity: 1; transform: translateX(0); }
    to { opacity: 0; transform: translateX(12%); }
}

@media screen and (max-width: 767px) {
    #carousel-example-generic .carousel-inner > .item,
    #carousel-example-generic .carousel-inner > .item.next,
    #carousel-example-generic .carousel-inner > .item.prev{
        display: flex;
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {
    #carousel-example-generic .carousel-inner > .item{
        transition: none;
        animation: none;
    }
}
#carousel-example-generic .carousel-inner > .item.next,
#carousel-example-generic .carousel-inner > .item.prev{
    position: absolute;
    top: 0;
    width: 100%;
}
#carousel-example-generic .carousel-inner > .item > img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#carousel-example-generic .caption{
    z-index: 2;
    width: 24%;
}
#carousel-example-generic .caption-1,
#carousel-example-generic .caption-3{
    top: 13%;
    right: auto;
    left: 4.5%;
    width: 23.5%;
}
#carousel-example-generic .caption-2{
    top: 12%;
    right: 5%;
    left: auto;
    width: 24%;
}
#carousel-example-generic .caption-4{
    top: 18%;
    right: 6%;
    left: auto;
    width: 24%;
}
#carousel-example-generic .caption p,
#carousel-example-generic .caption-list{
    margin-top: 0;
    margin-bottom: clamp(10px, 1.4vw, 20px);
    font-size: clamp(14px, 1.48vw, 26px);
    line-height: 1.28;
    white-space: pre-line;
}
#carousel-example-generic .caption-list{
    padding-left: 1.25em;
    list-style-type: square;
}
#carousel-example-generic .caption-list li{
    color: #5a7288;
    font: inherit;
    line-height: inherit;
    text-shadow: 1px 1px 1px rgba(0,0,0,.30);
}
#carousel-example-generic .carousel-control{
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(44px, 3.5vw, 60px);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    cursor: pointer;
    opacity: .62;
    z-index: 10;
    touch-action: manipulation;
}
#carousel-example-generic .carousel-control.left{
    left: 2.5%;
}
#carousel-example-generic .carousel-control.right{
    right: 2.5%;
}
#carousel-example-generic .carousel-control:hover,
#carousel-example-generic .carousel-control:focus,
#carousel-example-generic .carousel-control:focus-visible,
#carousel-example-generic .carousel-control:active{
    background: transparent;
    opacity: 1;
    outline: none;
    box-shadow: none;
}
#carousel-example-generic .carousel-control:disabled{
    cursor: default;
    opacity: .25;
}
#carousel-example-generic .control-left,
#carousel-example-generic .control-right{
    display: flex;
    align-items: center;
    justify-content: center;
}
#carousel-example-generic .arrow,
#carousel-example-generic .arrow-left,
#carousel-example-generic .arrow-right{
    width: clamp(20px, 2.1vw, 32px);
    height: auto;
    margin: 0;
}
#carousel-example-generic .carousel-indicators li{
    position: relative;
}
#carousel-example-generic .carousel-indicators li > button{
    position: absolute;
    inset: -5px;
    width: calc(100% + 10px);
    height: calc(100% + 10px);
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

@media screen and (max-width: 991px) and (min-width: 768px) {
    #carousel-example-generic .caption p,
    #carousel-example-generic .caption-list{
        margin-bottom: 10px;
        font-size: clamp(11px, 1.45vw, 15px);
        line-height: 1.22;
    }
}

@media screen and (min-width: 768px) {
    #carousel-example-generic .caption-2 p{
        margin-bottom: clamp(18px, 1.6vw, 28px);
    }
    #carousel-example-generic .caption-2 p:last-child{
        margin-bottom: 0;
    }
}

@media screen and (min-width: 1200px) {
    #carousel-example-generic .caption-2 p:first-child{
        white-space: nowrap;
    }
}

@media screen and (max-width: 767px) {
    #carousel-example-generic .carousel-inner > .item{
        aspect-ratio: auto;
        min-height: 0;
        overflow: hidden;
    }
    #carousel-example-generic .carousel-inner > .item.active,
    #carousel-example-generic .carousel-inner > .item.next,
    #carousel-example-generic .carousel-inner > .item.prev{
        display: flex;
        flex-direction: column;
    }
    #carousel-example-generic .carousel-inner > .item > img{
        order: 1;
        height: clamp(180px, 54vw, 300px);
        object-fit: cover;
    }
    #carousel-example-generic .carousel-inner > .item:nth-child(1) > img,
    #carousel-example-generic .carousel-inner > .item:nth-child(3) > img{
        object-position: 72% center;
    }
    #carousel-example-generic .carousel-inner > .item:nth-child(2) > img{
        object-position: 30% center;
    }
    #carousel-example-generic .caption,
    #carousel-example-generic .caption-1,
    #carousel-example-generic .caption-2,
    #carousel-example-generic .caption-3,
    #carousel-example-generic .caption-4{
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        order: 2;
        width: 100%;
        min-height: 320px;
        padding: 22px 44px 34px;
        background: #737372;
    }
    #carousel-example-generic .caption-4{
        background: #dbe9fc;
    }
    #carousel-example-generic .caption p,
    #carousel-example-generic .caption-list{
        margin-bottom: 14px;
        font-size: clamp(14px, 4vw, 18px);
        line-height: 1.35;
    }
    #carousel-example-generic .carousel-indicators{
        bottom: 8px;
        margin-bottom: 0;
    }
    #carousel-example-generic .carousel-control{
        height: clamp(180px, 54vw, 300px);
    }
    #carousel-example-generic .carousel-control.left{
        left: 0;
    }
    #carousel-example-generic .carousel-control.right{
        right: 0;
    }
    #carousel-example-generic .arrow{
        width: 20px;
        height: auto;
        margin-top: 0;
    }
    #carousel-example-generic .arrow-left{
        margin-right: 0;
    }
    #carousel-example-generic .arrow-right{
        margin-left: 0;
    }
}

@media screen and (max-width: 480px) {
    #carousel-example-generic.slide{
        height: auto;
    }
    #carousel-example-generic .carousel-inner > .item > img{
        height: clamp(175px, 58vw, 235px);
    }
    #carousel-example-generic .caption,
    #carousel-example-generic .caption-1,
    #carousel-example-generic .caption-2,
    #carousel-example-generic .caption-3,
    #carousel-example-generic .caption-4{
        min-height: 310px;
        padding: 18px 28px 32px;
    }
    #carousel-example-generic .carousel-control{
        height: clamp(175px, 58vw, 235px);
    }
    #carousel-example-generic .arrow{
        margin-top: 0;
    }
}
