/*
 Theme Name:     Glick Haupt Marino LLP
 Description:    Custom Divi Theme for Glick Haupt Marino LLP
 Author:         Paul Dumbauld
 Author URI:     https://pauldumbauld.com
 Template:       Divi
 Version:        1.0.46
*/

/* -------------------------------------------------------------------------- */
/*                                   Fixes                                    */
/* -------------------------------------------------------------------------- */
/* Glitch with sticky mobile menu and empty strip at top in desktop*/
.et_pb_sticky_placeholder {	
	pointer-events: none !important;
}
/* Empty strip under nav at sticky switch in desktop is box-shadow side effect*/

/* Jumpy header fix */
/*.et-l.et-l--header .et_builder_inner_content.et_pb_gutters3 { /* 118 glitchy on less than HD */
	/*height: 117.85px !important;*/
	/*height: 118px !important;*/
/*}*/
/* -------------------------------------------------------------------------- */
/*                                  Globals                                   */
/* -------------------------------------------------------------------------- */
:root {
	--ghm-moss: #82A68A;
	--ghm-green: #407956;
	--ghm-blue: #153942;
	--ghm-gray: #4A4A4A;
	--ghm-silver: #F0F0F0;
	--ghm-accent: var(--ghm-green);
	--ghm-offwhite: var(--ghm-silver);
	--ghm-accent-light: var(--ghm-moss);
	--ghm-overlay: rgba(21,57,66,0.85);
	--ghm-accent-light-overlay: rgba(130,166,138,0.5);
	--ghm-white-overlay: rgba(255,255,255,0.75);
	--ghm-shadow: rgba(0,0,0,0.1);
}
html {
	scrollbar-color: var(--ghm-moss) var(--ghm-blue);
}

/*h2 a, h3 a {line-height: 1.3em;}*/
.et_pb_text a, .et_pb_post_content a { text-decoration: underline;}

.no-pad {
	padding-top: 0px !important;
	padding-bottom: 0px !important;
}
.nav-pad {
	padding-top: 10px !important;
	padding-bottom: 10px !important;
}
.full-width {
	width: 100% !important;
	max-width: 2000px !important;
	padding: 0!important;
}
.width-90 {
	width: 90% !important;
	max-width: 2000px !important;
}
.et_pb_row {width: 90%;}

small {display:inline-block; font-size: 0.8em; font-style: italic; line-height: 1.2;}

.et_pb_scroll_top.et-pb-icon {
	background: var(--ghm-blue);
	color: white;
	border-top: 2px solid var(--ghm-accent-light);
	border-left: 2px solid var(--ghm-accent-light);
	border-bottom: 2px solid var(--ghm-accent-light);
	border-radius: 4px 0px 0px 4px;
}
hr {color: var(--ghm-accent-light);}

/* WCAG improvement for dotnav */
.et-pb-controllers a {
    border-radius: 14px;
    width: 14px;
    height: 14px;
}
/* -------------------------------------------------------------------------- */
/*                                   Buttons                                  */
/* -------------------------------------------------------------------------- */
/*body .et_pb_button, body.et-db #et-boc .et-l .et_pb_button {
	box-shadow: inset 0 0 0 2px var(--ghm-accent)!important;
}*/
/*body .et_pb_button:hover {text-decoration: none;}*/
body .et_pb_button.et_pb_bg_layout_dark, .et_pb_slide_description .et_pb_button{
	/*color: var(--ghm-green)!important;*/
	background-color: var(--ghm-green);
	border-color: var(--ghm-moss);
}
body .et_pb_button.et_pb_bg_layout_dark:hover, .et_pb_slide_description .et_pb_button:hover {
	color: var(--ghm-blue)!important;
	background-color: var(--ghm-silver); 
	border-color: white!important;
}
body .inline-buttons .et_pb_button_module_wrapper {
    display: inline-block;
	margin: 0 10px;
}
body .inline-buttons {
	text-align: center!important;
}

