/*
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  ***************/

.main-content{ padding-top: 0 !important; padding-bottom: 0 !important;}

/* Global p */
p{ margin: 0 !important;}

/* Stikcy Header */
#header.sticky-header .header-main.sticky {  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2) !important;}
/* #header.sticky-header .header-main.sticky .e-con-inner {  padding: 12px !important;} */



/*======= Menu =======*/

.mega-menu.menu-hover-line > li.menu-item > a::before{
    top:auto !important;
    bottom:-6px !important;
    left:50% !important;
    right:auto !important;
    width:0 !important;
    height:3px !important;
    margin:0 !important;
    opacity:1 !important;
    transform:translateX(-50%);
    border-radius:20px;
    transition:width .35s ease !important;
}

/* Hover */
.mega-menu.menu-hover-line > li.menu-item:hover > a::before,
.mega-menu.menu-hover-line > li.current-menu-item > a::before,
.mega-menu.menu-hover-line > li.current-menu-ancestor > a::before{
    width:100% !important;
}
/* For Mobile Menu  */
#side-nav-panel .accordion-menu li.menu-item.active > a, #side-nav-panel .menu-custom-block a:hover{
	background-color: #0077c8 !important;
	color: #fff;
}
#side-nav-panel .accordion-menu li.menu-item.active> .arrow
{
  color: #fff !important;
}
#side-nav-panel > .menu-wrap{
	padding-top:0px !important;
}
html.panel-opened .side-nav-panel-close line{
  stroke: #000 !important;
}
/* Laptop Mobile Icon Show */

/*==================================================
  DESKTOP (1500px and Above)
==================================================*/
@media (min-width:1500px){

    #header .main-menu{
        display:flex !important;
    }

    #header .mobile-toggle,
    #header .elementor-widget-porto_hb_menu_icon{
        display:none !important;
    }
}


/*==================================================
  LARGE DESKTOP (1281px - 1499px)
==================================================*/
@media (min-width:1281px) and (max-width:1499px){

    .main-header-grv.e-con > .e-con-inner{
        max-width:1440px !important;
        padding:10px 12px !important;
    }

    .main-header-grv .elementor-element-51c2790 .main-menu > li.menu-item{
        margin-right:25px !important;
    }

    #header .elementor-element-51c2790 .main-menu > li > a{
        font-size:15px !important;
        padding:12px 0 !important;
    }

    #header .main-menu{
        display:flex !important;
    }

    #header .mobile-toggle,
    #header .elementor-widget-porto_hb_menu_icon{
        display:none !important;
    }
}


/*==================================================
  1201px - 1280px
==================================================*/
@media (min-width:1201px) and (max-width:1280px){

    .main-header-grv.e-con > .e-con-inner{
        max-width:100% !important;
        padding:10px 18px !important;
    }

    .main-header-grv .porto-logo img{
        max-width:235px !important;
    }

    .main-header-grv .elementor-element-51c2790 .main-menu > li.menu-item{
        font-size:5px !important;
    }

    #header .elementor-element-51c2790 .main-menu > li > a{
        font-size:15px !important;
        padding:10px 0 !important;
    }

    #header .main-menu{
        display:flex !important;
    }

    #header .mobile-toggle,
    #header .elementor-widget-porto_hb_menu_icon{
        display:none !important;
    }
}


/*==================================================
  1151px - 1200px
==================================================*/
@media (min-width:1151px) and (max-width:1200px){

    .main-header-grv.e-con > .e-con-inner{
        max-width:100% !important;
        padding:10px 15px !important;
    }

    .main-header-grv .porto-logo img{
        max-width:220px !important;
    }

    .main-header-grv .elementor-element-51c2790 .main-menu > li.menu-item{
        margin-right:25px !important;
    }

    #header .elementor-element-51c2790 .main-menu > li > a{
        font-size:14px !important;
        padding:10px 0 !important;
    }

    #header .main-menu{
        display:flex !important;
    }

    #header .mobile-toggle,
    #header .elementor-widget-porto_hb_menu_icon{
        display:none !important;
    }
}


