/*
 Theme Name:     Dry Law
 Description:    Custom Child Theme
 Author:         Paul Dumbauld
 Author URI:     https://pauldumbauld.com
 Template:       Divi
 Version:        2.1.2
*/

/* -------------------------------------------------------------------------- */
/*                                  Globals                                   */
/* -------------------------------------------------------------------------- */
:root {
	--wcag-primary: #3E54A1;
	--content-width: 90%!important;
}
body {font-weight: 400;}
strong {font-weight: 700;}
sup { bottom: .8em;	font-size: 0.6em;}
ol { list-style-type: decimal !important;}

#et-main-area a:not(.et_pb_button, .entry-title a, #practices a) {text-decoration: underline;}

.container {width: 90%;}

cite, em, i {color: var(--wcag-primary);}

#top-menu li a {font-weight: 500!important;}
/*#top-menu li.current-menu-item > a {font-weight: 700!important;}*/

.nav li ul { width: 360px;	padding: 20px 20px 30px 20px;}
#top-menu li li {display: block;}
#top-menu li li a {	padding: 6px 0px; width: 100%;}

.et_mobile_menu li a:hover, .nav ul li a:hover { background-color: rgba(0,0,0,0); opacity: .7;}

.et-fixed-header #logo {filter: brightness(0%) invert(100%);}

.et_pb_button {	padding: 12px 20px !important;}

.et_pb_button:hover {padding-right: 40px !important;}

.et_pb_fullwidth_header .et_pb_fullwidth_header_container {	width: 95%!important;}
/* ---------------------------------- Lists --------------------------------- */

#et-main-area ul li:not(.menu-item) {
	padding: 4px 5px 6px 0.5rem;
	list-style-type: circle;
}
#et-main-area ul li::marker {
	list-style-type: circle;
	margin: 0 .5rem 0 0;
	color: var(--wcag-primary);
}
/* ------------------------------- Blockquotes ------------------------------ */
blockquote {
	margin: 20px 0 30px;
	border-left: 3px solid var(--wcag-primary);
	padding-left: 20px;
}
blockquote p, .emphasis {
	font-size: 2rem;
	font-style: italic;
	line-height: 1.2em;
}
.left-border-fade {
	background-image: radial-gradient(ellipse at left,#ededed 0%,rgba(255,255,255,0) 70%);
	padding-left: 30px;
}
.left-border-fade::before{
	content: "";
	width: 2px;
	max-height: 1000px;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: linear-gradient(to bottom, rgba(62,84,161,0) 0%,rgba(62,84,161,0.25) 20%,rgba(62,84,161,0.25) 80%,rgba(62,84,161,0) 100%);
}
/* -------------------------------------------------------------------------- */
/*                                Link Hover FX                               */
/* -------------------------------------------------------------------------- */
a:not(:has(img)):not(.et_pb_button):not(.et-pb-slider-arrows a):not(.menu-item a) {
	background: linear-gradient(0deg, var(--wcag-primary), var(--wcag-primary)) no-repeat right bottom / 0 2px;
	transition: background-size 350ms!important;
	padding-bottom: 1px;
}
a:not(:has(img)):not(.et_pb_button):not(.et-pb-slider-arrows a):not(.menu-item a):where(:hover, :focus-visible) {
	background-size: 100% 2px;
	background-position-x: 50%;
}
/* LINK HOVER NAV */
#top-menu li a, #top-menu li a:hover {
	transition: all 350ms!important;
}
#top-menu li a:before {
	background: none repeat scroll 0 0 transparent;
	bottom: 0;
	top: 20px;
	content: "";
	display: block;
	height: 2px;
	left: 50%;
	position: absolute;
	background: var(--wcag-primary);
	transition: width 0.3s ease 0s, left 0.3s ease 0s;
	width: 0;
}
/*#top-menu li a, #top-menu li a:hover {
	transition: all 350ms ease-in-out;
}
#top-menu li a:before {
	background: none repeat scroll 0 0 transparent;
	bottom: 0;
	top: 20px;
	content: "";
	display: block;
	height: 2px;
	left: 50%;
	position: absolute;
	background: var(--wcag-primary);
	transition: width 0.3s ease 0s, left 0.3s ease 0s;
	width: 0;
}*/

/* DROP DOWN FIX */

