@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400..700;1,400..700&display=swap');

/* Overall */
#main_index{
    overflow: hidden;
    padding-bottom: 0px !important;
}
html{
    scroll-behavior: smooth;
    scroll-padding-top: 80px;
}
a:hover{
    text-decoration: unset;
}
#main_index .col-12{
    padding: 0;
}
#main_index h1, h2, h3, h4, h5, h6, p{
    margin-bottom: 0;
}
button:focus{
    outline: unset;
}

:root{
    --primary-color: #101014;
    --sec-x: 7%;
    --sec-y: 8rem;
    --title-font: "Libre Baskerville", serif;
}

@media(max-width:991px){
    :root{
        --sec-y: 5rem;
    }
}

@media(max-width:768px){
    :root{
        --sec-x: 5%;
    }
}

/* Button */
a:has(.main-btn){
    display: block;    
    text-decoration: none;
}

.main-btn{
    width: fit-content;
    padding: 0 .5rem .85rem;
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(0,0,0,.3);
    border-radius: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: clamp(1rem, 1.2vw, 1.2vw);
    font-weight: 400;
    color: #100f14;
    transition: .35s;
    gap: 14vw;        
}

.main-btn .btn-icon{
    width: 34px;
    transition: .35s;
}

.main-btn:hover{
    color: #000;
}

.main-btn:hover .btn-icon{
    transform: translateX(10px);
}

/* Text */
.title-style{
    font-family: var(--title-font);
    font-size: clamp(1.6rem, 2.7vw, 2.7vw);
    font-weight: 700;
    line-height: 1.2;
    color: var(--primary-color);
}
.content{
    color: #555;
    font-size: clamp(.9rem, 1.12vw, 1.12vw);
    line-height: 1.6;
}

.hp_about::before,
.hp_solution::before{
    content: "ABOUT";
    position: absolute;
    left: 2.5rem;
    top: 50%;
    transform: translateY(-50%) ;
    writing-mode: sideways-lr;
    font-size: clamp(.85rem, 1.08vw, 1.08vw);
    color: #444;
}

.hp_solution::before{
    content: "SERVICES";
}

@media(max-width:991px){
      .hp_about::before,
      .hp_solution::before{
            display: none;
        }
}

/* Nav */
.navbar_type8{
    height: 80px;
    background: #1f1e23;
    padding: 0;
    border-bottom:2px solid rgba(255,255,255,.35);
}
.navbar_type8 .logo{
    margin-left: 6rem;  
    flex: unset;
    min-width: 10%;
}
.navbar_type8 .logo img{
    padding: 0px;
    width: 100%;
    object-position: left;
}

.navbar_type8 .nav_tab{
    flex: unset;
    width: 100%;
    padding-right: 6rem;
    gap: 2.75vw;  
}
.navbar_type8 .nav_tab .nav_item:before{
    display: none;
}
.navbar_type8 .nav_tab .nav_item a{
    color: rgba(255, 255, 255, .85);
    padding: 0;
    font-size: clamp(.9rem, 1.1vw, 1.1vw);
    font-weight: 300;     
}
.navbar_type8 .nav_tab .nav_item a:hover{
    color: #fff;
}
.navbar_type8 .nav_tab .nav_item:hover:before{
    width: 100%;
}

.dark_nav{
background: rgb(31, 30, 35, .9) !important;
}

.navbar_mobile .btn-outline-light{
    color: #fff;
    border-color: #fff;
}
.navbar_mobile{
    background: #1e1e21;
}
.navbar_mobile .logo_img{
    max-height: 70px;
}
.navbar_mobile .row_1{
  height: 100%;
  margin: 0;
  padding: 0 !important;
  display: flex;
  align-items: center;
}

@media(max-width:1300px){
    .navbar_type8 {
        height: 100px;
    }
}

/*Banner*/
.slider_banner.slick-dotted.slick-slider{
    margin-bottom: 0;
}
.slider_banner .banner_content {
  opacity: 1 !important;
}