/*==================================================
  1081px - 1150px
==================================================*/
@media (min-width:1081px) and (max-width:1150px){

    .main-header-grv.e-con > .e-con-inner{
        max-width:100% !important;
        padding:10px 10px !important;
    }

    .main-header-grv .porto-logo img{
        max-width:205px !important;
    }

    .main-header-grv .elementor-element-51c2790 .main-menu > li.menu-item{
        margin-right:15px !important;
    }

    #header .elementor-element-51c2790 .main-menu > li > a{
        font-size:14px !important;
        padding:10px 0px !important;
    }

    #header .main-menu{
        display:flex !important;
    }

    #header .mobile-toggle,
    #header .elementor-widget-porto_hb_menu_icon{
        display:none !important;
    }
}


/*==================================================
  1080px and Below
==================================================*/
@media (max-width:1080px){

    /* Hide Desktop Menu */
    #header .main-menu{
        display:none !important;
    }

    /* Show Mobile Menu Icon */
    #header .elementor-widget-porto_hb_menu_icon,
    #header .mobile-toggle{
        display:flex !important;
        align-items:center;
        justify-content:center;
    }

    /* Mobile Header */
    .main-header-grv.e-con > .e-con-inner{
        padding:10px 15px !important;
    }

    .main-header-grv .porto-logo img{
        max-width:190px !important;
    }
}


/* For Footer Icon  */
.quick-links .elementor-icon-list-item:hover .elementor-icon-list-icon{
    animation: iconBounceRotate .5s ease;
}

@keyframes iconBounceRotate{
    0%{
        transform: rotate(-90deg) scale(.8);
    }
    50%{
        transform: rotate(20deg) scale(1.2);
    }
    100%{
        transform: rotate(0deg) scale(1);
    }
}

/* Home Page Product section  */
.product-boxes{    position: relative !important;    overflow: hidden !important;}
.product-boxes::before{
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 0 !important;
    height: 0 !important;
    border-top: 3px solid transparent !important;
    border-right: 3px solid transparent !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
    z-index: 9 !important;
}

/* Bottom + Left */
.product-boxes::after{
    content: "" !important;
    position: absolute !important;
    bottom: 0 !important;
    right: 0 !important;
    width: 0 !important;
    height: 0 !important;
    border-bottom: 3px solid transparent !important;
    border-left: 3px solid transparent !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
    z-index: 9 !important;
}

/* Hover */
.product-boxes:hover::before{
    width: 100% !important;
    height: 100% !important;
    border-top-color: #F28C00 !important;
    border-right-color: #F28C00 !important;
    transition:
        width .25s ease-out,
        height .25s ease-out .25s,
        border-top-color 0s,
        border-right-color 0s !important;
}

.product-boxes:hover::after{
    width: 100% !important;
    height: 100% !important;
    border-bottom-color: #F28C00 !important;
    border-left-color: #F28C00 !important;
    transition:
        border-bottom-color 0s ease-out .5s,
        border-left-color 0s ease-out .5s,
        width .25s ease-out .5s,
        height .25s ease-out .75s !important;
}
/*=========================================
        PRODUCT SECTION BACKGROUND
=========================================*/

.product-sec{
    position:relative;
    overflow:hidden;
    isolation:isolate;
}

/*-----------------------------------------
  Floating Particles
-----------------------------------------*/
.product-sec::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:0;

    background-image:
        radial-gradient(circle at 12% 18%, rgba(255,255,255,.16) 2px, transparent 3px),
        radial-gradient(circle at 82% 22%, rgba(255,255,255,.12) 3px, transparent 4px),
        radial-gradient(circle at 40% 72%, rgba(255,255,255,.15) 2px, transparent 3px),
        radial-gradient(circle at 68% 88%, rgba(255,255,255,.14) 3px, transparent 4px),
        radial-gradient(circle at 28% 48%, rgba(255,255,255,.10) 2px, transparent 3px),
        radial-gradient(circle at 92% 62%, rgba(255,255,255,.16) 2px, transparent 3px),
        radial-gradient(circle at 58% 12%, rgba(255,255,255,.12) 3px, transparent 4px);

    background-size:220px 220px;
    background-repeat:repeat;

    opacity:.85;

    animation:dotsFloat 35s linear infinite;
}

