/*
 Theme Name:     Divi5-Child-LDM
 Author:         Lentini Design and Marketing [LDM]
 Author URI:     https://lentinidesign.com

 Description:    Custom built by <strong>Lentini Design &amp; Marketing</strong> (<a href="https://lentinidesign.com/" target="_blank">lentinidesign.com</a>).

 Package:        ldm_custom
 Version:        2025.11.05
 
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Template:       Divi

*/
/** Validor Tool:
 *  https://jigsaw.w3.org/css-validator/
 */

/** [LDM] - Divi Child Theme
 *
 *
 */

/** [LDM] Common Divi Fixes - Some are Custom per site **/

/** Color Palette - Define 6 colors in DIvi Builder ** /
Colors:
Blue #293895
Gold #B69334
Dark Gold  #8B7A41
Brown #433733

Fonts:
Abhaya Libre regular (Only for Nav)
Playfair Display Regular (Headings)
Source Sans Pro Light, Regular and SemiBold (Light and Reg for body and all buttons are SemiBold)

 */

/** Here are the general ranges for each of the breakpoints within Divi:
  Large Desktop:   1405px and above
  Standard Desktop: between   1100px and 1405px
  Laptops and Large Tablets:   between 980px and 1100px
  Tablets:   between 768px and 980px
  Smartphones and small Tablets:   between 320px and 768px;
  Smartphones:   between 320px and 480px;
*/

/** 
 * Typography - 
 * Example local font loading - Add all font-weights and styles needed 
 */
/*
@font-face {
  font-display: swap; 
  font-family: 'Atkinson Hyperlegible';
  font-style: italic;
  font-weight: 700;
  src: url('fonts/atkinson-hyperlegible-v11-latin-700italic.woff2') format('woff2'); 
}
*/

/** Clobber (override) Theme Default Fonts - If Chosen font is not in Divi google font list, and we load it locally
 *  To override theme customizer site wide Default font (OpenSans)...  
 *  Adding !important will also Override any non-default font settings Customizer  
 *//*
  h1,h2,h3,h4,h5,h6 { font-family: 'Atkinson Hyperlegible',Helvetica,Arial,Lucida,sans-serif !important}
  body,input,textarea,select { font-family: 'Atkinson Hyperlegible',Helvetica,Arial,Lucida,sans-serif !important }
  #main-header,#et-top-navigation { font-family: 'Atkinson Hyperlegible',Helvetica,Arial,Lucida,sans-serif  !important}
*/
/** Override settings in individual DIVI modules site wide 
 *  Divi CTA,blurb,portfolio...
 *//*
body *:not([class*="icon"]),
body .et_pb_module h1.et_pb_module_header,/** /
body .et_pb_module h2.et_pb_module_header,
body .et_pb_module h3.et_pb_module_header,
body .et_pb_module h4.et_pb_module_header,
body .et_pb_module h5.et_pb_module_header,
body .et_pb_module h6.et_pb_module_header,
body .et_pb_module *:not([class*="icon"]) {font-family: 'Atkinson Hyperlegible',Helvetica,Arial,Lucida,sans-serif !important}
*/


/** All Sites - For tall mobile menues */
.et_mobile_menu {   
    overflow-y:scroll!important;
    max-height:80vh!important;
    -overflow-scrolling:touch!important;
    -webkit-overflow-scrolling:touch!important;
}


/** All Sites - Site/menu specific
 *  Resize top menu font to prevent menu line roll pre-mobile menu
 */
@media screen and (max-width: 1100px) {
 #top-menu li, #top-menu li a {
  font-size: 14px !important;
  padding-right: 0.7vw;
 }
 /* Dropdown arrows */
 #top-menu .menu-item-has-children>a:first-child:after, #et-secondary-nav .menu-item-has-children>a:first-child:after
 {font-size: 14px;}
 #top-menu .menu-item-has-children>a:first-child, #et-secondary-nav .menu-item-has-children>a:first-child {
    padding-right: 1.3vw;
 }
}
/**/