.slider_banner .item > img{
    max-height: 43vw;
}

.hp_banner{
    position: relative;
}

.b-left{
    position: relative;
    width: 40%;
    height: 100%;
    transition: all 1.1s ease;
}

.b-content{
    height: 100%;
    display: grid;
    place-content: center;
    padding: 6rem;
    padding-bottom: 10rem;
    color: #fff;    
    position: relative;
    z-index: 5;
}
.b-content h3{
    font-size: clamp(.85rem, 1.1vw, 1.1vw);
    font-weight: 300;
    color: rgba(255,255,255,.55);
}
.b-content h2{
    font-family: var(--title-font);
    font-size: clamp(2.5rem, 4.8vw, 4.8vw);
    line-height: 1.25;
    margin: 1rem 0 1.5rem;
}
.b-content p{
    color: rgba(255,255,255,.75);
    font-size: clamp(.85rem, 1.08vw, 1.08vw);
    line-height: 2;
}

.b-right{
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    transition: all .8s cubic-bezier(.46,.03,.52,.96);
}
.b-frame{
    position: relative;
    width: 60vw;
    height: 100%;
    overflow: hidden;
}
.b-frame > img{
    position: absolute;
    max-height: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: left;
}

.row.innerRow_2{
    position: relative;
}
#index_2_2{
    position: absolute;
    top:0;
    right:0;
    height: 100%;    
}

.slider-counter-area{
  position: absolute;
  bottom: 9%;
  left: 6rem;
}
.slider-counter {
  display: flex;
  flex-direction: row;  
  align-items: center;
  color: #fff;
  font-size: clamp(.85rem, 1.2vw, 1.2vw);  
  font-weight: 300;
  width: fit-content;
  gap: .75rem;
}
.dotsContainer .slick-dots {
  position: unset;
  width: fit-content;
  display: flex;
}
.dotsContainer .slick-dots li{
  width: 45px;
  height: .85px;
  pointer-events: auto;
  padding: .5rem 0;
  display: flex;
  align-items: center;
  margin: 0;
}
.dotsContainer .slick-dots li button{
  padding: 0;
  width: 45px;
  height: 0.75px;
}
.dotsContainer .slick-dots li button::before{
  content: "";  
  width: 45px;
  height: .75px;
  background: rgba(255,255,255,.45);
  opacity: .45;
  right: 0;
  margin: auto;
  top: 50%;
}
.dotsContainer .slick-dots li.slick-active button::before{    
    opacity:1;    
}


.slider-arrow {
  position: absolute;
  display: flex;
  bottom: 10%;
  left: 40%;
  margin-left: calc(-35.5px - 3rem);
  gap: 6rem;
  z-index: 100;
}
.s-arrow{
  width: 35px;    
    cursor: pointer;
}

.slider-down{
    position: absolute;
    color: #fff;
    right: 2%;
    top: 65%;    
    transform: translateY(-50%);
    writing-mode: sideways-rl;
    font-size: clamp(.85rem, 1vw, 1vw);
    font-weight: 300;
    display: flex;
    align-items: center;
    gap: 1rem;
    cursor: pointer;
    
    &:after{
        display: inline-flex;
        content: "";
        width: 1px;
        height: 45px;
        background: #fff;        
    }
}

@media(max-width:1200px){
    .b-content{
        padding: 3rem;
    }
    .b-content h2{
        font-size: 2.75rem;
        
        br{
            display: none;
        }
    }
    
    .slider-arrow{
        margin-left: calc(-25px - 2rem);
        bottom: 6%;
        gap: 4rem;
    }
    .s-arrow{
        width: 25px;
    }
    
    .slider-counter-area{
        left: 3rem;
        bottom: 6%;
    }
}