/*-----------------------------------------
  Moving Light Sweep
-----------------------------------------*/
.product-sec .e-con-inner{
    position:relative;
    z-index:2;
}

.product-sec .e-con-inner::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:1;

    background:
        linear-gradient(
            110deg,
            transparent 0%,
            rgba(255,255,255,.02) 20%,
            rgba(255,255,255,.08) 40%,
            rgba(255,255,255,.14) 50%,
            rgba(255,255,255,.08) 60%,
            rgba(255,255,255,.02) 80%,
            transparent 100%
        ),

        linear-gradient(
            -110deg,
            transparent 0%,
            rgba(255,255,255,.03) 48%,
            rgba(255,255,255,.06) 50%,
            rgba(255,255,255,.03) 52%,
            transparent 100%
        );

    background-size:320% 100%, 280% 100%;
    background-repeat:no-repeat;

    animation:
        lightMove 18s linear infinite,
        lightMoveReverse 24s linear infinite;
}

/*-----------------------------------------
  Keep Content Above
-----------------------------------------*/
.product-sec .e-con-inner > *{
    position:relative;
    z-index:2;
}

/*-----------------------------------------
  Animations
-----------------------------------------*/

@keyframes lightMove{

    from{
        background-position:-320% 0, 280% 0;
    }

    to{
        background-position:320% 0, -280% 0;
    }

}

@keyframes lightMoveReverse{

    from{
        background-position:320% 0, -280% 0;
    }

    to{
        background-position:-320% 0, 280% 0;
    }

}

@keyframes dotsFloat{

    0%{
        background-position:0 0;
    }

    100%{
        background-position:220px 220px;
    }

}

/* Slider Dot */

.for-dot .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 10% !important;
}

/* Inner Page Banner top  */
.page-top.page-header-3{
   background:
	linear-gradient(rgba(14,117,201,.82), rgba(34,168,87,.72));
}


/*==================================================
 SAMPLE REQUEST FORM
==================================================*/

.gv-sample-form{
    max-width:1200px;
   
}


/* FORM BOX */
.gv-form-wrapper{
    background:#fff;
    border:1px solid #e6eef7;
    border-radius:18px;
    padding:45px;
    box-shadow:0 20px 60px rgba(0,0,0,.08);
}


/*==================================================
 TITLE
==================================================*/

.gv-form-title{
    text-align:center;
    margin-bottom:45px;
}

.gv-form-title h2{
    margin:0 0 12px;
    color:#0076c7;
    font-size:42px;
    font-weight:700;
}

.gv-form-title p{
    margin:0;
    color:#777;
    font-size:16px;
}


/*==================================================
 SECTION
==================================================*/

.gv-section{
    margin-top:45px;
    padding-top:35px;
    border-top:1px solid #edf2f8;
}

.gv-section:first-child{
    margin-top:0;
    padding-top:0;
    border-top:none;
}


.gv-section-title{
    font-size:24px;
    color:#0076c7;
    font-weight:700;
    margin-bottom:30px;
    position:relative;
    padding-left:18px;
}


.gv-section-title:before{

    content:"";
    width:6px;
    height:28px;
    background:#0076c7;
    position:absolute;
    left:0;
    top:3px;
    border-radius:20px;

}


/*==================================================
 GRID SYSTEM
==================================================*/


.gv-row{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:25px;
    margin-bottom:22px;

}


.gv-row.three-column{

    grid-template-columns:repeat(3,1fr);

}


.gv-col{

    width:100%;

}


/* Full Width Field */

.gv-col.full-width{

    grid-column:1/-1;

}


/*==================================================
 LABEL
==================================================*/

.gv-sample-form label{

    display:inline-flex;
    margin-bottom:9px;
    color:#222;
    font-size:14px;
    font-weight:600;

}


.gv-sample-form label span{

    color:#000;

}
.gv-upload-btn span {
  color: #fff !important;
}

