/*
Theme Name: NG Theme
Theme URI: https://ngtheme:8890/
Description: This is a custom child theme for NG Theme
Author: Never Gravity
Author URI: https://nevergravity.com/
Template: Divi
Version: 1.0.0
*/

/*--MAIN CSS--*/
h1, h2, h3, h4{
    font-weight:600;
    margin-bottom:10px;
}
h1, h1.entry-title {
  font-size: clamp(2rem, 1.6711rem + 1.3158vw, 3.25rem);
}
h2, .et_pb_column_2_5 h2{
  font-size: clamp(2rem, 1.8355rem + 0.6579vw, 2.625rem);
}
h2.gform_title{
    font-size:24px;
}
h3 {
  font-size: clamp(2rem, 1.9342rem + 0.2632vw, 2.25rem);
}
h4 {
  font-size: 1.2rem;
}
.sub-heading{
    font-size:22px;
}
.vert-align{
    display: flex;
    flex-direction: column;
    justify-content: center;
}
/*--Globals--*/
#logo{
    max-height:110px;
}
.et-fixed-header #logo{
    max-height:75px;
}
.img-cover .et_pb_image_wrap{
    width:100%;
}
.img-cover .et_pb_image_wrap img{
    width:100%!important;
    object-fit: cover;
}
.et_pb_text_inner a{
    text-decoration:underline;
}
/*-Cards-*/
.ng-card{
    display:flex;
    flex-direction:column;
}
/*Make card button stick to the bottom*/
.card-content{
    flex-grow:1;
}
/*-Horizintal Blurbs with icon-*/
.horizontal-blurb .et_pb_blurb_content{
    display:flex;
    flex-direction:row;
    align-items: center;
    gap:10px;
    max-width:none;
}
.horizontal-blurb .et_pb_blurb_content .et_pb_main_blurb_image{
    margin:0;
}
.horizontal-blurb .et_pb_blurb_content .et_pb_blurb_container{
    padding:0;
}
.horizontal-blurb .et_pb_blurb_content .et_pb_blurb_container h3, .horizontal-blurb .et_pb_blurb_content .et_pb_blurb_container h4{
    padding-bottom:0;
    margin-bottom:0;
}
.horizontal-blurb.phone-blurb .et_pb_blurb_content .et_pb_blurb_container a{
    color:initial;
    text-decoration: underline;
}
/*-Icon Grid for 5 columns on desktop (adjst columns for your nuumber of icons)-*/
.icon-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    column-gap: 50px; /* adjust spacing between icons */
    row-gap:25px;
    margin: 0 auto;
    justify-items: center;
    align-items: center;
}
.icon-grid .et_pb_image{
    margin:0;
}
/*-SVG Underline-*/
.ng-underline{
    position:relative;
}
.ng-underline:after{
    content: "";
    width:100%;
    height:30px;
    background-image: url(https://mikelafataplumbing:8890/wp-content/uploads/2025/07/yellow-underline.svg);
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    position:absolute;
    bottom:-15px;
    left:0;
}
/*-FAQ Styles-*/
.et_pb_toggle_title:before{
    content:"\4c";
}
.et_pb_toggle_open, .et_pb_toggle_close{
    padding:30px 0;
}
.et_pb_accordion .et_pb_toggle{
    margin-bottom:0px !important;
}
/*-Service Link Grid-*/
.service-list{
    display:grid;
    grid-template-columns: repeat(2, 1fr);
}
.service-list ul{
    padding:0;
}
.service-list ul li{
    list-style: none;
    margin-bottom:10px;
}
/*--NAV--*/
/*-Logo above Mega Menu-*/
.et_header_style_left .logo_container{
    z-index:1001;
    pointer-events: none;
}
.et_header_style_left .logo_container a, .et_header_style_left .logo_container img {
    pointer-events: auto;
}
#top-menu li.mega-menu>ul{
    z-index: 1000;
}

#et-top-navigation .header-cta a {
    background-color: #FFD700;
    color:#171717;
    padding: 13px 20px!important;
    border-radius: 7px;
    text-align: center;
    opacity:1!important;
    font-weight:700;
    font-size:14px;
    text-transform: uppercase;
}
#et-top-navigation .header-cta a:hover {
    background-color:#172462;
    color:white!important;
}
#et-top-navigation .header-cta a:before{
    display:none;
}
body ul#top-menu li.header-cta.current-menu-item > a {
    color:#171717;
}
/*--Add hover line under nav items--*/
#top-menu a:before{
    content: "";
    position: absolute;
    width: 100%;
    height: 3px;
    bottom: 0;
    left: 0;
    background: #172462;
    visibility: hidden;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
}
#top-menu a:hover:before {
  visibility: visible;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}