@media(max-width:991px){
    .slider_banner .item > img{
        max-height: 100vw;
    }    
    
    .b-frame{
        width: 50vw;
    }        
    .b-frame > img{
        max-height: unset;
        min-height: 100%;
    }
    
    .b-left{
        width: 50vw
    }
    .b-content{
        padding: 3rem;
    }
    .b-content h2{
        font-size: 2.5rem;
        margin: 1rem 0;
        
        br{
            display: none;
        }
    }
    
    .slider-arrow{
        left: 50%;        
        margin-left: calc((-25px * 2) - 2rem - 3rem);
        bottom: 6%;
        gap: 2rem;
    }
    .s-arrow{
        width: 25px;
    }
        
    .dotsContainer .slick-dots li,
    .dotsContainer .slick-dots li button,
    .dotsContainer .slick-dots li button::before{
      width: 30px;      
    }
          
}

@media(max-width:768px){
    .slider_banner .item > img{
        min-height: 80vw;        
    }
    
    .b-left{
        width: 100%;
        height: 40%;
        display: flex;
        align-items: center;
        padding: 0 8%;
    }
    .b-content{
        padding: 1rem;
    }
    .b-content h2{
        font-size: 1.75rem;
    }
    .b-content p{
        font-size: .8rem;
    }

    .b-right{
        left: 0;
        top: 40%;
    }
    .b-frame{
        width: 100%;
        height: 60%;
        
        img{
            max-height: 50%;
            object-position: bottom;
        }
    }
    
    .slider-counter-area{
        left: 50%;
        transform: translateX(-50%);
    }
    
    .slider-arrow{
        left: unset;
        bottom: unset;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin: unset;
        gap: unset;
        width: 100%;
        display: flex;        
        justify-content: space-between;
        padding: 0;
    }
    .s-arrow{
        background: rgba(0 ,0 ,0 , .75);
        padding: .25rem;
        aspect-ratio: 1/1;
        width: 30px;
    }
    
    .slider-down{
        display: none;
    }
    
    #index_2_2{
        background: linear-gradient(to top, rgba(0,0,0,.15), rgba(0,0,0,0));
    }
}

@media(max-width:568px){
    .slider_banner .item> img{
        min-height: 150vw;
    }
    .b-left{
        padding: 0 5%;        
    }    
}

@media(max-width:400px){
    .b-left{
        height: 50%;
    }
    .b-right{
        left: 0;
        top: 50%;
    }
    .b-frame{
        width: 100%;
        height: 50%;
    }
}

/*About*/

.hp_about{
    padding: var(--sec-y) var(--sec-x);    
    position: relative;
}

.abt-wrapper{
    display: grid;
    grid-template-columns: 27vw 1fr;
    gap: 8%;    
}

@media(max-width:991px){ 

    .abt-wrapper .title-style,
    .abt-content{
        width: 100%;
    }

}

@media(max-width:576px){
    .abt-wrapper{
        grid-template-columns: 1fr;
        gap: 2rem;
    }    
}

/*rnc*/
.hp_rnc{
    overflow: hidden;
}

.rnc-wrapper{
    display: flex;
}

.rnc-box{
    position: relative;
    width: 50%;
    overflow: hidden;
}

.rnc-bg{
    position: absolute;
    inset: 0;
}

.rnc-bg::after{
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.45);
    transition: .6s;
}

.rnc-bg img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 1.2s ease;
}

.rnc-box:hover .rnc-bg img{
    transform: scale(1.08);
}

.rnc-box:hover .rnc-bg::after{
    background: rgba(0,0,0,.3);
}

.rnc-info{
    position: relative;
    z-index: 2;
    height: 100%;
    padding: 8rem 4rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
}

.rnc-subtitle-style{
    font-size: clamp(.75rem, .8vw, .8vw);
    font-weight: 300;
    letter-spacing: .1rem;
    color: rgba(255,255,255,.85);
    margin-bottom: 1.5rem;
}