#top-menu li li a::before { top: 100%;}
.et-fixed-header #top-menu li a:before {
	background: #fff;
}
#top-menu li a:hover:before, #practices .et_pb_text_inner a:hover:after { 
  width: 100%; 
  left: 0; 
}

/* -------------------------------------------------------------------------- */
/*                                    Blog                                    */
/* -------------------------------------------------------------------------- */
/*.et_grid_module > .et_pb_post .et_pb_image_container*/
.et_pb_post .entry-featured-image-url{overflow: hidden; margin-bottom: 0px;}

.et_grid_module > .et_pb_post .et_pb_image_container img { transition: all .4s ease 0s!important;}
/* Accessible fix for nested links */
.et_grid_module > .et_pb_post .entry-title a::after {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

.et_grid_module > .et_pb_post:hover .et_pb_image_container img {
	opacity: 0.75;
}
.et_grid_module > .et_pb_post img { 
	transform: scale(1.01)!important; /*fix subpixel rounding glitch*/
} 
.et_grid_module > .et_pb_post:hover img {
	transform: scale(1.1)!important;
}

.et_grid_module .et_pb_post {
	border-right: none;
	border-left: none;
	border-bottom: none;
	overflow: hidden;
}

.et_grid_module > .et_pb_post .entry-title {
	font-size: 20px!important;
	text-transform: none;
}
.single-post h1, .single-post h2, .single-post h3, .single-post h4, .single-post h5, .single-post h6 {
	text-transform: none;
} 
.single-post #featured-image {
	border-radius: 8px;
	overflow: hidden;
}
.et_pb_newsletter .et_pb_newsletter_field {	margin-bottom: 0!important;}
/* Endnotes */
.single-post [id*="endnote"]:first-of-type {margin-top: 30px;}
.single-post [id*="endnote"] p {font-size: .8rem;}
/* -------------------------------------------------------------------------- */
/*                                  Toggles                                   */
/* -------------------------------------------------------------------------- */
.et_pb_toggle {
	border-radius: 10px 10px 10px 10px;
	border-width: 2px;
	border-color: rgba(62,84,161,0.25);
}
.et_pb_toggle.et_pb_toggle_close {
	background-color: #F2F4F7;
}
.et_pb_toggle_close .et_pb_toggle_title {
	color: var(--wcag-primary);
}
.et_pb_toggle_close {
	background-color: #f4f4f4;
}
.et_pb_toggle_close .et_pb_toggle_title::before {
	font-size: 45px;
	right: -15px;
	color: var(--wcag-primary);
	font-family: ETmodules !important;
	font-weight: 400 !important;
	content: "\45" !important;
}
.et_pb_toggle_open .et_pb_toggle_title::before {
	font-size: 45px;
	right: -15px;
	font-weight: 400 !important;
	content: "\43" !important;
	color: #ccc;
}
/* -------------------------------------------------------------------------- */
/*                                   Events                                   */
/* -------------------------------------------------------------------------- */
/* Events Date Day Tweak */
.event-row .day {
	font-family: 'Montserrat',Helvetica,Arial,Lucida,sans-serif;
	font-weight: 500;
	text-transform: uppercase;
	text-align: center;
	font-size: 4rem;
	letter-spacing: 4px;
	margin-bottom: 20px !important;
	color: var(--wcag-primary);
	line-height: 1;
}

/* -------------------------------------------------------------------------- */
/*                                   Boxes                                    */
/* -------------------------------------------------------------------------- */
#practices .et_pb_blurb, .event-row, .et_grid_module .et_pb_post {
	background-color: #ffffff;
	border-radius: 8px 8px 8px 8px;
	border-top: 8px solid var(--wcag-primary);
	box-shadow: 0px 12px 18px -6px rgba(34,56,101,0.12);
	margin-bottom: 33px;
}
#practices .et_pb_blurb, .event-row {
	padding: 40px 40px 60px!important;
}
.event-row .et_pb_blurb_description h4 {margin-top: 5px; }
#practices .et_pb_blurb_content {
	max-width: 550px;
	margin: 0 auto;
	text-align: center;
}
#practices .et_pb_blurb_content .et_pb_blurb_container {
	text-align: center;
  }