/*==================================================
 INPUT FIELD
==================================================*/


.gv-sample-form input:not([type="submit"]),
.gv-sample-form textarea{


    width:100%;
    height:52px;
    border:1px solid #d7e2ef;
    border-radius:10px;
    padding:0 18px;
    font-size:15px;
    color:#333;
    background:#fff;
    outline:none;
    transition:.3s;
    box-sizing:border-box;

}


.gv-sample-form textarea{

    height:150px;
    padding:18px;
    resize:none;

}


.gv-sample-form input:focus,
.gv-sample-form textarea:focus{

    border-color:#0076c7;
    box-shadow:0 0 0 4px rgba(0,71,171,.08);

}



.gv-sample-form input::placeholder,
.gv-sample-form textarea::placeholder{

    color:#999;

}


.wpcf7-form-control-wrap{

    display:block;
    width:100%;

}


/*==================================================
 FABRIC TABLE
==================================================*/


.gv-table-wrap{

    width:100%;
    overflow-x:auto;
    border:1px solid #dfe8f4;
    border-radius:12px;

}


.gv-table-header,
.gv-table-row{


    min-width:900px;
    display:grid;
    grid-template-columns:
    2fr
    1.2fr
    1fr
    1fr
    1fr
    1.5fr;

}



.gv-table-header{

    background:#0076c7;

}


.gv-table-header div{

    padding:16px 12px;
    color:#fff;
    font-size:14px;
    text-align:center;
    font-weight:600;
    border-right:1px solid rgba(255,255,255,.2);

}



.gv-table-row{

    border-top:1px solid #edf2f8;
    background:#fff;

}


.gv-table-row:nth-child(even){

    background:#fafcff;

}


.gv-table-row>div{

    padding:10px;
    border-right:1px solid #edf2f8;

}



.gv-table-row input{

    width:100%;
    height:42px;
    border:1px solid #d7e2ef;
    border-radius:8px;
    padding:0 10px;

}


/*==================================================
 SUBMIT
==================================================*/


.gv-submit-area{

    margin-top:35px;
    text-align:center;

}


.gv-submit-area input{

    background:#0076c7;
    color:#fff;
    border:none;
    padding:15px 40px;
    border-radius:8px;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    transition:.3s;

}


.gv-submit-area input:hover{

    background:#003580;

}

/*==================================================
 REQUEST FOR QUOTE TABLE
==================================================*/

.gv-quote-table-wrap{

    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    background:#fff;
    border:1px solid #dfe8f4;
    border-radius:12px;
    -webkit-overflow-scrolling:touch;

}

/* Scrollbar */

.gv-quote-table-wrap::-webkit-scrollbar{

    height:8px;

}

.gv-quote-table-wrap::-webkit-scrollbar-track{

    background:#eef3f8;

}

.gv-quote-table-wrap::-webkit-scrollbar-thumb{

    background:#b9c8db;
    border-radius:20px;

}


/*==================================================
 HEADER
==================================================*/

.gv-quote-table-header{

    display:grid;

    grid-template-columns:
        220px
        140px
        120px
        120px
        120px
        180px
        160px;

    min-width:1060px;

    background:#0076c7;

}

.gv-quote-table-header div{

    padding:16px 12px;

    color:#fff;

    font-size:14px;

    font-weight:600;

    text-align:center;

    border-right:1px solid rgba(255,255,255,.15);

}

.gv-quote-table-header div:last-child{

    border-right:none;

}


/*==================================================
 ROW
==================================================*/

.gv-quote-table-row{

    display:grid;

    grid-template-columns:
        220px
        140px
        120px
        120px
        120px
        180px
        160px;

    min-width:1060px;

    background:#fff;

    border-top:1px solid #edf2f8;

}

.gv-quote-table-row:nth-child(even){

    background:#fafcff;

}

.gv-quote-table-row:hover{

    background:#f7fbff;

}

.gv-quote-table-row>div{

    padding:10px;

    border-right:1px solid #edf2f8;

}

.gv-quote-table-row>div:last-child{

    border-right:none;

}


/*==================================================
 INPUT
==================================================*/