#top-menu-nav>ul>li>a:hover:before{
    opacity:1;
}
body ul#top-menu li.current-menu-item > a:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 3px;
    bottom: 0;
    left: 0;
    background-color: #172462;
    visibility: visible;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}
/*--Sub Menus--*/
/*-Prevent dropdown from opening when cursor hovers over menu area-*/
#top-menu-nav ul.sub-menu{
    padding:10px 20px 20px 20px;
    display:none;
}
#top-menu-nav li:hover>ul.sub-menu{
    display:block;
}
#top-menu-nav ul.sub-menu li{
    padding:0; 
}
#top-menu li.mega-menu>ul>li>a:first-child{
    padding-top:15px!important;
}
#top-menu li.mega-menu>ul>li>a{
    padding:15px!important;
}
/*-Change Sub Menu color if needed-*/
/*
#top-menu-nav ul.sub-menu li a{
    color:white;
}
#main-header .nav li ul.sub-menu{
    border-top:none;
}
*/
/*--Switch next and previous pagination--*/
.et_pb_posts_nav .nav-previous { float: right; }
.et_pb_posts_nav .nav-next { float: left; }
.et_pb_posts_nav .meta-nav { display: none; }
.et_pb_posts_nav .nav-next a:before { content: '← '; }
.et_pb_posts_nav .nav-previous a:after { content: ' →'; }

/*---START Collapsible Mobile Menu---*/
.mobile_menu_bar::before{
    color:#0e0e17;
}
/*change hamburger icon to x when mobile menu is open*/

#et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before,
.et_pb_module.et_pb_menu .et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before {
	content: '\4d';
    color:white;
}
.et_pb_menu .et_mobile_menu .menu-item-has-children > a,
#main-header .et_mobile_menu .menu-item-has-children > a {
    background-color: transparent;
    position: relative;
}
.et_pb_menu .et_mobile_menu .menu-item-has-children > a:after, #main-header .et_mobile_menu .menu-item-has-children > a:after {
    font-family: 'ETmodules';
    text-align: center;
    speak: none;
    font-weight: 600;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    position: absolute;
    font-size: 30px;
    content: '\4c';
    top: 15px;
    right: 13px;
}
.et_pb_menu .et_mobile_menu .menu-item-has-children.visible > a:after,
#main-header .et_mobile_menu .menu-item-has-children.visible > a:after {
    content: '\4b';
}
.et_pb_menu .et_mobile_menu ul.sub-menu,
#main-header .et_mobile_menu ul.sub-menu,
.et-db #et-boc .et-l .et_pb_menu .et_mobile_menu li ul.sub-menu {
    display: none !important;
    visibility: hidden !important;
    transition: all 1.5s ease-in-out;
}
.et_pb_menu .et_mobile_menu li.visible > ul.sub-menu,
#main-header .et_mobile_menu li.visible > ul.sub-menu,
.et-db #et-boc .et-l #main-header .et_mobile_menu li.visible > ul.sub-menu,
.et-db #et-boc .et-l .et_pb_fullwidth_menu .et_mobile_menu li.visible > ul.sub-menu,
.et-db #et-boc .et-l .et_pb_menu .et_mobile_menu li.visible > ul.sub-menu {
    display: block !important;
    visibility: visible !important;
}
/*--FOOTER--*/
#footer-widgets .footer-widget li:before {
    display:none;
}
#footer-widgets .footer-widget li {
    padding-left: 0px;
}
#footer-widgets .footer-widget li a{
    font-size:16px;
}
/*-Reset widget margins-*/
#footer-widgets .footer-widget .fwidget{
    float:none;
    margin-bottom:0;
}
#footer-widgets .footer-widget .fwidget .wp-block-image.ng-footer-logo{
    margin-bottom:15px;
}
#footer-widgets .footer-widget .fwidget .ng-footer-contact{
    margin-bottom:30px;
}
#footer-widgets .footer-widget .fwidget .ng-fwidget-title{
    display:block;
    font-size:18px;
    margin-bottom:15px;
    font-weight:700;
}
#footer-info{
    font-size:14px;
}
/*--Gravity Forms--*/
.gform_wrapper {
    --gf-ctrl-btn-font-family: "Poppins", sans-serif;
    --gf-ctrl-btn-font-size-md: 16px;
    --gf-ctrl-btn-font-weight: 600;
    --gf-ctrl-btn-text-transform: uppercase;
    --gf-ctrl-btn-color-primary:#171717;
    --gf-ctrl-btn-bg-color-primary:#FFD700;
    --gf-ctrl-btn-color-hover-primary: #FFFFFF;
    --gf-ctrl-btn-bg-color-hover-primary: #172462;
    --gf-ctrl-btn-padding-y: 15px;
    --gf-ctrl-btn-padding-x-md: 25px;
}
.gform-theme--api, .gform-theme--framework{
    --gf-ctrl-btn-radius:5px;
}
.gform-theme--api, .gform-theme--foundation{
    --gf-form-gap-y:20px;
}

