/*
 Theme Name:   DryerFire Child Theme
 Theme URI:    https://nm-design.com
 Description:  Divi Child Theme for DryerFire
 Author:       John L. Contarino
 Author URI:   https://nm-design.com
 Template:     Divi
 Version:      3.0.0
*/


/* GENERAL */

h1 { 
	font-size: 40px; 
	margin-bottom: 40px;
}

a { font-weight:bold; }

a:hover { 
	text-decoration: underline; 
	opacity: 1.0 !important;
}

.btn {
	font-weight:bold !important;
	padding: 10px !important;
	background-color: #c7332d !important;
	color:#ffffff !important;
	border: 1px solid #333 !important;
	border-radius:0 !important;	
}

.et_pb_testimonial_company { font-style: italic; }

blockquote {
    font-weight: bold;
    border-left: 10px solid #c7332e;
    padding-left: 20px;
    margin: 1em 0 1.5em; 
}

/* wider gap for default ordered lists in Divi text modules */
ol { 
    list-style: none !important;  /* kill native numbers so no duplicates */
    counter-reset: ol;
    margin: 0;
    padding: 0;
}

ol > li {
    position: relative;
    counter-increment: ol;
    padding-left: 1.5em;          /* <-- this is the marker→text gap; adjust */
    margin: 0.5em 0;
}

ol > li::before {
    content: counter(ol) ".";
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 700;
}


/* SPECIAL */

/* Equal height columns for Divi rows + optional vertical centering */
.equal-height-row {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap; /* keeps mobile stacking */
}

.equal-height-row .et_pb_column {
    display: flex;
    flex-direction: column;
}

.equal-height-row .et_pb_module {
    flex: 1;
    display: flex;
    flex-direction: column;
	justify-content: flex-start; /* justify-content: center; */
}

h3.et_pb_module_header {
	border-bottom:2px solid #333333;
	padding-bottom:10px;
	margin-bottom:20px;
	font-size:26px;
}

/* red circles for numbered lists */

.red-circles {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: step;
}

.red-circles li {
    list-style: none;
    position: relative;
    margin: 30px 0;
    padding-left: 3.5em;
    counter-increment: step;
}

.red-circles li::before {
    content: counter(step);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 2em;
    height: 2em;
    border-radius: 50%;
    background: #cc0000;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* HEADER */

@media (min-width: 500px) {
	#et-info a {
		margin-left:40px;
	}
}

#et-secondary-menu > ul > li > a:hover,
#et-info-phone:hover, #et-info-email:hover {
	opacity: 1 !important;
	text-decoration: underline;
	transition: none !important;
}

#et-info-phone:before, #et-info-email:before {
	margin-right: 8px;
	text-decoration: none !important;
	display: inline-block;
	pointer-events: none;
}
#top-menu li a:hover {
	text-decoration: underline;
}

/* Request Quote button, desktop only */
@media (min-width: 981px) {
	#top-menu li.nav-button a {
		padding: 10px !important;
		background-color: #c7332d;
		color:#ffffff;
		border: 1px solid #333;
	}
	#top-menu li.nav-button a:hover {
		background-color:#93332a;
		color:#fff;
		text-decoration: none;
		transition: none !important;
	}
	#top-menu li.nav-button a:visited {
		color:#ffffff;
	}
}

/* Responsive Optimizations */

@media (max-width: 1175px) {
	#top-menu li a {
		font-size: 18px !important;
	}
}
@media (max-width: 1060px) {
	#top-menu li a {
		font-size: 14px !important;
	}
}
@media (max-width: 600px) {
	#et-info-phone:before, #et-info-email:before { 
		display:none; 
		margin-right: 0;
	}
}
.mobile_menu_bar:before {
	color: #b83f35 !important;
	height: 28px !important; 
}
.et_mobile_menu {
	border-top: 3px solid #b83f35;
}
#mobile_menu a { 
	text-transform:uppercase;
}

#main-header {
    border-bottom: 2px solid #dbdbdb; 
}


/* FOOTER */

/* Center footer widgets vertically and horizontally */
#footer-widgets {
	padding:4% 0 0;
}

#footer-widgets .footer-widget {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	margin-bottom: 20px;
}

/* Add spacing between each widget block */
#footer-widgets .footer-widget > div {
	margin: 0.25em 0;
	padding-bottom: 10px;
}

/* Center the site credit at bottom */
#footer-info {
	float: none !important;
	text-align: center;
	margin: 0 auto;
	display: block;
	margin-bottom:20px;
}

/* Request Quote footer */
.btn-footer a {
	color:#333333 !important;
	background-color:#dbdbdb;
	padding: 3px 15px;
	margin-top:10px;
	border: 1px solid #000;
	border-radius:0;
}


/* Responsive */

@media (max-width: 600px) {
	#footer-widgets p {
		font-size:14px;
		padding-top:20px;
		text-align:center !important;
	}
}
@media all and (max-width: 767px) {
	#footer-widgets .footer-widget:nth-child(n),
	#footer-widgets .footer-widget .fwidget {
		margin-bottom: 1.5% !important;
	}
}


/* WP FORMS */

.wpforms-field-divider { border-top:none !important; }

.wpforms-field-container h3 {
	padding-bottom:20px !important;
	border-bottom: 4px solid #dbdbdb !important;
}