/* -------------------------------------------------------------------------- */
/*                                   Sliders                                  */
/* -------------------------------------------------------------------------- */
/*.et_pb_slider {border-radius: 6px;}*/
.et_pb_slider .et_pb_slide { background-color: var(--ghm-blue)!important;}
.et_pb_slider .et_pb_slide {color: var(--ghm-moss);}
.et_pb_slider .et_pb_slide_content {font-size: 18px;}
.et_pb_slide_description .et_pb_slide_title { 
	font-family: 'Lora',Georgia,"Times New Roman",serif;
	font-weight: 400;
	font-style: italic;
	font-size: 1.8em;
}

/* -------------------------------------------------------------------------- */
/*                                 Navigation                                 */
/* -------------------------------------------------------------------------- */
body #main-header/*, body .et-fixed-header#main-header*/ {
	/*box-shadow: none!important;*/
	box-shadow: 0px 38px 50px 0px var(--ghm-shadow)!important;
}
/*body .has_et_pb_sticky #main-header {
	box-shadow: 0px 38px 50px 0px var(--ghm-shadow)!important;
}*/
#main-header .et_pb_row {
	display: flex;
	align-items: center;
	padding: 10px 0px;
}
#main-header .et_pb_menu .et_pb_menu__wrap {
	justify-content: center;
}
#main-header .et_pb_menu .et-menu > li {
	padding-left: 20px;
	padding-right: 20px;
}
#main-header .et-menu a {
	color: var(--ghm-blue);
	font-size: 24px;
	font-weight: 600;
}
#main-header .et-menu a:hover, #main-header .nav ul li a:hover { opacity: 1;}
/*.et_pb_sticky .et-menu a {transform: scale(0.75);}*/
/* -------------------------------- Sub Menu -------------------------------- */
#main-header .nav li ul {
	width: auto;
	border-top: 2px solid var(--ghm-silver);
}
#main-header .nav li li a {
	font-size: 1.3em;
	width: 240px;
}
/* --------------------------------- Sticky --------------------------------- */
#main-header .logo {
	transition: width 300ms ease 0ms;
	width: 100%;
}
#main-header.et_pb_sticky .logo { width: 65%;}
/* -------------------------------------------------------------------------- */
/*                                   Heroes                                   */
/* -------------------------------------------------------------------------- */
.hero {background-color: var(--ghm-blue);}
.hero > .et_pb_background_mask {
	transform: scale(-1,1);
	background-image: url(data:image/svg+xml;base64,PHN2ZyAgZmlsbD0icmdiYSgxMzAsMTY2LDEzOCwwLjUpIiB2aWV3Qm94PSIwIDAgMTkyMCAxNDQwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNDIzLjQzLDExNDUuNzksMTkyMCw5NTguMjNWMEg4MzIuODNsNDAwLjMyLDEwNTkuODVBMTQ3LjY0LDE0Ny42NCwwLDAsMCwxNDIzLjQzLDExNDUuNzlaIi8+PC9zdmc+);
}
.et_pb_background_mask {
	background-size: calc(100% + 2px) calc(100% + 2px);
	background-repeat: no-repeat;
	background-position: 50%;
	overflow: hidden;
}
.et_pb_background_mask {
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}
.hero .et_pb_row {display: flex;}
.hero .et_pb_column:first-child {
	background-color: var(--ghm-overlay);
	border-radius: 6px 6px 6px 6px;
	overflow: hidden;
	border: 2px solid var(--ghm-blue);
	padding: 40px;
	backdrop-filter: blur(4px);
	animation: blur-in 300ms .5s both; /* Important */
}
/* ---------------------------- Faster Box Shadow --------------------------- */
/* https://tobiasahlin.com/blog/how-to-animate-box-shadow/ */
.hero .et_pb_image_0 .et_pb_image_wrap img {
	border-radius: 6px;
	border: 2px solid var(--ghm-moss);
}
@keyframes shadowFadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/*.hero .et_pb_image_0 .et_pb_image_wrap {overflow: visible;}*/
.hero .et_pb_image_0 .et_pb_image_wrap::after, #team .et_pb_team_member::after, #practice-areas .et_pb_blurb::after {
	content:"";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	border-radius: 6px;
}
.hero .et_pb_image_0 .et_pb_image_wrap::after {
	animation: 1s ease-in-out 0s 1 shadowFadeIn;
	box-shadow: 40px 40px 0px 0px rgba(130,166,138,0.5);
	opacity: 1;
}
#team .et_pb_team_member::after, #practice-areas .et_pb_blurb::after {
	box-shadow: 0 67px 25px -24px var(--ghm-shadow);
	opacity: 0;
	transition: opacity 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#team .et_pb_team_member:hover::after, #practice-areas .et_pb_blurb:hover::after{
	opacity: 1;
}