#practices .et_pb_image_wrap {
	width: 32px;
}
.address.et_pb_blurb_position_left .et_pb_blurb_container {
	padding-left: 0px!important;
}
#practices .et_pb_blurb {
	transition: transform 300ms ease 0ms;
}
#practices .et_pb_blurb:hover {
	transform: scaleX(1.05) scaleY(1.05) !important;
}
/* -------------------------------------------------------------------------- */
/*                                 Attorneys                                  */
/* -------------------------------------------------------------------------- */
/* Accessible fix for nested links in "cards"  and TABS */
.et_pb_team_member .et_pb_module_header a::after {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}
.single-post .et_pb_team_member {max-width: 350px;}
.single-post .et_pb_team_member .et_pb_team_member_image {max-width: 100%; display: flex;}

.et_pb_team_member {
	max-width: 298px;
	margin: 0 auto;
	padding: 20px;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0px 12px 18px -6px rgba(34,56,101,0.12);
	border-top: 8px solid var(--wcag-primary);
	transition: transform 300ms ease 0ms;
}
.et_pb_team_member:hover {
	transform: scaleX(1.05) scaleY(1.05) !important;
}
.et_pb_team_member .et_pb_team_member_image {
	max-width: 258px;
	margin: 0 auto;
	border-radius: 50%;
	overflow: hidden;
	background: #f2f4f7;
}

.et_pb_team_member_description {
	text-align: center;
	margin: 20px 0 0;
}

.et_pb_team_member_description .et_pb_module_header {
	color: var(--wcag-primary);
	font-weight: 600;
	font-size: 20px;
	text-transform: uppercase;
}

.et_pb_member_position {
	font-family: 'Montserrat',Helvetica,Arial,Lucida,sans-serif;
	color: #6A6C6F;
	padding-bottom: 7px;
	text-transform: uppercase;
	line-height: 1.1;
	font-size: 16px;
}
.et_pb_team_member .contact_info {position: relative; z-index: 10;}

footer a {color: #fff!important; font-weight: 500;}
footer p {line-height: 1.2em;}

/* -------------------------------------------------------------------------- */
/*                             Attorney Profiles                              */
/* -------------------------------------------------------------------------- */
.single-attorneys .et_pb_button {
	font-size: 20px;
	border-radius: 8px;
	font-weight: normal;
	text-transform: none;
	text-decoration: none;
	letter-spacing: 1px;
	border: none!important;
	padding: 0px 5px 0px 25px !important;
	margin-bottom: 5px;
}
.single-attorneys .et_pb_button a {color: #fff!important;}
.single-attorneys .et_pb_button:hover {
	border: none!important;
	padding: 0px 10px 0px 35px !important;
}
.headshot .et_pb_image_wrap {max-width: 460px;}

/* PRACTICES SUBMENU */
.single-attorneys #practices a {display: inline-flex;}
.single-attorneys #practices a:first-of-type {margin-left: 0px;}
.single-attorneys #practices a:last-of-type {margin-right: 0px;}
.single-attorneys #practices a::before {
	/*content: "\25E6";*/
	content: "\FE65";
	color: #c8cfe4;
	display: inline-block;
	margin-right: 5px;
	font-size: 22px;
}

.single-attorneys #practices a, .single-attorneys article h2 a {
	background: linear-gradient(0deg, var(--wcag-primary), var(--wcag-primary)) no-repeat center bottom / 0 2px;
	transition: background-size 350ms;
	padding-bottom: 2px;
	margin: 0 10px;
}

#practices a:where(:hover, :focus-visible), article h2 a:where(:hover, :focus-visible) {
background-size: 100% 2px!important;
background-position-x: center;
}
#practices.et_pb_text {
	/*color: rgba(62,84,161,0.25) !important;*/
	color: rgba(62,84,161,0) !important;
}

.single-attorneys #et-main-area li ul {padding: 0 0 0 1em;} 
.single-attorneys #et-main-area .left-border-fade ul li {
	padding: 4px 0 6px 4px;
	list-style-type: circle;
	font-size: 16px;
	line-height: 1.3;
}
/* -------------------------------------------------------------------------- */
/*                               Practice Areas                               */
/* -------------------------------------------------------------------------- */

/* BLOG GRID MOD */
/* https://www.elegantthemes.com/blog/divi-resources/how-to-change-the-number-of-columns-in-the-divi-blog-module */
.wide-width {
	max-width: 1480px!important;
}

