/*
Theme Name: Porto Child
Theme URI: https://www.portotheme.com/wordpress/porto
Author: P-THEMES
Author URI: https://www.portotheme.com/
Description: Porto Responsive WordPress + eCommerce Theme.
Version: 1.1
Template: porto
License: Commercial
License URI: http://themeforest.net/licenses/regular_extended
Tags: woocommerce, corporate, ecommerce, responsive, blue, black, green, white, light, dark, red, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, fixed-layout, responsive-layout, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready, accessibility-ready
*/

/*************** ADD YOUR CUSTOM CSS HERE  ***************/

html {
  scroll-behavior: smooth;
}

.anchor-target{
    height: 90px;
    position: relative;
    z-index: -1;
    width: 1px;
    margin-top: -90px;
    opacity: 0;
    visibility: hidden;
}

.header-wrapper{
    /* border-bottom: 20px solid transparent; */
    z-index: 999;
    /* height: 100px; */
}

.header-box {
    box-shadow: 1px 4px 20px 0px #e9e9e9;
}

.header-builder-p .vc_row-flex>.vc_column_container.header-right-col > .vc_column-inner{
    justify-content: end;
}

.top-btn-1{
    height: 100%;
}

.top-btn-1 .vc_general.vc_btn3{
    border-radius: 0;
    background: #4FB1E1;
    color: #fff;
    transition: all 0.3s ease;
    margin-bottom: 0px;
    height: 100%;
    text-transform: uppercase;
    padding-left: 35px;
    padding-right: 35px;
    transform: translateX(44px);
	display: flex;
    align-items: center;
}

#header .top-call p{
    font-weight: 500 !important;
}

#header .top-call p strong{
    font-weight: 700 !important;
}

.mb-15{
    margin-bottom: 15px ;
}

.t1{
    font-size: 55px;
    line-height: 70px;
}

.t2{
    letter-spacing: 1px;
    font-family: Inter !important;
    font-weight: 600;
    font-size: 14px !important;
} 

.t3{
    font-size: 45px;
    line-height: 55px;
}

.t4{
    line-height: 55px;
    font-size: 41px !important;
    max-width: 345px;
    font-weight: 500;
}

.vc_custom_heading.p2{
    font-size: 18px;
    line-height: 30px;
}

.wpb_text_column.p1 > .wpb_wrapper p{
    font-size: 18px;
    line-height: 28px;
}

.box-wrap-btn .featured-box{
    text-align: left;
    min-height: auto;
    margin: 0;
    box-shadow: none;
    border: none;
}

.box-wrap-btn .featured-box .box-content{
    border: none;
    padding: 0px;
}

.header-builder-p .vc_row-flex>.vc_column_container.header-mid>.vc_column-inner{
    justify-content: center;
}

/* =============== main menu  =============== */
.main-menu > li.menu-item > a{
    border-bottom: 2px solid transparent;
    transition: all 0.3s ease;   
}

#header .main-menu > li.menu-item > a{
     padding: 0;
    margin: 10px 16px 10px 16px;
}

#header .main-menu > li.menu-item.active:hover > a, 
#header .main-menu > li.menu-item:hover > a{
    background-color: transparent;
}

.main-menu > li.menu-item.active > a,
.main-menu > li.menu-item > a:hover{
    border-bottom-color: #4FB1E1;
}


.header-builder.is-sticky {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background-color: #ffffff; 
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    animation: slideDown 0.3s ease-out;
}


@keyframes slideDown {
    from { transform: translateY(-100%); }
    to { transform: translateY(0); }
}

/* =============== //main menu =============== */

.no-breadcrumbs .main-content {
    padding-top: 0px;
    padding-bottom: 0px;
}

.top-row.header-banner{
    background-position: 100% 50% !important;
}

.header-banner{
    background-size: 50% !important;
}

.banner-content{
    padding-top: 80px;
    padding-bottom: 43px;
    background: #fff;
}

.header-banner .img-h{
    opacity: 0;
    visibility: hidden;
}


.img-mask{
    position: absolute;
    top: 0; 
    left: 0;
    width: 100%;
        height: 100%;
    overflow: hidden;
}

.img-mask .vc_single_image-wrapper {
    height: auto;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
}

.img-mask .vc_single_image-wrapper img{
    height: 100%;
}

.top-row.header-banner .img-mask.wpb_single_image{   
    transform: translateX(-15px);
}

