/*====================================================
 NVX HEADER V2 CSS
 Screenshot Style Flyout Navigation
====================================================*/


:root{

    --nvx2-blue:#28a7dc;
    --nvx2-dark:#192c5b;
    --nvx2-text:#222;
    --nvx2-white:#fff;
    --nvx2-border:#dce5ec;

    --nvx2-container:1180px;

    --nvx2-transition:.3s ease;

}



/*==============================
RESET
==============================*/


*,
*::before,
*::after{

    margin:0;
    padding:0;
    box-sizing:border-box;

}


body{

    font-family:Arial, Helvetica, sans-serif;

    color:var(--nvx2-text);

    overflow-x:hidden;

}


a{

    text-decoration:none;

    color:inherit;

}


ul{

    list-style:none;

}



img{

    max-width:100%;

    display:block;

}



/*====================================================
 NVX2 HEADER CSS
 PART 1A
====================================================*/


*,
*::before,
*::after{
    box-sizing:border-box;
}



body.nvx2-menu-open{
    overflow:hidden;
}



/*====================================================
 CONTAINER
====================================================*/


.nvx2-container{

    width:100%;
    max-width:1400px;
    margin:0 auto;
    padding:0 25px;

}





/*====================================================
 TOP BAR
====================================================*/


.nvx2-topbar{

    background:#fff;
    border-top:5px solid #c5132f;

}



.nvx2-topbar .nvx2-container{

    min-height:42px;

    display:flex;

    justify-content:flex-end;

    align-items:center;
	gap:30px

}




.nvx2-contact{

    display:flex;

    align-items:center;

    justify-content:flex-end;

    gap:22px;

}




.nvx2-social{

    display:flex;

    align-items:center;

    justify-content:flex-end;

    gap:10px;

}



.nvx2-contact a{


    color:#333;

    text-decoration:none;

    font-size:14px;

    transition:.3s ease;


}



.nvx2-contact a:hover{

    color:#0066cc;

}

.nvx2-social a{


    width:28px;

    height:28px;

    border-radius:50%;


    display:flex;

    align-items:center;

    justify-content:center;


    background:#0066cc;

    color:#fff;

    text-decoration:none;

    font-size:13px;


    transition:.3s ease;


}



.nvx2-social a:hover{


    background:#003d7a;

    transform:translateY(-3px);


}







/*====================================================
 MAIN HEADER
====================================================*/


.nvx2-header{


    position:sticky;

    top:0;


    z-index:9999;


    background:#fff;


    /*box-shadow:0 2px 15px rgba(0,0,0,.08);*/


    transition:.3s ease;


}



.nvx2-header.nvx2-scrolled{


    box-shadow:0 5px 25px rgba(0,0,0,.15);


}




.nvx2-header .nvx2-container{


    min-height:90px;


    display:flex;

    align-items:center;


}







/*====================================================
 LOGO
====================================================*/


.nvx2-logo{


    flex-shrink:0;


}



.nvx2-logo img{


    width:175px;

    height:auto;

    display:block;


}








/*====================================================
 DESKTOP NAVIGATION
====================================================*/


.nvx2-nav{


    flex:1;

    margin-left:35px;


}




.nvx2-menu{


    list-style:none;

    padding:0;

    margin:0;


    display:flex;

    align-items:center;

    justify-content:center;


    gap:22px;


}




.nvx2-menu li{


    position:relative;


}



.nvx2-menu > li > a{


    display:flex;

    align-items:center;

    gap:5px;


    padding:35px 0;


    text-decoration:none;


    color:#222;


    font-size:15px;

    font-weight:500;


    white-space:nowrap;


    transition:.3s ease;


}




.nvx2-menu > li > a:hover{


    color:#0066cc;


}







.nvx2-arrow{


    font-size:10px;


}







/*====================================================
 DESKTOP FIRST LEVEL DROPDOWN
====================================================*/


.nvx2-submenu{


    position:absolute;


    top:100%;

    left:0;


    width:320px;


    background:#fff;


    margin:0;

    padding:10px 0;


    list-style:none;


    box-shadow:0 15px 40px rgba(0,0,0,.15);


    opacity:0;

    visibility:hidden;


    transform:translateY(15px);


    transition:.3s ease;


}



.nvx2-dropdown:hover > .nvx2-submenu{


    opacity:1;

    visibility:visible;


    transform:translateY(0);


}






.nvx2-submenu li{


    position:relative;


}




.nvx2-submenu a{


    padding:12px 18px;


    display:flex;


    justify-content:space-between;

    align-items:center;


    text-decoration:none;


    color:#333;


    font-size:14px;


    transition:.3s ease;


}




.nvx2-submenu a:hover{


    background:#0066cc;


    color:#fff;


}








/*====================================================
 DESKTOP SECOND LEVEL DROPDOWN
====================================================*/


.nvx2-child-menu{


    position:absolute;


    left:100%;


    top:0;


    width:360px;


    background:#fff;


    margin:0;


    padding:10px 0;


    list-style:none;


    box-shadow:0 15px 40px rgba(0,0,0,.15);


    opacity:0;

    visibility:hidden;


    transform:translateX(15px);


    transition:.3s ease;


}



