/* 
Theme Name: Water Law & Policy Partners
Description: Custom child theme of Hello Elementor
Author: Paul Dumbauld
Author URI: https://pauldumbauld.com/
Template: hello-elementor
Version: 1.0.44
*/

/* -------------------------------------------------------------------------- */
/*                                   Globals                                  */
/* -------------------------------------------------------------------------- */

:root {
	--wcag-primary: #233835;
	--wcag-primary-overlay: #233835BA;
	--wcag-secondary: #7D674E;
	--wcag-secondary-overlay: #7D674E75;
	--wcag-accent: #d49647;
	--wcag-accent-light: #CFA06D;
	--wcag-accent-light-overlay: #CFA06D75;
	--wcag-offwhite: #E2D6BC; /*  WAS #F2F7FD*/
	--wcag-white: #F3EEE3;
	--wcag-shadow: rgba(0,0,0,0.075);
	--wcag-white-overlay: rgba(255,255,255,0.5);
	--border-radius-large: 0px 0px 0px 0px;
	--border-radius-small: 0px 0px 0px 0px;
}
html, .e-off-canvas__content {scrollbar-color: var(--wcag-primary) var(--wcag-offwhite);scrollbar-width: thin!important;}
body {padding: 0px; overflow-x: hidden;} :where(body) { margin: 0;} /* 3 key resets needed after ditching Gutenberg and to prevent overflow*/

main .e-con.e-parent:not(.elementor-widget-container *, .elementor-loop-container *) {padding: clamp(0px, 5%, 80px);} /* parent container padding */
main .e-con.e-parent:has(.accent-image) {padding: 0;}
/*main .e-con.e-parent.hero-large {padding: 15% 5% 10% 5%;}*/
main .e-con.e-parent.hero-large { padding: 0; height: 100vh;}
main .e-con.e-parent.hero-small {padding: 8% 4% 4% 4%;}
.padded-container {padding: clamp(0px, 5%, 80px);}

/*body.elementor-kit-7 button, .elementor-kit-7 input[type="button"], .elementor-kit-7 input[type="submit"], body.elementor-kit-7 .elementor-button {
	color: white!important;
}*/

.glass-overlay-dark {
	background-color: var(--wcag-primary-overlay);
	backdrop-filter: blur(8px) brightness(0.75);
	/*border: 1px solid var(--wcag-secondary-overlay);*/
	border-radius: var(--border-radius-large);
	z-index: auto;
}

.glass-overlay-dark .elementor-widget-text-editor {
	color: #fff!important;
}

header .e-con-full.elementor-sticky, #to-top {backdrop-filter: blur(8px) brightness(0.75);}
#to-top {height: 30px;}

.true-sticky {
    position: sticky !important;
    top: 140px; /* Gap from the top of the viewport when stuck */
    align-self: start; /* Prevents the sticky element itself from stretching */
    z-index: 99;
}

/*fix overflow */
.elementor-widget .elementor-icon-list-items.elementor-inline-items {
	margin-inline: 0px!important;
	overflow: hidden!important;
}
.no-overflow { overflow: hidden!important;}

.elementor-widget-n-accordion .e-n-accordion-item {	border-top: 1px solid var(--wcag-accent-light);}

/* -------------------------------------------------------------------------- */
/*                                 Navigation                                 */
/* -------------------------------------------------------------------------- */
#logo.elementor-widget-image a img[src$=".svg"] {width: 100%;}
.elementor-menu-toggle {border-radius: var(--border-radius-small);}

.elementor-nav-menu--dropdown {
	background-color: var(--wcag-offwhite);
	background-image: linear-gradient(var( --wcag-offwhite ) 0%, var(--wcag-white) 20px);
	padding: 20px;
}
.elementor-sub-item:hover { background-color: transparent;}
ul.elementor-nav-menu--dropdown a, ul.elementor-nav-menu--dropdown a:focus, ul.elementor-nav-menu--dropdown a:hover {border-inline-start: 0px solid transparent;} /* remove submenu oddness */


/* -------------------------------------------------------------------------- */
/*                                   Heroes                                   */
/* -------------------------------------------------------------------------- */
.hero-large u, footer u, footer .elementor-icon-list-item > a {text-decoration-color: var(--wcag-accent-light);}

.e-con-full:has(.accent-image) {max-width: 1920px!important;}

/* -------------------------------------------------------------------------- */
/*                                    Popup                                   */
/* -------------------------------------------------------------------------- */
/*.elementor-off-canvas {display: none !important;}
.elementor-off-canvas-open .elementor-off-canvas {display: block !important;}*/

/*stopgap suppress empty list icon data fields */
.elementor-icon-list-item:has(span.elementor-icon-list-text:empty) {display: none;}
/* Fix FOUC */
.elementor-widget-off-canvas .e-off-canvas[aria-hidden="true"] {opacity: 0;	visibility: hidden;}