/* -------------------------------------------------------------------------- */
/*                                  Taglines                                  */
/* -------------------------------------------------------------------------- */
.tagline h1 span, .tagline h2 span {
	display: block;
	padding-top: 10px;
	font-family: 'Lora',Georgia,"Times New Roman",serif;
	font-size: 1.6em!important;
	font-weight: 400!important;
	line-height: 1.1em;
}
.tagline h1 span {color: var(--ghm-moss)!important;}
.tagline h2 span {color: var(--ghm-green)!important;}
.tagline.et_pb_bg_layout_dark h1, .tagline.et_pb_bg_layout_dark h2 { color: white!important;}
.tagline.et_pb_bg_layout_dark h1 span, .tagline.et_pb_bg_layout_dark h2 span { color: var(--ghm-moss)!important;}

/* -------------------------------------------------------------------------- */
/*                              Staggered Layout                              */
/* -------------------------------------------------------------------------- */

/* Fix for fullwidth rows in Theme Builder */
.et-db #et-boc .et-l .et_pb_row:has(div.full-width) {
	width: 100%;
	max-width: 2000px;
}
.image-left .et_pb_image_wrap, .image-right .et_pb_image_wrap {
	display: flex;
	justify-content: center;
	overflow: hidden;
	max-height: 80vh;
}
.image-left .et_pb_image_wrap::after, .image-right .et_pb_image_wrap::after{
	position: absolute;
	content:"";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.image-left .et_pb_image_wrap::after { background: linear-gradient(to right, transparent 70%, white 100%); }
.image-right .et_pb_image_wrap::after{ background: linear-gradient(to left, transparent 70%, white 100%); }

.image-left img, .image-right img {
	max-width: max-content;
	height: 100%;
}
.staggered .et_pb_row, .image-left, .image-right { 
	display:flex;
}
.full-width.image-right .et_pb_column:first-child {
	padding: 5% 0 5% 5%;
}
.full-width.image-left .et_pb_column:last-child {
	padding: 5% 5% 5% 0;
}

/* ---------------------------------- Lists --------------------------------- */
.et_pb_text ul li {
	padding: 0 0 10px 0;
	break-inside: avoid;
}
.et_pb_text ul {
	padding-bottom: 0;
}
.et_pb_text ul li::marker {
	/*margin: 0 .5rem 0 0;*/
	color: var(--ghm-moss);
	font-size: 1.2em;
}
.et_pb_text ul {
    column-count: 2;
    column-gap: 5.5%;
}
.et_pb_text ul {
	padding: 20px;
}
/* Sub lists */
#left-area ul ul, .entry-content ul ul, .et-l--body ul ul {
	list-style-type: circle;
	padding: 10px 0 0 20px;
}

#top-menu-nav > ul > li > a:hover { opacity: 1;}
/* ---------------------------------- Icons --------------------------------- */
a.phone, a.email {
	position: relative;
	z-index: 20;
	font-weight: 500!important;
}
a.phone::before, a.email::before {
	display: inline-block;
	font-family: 'ETmodules';
	font-size: 18px;
	padding-right: 5px;
	color: var(--ghm-accent-light-overlay);
}
a.phone::before {
	content: '\e090';
}
a.email::before {
	content: '\e076';
}