.btn-1 .vc_general.vc_btn3{
    border-radius: 0;
    background: #4FB1E1;
    color: #fff;
    transition: all 0.3s ease;
    text-transform: uppercase;
}

.btn-1 .vc_general.vc_btn3:hover{
    background: #333;
    color: #fff;
}

.box-wrap-btn .btn-1{
    margin-right: 30px;
}

.call-link {
    display: contents;
    font-weight: 600;
}

.call-link a strong{
    color: #4FB1E1;
    font-weight: 700;
}

.text-btn .btn-default.btn:hover,
.text-btn .vc_btn3{
    padding: 0;
    background: transparent;
    border: none;
}

.text-btn .text-color-1{
    color: #4FB1E1;
    text-transform: uppercase;
    font-size: 16px;
}

.text-btn .btn-default.btn:hover{
    color: #ffffff;
}

.vc_row.vc_row-flex>.vc_column_container.box-wrap > * {
    /* display: flex; */
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: start;
    gap: 0 15px;
}

.vc_row.bg-cover{
    background-color: #1d2b4e;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 0 0;
}

.box-wrap > *:before{
    display: none;
}

.vc_row.vc_row-flex>.vc_column_container.box-serv>.vc_column-inner {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 15px;
}

.vc_row.vc_row-flex>.vc_column_container.box-serv>.vc_column-inner > *:not(.box-1):not(.box-2):not(.box-3){ 
    width: 100%;
}

.box-1,
.box-2,
.box-3{
    width: calc(50% - 15px);
    margin-bottom: 0px;
}

.box-serv .box-1,
.box-serv .box-2,   
.box-serv .box-3{
    width: calc((100% / 3) - 15px);
}

.box-1 .featured-box .content-3,
.box-2 .featured-box .content-3,
.box-3 .featured-box .content-3{
    text-align: left;
    font-size: 14px;
    color: #d8dcf4;
    line-height: 23px;
    font-weight: 400;
}

.box-1 .featured-box{
    background: #3C4DB4;
}

.box-2 .featured-box{
    background: #3F8EC7;
}

.box-3 .featured-box{
    background: #2C869F;
}

.box-3 .featured-box,
.box-2 .featured-box,
.box-1 .featured-box{
    border:none;
    color: #fff;
    margin-bottom: 0;
}

.box-3 .featured-box h2,
.box-2 .featured-box h2,
.box-1 .featured-box h2{
    color: #fff;
}

.box-3 .box-content,
.box-2 .box-content,
.box-1 .box-content{
    border:none;
    padding: 30px;
}

.vc_icon_element.link-icon{
    margin-bottom: 0px;
}

.vc_icon_element.link-icon .vc_icon_element-size-md{
    height: auto;
}

.vc_icon_element.vc_icon_element-outer.link-icon .vc_icon_element-inner .vc_icon_element-icon {
    left: 0%;
}


.link-icon .fa-arrow-right::before{
    opacity: 0;
    visibility: hidden;
}


.link-icon .fa-arrow-right:after{
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg width='21' height='9' viewBox='0 0 21 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.5 0.5L20.5 4.5M20.5 4.5L16.5 8.5M20.5 4.5H0.5' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;   
    background-position: center;
    position: absolute;
    top: 0%;    
    left: 14px;
    display: block;
    width: 100%;
    height: 100%;
}


.text-max-w{
    max-width: 500px;
    margin: 0 auto;
}

.vc_column_container.box-items-wrap > * {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
}

.box-items-wrap > *:before{
    display: none;
}

.box-item{
    width: calc(33.333% - 1px);
    width: calc((100% / 2) - 1px);
    margin-bottom: 0px;
    background: #fff;
}

.box-item .featured-box{
    border:none;
    margin: 0;
    box-shadow:none;
}

.box-item .featured-box .box-content{
    border-top:none;
    padding: 27px;
}

/* .box-item .box-content p{
    font-weight: 400;
} */

.box-item .item-no {
    position: absolute;
    right: 30px;
    top: 57px;
}

.svg-ico-1{
    margin-top: 9px;
}

.svg-ico-2 {
    margin-bottom: -18px;
}

.svg-ico-3 {
    margin-bottom: -24px;
    margin-top: -6px;
}

.box-item .featured-box h2{
    margin-top: 20px;
    font-weight: 600;
    letter-spacing: 1px;
}

.bg-content-1{
    position: relative;
    z-index: 0;
}

.bg-content-1:after{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -2;
    width: 100%;
    height: 60%;
    background: #F8FAFC;
}