.nvx2-has-child:hover > .nvx2-child-menu{


    opacity:1;

    visibility:visible;


    transform:translateX(0);


}








/*====================================================
 APPOINTMENT BUTTON
====================================================*/


.nvx2-action{


    display:flex;

    align-items:center;


}



.nvx2-book-btn{


    background:#0066cc;


    color:#fff!important;


    padding:14px 28px;


    border-radius:30px;


    text-decoration:none;


    font-size:15px;


    white-space:nowrap;


    transition:.3s ease;


}




.nvx2-book-btn:hover{


    background:#003d7a;


}








/*====================================================
 MOBILE BUTTON
====================================================*/


.nvx2-mobile-btn{


    display:none;


    width:45px;

    height:40px;


    border:0;

    background:none;


    cursor:pointer;


}



.nvx2-mobile-btn span{


    display:block;


    width:30px;


    height:3px;


    margin:6px auto;


    background:#0066cc;


    border-radius:2px;


}

/*====================================================
 MOBILE PANEL
====================================================*/


.nvx2-mobile-panel{


    position:fixed;


    top:0;


    left:0;


    width:340px;


    max-width:90%;


    height:100vh;


    background:#fff;


    z-index:10001;


    transform:translateX(-100%);


    transition:transform .35s ease;


    overflow-y:auto;


    -webkit-overflow-scrolling:touch;


}



.nvx2-mobile-panel.active{


    transform:translateX(0);


}







/*====================================================
 MOBILE HEADER
====================================================*/


.nvx2-mobile-head{


    height:65px;


    padding:0 20px;


    background:#0066cc;


    color:#fff;


    display:flex;


    align-items:center;


    justify-content:space-between;


}



.nvx2-mobile-head strong{


    font-size:20px;


}




.nvx2-close{


    border:0;


    background:none;


    color:#fff;


    font-size:36px;


    line-height:1;


    cursor:pointer;


}








/*====================================================
 MOBILE MENU LIST
====================================================*/


.nvx2-mobile-list{


    list-style:none;


    margin:0;


    padding:15px 20px;


}



.nvx2-mobile-list li{


    border-bottom:1px solid #e7e7e7;


}







.nvx2-mobile-list a{


    display:flex;


    align-items:center;


    justify-content:space-between;


    padding:14px 5px;


    color:#222;


    text-decoration:none;


    font-size:15px;


}







/*====================================================
 MOBILE DROPDOWN TITLES
====================================================*/


.nvx2-mobile-drop > div,
.nvx2-mobile-sub-drop > div{


    display:flex;


    justify-content:space-between;


    align-items:center;


    padding:14px 5px;


    cursor:pointer;


    color:#222;


    font-size:15px;


}



.nvx2-mobile-drop > div span,
.nvx2-mobile-sub-drop > div span{


    font-size:20px;


    color:#0066cc;


}







/*====================================================
 MOBILE SUB MENUS CLOSED
====================================================*/


.nvx2-mobile-drop > ul,
.nvx2-mobile-sub-drop > ul{


    display:none;


    list-style:none;


    margin:0;


    padding:0 0 0 15px;


}







/*====================================================
 ACTIVE DROPDOWN
====================================================*/


.nvx2-mobile-drop.active > ul,
.nvx2-mobile-sub-drop.active > ul{


    display:block;


}







/*====================================================
 LEVEL 2 MENU
====================================================*/


.nvx2-mobile-sub-drop{


    background:#fafafa;


}



.nvx2-mobile-sub-drop > div{


    padding-left:10px;


}








/*====================================================
 LEVEL 3 LINKS
====================================================*/


.nvx2-mobile-child-menu{


    background:#fff;


}



.nvx2-mobile-child-menu li a{


    padding:12px 10px;


    font-size:14px;


    color:#555;


}






.nvx2-mobile-child-menu li a:hover{


    color:#0066cc;


}







/*====================================================
 OVERLAY
====================================================*/


.nvx2-overlay{


    position:fixed;


    inset:0;


    background:rgba(0,0,0,.55);


    z-index:10000;


    opacity:0;


    visibility:hidden;


    transition:.3s ease;


}



.nvx2-overlay.active{


    opacity:1;


    visibility:visible;


}








/*====================================================
 RESPONSIVE
====================================================*/


@media(max-width:1200px){



    .nvx2-nav{


        display:none;


    }



    .nvx2-mobile-btn{


        display:block;


        margin-left:auto;


    }



    .nvx2-action{


        display:none;


    }



}






@media(max-width:768px){



    .nvx2-container{


        padding:0 15px;


    }



    .nvx2-topbar{


        display:none;


    }



    .nvx2-logo img{


        width:145px;


    }



    .nvx2-header .nvx2-container{


        min-height:75px;


    }



}

@media(max-width:768px){

    .nvx2-topbar{
        display:none;
    }

}