/** Site/menu specific
 * Change mobile menu breakpoint (default=980) 
 *//*
@media (max-width: 1023px) {
 #et_mobile_nav_menu {display: block;}
 #top-menu {display: none;}
}
*/

/** Site/menu specific
 *  Logo / Menu Wrap adjustments 
 *  Depends on logo width - logo grows height with wrapped menu container
 *  Add Left Pad top-menu when it wraps
 *  Control how large the logo can grow
*//*
@media (max-width:1400px){
  #et-top-navigation {padding-left:375px !important}
  img#logo {max-width:356px}
}
*/
/** Site/menu specific
 * Keep logo from overlapping menu itmes when they wrap 
 *//*
.logo_container {max-height: 86px;}
*/

/** All Sites -  Fix search icon rolling down */
@media only screen and (min-width: 981px) {
    .et_header_style_left #et_top_search {
        position: absolute !important;
        right: 0px;
    }
    .et_fullwidth_nav.et_header_style_left #et_top_search {right: 30px;}

    .et_header_style_left #et-top-navigation {/*menu - keep space for search icon*/
        /* padding-right: 2.5em !important; */
        padding-right: 40px !important;
    }
    .et_header_style_centered #et_top_search {
        position: absolute !important;
        right: -20px;
        top: 10px;
    }
    .et_header_style_centered #et-top-navigation {
        padding-right: 0px !important;
    }
}
.et_pb_menu__search-input {
	border:solid 1px silver !important;
	padding:1em;
}
@media (max-width:500px){
 .et_pb_menu__search-container {padding:0 !important}
 .et_pb_menu__search {
	width:90vw !important;
	position: absolute;
	z-index: 99999999;
	transform: translate(0%, -50%);
	background-color: white;
	top: 50%;
	padding: 10px 0 10px 10px;
	box-shadow: 0px 1px 5px 0px #aaa;
 }
}

/** All Sites - Small screens - Expand search input to cover header */
.et_search_form_container.et_pb_search_visible {
  background:white; /* match header BG */
}
@media (max-width: 400px){
 .et_header_style_left .et-search-form {
  width: 100% !important;
  max-width: 100% !important;
  z-index: 1000;
 }
}


/* Regular - squeeze and center top-menu to keep from wrapping * /
@media (max-width: 1200px) {
  #top-menu .ldm_donate_now a {
    padding:35px 1vw;
  }
  #top-menu li {
    padding-right: .5vw;
    font-size:10px
  }
  #top-menu-nav {
    text-align:center
  }
}
*/
/* Regular Menu wraps here - Adjust for wrapped Donate Now button * /
@media (max-width: 1023px) and (min-width: 981px) {
  #top-menu .ldm_donate_now a {
   padding: 15px 20px !important;
   margin-top:-50px
  }
  #top-menu li {
   padding-right: 1.3vw;
  }
}
*/

/** All Sites - 
 *  Mobile menu - Highlight current page - Can't do this with customizer 
 */