.gv-quote-table-row input{

    width:100%;

    height:42px;

    padding:0 12px;

    border:1px solid #d7e2ef;

    border-radius:8px;

    background:#fff;

    font-size:14px;

    transition:.3s;

}

.gv-quote-table-row input:focus{

    border-color:#0076c7;

    box-shadow:0 0 0 3px rgba(0,118,199,.08);

}

/*=========================================
CAREER RESUME UPLOAD
=========================================*/

.gv-upload-box{

    text-align:center;
    padding:45px 30px;
    border:2px dashed #0076c7;
    border-radius:16px;
    background:#f8fbff;
    transition:.35s;
    position:relative;

}

.gv-upload-box:hover{

    border-color:#0054a6;
    background:#f2f8ff;

}

.gv-upload-icon{

    margin-bottom:20px;

}

.gv-upload-box h4{

    margin:0 0 10px;
    color:#0076c7;
    font-size:24px;
    font-weight:700;

}

.gv-upload-box p{

    margin:0 0 25px;
    color:#666;
    font-size:15px;
    line-height:26px;

}

/* Upload Button */

.gv-upload-field{

    display:flex;
    justify-content:center;

}

.gv-upload-btn{

    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:220px;
    height:54px;
    background:#0076c7;
    color:#fff;
    border-radius:8px;
    font-size:15px;
    font-weight:600;
    cursor:pointer;
    overflow:hidden;
    transition:.3s;

}

.gv-upload-btn:hover{

    background:#0059b3;

}

.gv-upload-btn span{

    pointer-events:none;

}

/* Hide Native File Input */

.gv-upload-btn .wpcf7-form-control-wrap{

    position:absolute;
    inset:0;
    display:block;

}

.gv-upload-btn input[type=file]{

    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:0;
    cursor:pointer;

}
/*=========================================
CONTACT FORM CUSTOM
=========================================*/

.contact-frm .gv-form-wrapper{
	padding: 20px !important;
	
}
.contact-frm .gv-form-title{
    text-align:left;
}

.contact-frm .gv-section-title{
    display:none;
}

.contact-frm .gv-section{
    margin-top:0;
    padding-top:0;
    border-top:none;
}

/* Country Full Width */

.contact-frm .country-field{
    width:100%;
    grid-column:1 / -1;
}

/* Left Submit Button */

.contact-frm .gv-submit-area{
    text-align:left;
}


/*==================================================
 TABLET
==================================================*/

@media(max-width:991px){


.gv-form-wrapper{

    padding:30px;

}


.gv-row,
.gv-row.three-column{

    grid-template-columns:repeat(2,1fr);

}
	  .gv-quote-table-header,
    .gv-quote-table-row{

        min-width:1060px;

    }
	 .for-dot .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal{
    bottom: 6% !important;
  }


}



/*==================================================
 MOBILE
==================================================*/


@media(max-width:767px){


.gv-form-wrapper{

    padding:22px;

}
  .for-dot .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal{
    bottom: 3% !important;
  }

.gv-form-title h2{

    font-size:30px;

}


.gv-row,
.gv-row.three-column{

    grid-template-columns:1fr;
    gap:18px;

}


.gv-section-title{

    font-size:21px;

}


.gv-sample-form input:not([type="submit"]),
.gv-sample-form textarea{

    height:50px;

}


.gv-sample-form textarea{

    height:130px;

}
	 .gv-quote-table-wrap{

        border-radius:10px;

    }

    .gv-quote-table-header div{

        font-size:13px;

        padding:14px 10px;

    }

    .gv-quote-table-row input{

        font-size:13px;

    }
	 .gv-upload-box{

        padding:30px 20px;

    }

    .gv-upload-box h4{

        font-size:20px;

    }

    .gv-upload-btn{

        width:100%;

    }
	.contact-frm .country-field{
        grid-column:auto;
    }


}


/* SMALL MOBILE */

@media(max-width:480px){


.gv-form-wrapper{

    padding:18px;

}


.gv-form-title h2{

    font-size:26px;

}


.gv-section-title{

    font-size:20px;

}


}