/* -------------------------------------------------------------------------- */
/*                                 Flex Grids                                 */
/* -------------------------------------------------------------------------- */
#team, #practice-areas {
	background-color: var(--ghm-silver);
}
#team .team-grid > .et_pb_column, #team .team-grid .et_pb_code_inner, #practice-areas .practice-grid .et_pb_column {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
/* Accessible fix for nested links in "cards" */
#team .team-grid .et_pb_module_header a::after, #practice-areas .et_pb_blurb h3 a::after {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}
#team .et_pb_team_member, #practice-areas .et_pb_blurb, .single-our-team .et_pb_team_member {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	align-content: flex-start;
	justify-content: center;
	text-align: center;
	max-width: 400px;
	margin: 0 12px 24px 12px !important;
	background: white;
	border: 2px solid white;
	border-radius: 6px;
	/*overflow: hidden;*/
	box-shadow: 0 40px 14px -35px var(--ghm-shadow);
	transition: all .4s ease 0s!important;
}
#team .et_pb_team_member:hover, #practice-areas .et_pb_blurb:hover {
	cursor: pointer;
	border: 2px solid var(--ghm-moss);
}
#practice-areas .et_pb_blurb_container {
	padding: 20px;
}
.et_pb_blurb_content {
	height: 100%;
}
#practice-areas h3 a {
	font-size: 20px;
	font-weight: 600;
	color: var(--ghm-blue);
}
/* ------------------------------ Hover Effects ----------------------------- */
#team .et_pb_team_member_image, .et_pb_team_member_image img { transition: all .4s ease 0s!important;}
.et_pb_team_member_image {
	max-width: 400px;
	max-height: 320px;
	border-radius: 4px;
	overflow: hidden;
	margin: 0 auto!important;
	line-height: 0 !important;
	position: relative;
	background-color: var(--ghm-accent);
	background-size: 415px;
}
#team .et_pb_team_member:hover .et_pb_team_member_image {
	opacity: 0.75;
}
#team .et_pb_team_member:hover img {
	transform: scale(1.1)!important;
}
.et_pb_team_member_description {
	width: 100%;
	padding: 25px;
}
.et_pb_team_member_description a {
	padding-bottom: 12px;
	text-decoration: none;
	font-weight: 500;
}
.et_pb_team_member_description .et_pb_module_header {
	background-image: radial-gradient(ellipse at bottom,var(--ghm-silver) 0%, transparent 70%);
}
.et_pb_team_member_description > div {
	background-image: radial-gradient(ellipse at top,var(--ghm-silver) 0%, transparent 60%);
}
.et_pb_team_member_description p, .single-our-team .et_pb_team_member_description a {
	padding: 0.25em 0!important;
	position: relative; /* Fix for border fade */
}
.et_pb_member_position, .et_pb_member_position {
	color: var(--ghm-green);
	text-transform: uppercase;
	letter-spacing: 2px;
	line-height: 1;
	font-size: 20px;
	/*border-top: 1px solid var(--ghm-accent-light-overlay);*/
	/*border-bottom: 1px solid var(--ghm-accent-light-overlay);*/
}
/* ------------------------------ Faded Borders ----------------------------- */
.top-border-fade::before, .et_pb_member_position::before, .et_pb_member_position::after {
	content: "";
	width: 100%;
	max-width: 1080px;
	height: 1px;
	position: absolute;
	margin-left: auto;
	margin-right: auto;
	left: 0;
	right: 0;
	background: linear-gradient(to right,transparent 0%,var(--ghm-accent-light-overlay) 20%,var(--ghm-accent-light-overlay) 80%,transparent 100%);
}
.top-border-fade::before, .et_pb_member_position::before {top: 0;}
.et_pb_member_position::after {	bottom: 0;}

/* ------------------------------ Link Hover FX ----------------------------- */
.et_pb_text a, .et_pb_module_header a, header .nav a, a.email, .et_pb_post_content a {
	background: linear-gradient(0deg, var(--ghm-accent), var(--ghm-accent)) no-repeat right bottom / 0 2px;
	transition: background-size 350ms!important;
	padding-bottom: 1px;
}
.et_pb_text a:where(:hover, :focus-visible), .et_pb_module_header a:where(:hover, :focus-visible), header .nav a:where(:hover, :focus-visible), a.email:where(:hover, :focus-visible), .et_pb_post_content a:where(:hover, :focus-visible) {
	background-size: 100% 2px;
	background-position-x: left;
}

