/*-------------------------------------------------------
Theme Name: Divi Child Theme
Description: A child theme template for Divi
Template: Divi
Version: 1.0.0
----------------- ADDITIONAL CSS HERE ------------------*/
body{font-weight: 400!important;}
.menu-style .et_pb_menu .et-menu>li {padding: 0px 14px !important;}

 /* Divi Sub Menu Height */
.menu-style .et-menu .sub-menu {max-height: 400px; /* Adjust height as needed */overflow-y: auto;overflow-x: hidden;}

/*Top menu button*/
.top-btn a{border: 1px solid #010080 !important;background: #010080;padding: 15px 20px !important;opacity: 1 !important;border-radius: 15px;color: #fff!important;}
.et-db #et-boc .et-l .et_pb_menu_0_tb_header .top-btn a:last-child{color: #fff!important;}
.et_pb_menu_1_tb_header .et_mobile_menu .top-btn a:last-child{color: #fff!important;}
.et_pb_menu .et_pb_menu__menu>nav>ul>li{align-items:center!important;}
.et-db #et-boc .et-l .et_pb_menu_1_tb_header .top-btn a:hover:last-child {color: #fff !important;}
.top-btn a:hover{background:#D80F0F;border:1px solid #D80F0F!important;opacity: 1!important;transition: all .4s ease-in-out;}

/*Our services*/
.our-services .et_pb_main_blurb_image{margin-left: 10px;margin-bottom: 0px;}
.our-services .et_pb_blurb_content{display: flex;
flex-direction: row-reverse;
justify-content: space-between;}
.our-services h4{padding-bottom: 0px;}
.our-services .et_pb_blurb_container {padding-left: 0px;}

.our-services{position: relative;overflow: hidden;backdrop-filter: blur(15px);-webkit-backdrop-filter: blur(15px);transition: all .4s ease;z-index: 1;}
/* Glass Border */
.our-services::before{content: "";position: absolute;inset: 0;border-radius: 20px;padding: 1.5px;background: linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,.25),rgba(255,255,255,.05),rgba(255,255,255,.5));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite: xor;mask-composite: exclude;pointer-events: none;}
/* Hover */
.our-services:hover{transform: translateY(-8px);box-shadow: 0 20px 40px rgba(0,0,0,.10),0 0 25px rgba(255,255,255,.10);}
.our-services:hover::after{opacity: 1;}


/*service slider style*/
.service-btn a{font-size:16px;color:#D80F0F;}
.service-btn a:hover{color:#010080;}
.service-slide .et_pb_main_blurb_image{width:100% !important;max-width: 100% !important;}
.service-slide .et_pb_main_blurb_image,
.service-slide .et_pb_image_wrap {width: 100%;display: block;}
.service-slide .et_pb_main_blurb_image img {width: 100%;max-width: 100%;display: block;}
.service-description {margin-bottom: 10px;min-height:120px;}
.service-btn a{font-size:16px;color:#D80F0F;}
.service-btn a:hover{color:#010080;}

/*Hover effect*/
.service-slide .et_pb_image_wrap img{transition: transform .8s ease;transform-origin:center;}
.service-slide:hover .et_pb_image_wrap img{transform: scale(1.15);}
.service-slide .et_pb_image_wrap{overflow:hidden;}
.service-slide .et_pb_image_wrap::after{content:'';position:absolute;top:0;left:-120%;width:70%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-25deg);transition:.8s;z-index:2;}
.service-slide:hover .et_pb_image_wrap::after{left:150%;}

.slick-slider {-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;-webkit-touch-callout: none;-khtml-user-select: none;ms-touch-action: pan-y;touch-action: pan-y;-webkit-tap-highlight-color: transparent;}

.slick-list {position: relative;display: block;overflow-x: hidden;margin: 0;padding:  0px 0px 0px 0px;display:flex;overflow-y:hidden;margin:0px 0px 0px 0px;}

.slick-track{display:flex;padding-bottom:30px;}

.slick-track:before, .slick-track:after {display: table;content: '';}

.slick-slide {position: relative;float: left;height: 100%;min-height: 1px;margin:0px 10px;}

.divilife-3-col-feature-blurb-slider{
    position: relative;
}
/* Arrow Buttons */
.divilife-3-col-feature-blurb-slider .slick-arrow{
    width: 45px;
    height: 45px;
    border: 1px solid #d9d9d9 !important;
    border-radius: 50%;
    background: #fff !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    bottom: 0;
}

.divilife-3-col-feature-blurb-slider .slick-arrow, .divilife-3-col-feature-blurb-slider .slick-arrow:hover, .divilife-3-col-feature-blurb-slider .slick-arrow:focus {
    position: absolute;
    top: auto;
    bottom: 0;
    transform: none;
    font-size: 0;
    line-height: 0;
    padding: 0;
    color: transparent;
    outline: none;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 100;}

.divilife-3-col-feature-blurb-slider .slick-prev {left: calc(50% - 35px); }
.divilife-3-col-feature-blurb-slider .slick-next {left: calc(50% + 35px); } 
.divilife-3-col-feature-blurb-slider .slick-arrow:before {font-family: ETmodules;
    font-size: 30px;
    color: #0C3551;
    opacity: 1;}

.divilife-3-col-feature-blurb-slider .slick-arrow:hover:before {opacity: 0.8;color: #6BB003; }
.divilife-3-col-feature-blurb-slider .slick-prev:before { content: '\34'; }
.divilife-3-col-feature-blurb-slider .slick-next:before {content: '\35'; }  

/*Locations style*/
.location-list{
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 12px;
}

.location-list li{margin: 0;list-style: none;}

.location-list a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 46px;
    padding: 5px 5px;
    background: linear-gradient(
180deg, #F5F6FF, #fff);
    border: 1px solid #D6D7DE;
    border-radius: 14px;
    text-decoration: none;
    color: #010080;
    font-size: 14px;
    font-weight: 500;
    transition: all .3s ease;
    text-align: center;
}

.location-list a::before{
    content: "•";
    color: #1CB3F9;
    font-size: 20px;
    line-height: 1;
}

.location-list a:hover{
    transform: translateY(-3px);
    border-color: #1CB3F9;
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}

/* Gravity Form CSS */
/* validation css */
.validation_error, .instruction.validation_message {display:none;}
.gfield_description.validation_message {padding:0 !important;color:#c1272a !important;}
.gform_wrapper li.gfield.gfield_error{background:none !important;border:none !important;padding-top:0px !important;}
.gform_wrapper li.gfield.gfield_error.gfield_contains_required label.gfield_label{margin-top:0px !important;}
.gfield_error input{border:1px solid #c1272a !important;}
/* common css */
.gform_wrapper{margin-bottom:0px !important;}
 body .gform_wrapper ul li.gfield,input{margin-top:0px !important}
.gform_wrapper .gform_footer{padding-top:0px !important;margin-top:0px !important}
.gform_wrapper .field_sublabel_hidden_label .ginput_complex.ginput_container input[type="text"]{margin-bottom:0px !important}
.gform_wrapper textarea{height:120px !important}
.gform_wrapper li{margin-bottom:15px !important} 
.has_first_name label{display:none !important}
.gform_wrapper input,.gform_wrapper textarea,.gform_wrapper select{padding:15px !important;}
input[type="submit"]{padding:10px 30px !important;border:none !important;cursor:pointer;transition:ease-in-out 0.2s;letter-spacing: 0px;font-size: 16px;font-weight: 400 ;text-transform: capitalize !important;border-radius:0px;}
.datepicker{width: 100% !important;}
.gform_wrapper select{-webkit-appearance: none;-moz-appearance: none;-o-appearance: none;}
.ginput_container_select{position: relative;}
.ginput_container_select::before{content: '\f107';font-family: FontAwesome;position: absolute;color: #000;right: 25px;top: 50%;-webkit-transform: translateY(-50%);-moz-transform: translateY(-50%);transform: translateY(-50%);font-size: 20px;}
/* style-1 css */
.gf-style-one .gform_footer.top_label {margin-top: 15px !important;}
.gf-style-one ::placeholder{color:#AEAEAF;opacity:1 !important}
.gf-style-one input,.gf-style-one select,.gf-style-one textarea{background:#F9F9FA;color:#AEAEAF;border:none!important;border:1px solid #E0E4EA!important;border-radius:10px;}
.gf-style-one input[type="submit"], .gf-style-one button[type="submit"]{color:#fff;background:#E50B10;border:1px solid #E50B10!important;padding: 14px 28px 14px 25px!important;width:100%;transition: ease-in-out 0.2s;font-size:16px;border-radius:50px;}
.gf-style-one input[type="submit"]:hover,
.gf-style-one button[type="submit"]:hover{color:#fff;background:#1523DF;border:1px solid #1523DF!important;transition: all .4s ease-in-out;}
.gf-style-one option.gf_placeholder {display: none !important;}

/*bullets point*/
.check-list ul{list-style:none;padding:0px !important;margin:0px !important;}
.check-list ul li{display:block;position: relative;padding-left: 20px;margin-bottom:10px;vertical-align:top;}
.check-list ul li::before{content:"\f105";font-family:FontAwesome;color:#1CB3F9;position:absolute;left:0px;top:0px;font-size:20px;}

/*2 col points*/
.live-list ul{list-style:none;padding:0px !important;margin:0px !important;}
.live-list ul li{display: inline-block;position: relative;padding-left: 15px;margin-bottom:10px;vertical-align:top;}
.live-list ul li{width: 48%;}
.live-list ul li::before{content:"\f105";font-family:FontAwesome;color:#1CB3F9;position:absolute;left:0px;top:0px;}

/*sidebar*/
.sidebar .wp-block-search__button{width:auto !important;color:#fff!important;background:#010080!important;font-weight:bold;border:1px solid #010080;}
.sidebar .wp-block-search__button:hover{color:#fff!important;background:#D80F0F!important;}
.et_pb_widget .wp-block-search__input, .widget_search #s{border:1px solid #010080;}
/* =========================
   FAQ ACCORDION
========================= */
.faq-toggle .et_pb_toggle{border:none !important;box-shadow:none !important;}
.faq-toggle .et_pb_accordion_item{position:relative;padding:20px 20px 20px 60px !important;margin-bottom:20px !important;overflow:visible;border: 1px solid #EBEBF3 !important;}
/* ----------------------------------
   REMOVE DIVI DEFAULT ICON
---------------------------------- */
.faq-toggle .et_pb_toggle_title{position:relative;padding-right:40px !important;}
/* Kill Divi's default icon */
.faq-toggle .et_pb_toggle_title:before{content:"" !important;
font-family:inherit !important;color:transparent !important;font-size:0 !important;}
/* ----------------------------------
   CUSTOM LEFT ICONS
----------------------------------- */
.faq-toggle .et_pb_accordion_item .et_pb_toggle_title:before{content:"" !important;position:absolute;left:-50px; top:80%;transform:translateY(-50%);width:40px;height:40px;border-radius:12px;background-color:rgb(21 35 223 / 6%);background-repeat:no-repeat;background-position:center;background-size:22px;display:block !important;font-size:initial !important;}
/* Item 1 */
.faq-toggle .et_pb_accordion_item_0 .et_pb_toggle_title:before{background-image:url("https://demo2.sharehq.org/generationalplumbingllc/wp-content/uploads/2026/06/Honest-Straightforward-Communication-icon.svg");}
/* Item 2 */
.faq-toggle .et_pb_accordion_item_1 .et_pb_toggle_title:before{background-image:url("https://demo2.sharehq.org/generationalplumbingllc/wp-content/uploads/2026/06/Dependable-Service-You-Can-Count-On-icon.svg");}
/* Item 3 */
.faq-toggle .et_pb_accordion_item_2 .et_pb_toggle_title:before{background-image:url("https://demo2.sharehq.org/generationalplumbingllc/wp-content/uploads/2026/06/Local-Experience-in-the-Houston-Bay-Area-icon.svg");}
/* Item 4 */
.faq-toggle .et_pb_accordion_item_3 .et_pb_toggle_title:before{background-image:url("https://demo2.sharehq.org/generationalplumbingllc/wp-content/uploads/2026/06/Quality-Workmanship-icon.svg");}
/* ----------------------------------
   CUSTOM PLUS / MINUS ICONS
----------------------------------- */
/* Closed */
.faq-toggle .et_pb_toggle_close .et_pb_toggle_title:after{content:"+" !important;position:absolute;right:0;top:50%;transform:translateY(-50%);}
/* Open */
.faq-toggle .et_pb_toggle_open .et_pb_toggle_title:after{content:"−" !important;position:absolute;right:0;top:50%;transform:translateY(-50%);}

/*faq toggle*/
.service-toggle .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title::after {
	content: "\f068";
	position: absolute;
 	right:0px !important;
	font-size: 16px;
	color: #21222a;
	top: 50%;
	margin-top: -12px;font-family:FontAwesome !important;
}
.service-toggle .et_pb_accordion .et_pb_toggle_title::before{
 	right: 0 !important;
}




/*Tab & Mobile menu collapse 
#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: 'd';}*/
/*adjust the new toggle element which is added via jQuery*/
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle {width: 44px;height: 100%;padding: 0px !important;max-height: 44px;border: none;position: absolute;right: 0px;top: 0px;z-index: 999;background-color: transparent;}
/*some code to keep everything positioned properly*/
ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children {position: relative;}
/*remove default background color from menu items that have children*/
.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a{background-color: transparent;font-weight: 400 !important;}
/*hide the submenu by default*/
ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu {display: none !important;visibility: hidden !important;}
/*show the submenu when toggled open*/
ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible {display: block !important;visibility: visible !important;}
/*adjust the toggle icon position and transparency*/
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle {text-align: center;opacity: 1;}
/*submenu toggle icon when closed*/
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after {top: 10px;position: relative;font-family: "ETModules";content: '';color: #00d263;background: #f0f3f6;border-radius: 50%;padding: 3px;}
/*submenu toggle icon when open*/
ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after {content: '';}
/*add point on top of the menu submenu dropdown*/
.et_pb_menu_0.et_pb_menu .et_mobile_menu:after {position: absolute;right: 5%;margin-left: -20px;top: -14px;width: 0;height: 0;content: '';border-left: 20px solid transparent;border-right: 20px solid transparent;border-bottom: 20px solid #ffffff;}
/*adjust the position of the hamburger menu*/
.mobile_menu_bar {position: relative;display: block;bottom: 10px;line-height: 0;}
/*force the background color and add a rounded border*/
.et_pb_menu_0.et_pb_menu .et_mobile_menu,
.et_pb_menu_0.et_pb_menu .et_mobile_menu ul {background-color: #ffffff!important;border-radius: 10px;}
.et_pb_menu__wrap .mobile_menu_bar:before {top: 8px !important;}
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after, .et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after{content: '\33' !important;color: #000!important;background: #f0f3f600 !important;}






 /* Mobile */

 @media (max-width: 980px) {
 .menu-style .et_mobile_menu .sub-menu {max-height: 300px;overflow-y: auto;}}


@media only screen and (max-width:1280px){
.menu-style .et_pb_menu .et-menu>li {padding: 0px 10px !important;}	
}
@media only screen and (max-width:1200px){
.menu-style .et_pb_menu .et-menu>li {padding: 0px 6px !important;}	
}
@media only screen and (max-width:1100px){
.menu-style .et_pb_menu .et-menu>li {padding: 0px 4px !important;}	
.menu-style a{font-size:15px !important;}	
}
@media only screen and (max-width:1024px){
.menu-style a{font-size:14px !important;}	
}


@media only screen and (max-width:980px){
.location-list{ grid-template-columns: repeat(4, 1fr);}	
.top-btn{width: 35%;text-align: center;}
.menu-style a{font-size:16px !important;}}
@media only screen and (max-width:768px){	
.top-btn{width: 40%;}}
@media only screen and (max-width:480px){	
.top-btn{width: 70%!important;}
.live-list ul li{width: 100%;}
.faq-toggle .et_pb_accordion_item .et_pb_toggle_title:before{width:40px;height:40px;left:-48px;background-size:18px;top: 60%;}
.location-list{grid-template-columns: repeat(2, 1fr);gap: 10px;}
.location-list a{font-size: 14px;min-height: 42px;padding: 10px;}	
}
@media only screen and (max-width:479px){
.et_pb_column.et_pb_column_1_3.our-services {margin-bottom:15px !important;}}
@media only screen and (max-width:425px){
.top-btn{width: 75%!important;}}
@media only screen and (max-width:320px){
.top-btn{width: 85%!important;}	
}