.rnc-title-style{
    font-family: var(--title-font);
    font-size: clamp(2rem, 2.75vw, 2.75vw);
    font-weight: 300;
    line-height: 1.3;
    letter-spacing: -1px;
    color: #fff;    
}

.rnc-content{
    width: 55%;
    font-size: clamp(.8rem, .85vw, .85vw);
    line-height: 1.85;
    color: rgba(255,255,255,.8);
    margin: .85rem 0 1.5rem;
}

.rnc-info ul{
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: 0;
}

.rnc-info ul li{
    padding: .65em 1em;
    border: 1px solid rgba(255,255,255,.35);
    font-size: clamp(.55rem, .65vw, .65vw);
    font-weight: 300;
    color: #fff;
    transition: .35s;
    cursor: default;
    letter-spacing: .5px;
}

.rnc-info ul li:hover{
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.75);
}

.rnc-box::before{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background: rgba(255,255,255,.18);
    z-index: 5;
}

.rnc-box:last-child::before{
    display: none;
}


@media(max-width:1200px){

    .rnc-box{
        min-height: 55vw;
    }

}

@media(max-width:991px){

    .rnc-wrapper{
        flex-direction: column;
    }

    .rnc-box{
        width: 100%;       
    }

    .rnc-box::before{
        display: none;
    }

}

@media(max-width:768px){ 

    .rnc-content{
        width: 70%;
    }

    .rnc-content ul{
        gap: .5rem;
    }

    .rnc-content ul li{
        font-size: .75rem;
        padding: .55rem .9rem;
    }

}

@media(max-width:576px){

    .rnc-content{
        width: 100%;
    }
    
    .rnc-info{
        padding: 6rem 2rem;
    }    

}

/*Solution*/
.hp_solution{
    position: relative;
    padding: var(--sec-y) var(--sec-x);    
}

.solution-wrapper{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 5%;
}

.solution-frame{
    width: 48%;
    overflow: hidden;
}

.solution-frame img{
    width: 100%;
    object-fit: cover;
    transition: .8s;
}

.solution-frame:hover img{
    transform: scale(1.05);
}

.solution-list{
    width: 47%;
}

/*---------- Collapse ----------*/

.solution-item:not(:last-child){
    border-bottom: 1px solid #dddddd;
}

.solution-title{
    padding-top: 1rem;
    padding-bottom: 2rem;    
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #555;
    text-decoration: none;
    font-size: clamp(0.9rem,1.15vw,1.15vw);
    font-weight: 300;
    transition: .35s;
}

.solution-title:hover{
    color: var(--primary-color);
    text-decoration: none;
}

.solution-icon{
    width: 25px;
    text-align: center;
    position: relative;
}

.solution-title.collapsed .solution-icon::before{
    content: "+";
    font-size: 1.1rem;
    font-weight: 300;
}

.solution-title:not(.collapsed) .solution-icon::before{
    content: "−";
    font-size: 1.1rem;
    font-weight: 300;
}

.solution-content{
    padding: 0 0 1rem;
    color: #888;
    font-size: clamp(.8rem,.85vw,.85vw);
    line-height: 1.75;
    max-width: 100%;
}

.solution-title:not(.collapsed){
    padding-bottom: 0.5rem;
}

.collapse .solution-content{
    opacity: 0;
}
.collapse.show .solution-content{
    opacity: 1;
}

/*---------- Responsive ----------*/

@media(max-width:1200px){
    .solution-title{        
        padding-bottom: 1.5rem;    
    }
}

@media(max-width:991px){

    .title-wrapper{       
        margin-bottom: 3rem;
    }    

    .solution-wrapper{
        flex-direction: column;
        gap: 3rem;
    }
    
    .solution-title{
        font-size: 1.05rem;
    }

    .solution-frame,
    .solution-list{
        width: 100%;
    }

}