.bg-content-1:before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    width: 451px;
    height: 60%;
    background: #DAE7F4;
    clip-path: polygon(0% 0%, 100% 0%, 53.13% 46.88%, 0% 100%);
}

.bg-cotent-2 {
    background-size: 250px;
    background-repeat: no-repeat;
    background-color: #F8FAFC;
    background-position: 0 0;
}

.content-3 ul{
    list-style: none;
    padding-left: 0px;
}

.content-3 ul li{
    position: relative;
    padding-left: 30px;
    margin-bottom: 15px;
}

.content-3 ul li:before{
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    color: #4FB1E1;
    font-size: 20px;
    line-height: 1;
    display: block;
    width: 20px;    
    height: 20px;
   background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15 4.5L6.75 12.75L3 9' stroke='%234FB1E1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;   
    background-position: center;
}

.btn-2 .vc_general.vc_btn3{
    border-radius: 0;
    background: #4FB1E1;
    color: #fff;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* ============== Testimonials ========== */

#sp-testimonial-free-wrapper-245 .sp-testimonial-free-section .sp-testimonial-client-rating{
    position: absolute;
    left: 20px;
    top: 20px;
    z-index: 1;
}

#sp-testimonial-free-wrapper-245 .sp-testimonial-free-section .sp-testimonial-client-testimonial{
    padding-top: 30px;
}

.sp-testimonial-free-section .sp-testimonial-client-testimonial p{
    text-align: left;
    font-family: Inter;
    color: #475569;
}

.sp-testimonial-free-section .sp-testimonial-client-designation,
.sp-testimonial-free-section .sp-testimonial-client-name{
    text-align: left;
    font-family: Inter;
    font-size: 16px;
    font-weight: 600;
    color: #1D2B4F;
    padding-left: 60px;
    margin-bottom: 0;
}

.sp-testimonial-free-section .sp-testimonial-client-designation{
    font-size: 12px;
    font-weight: 400;
    color: 94A3B8;
}

#sp-testimonial-free-wrapper-245 .sp-testimonial-free-section .sp-testimonial-client-image{
    margin-top: -50px;
    text-align: left;
}

.sp-testimonial-free-section .sp-testimonial-client-image img{
    border-radius: 0%;
}

.sp-testimonial-free-section .testimonial-pagination .swiper-pagination-bullet {
    width: 20px;
    height: 5px;
    border-radius: 0;
    transition: all 0.3s ease;
}

#sp-testimonial-free-wrapper-245 .sp-testimonial-free-section .testimonial-pagination span.swiper-pagination-bullet.swiper-pagination-bullet-active{
    width: 30px;
}

.sp-testimonial-item{
    background: #ffffff;
    padding: 20px;
}

.sp-testimonial-free-section .sp-testimonial-client-rating i.fa {
    font-family: "Font Awesome 6 Free";
}

/*============== Testimonials ========== */

.add-box .featured-box{
    background: transparent;
    border: none;
    padding: 0px;
    text-align: left;
    min-height: auto;
}

.add-box .vc_do_icon {
    margin-bottom: 0;
}

.add-box .featured-box .box-content{
    border-top: none;
    box-shadow: none;
    display: flex;
    flex-wrap: wrap;
    padding: 0px;
    color: #fff;
    font-size: 18px;
    font-family: Inter;
}

.add-box .featured-box .box-content p{
    margin-bottom: 0px;
}

.add-box .featured-box .box-content strong{
    font-weight: 400;
    text-transform: uppercase;
    font-size: 14px;
}

.add-box .featured-box .box-content a{
    color: #fff;
}

/* ================= Form =================== */

.form-style-1_wrapper .gform_heading{
   display: none;
}

.gform-theme--framework .gform-field-label{
    color: #fff !important;
    font-weight: 400 !important;
}

.gform-theme--framework textarea,
.gform-theme--framework select,
.gform-theme--framework input[type]:not([type="submit"]){
    background-color: transparent !important;
    border: 1px solid #fff !important;
    color: #fff !important;
    border-radius: 0 !important;
}




.gform-theme--framework textarea::placeholder,
.gform-theme--framework input[type]::placeholder{
    color: #808FA4 !important;
}

/* Change text color of dropdown options for all forms */
body .gform_wrapper .gform_body .gform_fields .gfield select option {
    color: #333333 !important; /* Dark gray text */
    background-color: #ffffff !important; /* White background */
}

/* Optional: Target a specific form (replace '1' with your Form ID) */
body #gform_wrapper_1 select option {
    color: #000000 !important;
}