/*--MEDIA QUERIES--*/

/*** Responsive Styles Desktop Only ***/
@media all and (min-width: 981px) {
    .et_header_style_left #et-top-navigation nav>ul>li>a{
        padding-bottom:35px;
    }
    .et_header_style_left #et-top-navigation{
        padding-top:25px;
    }
    .et_header_style_left .et-fixed-header #et-top-navigation{
        padding-top:10px;
    }
    .et_header_style_left .et-fixed-header #et-top-navigation nav>ul>li>a{
        padding-bottom:25px;
    }
}
/*** Responsive Styles Tablet And Below ***/
@media all and (max-width: 980px) {
    /*-Shrink mobile menu height-*/
    .et_header_style_left #et-top-navigation .mobile_menu_bar{
        padding-bottom:15px;
    }
    .et_header_style_left .et-fixed-header #et-top-navigation, .et_header_style_left #et-top-navigation{
        padding-top:15px;
    }
    .container.et_menu_container{
        width:90%;
    }
    .et_fixed_nav #main-header{
        display: flex;
        position:fixed;
    }
    #footer-widgets .footer-widget{
        float:none;
    }
    /*--Start Mobile Menu slide in--*/
    /*--Add box shadow to mobile menu--*/
    #et_mobile_nav_menu .mobile_nav.opened #mobile_menu{
        box-shadow: -15px 0px 10px 1px rgba(0, 0, 0, .5);
    }
    #mobile_menu{
        position:fixed;
        height:100vh!important;
        overflow:auto;
        right:0;
        left:auto;
        top:0;
        display:block!important;
        padding:60px 5% 5% 5%!important;
        background-color:#1c1c26!important;
        border-top: none;
        -webkit-transition: -webkit-transform 0.4s 0s;
        -moz-transition: -moz-transform 0.4s 0s;
        transition: transform 0.4s 0s;
        -overflow-scrolling:touch!important;
        -webkit-overflow-scrolling:touch!important;
    }
    /* Move the mobile menu back onto the screen when open using translateX(0%) */
    .mobile_nav.opened #mobile_menu {
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        -ms-transform: translateX(0);
        -o-transform: translateX(0);
        transform: translateX(0);
    }
    /* Move the mobile menu fully off the screen when closed using translateX(100%) */
    .mobile_nav.closed #mobile_menu {
        -webkit-transform: translateX(100%);
        -moz-transform: translateX(100%);
        -ms-transform: translateX(100%);
        -o-transform: translateX(100%);
        transform: translateX(100%);
    }
    .mobile_menu_bar{
        z-index: 9999;
    }
    .et_mobile_menu{
        z-index: 9998;
    }
    ul#mobile_menu{
        display:flex;
        flex-direction:column;
    }
    ul#mobile_menu li a{
        font-size: 20px;
        padding-top:20px;
        padding-bottom:20px;
        color:white;
        border-bottom:1px solid #525252;  
    }
    /*--END Mobile Menu Slide In--*/
    /*---CHANGE STACKING ORDER ON MOBILE---*/
    .custom_row, .custom_row_wide {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
            -webkit-flex-wrap: wrap; /* Safari 6.1+ */
        flex-wrap: wrap;
    }
    /*** custom classes that will designate the order of columns in the flex box row ***/
    .first-on-mobile {
        -webkit-order: 1;
        order: 1;
        padding-bottom:30px;
    }
    .custom_row_wide .first-on-mobile {
        -webkit-order: 1;
        order: 1;
        padding-bottom:0px;
    }
    .second-on-mobile {
        -webkit-order: 2;
        order: 2;
        margin-bottom:0px;
    }

    .third-on-mobile {
        -webkit-order: 3;
        order: 3;
    }

    .fourth-on-mobile {
        -webkit-order: 4;
        order: 4;
    }
    /*---END--CHANGE STACKING ORDER ON MOBILE---*/
}

/*** Responsive Styles Tablet Only ***/
@media all and (min-width: 768px) and (max-width: 980px) {
    /*--Start mobile menu slide in--*/
    #mobile_menu{
        width: 60%;
    }
    /*--END mobile menu slide in--*/
}

/*** Responsive Styles Smartphone Only ***/
@media all and (max-width: 767px) {
    /*--Start mobile menu slide in--*/
    #mobile_menu{
        width: 80%;
    }
    /*--END mobie menu slide in--*/
    .icon-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/*** Responsive Styles Smartphone Portrait ***/
@media all and (max-width: 479px) {

}