/* -------------------------------------------------------------------------- */
/*                                 Team Cards                                 */
/* -------------------------------------------------------------------------- */
.single-our-team .et_pb_team_member_image {
	max-width: 100%;
	max-height: 600px;
}
.et_pb_team_member_description h2 {line-height: 1.2em;}
.single-our-team h1.et_pb_module_header {
	font-size: 29px;
	font-weight: 500;
}


/* -------------------------------------------------------------------------- */
/*                                Post Archives                               */
/* -------------------------------------------------------------------------- */
.et_pb_bg_layout_light .et_pb_blog_grid .et_pb_post .post-meta { 
	color: var(--ghm-accent-light); 
	border-top: 2px solid var(--ghm-accent-light); 
	border-bottom: 2px solid var(--ghm-accent-light);
	text-align: center;
}
.et_pb_bg_layout_light .et_pb_blog_grid .et_pb_post p {color: #757575;}
.et_pb_bg_layout_light .et_pb_blog_grid .et_pb_post .post-meta .published, .et_pb_bg_layout_light .et_pb_blog_grid .et_pb_post .post-meta a { color: var(--ghm-accent);}
.et_pb_blog_grid .et_pb_post {
	border: 1px solid var(--ghm-accent-light);
	box-shadow: 0 40px 14px -35px var(--ghm-shadow);
}
/*add a neceassry position to the blog posts*/
.et_pb_blog_grid .et_pb_post, .et_pb_posts .et_pb_post { position: relative;}
	
/*make the title link spread over the entire post*/
.et_pb_blog_grid .et_pb_post .entry-title a:after, .et_pb_posts .et_pb_post .entry-title a:after {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

/*change the mouse cursor into a pointer*/
.et_pb_blog_grid .et_pb_post:hover, .et_pb_posts .et_pb_post:hover {
	cursor: pointer;
}
.et_pb_blog_grid .et_pb_post .entry-featured-image-url {overflow: hidden;}
.et_pb_blog_grid .et_pb_post .et_pb_image_container img { transition: all .4s ease 0s!important;}
.et_pb_blog_grid .et_pb_post:hover .et_pb_image_container img {
	transform: scale(1.1)!important;
	opacity: 0.75;
}
/* -------------------------------------------------------------------------- */
/*                                    Posts                                   */
/* -------------------------------------------------------------------------- */


/* -------------------------------------------------------------------------- */
/*                                   Footer                                   */
/* -------------------------------------------------------------------------- */
footer .et_pb_social_media_follow li a.icon {
	border-radius: 4px;
	border: 2px solid var(--ghm-accent-light);
	background-color: var(--ghm-blue)!important;
	transition: border 300ms ease 0ms, background-color 300ms ease 0ms;
}
footer .et_pb_social_media_follow li a.icon:hover {
	border: 2px solid var(--ghm-blue);
	background-color: var(--ghm-accent)!important;
}
footer {
	position: relative;
	z-index: 100;
}
footer h3 {
	font-size: 32px!important;
	text-transform: uppercase;
	color: var(--ghm-accent);
}

#bottom-footer a {color: var(--ghm-accent-light);}
#bottom-footer .et_pb_text_inner, #bottom-footer a {font-size: 16px;}
#bottom-footer .copyright a {color: white;}

/* -------------------------------------------------------------------------- */
/*                                   Mobile                                   */
/* -------------------------------------------------------------------------- */
/*#main-header .et_mobile_menu {
	backdrop-filter: blur(5px);
  }*/
/*.et_mobile_menu li a, .nav li li a {
	font-size: 22px;
	text-transform: uppercase;
	text-align: center;
}*/

/* -------------------------------------------------------------------------- */
/*                          Responsive Media Queries                          */
/* -------------------------------------------------------------------------- */

/* --------------------------------- Tablet --------------------------------- */
@media screen and ( max-width: 1280px ) {
	#practice-areas ul li { width: 30%;	}
}

/* Non mobile menu breakpoint */
@media screen and (min-width : 981px) {
	.mobile-only {display: none!important;}
}

@media screen and ( max-width: 980px ) {
	/* --------------------------- Custom Mobile Menu --------------------------- */
	.mobile_menu_bar::before { color: var(--ghm-blue)!important; font-size: 40px;}
	#main-header .mobile_menu_bar {
		position: fixed!important;
		top: 15px;
		right: 15px;
		z-index: 100000;
	}
	.et_pb_menu__wrap .mobile_menu_bar {transform: translateY(0%);}
	.et_pb_menu .et_mobile_menu {top: 11px;}
	.et_pb_column_2_tb_header {display: none;}
	.et_pb_column_0_tb_header {/*order: 1;*/ margin-bottom: 0px!important;}
	.et_pb_column_1_tb_header {/*order: 2;*/ margin-bottom: 0px!important;}
	/*.et_pb_column_2_tb_header {order: 0;}
	.et_pb_button_0_tb_header_wrapper {text-align: left!important; margin-bottom: 10px !important;}
	.et_pb_sticky .et_pb_column_2_tb_header {display: none;}*/
	#main-header .et_pb_row { flex-wrap: wrap;}
	#main-header .container {width: 95%;}
	.et_mobile_menu li a {font-size: 18px;}
	/*Heroes and Staggered */
	.image-left { flex-wrap: wrap;}
	.hero .et_pb_row, .image-right { flex-wrap: wrap-reverse;}
	.hero .et_pb_row .et_pb_column:first-child, .image-right .et_pb_column:first-child { margin-bottom: 0;}
	.hero .et_pb_row .et_pb_column:last-child, .image-right .et_pb_column:last-child { margin-bottom: 30px;}
	.full-width.image-left .et_pb_column:last-child, .full-width.image-right .et_pb_column:first-child {padding: 5% 5% 5% 5%;}
	/* Hero Image Shadow */
	.hero .et_pb_image_0 .et_pb_image_wrap::after {	box-shadow: 20px 15px 0px 0px rgba(130,166,138,0.5);}
	/* Staggered Image Overlays */
	.image-left .et_pb_image_wrap::after, .image-right .et_pb_image_wrap::after {background: transparent;}
	/*Team Cards */
	.single-our-team .et_pb_team_member {margin: 0 auto!important;}
	.single-our-team .et_pb_team_member_image {max-height: 400px;}

}

/* ----------------------------- Phone Landscape ---------------------------- */
@media screen and ( max-width: 813px ) {
	/* Body */
	body {line-height: 1.4em;}
	/* Rows */
	.et_pb_row, .et-db #et-boc .et-l .et_pb_row { width: 95%; }
	/* Attorney Heros */
	#team .et_pb_member_position, #attorney-hero .et_pb_member_position {font-size: 20px;}
}
/* ------------------------------ Phone (Divi) ------------------------------ */
@media screen and ( max-width: 767px ) {
	.et-pb-arrow-next, .et-pb-arrow-prev {color: var(--ghm-moss);}
	.image-left .et_pb_image_wrap, .image-right .et_pb_image_wrap { max-height: 30vh;}
}

/* --------------------------- Phone Portrait Mode -------------------------- */
@media screen and ( max-width: 479px ) {
	.hero .et_pb_column:first-child {padding: 15px;}
	/* Headings */
	/*h1, h2 {font-size: 22px;}*/
	.tagline h1 span, .tagline h2 span { font-size: 1.2em !important; line-height: 1.1;	}
	/* Headings */
	.et_pb_text ul {column-count: 1;}
	.et_pb_team_member_description h3 {font-size: 24px!important;}
	/* Inline Buttons */
	body .inline-buttons .et_pb_button_module_wrapper {	margin: 0px 10px 10px 10px;	}
	/*Sliders */
	.et_pb_slide {padding: 0% 0%;}
	.et_pb_slide_description {padding: 16% 2%;}
	.et_pb_slider.et_pb_module .et_pb_slides .et_pb_slide_content, .et_pb_best_value {font-size: 16px; max-width: 95%;}

}
/* ----------------------------- Smaller Phones ----------------------------- */
@media screen and (max-width: 420px ) {
	/*.hero {	padding-top: 34vw !important;}*/
}