body .gform-theme--framework select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important; 
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3C!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--%3E%3Cpath fill='rgb(255, 255, 255)' d='M201.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 338.7 54.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    background-size: 12px !important;
    padding-right: 40px !important; 
}

.gform-theme--framework [type="submit"]{
    background: #4FB1E1 !important;
    color: #fff !important;
    border-radius: 0 !important;
    padding: 10px 30px !important;
    border: none !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
}

/*================= //Form =================== */

/* ============== footer =============== */
footer.footer {
    position: relative;
     z-index: 0;
     /* min-height: 500px; */
     background: #E2E8F0;
}

footer.footer .vc_row.wpb_row.row{
    background: transparent !important;
}

footer.footer:before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 753px;
    height: 100%;
    background: #B1D0EF;
     z-index: 0;
     display: block;
     clip-path: polygon(62% 0, 100% 0, 100% 100%, 0% 359%);
}

.footer-menu-wrap > *{
    display: flex;
    flex-wrap: wrap;
    gap: 0 15px;
    justify-content: space-between;
}

.footer-menu-wrap > *::before{
    display: none;      
}

 footer.footer .f-add .porto-sicon-title,
footer.footer .widget .widgettitle{
    font-family: Inter, sans-serif;
    color: #1D2B4F;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
}

 footer.footer .widget_nav_menu>div>ul{
    border-bottom:none
 }

 footer.footer .widget_nav_menu>div>ul li{
    padding-left: 0px;
    border-top:none
 }

footer.footer .widget_nav_menu>div>ul li:before{
    display: none;
}

 footer.footer .widget_nav_menu>div>ul li a{
    color: #64748B;
    font-size: 13px;
 }

 footer.footer .widget_nav_menu>div>ul li a:hover{
    color: #1D2B4F;
 }

 footer.footer .f-add .porto-sicon-header + .porto-sicon-description{
    font-family: Inter, sans-serif;
    color: #64748B; 
    font-size: 13px;
 }


 footer.footer .hotline .porto-sicon-title{
    font-family: Inter, sans-serif;
    color: #1D2B4F;
    font-size: 11px;
    font-weight: 600;
     text-transform: uppercase;
 }

 footer.footer .hotline .porto-sicon-header + .porto-sicon-description {
    margin-top: 0;
}

footer.footer .hotline .porto-sicon-header + .porto-sicon-description a{
    color: #1D2B4F;
    font-weight: 600;
    font-size: 18px;
}

.copy-r{
    border-top: #9BA3AD 1px solid;
}

.copy-r p{
    font-family: Inter, sans-serif;
    color: #64748B;
    font-size: 13px;
    margin-bottom: 0px;
}

.copy-r .vc_btn3-container{
    margin-bottom: 0px;
}

.copy-r .vc_btn3-container .vc_btn3{
    margin-bottom: 0px;
    background: transparent;
    background-image: none;
    border: none;
    padding: 0px;
    color: #1D2B4F;
}

.copy-r .vc_btn3-container .vc_btn3:hover {
    background-color: transparent;
    color: #333;
}

.f-btn-grp > * {
    display: flex;
    justify-content: right;
    gap: 15px;
}

.f-btn-grp > *::before{
    display: none;
}


/* ============== //footer =============== */


/* =================== Responsive Styles =================== */


@media (min-width:3840px) {
    .top-row.header-banner {
        background-image: none !important;
    }

    .header-banner .img-h {
        opacity: 1;
        visibility: visible;
    }
}

@media (max-width:1199px) {
    .top-btn-1 .vc_general.vc_btn3 {
        padding-left: 13px;
        padding-right: 13px;
        transform: none;
    }

    .t1 {
        font-size: 46px;
        line-height: 52px;
    }
}

@media (max-width:1023px) {
    .header-builder-p .header-right-col .vc_column-inner .wpb_content_element{
        margin-right: 4px;
    }
}

@media (min-width:992px) {
    .hamburger  {
        display: none; 
    }

}