.tax-practice-areas .et-blog-css-grid > div {
	/*display: grid;*/
	display: flex;
	/*grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));*/
	gap: 20px;
	/* flex styles */
	flex-wrap: wrap;
	justify-content: center;
}
.tax-practice-areas .et-blog-css-grid .et_pb_post a img {
	vertical-align: bottom;
	max-width: 95%;
	border-radius: 100%;
	margin-bottom: 20px;
}
.tax-practice-areas .et-blog-css-grid h2.entry-title {
	font-size: 20px!important;
	font-weight: 700!important;
	text-align: center;
}
.tax-practice-areas #attorneys article {
	margin-bottom: 0px!important;
	max-width: 360px;
}
.et-blog-css-grid article {
	background-color: #fff;
	border-radius: 8px 8px 8px 8px;
	border-top: 8px solid var(--wcag-primary);
	padding: 20px 20px 30px !important;
	box-shadow: 0 12px 18px -6px rgba(34,56,101,.12);
	margin-bottom: 33px;
}

/* MOD GRID FOR SOLO ATTORNEY SPECIALTY */
/*.term-estate-planning .et-blog-css-grid > div {
	max-width: 650px;
	margin: 0 auto;
}
.term-bankruptcy .et-blog-css-grid > div {
	max-width: 1000px;
	margin: 0 auto;
}*/

/* -------------------------------------------------------------------------- */
/*                          Responsive Media Queries                          */
/* -------------------------------------------------------------------------- */

#mobile_menu a {text-transform: uppercase;}

/* ------------------------ Small Screens and Laptops ----------------------- */

/*@media all and (min-width: 1160px) {
	.single h1 { max-width: 1080px;}
}*/

@media all and (min-width: 981px) and (max-width: 1350px) {
	.single-attorneys .et_pb_text_inner h1 { font-size: 3rem; }
}
@media all and (min-width: 761px) and (max-width: 1150px) {

}

@media all and (max-width: 1600px) {
	.single-attorneys #practices { max-width: 980px; margin: 0 auto;}
	.single-attorneys #practices.et_pb_text { color: rgba(118,121,124,0) !important; }
}

@media all and (min-width: 981px) and (max-width: 1480px) {
	#logo {width: 200px;}
	#et-top-navigation {padding-left: 200px!important;}
	#top-menu li a, .et-fixed-header #top-menu li a { font-size: 16px!important; letter-spacing: 0px!important; }
	.event-row .day {font-size: 2.5rem;}
	body .et_pb_button {letter-spacing: 0px!important; }
}
@media all and (min-width: 981px) and (max-width: 1180px) {
	#top-menu li a, .et-fixed-header #top-menu li a { font-size: 14px!important; }
}

/* CHANGE MOBILE MENU BREAKS */
@media all and (min-width: 981px) and (max-width: 1080px) {
	.et-fixed-header .mobile_menu_bar::before {color:#fff;}
}
@media only screen and (max-width: 1080px) {
	#top-menu {display: none;}
	#et_mobile_nav_menu {display: block;}
}

/* TABLET STYLES */
@media screen and ( max-width: 980px ) {

}

/* Phone Landscape Mode */
@media screen and ( max-width: 767px ) {
	.et_pb_button {	padding: 10px 20px !important;}
	#practices .et_pb_blurb { padding: 40px 20px 60px!important; }
	.et_pb_fullwidth_header .et_pb_fullwidth_header_container {	width: 90%;	}
	.et_pb_fullwidth_header .et_pb_fullwidth_header_container.center .header-content { width: 100%; }
	.single-attorneys #practices.et_pb_text { line-height: 1; }
	.single-attorneys #practices a {display: block;}
	blockquote p, .emphasis {	font-size: 1.5rem;}
}

/* Odd Breaks on Mobile */
@media screen and (max-width: 620px ) {
}

/* Phone Portrait Mode */
@media screen and ( max-width: 479px ) {
	.et_pb_row {width: 90%;}
	.et_pb_toggle_open, .et_pb_toggle_close {padding: 10px;}
	.et_pb_toggle_open .et_pb_toggle_title::before, .et_pb_toggle_close .et_pb_toggle_title::before {font-size: 33px; right: -5px;}
}

/* Smaller Phones */
@media screen and (max-width: 420px ) {
	h1 {font-size: 2rem;}
}

@media print {
	#top-menu-nav, #et_top_search, #et_mobile_nav_menu {opacity: 0 !important;}
	.et_pb_toggle_content, .et_pb_all_tabs > div { display: block !important; opacity: 1 !important;}
	.no-print {display: none!important;}
	.reverse { display: flex; flex-direction: column-reverse;}
}