@media(max-width:768px){

    .title-wrapper{
        margin-bottom: 2.5rem;
        text-align: center;
        gap: 2rem;
    }    
    
    .title-wrapper .title-style br{
        display: none;        
    }

    .solution-title{
        padding: 1.25rem 0;
        font-size: 1.1rem;
    }

    .solution-content{
        max-width: 100%;
    }

}

@media(max-width:576px){

    .solution-frame img{
        aspect-ratio: 1/1;
    }

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

}

/*Project*/
.hp_project{
    padding: 0;
}   

/*---------- Title ----------*/

.hp_project .title-wrapper{
    padding: 0 var(--sec-x);
    margin-bottom: 2rem;
    gap: 2rem;    
}

/*---------- Layout ----------*/

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

.project-box{
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 26vw;
}

.project-info{
    padding: 4.5rem 6rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #f4f4f4;
}

.project-frame{
    overflow: hidden;
}

.project-frame img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .8s ease;
}

.project-box:hover .project-frame img{
    transform: scale(1.08);
}

/*---------- Typography ----------*/

.project-subtitle-style{
    font-size: clamp(.8rem,.95vw,.95vw);
    font-weight: 500;
    letter-spacing: .05rem;
    color: #555;
    text-transform: uppercase;    
}

.project-title-style{
    font-family: var(--title-font);
    font-size: clamp(1.85rem,2.05vw,2.05vw);
    font-weight: 700;
    line-height: 1.15;
    color: var(--primary-color);  
    margin: 1.25rem 0;
}

.project-content{
    max-width: 90%;
    color: #7b7b7b;
    font-size: clamp(.9rem,1vw,1vw);
    line-height: 1.5;
}

/*---------- Hover ----------*/

.project-box:hover .project-info{    
    transition: .4s;
}

/*---------- Responsive ----------*/

@media(max-width:991px){

    .hp_project .title-wrapper{
        padding: 0 var(--sec-x);
    }

    .project-box{
        grid-template-columns: 1fr;
    }   

    .project-box:nth-child(even) .project-frame{
        order: 1;
    }

    .project-info{
        padding: 6rem;
        padding-right: 12rem;
    }

    .project-frame img{
        aspect-ratio: 20/10;
    }

    .project-content{
        max-width: 100%;
    }

}

@media(max-width:768px){

    .hp_project .title-wrapper{
        margin-bottom: 2.5rem;
    }

    .hp_project .main-btn{                
    }

    .project-info{
        padding: 5rem;
    }

    .project-title-style{
        font-size: 2rem;
    }

}

@media(max-width:576px){
    .project-info{
        padding: 4rem 3rem;
    }
    
    .project-frame img{
        aspect-ratio: 1/1;
    }

    .project-subtitle-style{
        font-size: .7rem;
        letter-spacing: .08rem;
    }

    .project-title-style{
        font-size: 1.8rem;
    }

}

/* Contact */
.index_wrapper_7{
    padding: calc(var(--sec-y) - 1rem) var(--sec-x) calc(var(--sec-y) - 1rem) calc(var(--sec-x) * 1.5);
    background: #dddddd;
}
.hp_contact_cta{
    width: 90%;
}
.hp_contact_cta .title-style{    
    font-size: clamp(1.7rem, 2.85vw, 2.85vw);
    margin-bottom: 2.5rem;
}
.cmodule-address-text,
.contact_item a{
    color: #555;
    font-size: clamp(.95rem, 1.15vw, 1.15vw);
    font-weight: 300;
}
.contact_item:not(:last-child){
    margin-bottom: 1rem;
}

.hp_contactform_header{
    display: none;
}
.ex_hpcontact_formonly{
    margin: 0 !important;
}
.contact_us_form .btn-primary{
    padding: .45em 1.5em !important;
    border-radius: 0;
    text-transform: uppercase;
    font-size: clamp(.85rem, 1vw, 1vw) !important;
    letter-spacing: .5px;
    
    i{
        display: none;
    }
}
.contact_us_form .form-group input{
    color: #888;
    background: #c4c2c3;
    padding: .65em 1em;
    border-radius: 0;
    
    &::placeholder{
        color: #888;
    }
}
.contact_us_form .form-group label{
    display: none;
}
.contact_us_form .form-group textarea{
    background: #c4c2c3;
    color: #888;
    border-radius: 0;
    
    &::placeholder{
        color: #888;
    }
}