@media (max-width:991px) {
 

  .hamburger {
    width: 30px;
    height: 25px;
    cursor: pointer;
    position: relative;
    }

    .hamburger span {
        display: block;
        width: 100%;
        height: 4px;
        background: #222529;
        position: absolute;
        transition: all 0.3s ease-in-out; /* Smooth movement */
    }

    /* Position the three bars */
    .hamburger span:nth-child(1) { top: 0px; }
    .hamburger span:nth-child(2) { top: 10px; }
    .hamburger span:nth-child(3) { top: 20px; }

    /* Transform into "X" when .active is added */
    .hamburger.active span:nth-child(1) {
        transform: rotate(45deg);
        top: 10px; /* Moves to middle */
    }

    .hamburger.active span:nth-child(2) {
        opacity: 0; /* Hides middle bar */
    }

    .hamburger.active span:nth-child(3) {
        transform: rotate(-45deg);
        top: 10px; /* Moves to middle */
    }

    #header .main-menu {
        display: block;
        position: fixed;
        left: -500px;
        top: 0;
        background: #000000a8;
        width: 100%;
        max-width: 300px;
        height: 100%;
        transition: all 0.8s ease;
        z-index: 9;
    }

      #header .menu-active .main-menu{
         left: 0px;
      }

    #header .main-menu>li.menu-item {
        margin: 30px 1px 0 0;
    }

    #header .main-menu > li.menu-item > a{
        color: #fff !important;
        font-size: 18px !important;
        font-weight: 200;
        display: block;
        padding: 9px 0px 9px 0px !important;
    }
    

    .header-mid{
        position: absolute;
    }

    .header-right-col{
        width: auto;
        margin-left: auto;
    }   

    .header-builder-p .header-right-col .vc_column-inner .wpb_content_element.top-call{
        margin-right: 10px;
    } 

   .t1 {
        font-size: 35px;
        line-height: 42px;
    }

    .box-wrap-btn .btn-1 {
        margin-right: 0px;
    }

    .banner-content {
        padding-top: 25px;
        padding-bottom: 0px;
        
    }

    .top-row.header-banner {
        background-size: contain !important;
    }

     .t3 {
        font-size: 35px;
        line-height: 55px;
    }

}

@media (min-width:768px) {
    .box-serv .p2,
    .box-serv .t3,
    .box-serv .t2{
        text-align: center;
    }
}
 

@media (max-width:767px) {
    .logo-col{
        width: auto;
    }

    .header-banner .img-h {
           height: 250px;
    }

    .top-row.header-banner {
        background-size: cover !important;
        background-position: 100% !important;
    }

    .vc_row.vc_row-flex.rev-col {
        flex-direction: column-reverse;
    }

    .banner-content{
        position: relative;
        z-index: 0;
    }
    
    .banner-content:after,
    .banner-content:before{
        content: "";
        width: 35px;
        height: 100%;
        background: #fff;        
        position: absolute;
        left: -35px;
        top: 0; 
        z-index: -1;
    }

     .banner-content:after{
        left: auto;
        right: -35px;
     }   
     
    .box-serv .box-1, .box-serv .box-2, .box-serv .box-3 {
        width: 100%;
    }

    .vc_column_container.box-items-wrap > * {
        gap: 2px 0;
    }

    .box-item {
        width: 100%;
    }

    .copy-r{
        text-align: center;
    }

    .copy-r .wpb_text_column{
        margin-bottom: 0px;
    }

    /* .f-btn-grp > * {
        
        
    } */

    .vc_column_container.f-btn-grp > .vc_column-inner{
        justify-content: center;
        padding-bottom: 15px;
    }
}

@media (max-width:767px) and (min-width:576px) {
    .top-row.header-banner {
        background-position: 100% -272px !important;
    }
}

@media (max-width:575px) {

    .t1 {
        font-size: 30px;
        line-height: 42px;
        margin-bottom: 15px;
    }

    .t3 {
        font-size: 30px;
        line-height: 40px;
    }

    .t4 {
        line-height: 40px;
        font-size: 30px !important;
        max-width: none;
        font-weight: 500;
        margin-bottom: 15px;
    }

    .top-btn-1{
        position: absolute;
        right: 0%;
        top: 5px;
        min-width: 115px;
    }

    .top-btn-1 .vc_general.vc_btn3 {
        height: auto;
    }

    .header-right-col {
        padding-top: 50px;
    }
        
    .top-row.header-banner {
        background-size: 100% !important;
        background-position: 100% 0px !important;
    }

    .header-banner .img-h {
        height: 380px;
    }

    /* .img-mask{
        display: none;
    } */
}

@media (max-width:424px) {
    .header-banner .img-h {
        height: 359px;
    }

    .top-row.header-banner {
        background-position: 36px 0px !important;
    }
}

@media (max-width:374px) {
    .top-call{
        display: none;
    }

    #header .main-menu{
        max-width: 250px;
    }
}