/*.et_mobile_menu .menu-item-has-children>a ,
#mobile_menu {text-transform: uppercase; font-weight:500; letter-spacing:1px}*/
#mobile_menu .current-menu-parent >a,
#mobile_menu li.current-menu-item >a 
{color:#293895;font-weight:bold;}
.et_mobile_menu .current-menu-parent.menu-item-has-children>a  
{border:1px solid #293895}
#mobile_menu li.current_page_item:not(.current-menu-ancestor) >a
{
  background-color:#293895;
  color:white !important;
}

/** Increase width of drop-down menus * /
@media screen and (min-width: 981px) {
 .sub-menu {min-width: 300px;}
 #top-menu li li a {width: 260px;
	padding: 4px 12px;
 }
 .ldm_get_involved_nav .sub-menu {min-width: 380px;}
  #top-menu li.ldm_get_involved_nav li a {width: 325px;}
}
*/

/** menu colors * /
#et_search_icon:hover,#top-menu li.current-menu-ancestor>a,#top-menu li.current-menu-item>a,.bottom-nav li.current-menu-item>a,.comment-reply-link,.entry-summary p.price ins,.et-social-icon a:hover,.et_password_protected_form .et_submit_button,.footer-widget h4,.form-submit .et_pb_button,.mobile_menu_bar:after,.mobile_menu_bar:before,.nav-single a,.posted_in a,.woocommerce #content div.product p.price,.woocommerce #content div.product span.price,.woocommerce #content input.button,.woocommerce #content input.button.alt,.woocommerce #content input.button.alt:hover,.woocommerce #content input.button:hover,.woocommerce #respond input#submit,.woocommerce #respond input#submit.alt,.woocommerce #respond input#submit.alt:hover,.woocommerce #respond input#submit:hover,.woocommerce-page #content div.product p.price,.woocommerce-page #content div.product span.price,.woocommerce-page #content input.button,.woocommerce-page #content input.button.alt,.woocommerce-page #content input.button.alt:hover,.woocommerce-page #respond input#submit,.woocommerce-page #respond input#submit.alt,.woocommerce-page #respond input#submit.alt:hover,.woocommerce-page #respond input#submit:hover,.woocommerce-page .star-rating span:before,.woocommerce-page a.button,.woocommerce-page a.button.alt,.woocommerce-page a.button.alt:hover,.woocommerce-page a.button:hover,.woocommerce-page button.button,.woocommerce-page button.button.alt,.woocommerce-page button.button.alt.disabled,.woocommerce-page button.button.alt.disabled:hover,.woocommerce-page button.button.alt:hover,.woocommerce-page button.button:hover,.woocommerce-page div.product p.price,.woocommerce-page div.product span.price,.woocommerce-page input.button,.woocommerce-page input.button.alt,.woocommerce-page input.button.alt:hover,.woocommerce-page input.button:hover,.woocommerce .star-rating span:before,.woocommerce a.button,.woocommerce a.button.alt,.woocommerce a.button.alt:hover,.woocommerce a.button:hover,.woocommerce button.button,.woocommerce button.button.alt,.woocommerce button.button.alt.disabled,.woocommerce button.button.alt.disabled:hover,.woocommerce button.button.alt:hover,.woocommerce div.product p.price,.woocommerce div.product span.price,.woocommerce input.button,.woocommerce input.button.alt,.woocommerce input.button.alt:hover,.woocommerce input.button:hover,.wp-pagenavi a:hover,.wp-pagenavi span.current {
    color: #0f4c81
}
.et-search-form,.et_mobile_menu,.footer-widget li:before,.nav li ul,blockquote {
    border-color: #0f4c81
}
#et-secondary-nav li ul,#top-header {
    background-color: #0f4c81
}
*/

/** make LOGO larger on mobile * /
@media only screen and (max-width: 980px) {
    body header img#logo {
        max-width: 90%!important;
        max-height: 90%!important;
        height: auto!important;
        width: auto!important;
    }
}
*/

/** [LDM] Keep secondary nav visible on small screens (Not FIXED header) * /
@media screen and (max-width: 980px) {
	#page-container {padding-top: 0px !important;}
	#top-header {position: static !important;display: block !important;}
	#top-header .container {padding-top: 0.75em !important;}
	#page-container #main-header {position: relative !important;top: 0 !important;}
	#top-header #et-secondary-menu,
	#top-header #et-secondary-nav {display: block !important;}
	#top-header #et-secondary-nav li {text-align: center !important;}
	x#et-main-area {padding-top: 1px;}
}
*/

/** For FIXED Header Nav bars on Mobile */

/** [LDM] REMOVE IF No FIXED Top Menu * /
#top-header {min-height:31px}
@media screen and (max-width: 980px)
{
.et_secondary_nav_only_menu #main-header {top: 31px!important;}
#et-secondary-nav .ldm_learn_more a {margin-top:5px}	
}
@media screen and (max-width: 460px) 
{
 #top-header {min-height:69px}
 body.et_fixed_nav.et_secondary_nav_enabled #main-header {top: 69px!important;}
 #et-secondary-nav .ldm_learn_more{display:block;max-width:100px;margin:auto !important}
 #et-secondary-nav .ldm_learn_more a {margin-bottom:10px;}
 #top-header #et-secondary-nav li {text-align: center !important;}
 #top-header #et-secondary-nav {padding-top:5px}
}
/ ** END [LDM] REMOVE IF No Top Menu */

/** Add Fixed Main Menu for Mobile * /
@media (max-width: 980px) {
 .et_non_fixed_nav.et_transparent_nav #main-header, .et_non_fixed_nav.et_transparent_nav #top-header, .et_fixed_nav #main-header, .et_fixed_nav #top-header {
    position: fixed;
 }
 .et_menu_container {width:100%}
 #et_top_search {margin-right:0;}
 .et_secondary_nav_only_menu #top-header,
 #top-header #et-secondary-menu,
 #top-header #et-secondary-nav {display: block !important;}
}
.et_mobile_menu {
    overflow: scroll !important;
    max-height: 83vh;
}
/ ** END Add Fixed Main Menu for Mobile */




/**
 * Footer and Footer-Info
 */
#footer-info .ldm_menu {list-style:none}
#footer-info .ldm_menu a {font-weight:400} /*all screens*/
#footer-info .ldm_menu {/* text-align:center; */} /*for small screens*/
#footer-info .ldm_menu {list-style-type:none !important}
@media (min-width: 768px){ /*large screens*/
 #footer-info .ldm_menu li { display:inline-block; }
 #footer-info .ldm_menu li:after { content:" | ";padding: 0 12px;}
 #footer-info .ldm_menu li:last-child:after { content:""; padding:0}
}
@media (min-width: 980px){ /*large screens*/
 x#footer-bottom .container {width:65%}
 x#footer-info .ldm_menu {text-align:left;}
}
#footer-bottom .et-social-icons li:first-child {margin-left:0}
/* center footer info menu * /
#footer-info {
 float: none;
}
*/


.et-social-sharethis a.icon:before {
    content:"\e0a0";
}

/** Remove WP sidebar on non-Divi pages * /
#sidebar{display:none;}
#main-content .container:before {background: none;}
@media (min-width: 981px){
#left-area {width: 100%;padding-right: 0px !important;}}
*/



/** 
 * General Stuff
 */

/** Custom Links */
.ldm_nolink { pointer-events:none }
.ldm_break {display: block !important;font-size:0;line-height:0;}
.ldm_no_after:after { content:"" !important; padding:0 !important}

/** Center a Divi row (v and h) within it's container section */
.ldm_row_center {
  position:absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}


/* assign this CSS Class for a fullwidth row in a regular section */
.ldm_fullwidth_row {width:100%!important;max-width:none!important} 

/** List styles - move bullet outside list * /
body #main-content ul, body #main-content ol {
 list-style-position: outside;
}*/


/** Custom Buttons - NOTE: Set default button style in Customizer, but set padding and other stuff the customizer doesn;t give access to here*/
/*
.et_button_icon_visible .et_pb_button { padding-right: 2.5em;   padding-left: 1.7em !important;}
.et_button_icon_visible .et_pb_button:after {line-height: 1.8em;}
.et_pb_fullwidth_header .et_pb_button:after {line-height: 1.8em !important;}

body.et-db #et-boc .et-l .et_pb_button:after,
body .et_pb_button:after {font-weight: 900 !important;line-height: 1.8em!important;}
a.more-link {
	padding-right: 2.5em !important;
	padding-left: 1.7em !important;
	padding: .3em;
	border: 2px solid !important;
	border-radius:10px;
	margin-top:1em !important;
	display:inline-block;
	text-transform:capitalize;
	font-weight:bold;
	font-size:14px !important;
  transition: all .3s;
	line-height:1.7em !important;
}
a.more-link:after {
	position:absolute;
margin-left: 0.3em;
	padding-right:.8em;
	content: '$';
    font-size: 14px;
	font-weight: 900;
	font-family: ETmodules !important;
	vertical-align: middle;
	transition: all .2s;
	line-height:1.8em !important;
}

/* Hover * /
a.more-link:hover {border-color:transparent!important;}
body .et_pb_button:hover:after,
a.more-link:hover:after{ margin-left:30px !important}
*/



/** ALter Divi Blog-Grid thmb proportions 
 */
.et_pb_blog_grid_wrapper .entry-featured-image-url ,
.ldm_blog_1-1 .entry-featured-image-url { padding-top: 100%; display:block;}
.ldm_blog_3-2 .entry-featured-image-url { padding-top: 66.66%; }
.ldm_blog_4-3 .entry-featured-image-url { padding-top: 75%; }
.ldm_blog_16-9 .entry-featured-image-url { padding-top: 56.25%; }

.et_pb_blog_grid_wrapper .entry-featured-image-url img,
.ldm_blog_1-1 .entry-featured-image-url img,
.ldm_blog_3-2 .entry-featured-image-url img,
.ldm_blog_4-3 .entry-featured-image-url img,
.ldm_blog_16-9 .entry-featured-image-url img {
  position: absolute;
  height: 100% !important;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  object-fit: cover;
  object-position: center top !important;
  box-shadow: 0 0 1px 1px #77777742;
}
.et_pb_blog_grid_wrapper .post-content,
[class*=ldm_blog_] .post-content {
	min-height:90px;
	 display: flex; 
  align-items:baseline; 
  justify-content:space-evenly;
justify-content:space-between;
flex-direction:column;
}

/** END [LDM] Common Divi Fixes - Some are Custom per site **/


/** 
 *  SITE Customizations
 *
 */
 
 /** Complainz Plugin - Data Request Form on generated Opt-Out page
  *  To prevent showing the form completely: wizard > uncheck all states "Do you specifically target visitors from these states?"
  */
#cmplz_datarequest_email, #cmplz_datarequest_name
 {
    display: flex;
    justify-items: stretch;
	width:100%;
    max-width: 400px;
    margin-bottom: .7em;
}
#cmplz-datarequest-submit {
    color: #333;
    background: #ddd;
    border: solid 1px;
    padding: .5em 2em;
    margin: 1em 0;
	cursor:pointer;
	transition:all .5s;
}
#cmplz-datarequest-submit:hover {background:#dddddd55}


/** 
 * Footer
 *   #footer_contact
 *   #footer_info
 */
			 
#footer_info {

	/* Social follow */
	.et-social-rss a.icon:before {content: "\e076"; /* Email Icon - or "\e010" */}
	.et_pb_social_media_follow li a.icon {background-color: transparent !important;}

	/* Footer menu */
	.no-mobile-menu .et_pb_menu__wrap {justify-content: flex-start !important;}
	.et-menu li {text-align:left}
	.et-menu li a:after{
		content:"|";
		color: inherit;
		margin-left:22px;
	}
	.et-menu li:last-child a:after{content:'' !important;margin:0}
}
/* 'no-mobile-menu' Prevent the menu from collapsing into a hamburger icon */
@media (max-width: 980px) {
  .no-mobile-menu { 
	.et_pb_menu__menu {
	    display: flex !important; /* Show the full menu items */
	    flex-direction: row !important; /* Keep items horizontal */
	  }
	.et_pb_menu__toggle {display: none !important; /* Hide the hamburger icon */}
	.et_pb_menu--style-inline .et_pb_menu__menu {
	    flex-wrap: wrap; /* Allow menu items to wrap if screen is too narrow */
	}
  }
  #footer_info .et-menu li a:after{content:'' !important;margin:0!important}
}