@media(max-width:991px){
    .index_wrapper_7{
        padding-left: var(--sec-x);
    }
}

@media(max-width:768px){
    .hp_contact_cta{
        margin-bottom: 3rem;
    }
    .hp_contact_cta .title-style{
        width: 70%;
    }
    .hp_contact_cta .title-style br{
       display: none;
    }
}

@media(max-width:576px){
    .hp_contact_cta .title-style{
        width: 100%;
    }
}

/* Footer */
.footer_type6{
    color: #555;
    background: #fff;
}
.footer_type6 .container{
    max-width: 100%;
    padding: 2rem 5rem;
}
.footer_type6 .logo{
    padding-top: 150px;
    
    img{
        min-height: 150px;        
    }    
}
.footer_type6 p{
    font-size: clamp(.85rem, 1.1vw, 1.1vw);
}
.footer_type6 .big-col p{
    width: 70%;
}
.footer_type6 a{
    color: #555;   
}
.footer_type6 a p{
    font-size: clamp(.8rem, .92vw, .92vw);    
    margin-bottom: 13px !important;
}
.footer_type6 .input-container{
    height: 2.5rem;
}
.footer_type6 .input-container input{
    border: 1px solid #999;
    height: 2.5rem;
    
    &:placeholder{
        color: #000;
    }
}
.footer_type6 .input-container label{
    color: #555;
    padding: .75rem;
    height: 2.5rem;
    font-size: clamp(.7rem, .75vw, .75vw);
}
.footer_type6 .input-container .submit{
    background: #333;    
    padding: 0;
    height: 100%;
    width: 17%;
    
    i{
        font-size: 18px;
    }
}

.footer_type6 .title h5{
    color: #000;
    font-family: var(--title-font);
    font-weight: 500;
    font-size: clamp(1rem, 1.2vw, 1.2vw);
}

@media(min-width:991px){
    .footer_type6 .container .col-12:nth-child(-n +4){    
        flex: 0 1 calc(calc(100% - 40% - 25%) / 2);
        max-width: 100%;
    }
    .footer_type6 .container .col-12.big-col{
        flex: 0 1 40%;
        padding-right: 8rem !important;
        margin-bottom: 8rem !important;
    }
    .footer_type6 .container .col-12:nth-child(4){
        flex: 0 1 25%;
    }
}

@media(max-width:991px){
    .footer_type6 .logo img{
        width: 100%;
        object-fit: contain;
    }
    .footer_type6 .big-col p{
        width: 100%;
    }
}

@media(max-width:768px){
    .footer_type6 .container{
        padding: 1rem 15px;
    }
    .footer_type6 .logo{
        padding-top: 100px;
    }
    .footer_type6 .logo img{
        min-height: 100px;
        object-position: left;
    }
}
.footerListServices .input-container{
    border:1px solid #000;

}
.footerListServices .footer_subtitle{
    font-family: var(--title-font);
}
.footerListServices,
.footerListServices p,
.footerListServices h2,
.footerListServices h2,
.footerListServices a,
.footerListServices a:hover,
.footerListServices i{
    color:#000!important;
}
.footerListServices .input-container .submit{
    height:47px;
    background-color:#000;
}
.footerListServices .input-container input{
    color:#000;
    caret-color: #000;
    padding-left:1rem;
}
.footerListServices .input-container .submit i{
    color:#fff!important;
}
.footerListServices{
    background-color:#fff;
}
.footerListServices .logo{
    min-height:120px;
}
.footerListServices .logo img{
    max-height: 120px;
}

.form-group button{
    width:200px;
}