.elementor-widget-off-canvas .elementor-widget-theme-post-featured-image {position: sticky!important; top: 20px;}

.elementor-widget-off-canvas .e-off-canvas {transition: 0.5s;backdrop-filter: blur(8px) brightness(0.75);}


/* Fixing Elementor popup overlay animation - By Marks.art.br => https://github.com/elementor/elementor/issues/10864 */
.elementor-popup-modal:not([style="display: none;"]) { transition: all .3s; opacity: 1;} 
div.elementor-popup-modal[style="display: none;"] {	transition: all .3s; opacity: 0; display: flex!important; z-index: -5;} 
.elementor-popup-modal[style="display: none;"]>div {display:none}
.elementor-popup-modal{animation:fade-in-by-marks 0.5s cubic-bezier(.39,.575,.565,1.000);}
@keyframes fade-in-by-marks{0%{opacity:0}100%{opacity:1}}


/* -------------------------------------------------------------------------- */
/*                                    Links                                   */
/* -------------------------------------------------------------------------- */
#logo a {padding-bottom: 4px;}
body .elementor p a, body .elementor-icon-list-item a:not(header *), body .elementor .elementor-widget-text-editor a, .elementor-widget-theme-post-content a {
  text-decoration: underline;
  font-weight: 600;
}

body a:not(.elementor-button)/*, header .nav a, footer a*/ {
	background: linear-gradient(0deg, var(--wcag-accent), var(--wcag-accent)) no-repeat right bottom / 0 2px;
	transition: background-size 350ms!important;
}
body a:not(.elementor-button):where(:hover, :focus-visible)/*, header .nav a:where(:hover, :focus-visible), footer a:where(:hover, :focus-visible)*/ {
	background-size: 100% 2px;
	background-position-x: left;
}

/* -------------------------------------------------------------------------- */
/*                               Loops and Boxes                              */
/* -------------------------------------------------------------------------- */
.loop-card {
	position:relative;
	background-color: var(--wcag-white);
	box-shadow: 0 40px 14px -35px var(--wcag-shadow);
	border-radius: var(--border-radius-large);
	padding: 0;
	max-width: 470px;
}
.loop-card > .e-con-inner {padding-block-start: 0; padding-block-end: 0;}

.loop-card :not(.elementor-element-overlay, .elementor-element-overlay *, .elementor-shape, .ui-resizable-handle, .loop-card--excluded) {position: static;}
.loop-card .elementor-heading-title a::after {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}
.loop-card .elementor-widget-image img { transition: all .4s ease 0s!important;}
.loop-card .elementor-widget-image {overflow: hidden;}
.loop-card:hover .elementor-widget-image:not(.elementor-widget-theme-post-featured-image) img { transform: scale(1.1)!important;}
.loop-card .email {z-index: 1000;}

/* -------------------------------------------------------------------------- */
/*                                   Other                                    */
/* -------------------------------------------------------------------------- */
main li::marker { color: var(--wcag-secondary);}
.e-n-accordion p {padding: 0 20px; margin: 10px 0px;}

/* -------------------------------------------------------------------------- */
/*                                   Footer                                   */
/* -------------------------------------------------------------------------- */
#bottom-footer a, footer .elementor-icon-list-item a {color: var(--wcag-accent-light); text-decoration: underline;}

/* -------------------------------------------------------------------------- */
/*                                   Tablet                                   */
/* -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
	#nav-bar {background-color: transparent!important;backdrop-filter: none;}
}

@media (max-width: 1024px) and (min-width: 768px) {
	.elementor-nav-menu--dropdown.elementor-nav-menu__container { top: 70px;}
	
}

/* -------------------------------------------------------------------------- */
/*                                    Phone                                   */
/* -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	main .e-con.e-parent:not(.elementor-widget-container *) {padding: 10% 5%;} /* parent container padding */
	main .e-con.e-parent.hero-portrait {padding: 10% 5% 0% 5%;} /* hero portrait */
	.stacked-inline .elementor-icon-list-item { width: 100%; margin-bottom: 10px;}
	.true-sticky {position: static !important;}
}

/* -------------------------------------------------------------------------- */
/*                               Phone Portrait                               */
/* -------------------------------------------------------------------------- */
@media (max-width: 500px) {
	main .e-con.e-parent.hero-large {padding: 60% 5% 5% 5%; height: 60vh;}
	main .e-con.e-parent.hero-small {padding: 30% 5% 10% 5%;}
	.padded-container {padding: 0%;}
	.elementor-nav-menu--dropdown {padding: 20px 0px;}
	.loop-card {padding: 5% 5% 8% 5%;}
	.e-con > .e-con-inner {	gap: 20px 20px;}
	.elementor-element { --widgets-spacing-row: 10px; --widgets-spacing-column: 10px;}
	.e-off-canvas__content a.phone {margin-top: 10px;}
}