/** 
 * Contact form (footer) 
 */
#footer_contact {
	input,textarea {color:inherit;font-weight:700 !important}
}
.ldm_footer_contact_form {
	::placeholder {color:#4d2d1e;font-weight:400 !important}

	/* error message */
	.et-pb-contact-message {
		p {text-align:center}
		ul{padding-left:21%;}
		p, ul:has(li) {background-color: #ffdcb3;}
	}
	.et_pb_contact .et_pb_contact_field .et_contact_error {border-width:5px !important;border-style:groove !important;}
	
	/* Submit button */
	.et_pb_contact_submit {
		border:none !important;
		text-decoration: underline;
		text-underline-offset: 0.7em;
		text-decoration-thickness: 1.5px;
		padding: 0;
	}
	.et_pb_contact_submit:hover {
		padding-top:0;
		padding-bottom:0;
	}
	.et_contact_bottom_container:after {
		content: ">";
		color:#ffe3c2;
		position: relative;
		position: absolute;
		bottom:.5em;
		right: 0;
		opacity:0;
		transition: all 0.5s ease-in-out;
	}
	.et_contact_bottom_container:hover:after {
		opacity:1;
		right:-20px;
	}
	
	/* custom reCAPTCHA legal notice (JS added below, required when hiding evergreen grecaptcha badge) */
	.recaptcha_terms a {color:inherit;text-decoration:underline}
	.recaptcha_terms {
		color: white;
		color:#ffe3c2;
		line-height: 1.2em;
		font-size: .7rem;
		text-align: left;
		align-self: anchor-center;
		opacity:0;
		transition: opacity 0.75s ease-in-out;
	}
	.et_contact_bottom_container:hover .recaptcha_terms {opacity:0.7;}
}
.grecaptcha-badge { visibility: hidden !important; }

/* also need this when hidding recaptcha badge:
<!-- Contact form - add recatcha legal text-->
<script>(function($) {
    $(document).ready(function() {
        $('.ldm_footer_contact_form .et_contact_bottom_container').prepend('<div class="recaptcha_terms">This site is protected by reCAPTCHA and the Google <a href="https://www.google.com/intl/en/policies/privacy/" target="_blank">Privacy</a> Policy and <a href="https://www.google.com/intl/en/policies/terms/" target="_blank">Terms</a> of Service apply</div>');
    });
})(jQuery);
*/

/** 
 * Paypal - Product page and Buttons 
 */
/** Header menu button */
.ldm_site_header .viewCartButtonContainer {
    background-color: transparent !important;
    color:var(--color-body-text) !important;
	x-background-color:var(--color-body-text) !important;
	x-color: var(--color-header-bg) !important;
}
/** products page - PP item card buttons */
.buttonColorStyle:not(.viewCartButtonContainer) {
	background-color:var(--color-body-text) !important;
	color:#ffe3c2 !important;
}

/** products page */ 
/* - PP item card Price font */
.price-container h3 {font-family: var(--et_global_body_font) !important;font-size:20px}
/* - v-align item text and buttons across cards */
@media (min-width:981px){.item-description {min-height: calc(20em - 5vw);}}
@media (min-width:1170px){.item-description {min-height: 260px;}}
@media (min-width:981px){.item-title {min-height:2em}}
@media (min-width:1170px){.item-title {min-height:1.5em}}
/* - let product desciption go 100% of container width */
[id^="form-container-"]{
	max-width:none !important;
	.selectContainer,
	.addToCartButtonContainer,
	.sideBySideContainer {max-width:320px;}
}

/* End Paypal */

/** 
 * Site-wide - General Helper classes
 */
 
/** Style text underline - for buttons and whole module links */ 
.ldm_text_underline :not(div){
	text-decoration: underline;
	text-underline-offset: 0.7em;
	text-decoration-thickness: 1.5px;
}
