/*
Theme Name: Hope & Sons
Theme URI: https://hopeandsons.co.nz
Author: Weave Digital Studio
Author URI: https://weave.co.nz/
Description: This is the theme for Hope & Sons
Version: 1.13
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: generatepress
Text Domain: gpc
*/

/*
CONTENTS:
1. GLOBAL
	1.1 Theme Variables
	1.2 Fonts
	1.3 Icons
	1.4 Layout
	1.5 Heading
	1.6 Text
	1.7 List
	1.8 Blockquote
	1.9 Link & Button
	1.10 Image
	1.11 Misc
2. HEADER
	2.1 Header - Global
	2.2 Header - Sticky
	2.3 Header - Search
	2.4 Header - PP Desktop Menu
	2.5 Header - PP Mobile Menu
3. FOOTER
4. COMPONENTS
	4.1 PP Content Grid
	4.2 Post Grid: Product
	4.3 Post Grid: Team
	4.4 BB Loop
	4.5 Swiper JS
	4.6 Venues Slider (Swiper JS)
	4.7 Venues Slider (PP Logo Grid & Carousel)
	4.8 Micromodal (plugin)
	4.9 WP GridBuilder
	4.10 PP Timeline
	4.11 Customer Reviews
	4.12 Gravity Forms
5. FUNERAL NOTICES
6. PRICING
7. SEARCH RESULTS
8. MISC
9. STYLES TEMPLATE
*/


/*/////////////////////////////////////////////////////
1. GLOBAL
/////////////////////////////////////////////////////*/

/* --------------------------
THEME VARIABLES
-------------------------- */

:root {

	/* COLORS VARIABLES */

	/*
	--error: #ff4e7a;
	*/

	/* MISC VARIABLES */

	--transition-1: all .3s ease-out;
	--transition-2: all .6s ease-out;
	--mobile-max-width: 520px;
	--mobile-max-width-narrow: 320px;

}

/* --------------------------
FONTS
-------------------------- */

/*
.woff2 		=> 	Super Modern Browsers
.woff 		=> 	Modern Browsers
.ttf 		=> 	Safari, Android, iOS
.eot 		=> 	IE9 Compat Modes
.eot?#iefix 	=> 	IE6-IE8
*/

@font-face {
	font-family: 'Aboreto';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('/wp-content/themes/hopes/fonts/aboreto/aboreto-v2-latin-ext-regular.woff2') format('woff2');
	unicode-range: U+0100-017F; /* Latin Extended-A — Māori ā ē ī ō ū */
}

/* --------------------------
ICONS
-------------------------- */

[class^="hop-icon-"], 
[class*=" hop-icon-"] {
	display: inline-block;
}

/* --------------------------
LAYOUT
-------------------------- */

/* --- RESPONSIVE --- */

@media (min-width: 769px) {
	.hop-mobile {
		display: none;
	}
}
@media (max-width: 768px) {
	.hop-desktop {
		display: none;
	}
	[class*="hop-mobile-max-width"] {
		--mobile-max-width: 520px;
		--mobile-max-width-narrow: 320px;
	}
	[class*="hop-mobile-max-width"]:not([class*="child"]),
	[class*="hop-mobile-max-width-child"] > * {
		margin-right: auto !important;
		margin-left: auto !important;
	}
	.hop-mobile-max-width,
	.hop-mobile-max-width-child > * {
		max-width: var(--mobile-max-width);
	}
	.hop-mobile-max-width-narrow,
	.hop-mobile-max-width-child-narrow > * {
		max-width: var(--mobile-max-width-narrow);
	}
}

/* --------------------------
HEADING
-------------------------- */

/* FLUID TYPOGRAPHY */

/* 
https://utopia.fyi/type/calculator
*/

html {
	/* 16px (browser default) */
	font-size: 100%; 
}
body, 
code, kbd, tt, var {
	font-size: clamp(0.875rem, 0.838rem + 0.1852vw, 1rem); /* 14-16 */
}
:is(h1,h2,h3,h4,h5), 
[class*="hop-heading-fake"] :is(h2,h3,h4,h5,h6,p), 
:is(h1,h2,h3,h4,h5,p)[class*="hop-heading-fake"] {
	font-family: var(--gp-font--aboreto);
	font-weight: 400;
	line-height: 1.1;
}
h1, 
.hop-heading-fake-h1 :is(h2,h3,h4,h5,h6,p), 
:is(h2,h3,h4,h5,h6,p).hop-heading-fake-h1 {
	font-size: clamp(2.25rem, 1.5833rem + 3.3333vw, 4.5rem); /* 36-72 */
	/* font-size: clamp(2.5rem, 1.7593rem + 3.7037vw, 5rem); /* 40-80 */
}
h2, 
.hop-heading-fake-h2 :is(h1,h3,h4,h5,h6,p), 
:is(h1,h3,h4,h5,h6,p).hop-heading-fake-h2 {
	font-size: clamp(1.75rem, 1.2315rem + 2.5926vw, 3.5rem); /* 28-56 */
}
h3, 
.hop-heading-fake-h3 :is(h1,h2,h4,h5,h6,p), 
:is(h1,h2,h4,h5,h6,p).hop-heading-fake-h3 {
	font-size: clamp(1.375rem, 1.0417rem + 1.6667vw, 2.5rem); /* 22-40 */
	/* font-size: clamp(1.25rem, 0.8796rem + 1.8519vw, 2.5rem); /* 20-40 */
}
h4, 
.hop-heading-fake-h4 :is(h1,h2,h3,h5,h6,p), 
:is(h1,h2,h3,h5,h6,p).hop-heading-fake-h4 {
	font-size: clamp(1.125rem, 0.8657rem + 1.2963vw, 2rem); /* 18-32 */
	/* font-size: clamp(1rem, 0.7037rem + 1.4815vw, 2rem); /* 16-32 */
}
h5, 
.hop-heading-fake-h5 :is(h1,h2,h3,h4,h6,p), 
:is(h1,h2,h3,h4,h6,p).hop-heading-fake-h5 {
	font-size: clamp(1rem, 0.7778rem + 1.1111vw, 1.75rem); /* 16-28 */
	/* font-size: clamp(0.875rem, 0.6157rem + 1.2963vw, 1.75rem); /* 14-28 */
}
h6, 
.hop-heading-fake-h6 :is(h1,h2,h3,h4,h5,p), 
:is(h1,h2,h3,h4,h5,p).hop-heading-fake-h6 {
	font-size: clamp(0.875rem, 0.6898rem + 0.9259vw, 1.5rem); /* 14-24 */
	/* font-size: clamp(0.75rem, 0.5278rem + 1.1111vw, 1.5rem); /* 12-24 */
}

/* MISC */

:is(h1,h2,h3,h4,h5,h6) a {
	text-decoration: none;
}
h1, h2, h3, h4, h5, h6 {
	text-wrap: balance;
} 
p+:is(h1,h2,h3,h4,h5,h6), 
ul+:is(h1,h2,h3,h4,h5,h6), 
ol+:is(h1,h2,h3,h4,h5,h6) {
	margin-top: 1em;
}

:where(h1,h2,h3,h4,h5,h6,p) .hop-color-alt {
	color: var(--secondary);
}

/* --- RESPONSIVE --- */

@media (min-width: 769px) {
	.hop-star-twinkle {
		white-space: nowrap;
	}
	.hop-star-twinkle::after {
		content: "";
		display: inline-block;
		height: .75em;
		aspect-ratio: 1;
		margin-left: .25em;
		background: 0/cover no-repeat url('/wp-content/uploads/2025/10/star-twinkle.svg');
	}
}

/* --------------------------
TEXT
-------------------------- */

p {
	text-wrap: pretty;
}
strong,
.fl-builder-content .fl-rich-text strong {
	font-weight: 600;
}
.fl-builder-content strong {
	font-weight: 600 !important;
}
small, 
.fl-builder-content [data-node].fl-module-rich-text.fl-rich-text small {
	font-size: 75%
}

[class^="hop-text-"] {
	line-height: 1.4;
	font-weight: 300;
}
.hop-text-xl {
	font-size: clamp(1.25rem, 1.1759rem + 0.3704vw, 1.5rem); /* 20-24 */
	line-height: 1.6;
}
.hop-text-l {
	font-size: clamp(1rem, 0.9259rem + 0.3704vw, 1.25rem); /* 16-20 */
	line-height: 1.5;
}
.hop-text-m {
	font-size: clamp(0.875rem, 0.838rem + 0.1852vw, 1rem); /* 14-16 */
}
.hop-text-s {
	font-size: clamp(0.75rem, 0.713rem + 0.1852vw, 0.875rem); /* 12-14 */
}

.hop-text-no-margin-b p, 
p.hop-text-no-margin-b {
	margin-bottom: 0;
}

.hop-note, 
.hop-note p {
	font-weight: 700;
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	color: var(--error);
	text-align: center;
}
.hop-note a {
	color: var(--error);
}

/* --------------------------
LIST
-------------------------- */

:not(header):not(footer) #content .fl-rich-text li {
	margin-bottom: .75rem;
	text-align: left;
}
#content .fl-builder-content .fl-module-overlay li {
	margin-bottom: 0;
}
:not(header):not(footer) #content .fl-rich-text li > :where(ul,ol) {
	margin-top: .75rem;
}
.hop-list-no-margin-l ul, 
ul.hop-list-no-margin-l {
	margin-left: 1.2rem;
}

/* CHECKMARK LIST */

.hop-list-checkmark ul:not(.fl-module-overlay *) {
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}
.hop-list-checkmark ul li:not(.fl-module-overlay *) {
	position: relative;
	padding-left: 2.2em;
}
.hop-list-checkmark ul li:not(.fl-module-overlay *)::before {
	content: "\e905";
	position: absolute; 
	top: -.3em;
	left: 0;
	font-size: 130%;
	font-family: 'Hopes-Icons';
	color: var(--secondary-medium);
}

/* --------------------------
BLOCKQUOTE
-------------------------- */

blockquote {
	margin: 4em 0;
	padding: 20px 30px;
	font-style: normal;
	font-weight: 300;
	color: var(--primary-medium);
	border-left: 2px solid var(--secondary-medium);
}
blockquote p {
	margin-bottom: 0;
	font-size: clamp(1.25rem, 1.1591rem + 0.4545vw, 1.5rem); /* 20-24 */
}

/* --- RESPONSIVE --- */

@media (max-width: 768px) {
	blockquote {
		padding: 20px;
	}
}

/* --------------------------
LINK & BUTTON
-------------------------- */

*:focus {
	outline: none;
}
*:focus-visible {
	outline: 1px dotted rgba(0,0,0,.6);
}
.hop-no-link {
	pointer-events: none;
}
a.hop-link-no-underline, 
.hop-link-no-underline a {
	text-decoration: none;
}

/* IDLE */

#content :is(a, .fl-button), 
#content :is(a *, .fl-button *), 
.fl-builder-content :is(a, a *), 
button.button, 
a.button, 
.button a {
	transition: all 0.15s ease-out;
	font-weight: 500;
}
:where(header,footer) .fl-builder-content :is(a, a *), 
:where(header,footer).fl-builder-content :is(a, a *) {
	font-weight: inherit;
}

/* HOVER */

a:not([href]):is(:hover, :focus), 
*:hover a:not([href]), 
.hover a:not([href]) {
	cursor: default;
	color: inherit;
}

/* DARK BG */

.hop-dark-bg a:is(:hover, :focus) {
	 color: white !important; 
}

/* BUTTON GLOBAL
-------------------------- */

/* IDLE */

button.button, 
a.button, 
.button a,
a.fl-button,
.fl-builder-content :is(a.fl-button, a.fl-button:visited),
[data-node] .pp-gf-content .gform_wrapper :is(.gform-button, .gform_footer .gform_button, .gform_page_footer .button) {
	padding: clamp(9px, 6.9259px + 0.6481vw, 16px) clamp(18px, 13.8519px + 1.2963vw, 32px); /* 9-16 18-32 */
	background-color: var(--secondary-medium);
	font-size: clamp(1rem, 0.963rem + 0.1852vw, 1.125rem); /* 16-18 */
	font-weight: 500;
	line-height: 1.3;
	/* text-align: left; */
	color: white;
	border: none;
	border-radius: 50px;
}
.fl-builder-content :is(a.fl-button, a.fl-button:visited) * {
	color: white;
}

/* HOVER */

button.button:hover,
a.button:hover,
.button a:hover,
a.fl-button:hover,
.fl-builder-content a.fl-button:hover, 
[data-node] .pp-gf-content .gform_wrapper :is(.gform-button, .gform_footer .gform_button, .gform_page_footer .button):hover {
	background-color: var(--primary);
	color: white;
}
.fl-builder-content .fl-button i {
	font-size: 1.1em;
}

/* SMALL */ 

button.button.hop-small, 
a.button.hop-small, 
.button.hop-small a,
a.fl-button.hop-bt-small,
a.fl-button, 
.fl-builder-content .hop-bt-small :is(a.fl-button, a.fl-button:visited) {
	padding: clamp(7px, 5.5185px + 0.463vw, 12px) clamp(13px, 9.7407px + 1.0185vw, 24px); /* 7-12 13-24 */
	font-size: clamp(0.875rem, 0.838rem + 0.1852vw, 1rem); /* 14-16 */
}

/* BUTTON SOLID
-------------------------- */

/* DARK */ 

button.button.hop-bt-dark, 
a.button.hop-bt-dark, 
.button.hop-bt-dark a,
.hop-bt-dark a.fl-button,
.fl-builder-content .hop-bt-dark :is(a.fl-button, a.fl-button:visited) {
	background-color: var(--primary);
}
button.button.hop-bt-dark:hover,
a.button.hop-bt-dark:hover,
.button.hop-bt-dark a:hover,
.hop-bt-dark a.fl-button:hover,
.fl-builder-content .hop-bt-dark a.fl-button:hover {
	background-color: var(--secondary-medium);
}

/* DARK BG */ 

button.button.hop-dark-bg:hover,
a.button.hop-dark-bg:hover,
.button.hop-dark-bg a:hover,
.fl-builder-content .hop-dark-bg a.fl-button:hover {
	background-color: var(--secondary-light);
	color: var(--primary);
}
.fl-builder-content .hop-dark-bg :is(a.fl-button, a.fl-button:visited):hover * {
	color: var(--primary);
}

/* LINK - ICON
-------------------------- */

a[class*="hop-link-icon"], 
[class*="hop-link-icon"] .pp-faq-content a {
	padding-bottom: .35em;
	text-decoration: none;
	border-bottom: 1px solid var(--secondary-light);
}
a[class*="hop-link-icon"]:hover, 
[class*="hop-link-icon"] .pp-faq-content a:hover {
	border-color: var(--secondary-medium);
} 
a[class*="hop-link-icon"]::before, 
[class*="hop-link-icon"] .pp-faq-content a::before {
	content: "\e902";
	margin-right: .75em;
	font-family: 'Hopes-Icons';
}
a.hop-link-icon-pdf::before, 
[class*="hop-link-icon"] .pp-faq-content a.hop-link-icon-pdf::before {
	content: "\e916";

}

/* BUTTON HIGHLIGHT - GLOBAL
-------------------------- */

/* IDLE */

button.button.hop-bt-highlight, 
a.button.hop-bt-highlight, 
.button.hop-bt-highlight a,
.hop-bt-highlight a.fl-button,
.fl-builder-content .hop-bt-highlight :is(a.fl-button, a.fl-button:visited) {
	position: relative;
	background-color: unset;
	/* text-align: left; */
	color: var(--secondary);
	border-radius: 0;
}
.fl-builder-content .hop-bt-highlight :is(a.fl-button, a.fl-button:visited) * {
	color: var(--secondary);
}
button.button.hop-bt-highlight::after, 
a.button.hop-bt-highlight::after, 
.button.hop-bt-highlight a::after,
.hop-bt-highlight a.fl-button::after,
.fl-builder-content .hop-bt-highlight :is(a.fl-button, a.fl-button:visited)::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px; 
	background-color: var(--secondary-light);
	transition: var(--transition-1);
}
.hop-bt-highlight a.fl-button {
	display: inline-flex;
	gap: .6em;
}
.hop-bt-highlight a.fl-button i,
.fl-builder-content .hop-bt-highlight :is(a.fl-button, a.fl-button:visited) i {
	margin: 0;
	font-size: .65em;
	text-align: left;
	color: var(--secondary-medium);
}

/* HOVER */ 

button.button.hop-bt-highlight:hover, 
a.button.hop-bt-highlight:hover, 
.button.hop-bt-highlight a:hover,
.hop-bt-highlight a.fl-button:hover,
.fl-builder-content .hop-bt-highlight :is(a.fl-button, a.fl-button:visited):hover {
	color: var(--secondary);
}
.fl-builder-content .hop-bt-highlight :is(a.fl-button, a.fl-button:visited):hover * {
	color: var(--secondary);
}
button.button.hop-bt-highlight:hover::after, 
a.button.hop-bt-highlight:hover::after, 
.button.hop-bt-highlight a:hover::after,
.hop-bt-highlight a.fl-button:hover::after,
.fl-builder-content .hop-bt-highlight :is(a.fl-button, a.fl-button:visited):hover::after {
	height: clamp(2px, 1.7037px + 0.0926vw, 3px); 
	background-color: var(--secondary-medium);
}

button.button.hop-bt-highlight i, 
a.button.hop-bt-highlight i, 
.button.hop-bt-highlight a i,
.hop-bt-highlight a.fl-button i,
.fl-builder-content .hop-bt-highlight :is(a.fl-button, a.fl-button:visited) i {
	transition: var(--transition-1) !important;
	width: fit-content;
}
button.button.hop-bt-highlight:hover i, 
a.button.hop-bt-highlight:hover i, 
.button.hop-bt-highlight a:hover i,
.hop-bt-highlight a.fl-button:hover i,
.fl-builder-content .hop-bt-highlight :is(a.fl-button, a.fl-button:visited):hover i {
	transform: rotate(45deg);
}


/* DARK BG */ 

button.button.hop-bt-highlight.hop-dark-bg, 
a.button.hop-bt-highlight, 
.button.hop-bt-highlight a,
.hop-bt-highlight a.fl-button,
.fl-builder-content .hop-bt-highlight :is(a.fl-button, a.fl-button:visited) {
	color: var(--secondary-medium);
	border-radius: 0;
}
.fl-builder-content .hop-bt-highlight.hop-dark-bg :is(a.fl-button, a.fl-button:visited) * {
	color: var(--secondary-medium);
}
button.button.hop-bt-highlight.hop-dark-bg::after, 
a.button.hop-bt-highlight.hop-dark-bg::after, 
.button.hop-bt-highlight.hop-dark-bg a::after,
.hop-bt-highlight.hop-dark-bg a.fl-button::after,
.fl-builder-content .hop-bt-highlight.hop-dark-bg :is(a.fl-button, a.fl-button:visited)::after {
	background-color: var(--secondary);
}
.hop-bt-highlight.hop-dark-bg a.fl-button i,
.fl-builder-content .hop-bt-highlight.hop-dark-bg :is(a.fl-button, a.fl-button:visited) i {
	color: var(--secondary);
}
button.button.hop-bt-highlight.hop-dark-bg:hover, 
a.button.hop-bt-highlight.hop-dark-bg:hover, 
.button.hop-bt-highlight.hop-dark-bg a:hover,
.hop-bt-highlight.hop-dark-bg a.fl-button:hover,
.fl-builder-content .hop-bt-highlight.hop-dark-bg :is(a.fl-button, a.fl-button:visited):hover {
	color: var(--secondary-light);
}
.fl-builder-content .hop-bt-highlight.hop-dark-bg :is(a.fl-button, a.fl-button:visited):hover * {
	color: var(--secondary-light);
}

/* BUTTON HIGHLIGHT - VERTICAL
-------------------------- */

/* IDLE */

button.button.hop-bt-highlight.hop-verti, 
a.button.hop-bt-highlight.hop-verti, 
.button.hop-bt-highlight.hop-verti a,
.hop-bt-highlight.hop-verti a.fl-button,
.fl-builder-content .hop-bt-highlight.hop-verti :is(a.fl-button, a.fl-button:visited) {
	padding: clamp(9px, 6.9259px + 0.6481vw, 16px) 0; /* 9-16 0 */
	font-family: var(--gp-font--aboreto);
	font-size: clamp(1.25rem, 1.1019rem + 0.7407vw, 1.75rem); /* 20-28 */
	text-transform: uppercase;
}
#content .hop-bt-highlight.hop-verti :is(a *, .fl-button *), 
.fl-builder-content .hop-bt-highlight.hop-verti :is(a, a *) {
	font-weight: 400;
}
.hop-bt-highlight.hop-verti a.fl-button {
	display: inline-flex;
	flex-direction: column;
}

/* --- RESPONSIVE --- */

@media (max-width: 768px) {
	.hop-bt-highlight.hop-verti a.fl-button {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
	}
	.hop-bt-highlight.hop-verti a.fl-button i,
	.fl-builder-content .hop-bt-highlight.hop-verti :is(a.fl-button, a.fl-button:visited) i {
		margin-top: .25em;
	}
}

/* BUTTON HIGHLIGHT - HORIZONTAL
-------------------------- */

/* IDLE */

button.button.hop-bt-highlight.hop-horiz, 
a.button.hop-bt-highlight.hop-horiz, 
.button.hop-bt-highlight.hop-horiz a,
.hop-bt-highlight.hop-horiz a.fl-button,
.fl-builder-content .hop-bt-highlight.hop-horiz :is(a.fl-button, a.fl-button:visited) {
	/* padding: clamp(7px, 5.5185px + 0.463vw, 12px) 0; /* 7-12 0 */
	padding: 0 0 clamp(7px, 5.5185px + 0.463vw, 12px); /* 0-0-7-12 */
	font-family: var(--gp-font--libre-franklin);
	font-size: clamp(1.125rem, 1.088rem + 0.1852vw, 1.25rem); /* 18-20 */
}
#content .hop-bt-highlight.hop-horiz :is(a *, .fl-button *), 
.fl-builder-content .hop-bt-highlight.hop-horiz :is(a, a *) {
	font-weight: 600;
}
.hop-bt-highlight.hop-horiz a.fl-button {
	/* display: flex; */
	flex-direction: row-reverse;
	justify-content: space-between;
}
.hop-bt-highlight.hop-horiz a.fl-button i,
.fl-builder-content .hop-bt-highlight.hop-horiz :is(a.fl-button, a.fl-button:visited) i {
	margin-top: .25em;
}

/* --------------------------
IMAGE
-------------------------- */

/* FRAMES */

[class*="hop-img-frame"] img {
	aspect-ratio: 1/1.55;
	object-fit: cover;
	width: clamp(200px, 164.4444px + 11.1111vw, 320px);
}
.hop-img-frame-0 img {
	aspect-ratio: unset;
	object-fit: contain;
	width: 100%;
}
.hop-img-frame-1 img {
	border-radius: 500px 500px 30px 30px;
}
.hop-img-frame-2 img {
	border-radius: 500px;
}

/* SYMBOL SHAPE 2 */

[class*="hop-img-decoration"] .fl-photo-content {
	position: relative;
}
[class*="hop-img-decoration"] .fl-photo-content::before, 
[class*="hop-img-decoration"] .fl-photo-content::after {
	content: "";
	position: absolute;
	background-size: cover;
	background-repeat: no-repeat;
}
.hop-img-decoration-tl .fl-photo-content::before {
	left: -4%;
	top: -7%;
	aspect-ratio: 1;
	width: clamp(40px, 34.0741px + 1.8519vw, 60px);
	background-image: url('/wp-content/uploads/2025/10/star-twinkle.svg');
}
.hop-img-decoration-br .fl-photo-content::after {
	right: 0;
	bottom: 0;
	aspect-ratio: 1/1.65;
	width: clamp(62px, 53.1111px + 2.7778vw, 92px);
	background-image: url('/wp-content/uploads/2025/10/symbol-shape-2.png');
	transform: translate(50%,30%)
}

/* --------------------------
MISC
-------------------------- */

hr {
	margin: 2rem 0;
	border: none;
	border-top: 1px solid #e7e7e7;
}
code, kbd, tt, var {
	display: inline-block;
	margin-bottom: 1em;
	background-color: #e5e5e5;
	padding: .2rem .5rem;
}
.hop-dark-bg code, kbd, tt, var {
	background-color: rgba(255,255,255,.1);
	color: #ccc;
}


/*/////////////////////////////////////////////////////
2. HEADER
/////////////////////////////////////////////////////*/

/* --------------------------
LAYOUT
-------------------------- */

header {
	position: relative;
	z-index: 10;
}

/* --- RESPONSIVE --- */

@media (min-width: 1201px) {
	body:not(.fl-builder-edit) header.fl-builder-content .hop-header-mobile {
		display: none;
	}
}
@media (max-width: 1200px) {
	body:not(.fl-builder-edit) header.fl-builder-content .hop-header-desktop {
		display: none;
	}
}

/* --------------------------
HEADER - GLOBAL
-------------------------- */

header .hop-logo img {
	max-height: unset !important;
}

/* --------------------------
HEADER - STICKY
-------------------------- */

header.fl-theme-builder-header-shrink > .fl-module-box {
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--primary-extra-light);
}
header.fl-theme-builder-header-shrink .hop-main-nav > div > .pp-advanced-menu > nav > .menu > li > a, 
header.fl-theme-builder-header-shrink .hop-main-nav > div > .pp-advanced-menu > nav > .menu > li > .pp-has-submenu-container > a {
	padding-top: 4px;
	padding-bottom: 4px;
}
header.fl-theme-builder-header-shrink .hop-phone a.fl-button {
	padding: 8px 18px !important;
	font-size: 80% !important;
}
header.fl-theme-builder-header-shrink .hop-logo img {
	max-height: 35px !important;
}

/* --------------------------
HEADER - SEARCH
-------------------------- */

/* body.admin-bar .pp-search-form-wrap.pp-search-form--style-full_screen .pp-search-form__container {
	top: 32px;
} */
.pp-search-form--lightbox-close {
	top: 15px;
	right: 15px;
	padding: 0;
}
.pp-search-form--lightbox-close svg {
	stroke: white;
	stroke-width: 2px;
	width: 35px;
	height: 35px;
}
header .pp-search-form input[type="search"]::-webkit-search-cancel-button {
	filter: brightness(10);
}

/* --- RESPONSIVE --- */

/* @media (max-width: 782px) {
	body.admin-bar .pp-search-form-wrap.pp-search-form--style-full_screen .pp-search-form__container {
		top: 46px;
	}
} */
@media (max-width: 768px) {
	.pp-search-form-wrap.pp-search-form--style-full_screen .pp-search-form input[type="search"].pp-search-form__input {
		margin-bottom: 50vh;
	}
}

/* --------------------------
HEADER - PP DESKTOP MENU
-------------------------- */

/* MENU TOP LEVEL */

header .hop-header-desktop .hop-nav-wrapper {
	gap: clamp(20px, -180px + 13.3333vw, 60px);
}

header .hop-main-nav .pp-advanced-menu .pp-menu-toggle:before {
	border-width: 1px;
}

header .hop-main-nav > div > .pp-advanced-menu > nav > .menu > li > a, 
header .hop-main-nav > div > .pp-advanced-menu > nav > .menu > li > .pp-has-submenu-container > a {
	padding: 15px clamp(8px, -12.3913px + 1.5217vw, 15px);
	font-size: clamp(15px, -1.75px + 1.25vw, 17px);
}
header .hop-main-nav .pp-advanced-menu .menu > li.current-page-ancestor > .pp-has-submenu-container > a {
	color: var(--primary);
}

header:not(.fl-theme-builder-header-shrink) .hop-main-nav > div > .pp-advanced-menu > nav > .menu > li > a::after, 
header:not(.fl-theme-builder-header-shrink) .hop-main-nav > div > .pp-advanced-menu > nav > .menu > li > .pp-has-submenu-container > a::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 15%;
	left: 50%;
	transform: translateX(-50%);
	width: 10px;
	aspect-ratio: 1;
	opacity: 0;
	background-color: var(--secondary-medium);
	border-radius: 100%;
	transition: var(--transition-1);
}
header:not(.fl-theme-builder-header-shrink) .hop-main-nav > div > .pp-advanced-menu > nav > .menu > li > .pp-has-submenu-container > a::after {
	left: calc(50% - 10px);
}
header .hop-main-nav > div > .pp-advanced-menu > nav > .menu > li:hover > a::after, 
header .hop-main-nav > div > .pp-advanced-menu > nav > .menu > li:hover > .pp-has-submenu-container > a::after, 
header:not(.fl-theme-builder-header-shrink) .hop-main-nav > div > .pp-advanced-menu > nav > .menu > li.current-menu-item > a::after, 
header:not(.fl-theme-builder-header-shrink) .hop-main-nav > div > .pp-advanced-menu > nav > .menu > li:is(.current-menu-item, .current-page-ancestor) > .pp-has-submenu-container > a::after {
	opacity: 1;
	bottom: 0;
}

/* --- RESPONSIVE --- */

@media (min-width: 1px) {
	header .hop-main-nav .pp-advanced-menu-horizontal.pp-toggle-arrows .pp-has-submenu-container > a > span {
		padding-right: clamp(24px, -27px + 2.3333vw, 16px);
	}
}

/* MEGA MENU CONTAINER */

/* DEV */
/* header .hop-main-nav li.hop-has-mega-menu:nth-child(1) > .sub-menu {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
} */
/* END DEV */

header .hop-main-nav li.hop-has-mega-menu .hop-spacer {
	height: 50px;
}
header.fl-theme-builder-header-shrink .hop-main-nav li.hop-has-mega-menu .hop-spacer {
	height: 18px;
}
header .hop-main-nav li.hop-has-mega-menu {
	position: unset;
}
header .hop-main-nav .pp-advanced-menu .menu li.hop-has-mega-menu .menu > li.current-page-ancestor > a, 
header .hop-main-nav .pp-advanced-menu .menu li.hop-has-mega-menu .menu > li.current-page-ancestor > .pp-has-submenu-container > a {
	color: var(--secondary);
}

header.fl-theme-builder-header-shrink .hop-main-nav li.hop-has-mega-menu .fl-theme-builder-header-shrink-row-top.fl-row-content-wrap {
	padding-top: 20px;
	padding-bottom: 20px;
}

body:not(.fl-builder-edit) .hop-main-nav li.hop-has-mega-menu > .sub-menu {
	top: 77%;
	left: 0;
	width: 100%;
	transform: unset;
	animation: .3s ease-out 0s forwards menu_anim;
}
@keyframes menu_anim {
	from { top: 77%; opacity: 0; }
	to	 { top: 67%; opacity: 1; }
}

/* MEGA MENU CONTENT */

header .hop-main-nav .pp-advanced-menu .menu .hop-has-mega-menu .sub-menu .menu {
	columns: 2;
	gap: 80px;
}
header .hop-main-nav .pp-advanced-menu .menu .hop-has-mega-menu .menu > .menu-item {
	break-inside: avoid;
}
/* header .hop-main-nav .hop-has-mega-menu .menu li,  */
header .hop-main-nav .pp-advanced-menu .menu .hop-has-mega-menu .sub-menu .menu li {
	display: block;
}

header .hop-main-nav .pp-advanced-menu .menu .hop-has-mega-menu .sub-menu .menu > .menu-item > a, 
header .hop-main-nav .pp-advanced-menu .menu .hop-has-mega-menu .sub-menu .menu > .menu-item > .pp-has-submenu-container > a {
	font-weight: 600;
}

header .hop-mega-menu .pp-advanced-menu .pp-has-submenu-container a > span, 
header .hop-main-nav .pp-advanced-menu .menu .hop-has-mega-menu .sub-menu .menu > .menu-item > .pp-has-submenu-container > a span {
	padding-right: 0;
}
header .hop-main-nav .pp-advanced-menu .menu .hop-has-mega-menu .sub-menu .menu > .menu-item > .pp-has-submenu-container > a .pp-menu-toggle {
	display: none;
}
header .hop-main-nav .hop-has-mega-menu .menu .pp-has-submenu .sub-menu {
	position: unset;
	display: block;
	visibility: visible;
	opacity: 1;
	width: auto;
	break-inside: avoid;
}

/* --------------------------
HEADER - PP MOBILE MENU
-------------------------- */

/* MENU GLOBAL */

body.admin-bar .pp-menu-full-screen .pp-advanced-menu.full-screen .pp-menu-overlay {
	margin-top: 32px;
}
@media (max-width: 782px) {
	body.admin-bar .pp-menu-full-screen .pp-advanced-menu.full-screen .pp-menu-overlay {
		margin-top: 46px;
	}
}
@media (max-width: 768px) {
	.pp-menu-full-screen .pp-advanced-menu.full-screen .pp-menu-overlay ul.menu {
		width: 100%;
	}
}

html .pp-advanced-menu.full-screen .menu {
	display: flex;
	flex-direction: column;
	align-items: center;
}
html .pp-advanced-menu.full-screen .menu > li {
	width: 100%;
	max-width: 360px;
}
html .pp-advanced-menu.full-screen .menu > li:first-child {
	max-width: unset;
}
html .pp-advanced-menu.full-screen .pp-has-submenu-container {
	position: initial;
}
html .pp-advanced-menu.full-screen .menu li a {
	position: relative;
}
.pp-advanced-menu .pp-menu-overlay > ul.menu {
	top: 30%;
}
.pp-advanced-menu .pp-menu-overlay .pp-menu-close-btn {
	top: 20px;
}

/* MENU TOP LEVEL */

.pp-menu-full-screen .pp-advanced-menu .pp-menu-toggle:before, 
.pp-menu-full-screen .pp-advanced-menu .pp-menu-toggle:after {
	border-width: 1px;
}
.pp-advanced-menu .pp-menu-overlay .hop-logo {
	margin-bottom: 10vw;
	background-color: white;
	line-height: 1;
}
.pp-advanced-menu .pp-menu-overlay .hop-logo a {
	padding-top: 14px !important;
	padding-left: 20px !important;
}
.pp-advanced-menu .pp-menu-overlay .hop-logo img {
	width: 130px;
}

/* MENU SUB LEVELS */

.pp-menu-full-screen .pp-advanced-menu.full-screen .menu > li > .pp-has-submenu-container + .sub-menu {
	padding-left: 15px;
	padding-bottom: 5px;
}
.pp-menu-full-screen .pp-advanced-menu.full-screen .menu li .pp-has-submenu-container + .sub-menu .sub-menu {
	margin: 5px 0 5px 15px;
	padding-top: 5px;
	padding-bottom: 5px;
	border-top: 1px solid var(--secondary-medium);
	border-bottom: 1px solid var(--secondary-medium);
}
.pp-menu-full-screen .pp-advanced-menu.full-screen .menu li .pp-has-submenu-container + .sub-menu a {
	padding-top: 4px;
	padding-bottom: 4px;
	border: none;
}
.pp-menu-full-screen .pp-advanced-menu.full-screen .menu li .pp-has-submenu-container + .sub-menu .sub-menu a {
	padding-top: 3px;
	padding-bottom: 3px;
	font-size: 16px;
}
.pp-menu-full-screen .pp-advanced-menu.full-screen .menu li.current-menu-item > a,
.pp-menu-full-screen .pp-advanced-menu.full-screen .menu li.current-menu-item > .pp-has-submenu-container > a,
.pp-menu-full-screen .pp-advanced-menu.full-screen .menu li.pp-active > .pp-has-submenu-container > a {
	color: var(--secondary);
}


/*/////////////////////////////////////////////////////
3. FOOTER
/////////////////////////////////////////////////////*/

/*--------------------------
MENU
--------------------------*/

footer .hop-menu [data-node] .pp-advanced-menu .pp-has-submenu-container a > span {
	padding-right: unset;
}
footer .hop-menu .pp-advanced-menu .menu > li.current-page-ancestor > .pp-has-submenu-container > a, 
footer .hop-menu .pp-advanced-menu .sub-menu > li.current-page-ancestor > a {
	color: var(--secondary);
}

/* --- RESPONSIVE --- */

@media (max-width: 768px) {
	footer .hop-menu [data-node] .pp-advanced-menu .sub-menu {
		display: none;
	}
}

/*--------------------------
MENTIONS
--------------------------*/

footer .hop-mentions a {
	font-weight: 500 !important;
	text-decoration: none;
	color: inherit;
}
footer .hop-mentions a:hover {
	color: var(--secondary) !important;
}


/*/////////////////////////////////////////////////////
4. COMPONENTS
/////////////////////////////////////////////////////*/

/*--------------------------
PP CONTENT GRID
--------------------------*/

/* Fix for OWL slider width issue inside BB Box by @zackpyle */
:where(.fl-module-box:has(.owl-item, .swiper-slide, .slick-slide)){ 
	min-width: 0;
}

/*--------------------------
BB LOOP
--------------------------*/

.fl-loop-grid {
	margin: initial;
}

/*--------------------------
POST GRID: PRODUCT
--------------------------*/

/* ON PAGE */ 

.hop-product-grid small, 
.fl-builder-content .hop-product-grid [data-node].fl-module-rich-text.fl-rich-text small {
	font-size: 50%
}
.hop-product-grid .hop-post-img img {
	object-fit: contain;
}
.hop-product-grid#hop-caskets-grid .hop-post-img img {
	aspect-ratio: 1/0.6;
}
.hop-product-grid#hop-urns-grid .hop-post-img img {
	aspect-ratio: 1/0.8;
}
.hop-product-grid .hop-post-category {
	font-size: clamp(0.875rem, 0.838rem + 0.1852vw, 1rem);
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--secondary);
}
.hop-product-grid .hop-post-content {
	margin-top: clamp(10px, 7.037px + 0.9259vw, 20px);
}
.hop-product-grid .hop-post-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: clamp(20px, 17.037px + 0.9259vw, 30px);
	padding-top: clamp(10px, 7.037px + 0.9259vw, 20px);
	border-top: 1px solid var(--primary-light);
}
.hop-product-grid .hop-post-price {
	font-size: clamp(1.25rem, 1.0278rem + 1.1111vw, 2rem);
	color: var(--primary-medium);
}

/* MICROMODAL */ 

html .hop-product-grid .modal__container {
	padding-top: clamp(5px, 0.5556px + 1.3889vw, 20px);
}
.modal .hop-post-title {
	margin-bottom: .35em;
}

/*--------------------------
POST GRID: TEAM
--------------------------*/

/* ON PAGE */ 

.hop-team-grid .pp-content-post {
	overflow: visible;
}
.hop-team-grid .pp-content-post a {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.hop-team-grid a {
	text-decoration: none;
}
.hop-team-grid .hop-post-image {
	transition: var(--transition-1) !important;
}
.hop-team-grid a:hover .hop-post-image {
	transform: scale(1.035);
}
.hop-team-grid .hop-post-image img {
	object-fit: cover;
	width: 100%; 
	height: auto;
	aspect-ratio: .6;
	border-radius: 200px;
	transition: var(--transition-2);
}
.hop-team-grid .hop-post-content {
	text-align: center;
}
.hop-team-grid .hop-post-title {
	font-family: var(--gp-font--aboreto);
	font-size: clamp(1rem, 0.7037rem + 1.4815vw, 2rem); /* 16-32 */
	font-weight: 400 !important;
	line-height: 1.1;
	color: var(--primary);
}
.hop-team-grid a:is(:hover, :focus):hover .hop-post-title {
	color: var(--secondary);
}
.hop-team-grid .hop-post-meta {
	padding-top: .5em;
	font-size: clamp(1rem, 0.9259rem + 0.3704vw, 1.25rem); /* 16-20 */
	color: var(--primary);
}
.hop-team-grid .hop-post-meta, 
.hop-team-grid .hop-post-meta * {
	font-weight: 300 !important;
}
.hop-team-grid .hop-more {
	position: relative;
	display: inline-block;
	padding-top: .75em;
	padding-bottom: .35em;
	color: var(--secondary) !important;
}
.hop-team-grid .hop-more::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px; 
	background-color: var(--secondary-light);
	transition: var(--transition-1);
}
.hop-team-grid a:hover .hop-more::after {
	height: 2px; 
	background-color: var(--secondary-medium);
}

/* MICROMODAL */ 

.hop-team-grid .modal .modal__container {
	background-color: white;
}
.hop-team-grid .modal .hop-wrapper {
	display: flex;
	justify-content: stretch;
	align-items: flex-start;
	flex: 1 0 auto;
	column-gap: clamp(20px, 8.1481px + 3.7037vw, 60px);
}
.hop-team-grid .modal .hop-post-image {
	flex: 0 0 25%;
}
.hop-team-grid .modal .hop-post-content {
	text-align: left;
}
.hop-team-grid .modal .hop-post-title {
	margin-bottom: 0;
	font-size: clamp(1.125rem, 0.8657rem + 1.2963vw, 2rem); /* 18-32 */
}
.hop-team-grid .modal .hop-post-meta {
	/* margin-bottom: 3%; */
	font-size: clamp(1rem, 0.9259rem + 0.3704vw, 1.25rem); /* 16-20 */
}
.hop-team-grid .modal .hop-post-meta .hop-position, 
.hop-team-grid .modal .hop-post-meta .hop-qualification {
	display: block;
}
.hop-team-grid .modal .hop-post-meta .hop-position {
	margin-bottom: .25em;
}
.hop-team-grid .modal .hop-post-meta .hop-qualification {
	font-size: clamp(0.875rem, 0.838rem + 0.1852vw, 1rem); /* 14-16 */
}
.hop-team-grid .modal .hop-post-bio {
	margin-top: 2em;
}

/* --- RESPONSIVE --- */

@media (max-width: 768px) {
	.hop-team-grid  .modal .hop-wrapper {
		flex-direction: column;
		row-gap: 20px;
	}
	.hop-team-grid  .modal .hop-post-image {
		width: 100%;
		max-width: 120px;
	}
}

/*--------------------------
SWIPER JS
--------------------------*/

.swiper {
	--swiper-pagination-color: var(--secondary);
	--swiper-pagination-bullet-width: 10px;
	--swiper-pagination-bullet-height: 10px;
	--swiper-pagination-bullet-inactive-color: var(--secondary-light);
	--swiper-pagination-bullet-inactive-opacity: 1;
	--swiper-pagination-bullet-opacity: 1;
}
body:not(.fl-builder-edit) .swiper {
	width: 100%;
	overflow: hidden;
}
body:not(.fl-builder-edit) .swiper-wrapper {
	display: flex;
}
body:not(.fl-builder-edit) .fl-module-box.swiper,
body:not(.fl-builder-edit) .fl-module-box .swiper-wrapper {
	width: 100%;
}
body:not(.fl-builder-edit) .fl-builder-edit .swiper-wrapper {
	flex-direction: row !important;
}
body:not(.fl-builder-edit) .swiper-wrapper .fl-module-box {
	flex-shrink: 0;
	width: 100%;
}

/* PAGINATION */ 

html .swiper-pagination, 
.swiper .swiper-pagination {
	position: static;
}

/* NAVIGATION */

.hop-navigation {
	display: flex;
	gap: clamp(10px, 8.5185px + 0.463vw, 15px);
}
.hop-navigation :is(.swiper-button-prev, .swiper-button-next) {
	position: initial;
	margin-top: 0;
	width: auto;
}
body.fl-builder-edit .hop-navigation :is(.swiper-button-prev, .swiper-button-next), 
body.fl-builder-edit .hop-navigation :is(.swiper-rtl .swiper-button-prev, .swiper-rtl .swiper-button-next) {
	position: relative;
	top: unset;
	right: unset;
	bottom: unset;
	left: unset;
}
.hop-navigation :is(.swiper-button-prev, .swiper-button-next):after {
	font-family: "Hopes-Icons";
	font-size: clamp(2rem, 1.7037rem + 1.4815vw, 3rem);
	color: var(--secondary-medium);
	transition: var(--transition-1);
}
.hop-navigation :is(.swiper-button-prev, .swiper-button-next):hover:after {
	color: var(--secondary);
}
.hop-navigation .swiper-button-prev:after, 
.hop-navigation .swiper-rtl .swiper-button-next:after {
	content: "\e912";
}
.hop-navigation .swiper-button-next:after, 
.hop-navigation .swiper-rtl .swiper-button-prev:after {
	content: "\e913";
}

/*--------------------------
VENUES SLIDER (Swiper JS)
--------------------------*/

/* .hop-venues.swiper .swiper-pagination {
	position: static;
} */

/* --------------------------
MICROMODAL (plugin)
-------------------------- */

/* body.fl-builder-edit .modal,  */
.modal {
	display: none;
}
html .modal__overlay {
	z-index: 1000;
	padding: 20px;
	background-color: rgba(136, 150, 142, 0.9);
}
html .modal__container {
	position: relative;
	max-width: 750px;
	max-height: 90vh;
	padding: clamp(20px, 11.1111px + 2.7778vw, 50px);
	border-radius: clamp(10px, 8.8148px + 0.3704vw, 14px);
	cursor: default;
}
html .modal__content {
	margin: 0;
	line-height: inherit;
	color: var(--primary);
}
html .modal__close {
	position: absolute;
	top: clamp(0px, -2.963px + 0.9259vw, 10px);
	right: clamp(0px, -2.963px + 0.9259vw, 10px);
	width: clamp(40px, 37.037px + 0.9259vw, 50px);
	height: clamp(40px, 37.037px + 0.9259vw, 50px);
	background-image: none;
	background-color: transparent !important;
}
html .modal__close::before, 
html .modal__close::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: calc(50% - clamp(12.5px, 11.0185px + 0.463vw, 17.5px));
	width: clamp(25px, 22.037px + 0.9259vw, 35px);
	height: 2px;
	background-color: var(--secondary-medium);
	opacity: .7;
}
html .modal__close::before {
	transform: rotate(45deg);
}
html .modal__close::after {
	transform: rotate(-45deg);
}
html .modal__close:hover::before, 
html .modal__close:hover::after {
	opacity: 1;
}

/*--------------------------
WP GRIDBUILDER
--------------------------*/

/* LAYOUT */

html .wpgb-facet > fieldset:last-child {
	margin-bottom: 0;
}
body.tax-industry .wea-facets .fl-module-box {
	padding-left: 0;
	border-left: none;
}

/* FACETS */

html .wpgb-facet .wpgb-az-index-label, 
html .wpgb-facet .wpgb-button-label, 
html .wpgb-facet .wpgb-checkbox-label, 
html .wpgb-facet .wpgb-hierarchy-label, 
html .wpgb-facet .wpgb-radio-label, 
html .wpgb-facet .wpgb-rating-label {
	font-size: clamp(0.875rem, 0.838rem + 0.1852vw, 1rem); /* 14-16 */
}

html .wpgb-facet .wpgb-hierarchical-list li:not(:first-child) {
	margin-top: .5em !important;
}

html .wpgb-facet .wpgb-hierarchy-facet .wpgb-hierarchy {
	align-items: center;
}
html .wpgb-facet .wpgb-hierarchy-facet .wpgb-hierarchy[aria-pressed=true] input:not([value=""])~.wpgb-hierarchy-label {
	font-weight: inherit;
}
html .wpgb-facet .acplt-clear, 
html .wpgb-facet .wpgb-clear-button, 
html .wpgb-facet .wpgb-hierarchy .wpgb-hierarchy-control, 
html .wpgb-facet .wpgb-input-icon, 
html .wpgb-facet .wpgb-rating-reset .wpgb-rating-control, 
html .wpgb-facet .wpgb-select button, 
html .wpgb-facet .wpgb-select-controls {
	color: var(--secondary-medium);
}
html .wpgb-facet .wpgb-hierarchy-facet .wpgb-hierarchy-control svg {
	stroke-width: 2px;
}

html .wpgb-facet.wpgb-style-1 button.wpgb-button:disabled:hover {
	background-color: var(--secondary-light);
}

/* LOADER */

.wpgb-enabled .fl-loop-item .fl-module {
	opacity: 1;
	transition: var(--transition-1);
}
.wpgb-enabled.wpgb-loading .fl-loop-item .fl-module {
	opacity: .7;
}
.wpgb-enabled {
	/* display: flow-root; */
	position: relative;
}
.wpgb-enabled.wpgb-loading::after {
	content: "";
	display: block !important;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	animation: rotateLoader infinite 1s linear;
	box-shadow: -14.1422712488px -14.1422712488px rgba(195, 181, 140, 0.925), 0 -20px rgba(195, 181, 140, 0.8), 14.1422712488px -14.1422712488px rgba(195, 181, 140, 0.675), 20px 0 rgba(195, 181, 140, 0.55), 14.1422712488px 14.1422712488px rgba(195, 181, 140, 0.425), 0 20px rgba(195, 181, 140, 0.3), -14.1422712488px 14.1422712488px rgba(195, 181, 140, 0.175), -20px 0 rgba(195, 181, 140, 0.05);
	transition: box-shadow 200ms ease;
	opacity: 1;
}

@keyframes rotateLoader {
	0% {
		box-shadow: -14.1422712488px -14.1422712488px rgba(195, 181, 140, 0.925), 0 -20px rgba(195, 181, 140, 0.8), 14.1422712488px -14.1422712488px rgba(195, 181, 140, 0.675), 20px 0 rgba(195, 181, 140, 0.55), 14.1422712488px 14.1422712488px rgba(195, 181, 140, 0.425), 0 20px rgba(195, 181, 140, 0.3), -14.1422712488px 14.1422712488px rgba(195, 181, 140, 0.175), -20px 0 rgba(195, 181, 140, 0.05);
	}
	12.5% {
		box-shadow: -14.1422712488px -14.1422712488px rgba(195, 181, 140, 0.05), 0 -20px rgba(195, 181, 140, 0.925), 14.1422712488px -14.1422712488px rgba(195, 181, 140, 0.8), 20px 0 rgba(195, 181, 140, 0.675), 14.1422712488px 14.1422712488px rgba(195, 181, 140, 0.55), 0 20px rgba(195, 181, 140, 0.425), -14.1422712488px 14.1422712488px rgba(195, 181, 140, 0.3), -20px 0 rgba(195, 181, 140, 0.175);
	}
	25% {
		box-shadow: -14.1422712488px -14.1422712488px rgba(195, 181, 140, 0.175), 0 -20px rgba(195, 181, 140, 0.05), 14.1422712488px -14.1422712488px rgba(195, 181, 140, 0.925), 20px 0 rgba(195, 181, 140, 0.8), 14.1422712488px 14.1422712488px rgba(195, 181, 140, 0.675), 0 20px rgba(195, 181, 140, 0.55), -14.1422712488px 14.1422712488px rgba(195, 181, 140, 0.425), -20px 0 rgba(195, 181, 140, 0.3);
	}
	37.5% {
		box-shadow: -14.1422712488px -14.1422712488px rgba(195, 181, 140, 0.3), 0 -20px rgba(195, 181, 140, 0.175), 14.1422712488px -14.1422712488px rgba(195, 181, 140, 0.05), 20px 0 rgba(195, 181, 140, 0.925), 14.1422712488px 14.1422712488px rgba(195, 181, 140, 0.8), 0 20px rgba(195, 181, 140, 0.675), -14.1422712488px 14.1422712488px rgba(195, 181, 140, 0.55), -20px 0 rgba(195, 181, 140, 0.425);
	}
	50% {
		box-shadow: -14.1422712488px -14.1422712488px rgba(195, 181, 140, 0.425), 0 -20px rgba(195, 181, 140, 0.3), 14.1422712488px -14.1422712488px rgba(195, 181, 140, 0.175), 20px 0 rgba(195, 181, 140, 0.05), 14.1422712488px 14.1422712488px rgba(195, 181, 140, 0.925), 0 20px rgba(195, 181, 140, 0.8), -14.1422712488px 14.1422712488px rgba(195, 181, 140, 0.675), -20px 0 rgba(195, 181, 140, 0.55);
	}
	62.5% {
		box-shadow: -14.1422712488px -14.1422712488px rgba(195, 181, 140, 0.55), 0 -20px rgba(195, 181, 140, 0.425), 14.1422712488px -14.1422712488px rgba(195, 181, 140, 0.3), 20px 0 rgba(195, 181, 140, 0.175), 14.1422712488px 14.1422712488px rgba(195, 181, 140, 0.05), 0 20px rgba(195, 181, 140, 0.925), -14.1422712488px 14.1422712488px rgba(195, 181, 140, 0.8), -20px 0 rgba(195, 181, 140, 0.675);
	}
	75% {
		box-shadow: -14.1422712488px -14.1422712488px rgba(195, 181, 140, 0.675), 0 -20px rgba(195, 181, 140, 0.55), 14.1422712488px -14.1422712488px rgba(195, 181, 140, 0.425), 20px 0 rgba(195, 181, 140, 0.3), 14.1422712488px 14.1422712488px rgba(195, 181, 140, 0.175), 0 20px rgba(195, 181, 140, 0.05), -14.1422712488px 14.1422712488px rgba(195, 181, 140, 0.925), -20px 0 rgba(195, 181, 140, 0.8);
	}
	87.5% {
		box-shadow: -14.1422712488px -14.1422712488px rgba(195, 181, 140, 0.8), 0 -20px rgba(195, 181, 140, 0.675), 14.1422712488px -14.1422712488px rgba(195, 181, 140, 0.55), 20px 0 rgba(195, 181, 140, 0.425), 14.1422712488px 14.1422712488px rgba(195, 181, 140, 0.3), 0 20px rgba(195, 181, 140, 0.175), -14.1422712488px 14.1422712488px rgba(195, 181, 140, 0.05), -20px 0 rgba(195, 181, 140, 0.925);
	}
}

/*--------------------------
PP TIMELINE
--------------------------*/

.pp-timeline .pp-timeline-content-wrapper .pp-timeline-item .pp-timeline-content {
	position: relative;
	overflow: visible;
	background-color: var(--primary-extra-light-alt);
}
.pp-timeline .pp-timeline-content-wrapper .pp-timeline-icon .pp-icon {
	font-size: clamp(1.5625rem, 1.2847rem + 1.3889vw, 2.5rem); /* 25-40 */
	color: var(--primary-extra-light-alt);
}
.pp-timeline .pp-timeline-content-wrapper .pp-timeline-icon .pp-icon::before {
	content: "\e906";
	font-family: 'Hopes-Icons';
	line-height: 1;
}
.pp-timeline .pp-timeline-title-wrapper {
	position: absolute;
	transform: translateY(-50%);
}
.pp-timeline .pp-timeline-item:nth-child(odd) .pp-timeline-title-wrapper {
	right: 0;
}
.pp-timeline .pp-timeline-content-wrapper .pp-timeline-item .pp-timeline-content .pp-timeline-title {
	font-family: Aboreto, trebuchet, sans-serif;
	font-weight: 400;
	font-size: clamp(2.1875rem, 1.7986rem + 1.9444vw, 3.5rem); /* 35-56 */
	line-height: 1;
	color: var(--primary-medium);
}
.pp-timeline .pp-timeline-content-wrapper .pp-timeline-item .pp-timeline-content p {
	margin-bottom: .5em;
}
.pp-timeline .pp-timeline-item:nth-child(even) .pp-timeline-text p:has(img) {
	text-align: right;
}
.pp-timeline .pp-timeline-text img {
	object-fit: cover;
	width: 37%;
	max-width: 180px;
	aspect-ratio: 3/2;
	border-radius: 12px;
}

/* --- RESPONSIVE --- */

@media (min-width: 481px) {
	.pp-timeline .pp-timeline-text > p:nth-child(n+2) {
		width: 60%;
	}
	.pp-timeline .pp-timeline-item:nth-child(odd) .pp-timeline-text > p:nth-child(n+2) {
		margin-left: auto;
	}
}
@media (max-width: 480px) {
	.pp-timeline .pp-timeline-text img {
		width: 50%;
	}
}

/*--------------------------
CUSTOMER REVIEWS
--------------------------*/

.hop-customer-reviews-slider .ndrsl-live-testimonial .ndrsl-live-row {
	justify-content: center;
}
.hop-customer-reviews-slider .ndrsl-live-quote-focus .ndrsl-live-user-comments, 
.hop-customer-reviews-slider .ndrsl-live-quote-focus .ndrsl-live-user-container .ndrsl-live-user-contents .ndrsl-live-user-name {
	text-align: center;
}

/*--------------------------
GRAVITY FORMS
--------------------------*/

html .gform_wrapper.gravity-theme .ginput_complex label {
	font-size: 80%;
}

/* VALIDATION */

html .gform_wrapper.gravity-theme .gform_validation_errors {
	background: none;
	box-shadow: unset;
}
html .gform_wrapper.gravity-theme .gform_validation_errors > h2 {
	font-family: var(--gp-font--1);
	font-size: 15px;
}
html .gform_wrapper.gravity-theme .description, 
html .gform_wrapper.gravity-theme .gfield_description, 
html .gform_wrapper.gravity-theme .gsection_description, 
html .gform_wrapper.gravity-theme .instruction {
	font-size: 14px;
}
html .gform_wrapper.gravity-theme .gfield_error .gfield_repeater_cell label, 
html .gform_wrapper.gravity-theme .gfield_error label, 
html .gform_wrapper.gravity-theme .gfield_error legend, 
html .gform_wrapper.gravity-theme .gfield_validation_message, 
html .gform_wrapper.gravity-theme .validation_message, 
html .gform_wrapper.gravity-theme [aria-invalid=true]+label, 
html .gform_wrapper.gravity-theme label+[aria-invalid=true] {
	color: var(--error);
}
html [data-node] .pp-gf-content .gform_wrapper .gfield_error input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']):not([type='cover']):not([type='file']), 
html [data-node] .pp-gf-content .gform_wrapper .gfield_error .ginput_container select, 
html [data-node] .pp-gf-content .gform_wrapper .gfield_error .ginput_container textarea {
	border-color: var(--error);
}
html .gform_wrapper.gravity-theme .gform_validation_errors:focus {
	outline: none;
	outline-offset: 0;
}

html .gform_wrapper.gravity-theme .gfield_validation_message, 
html .gform_wrapper.gravity-theme .validation_message, 
html .pp-gf-content .gform_wrapper .gfield .gfield_description.validation_message {
	background: none;
	padding: 5px 10px;
	border-radius: 5px;
}

/*/////////////////////////////////////////////////////*/
/* 5. FUNERAL NOTICES */
/*/////////////////////////////////////////////////////*/

.fcrm-modern-grid .tribute-image-container {
	aspect-ratio: 1;
}
.fcrm-modern-grid .tribute-image-container .tribute-image {
	object-position: center 40%;
}


/*/////////////////////////////////////////////////////*/
/* 6. PRICING */
/*/////////////////////////////////////////////////////*/

/* ---------------------- */
/* HK FUNERAL SUITE: 
   PRICING ACCORDION */
/* ---------------------- */

/* VARIABLES */

.hk-pricing-accordion {
	--button-extras-font: Montserrat, sans-serif;
	--border-color: var(--secondary-light);
}

/* ACCORDION LAYOUT */

.hk-pricing-accordion .pp-accordion-item {
	margin-bottom: clamp(20px, 14.0741px + 1.8519vw, 40px);
	border-radius: clamp(12px, 10.2222px + 0.5556vw, 18px);
	overflow: hidden;
}
.hk-pricing-accordion .pp-accordion-item, 
.hk-pricing-accordion .pp-accordion-item .pp-accordion-button-icon {
	transition: all 0.3s ease-out;
} 
.hk-pricing-accordion .pp-accordion-item:hover, 
.hk-pricing-accordion .pp-accordion-item-active {
	box-shadow: 0 10px 40px rgba(0,0,0,.1);
}

/* ACCORDION TITLE */

.hk-pricing-accordion .pp-accordion-button {
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
}
.hk-pricing-accordion .pp-accordion-button-label {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	flex-basis: 80%;
	gap: clamp(10px, 7.037px + 0.9259vw, 20px);
	text-align: left;
}
.hk-pricing-accordion .pp-accordion-button-label > span:first-of-type {
	display: flex;
	align-items: center;
	gap: 20px;
}
.hk-pricing-accordion .pp-accordion-button-label .hk-item-num {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: clamp(30px, 22.8889px + 2.2222vw, 54px);
	height: clamp(30px, 22.8889px + 2.2222vw, 54px);
	padding: .5em;
	background-color: rgba(255,255,255,.5);
	font-size: 75%;
	border-radius: 100%;
	transition: all .3s ease-out;
}
.hk-pricing-accordion .pp-accordion-button-label .hk-item-description {
	margin-left: clamp(15px, 11.4444px + 1.1111vw, 27px);
	padding-left: calc( clamp(15px, 11.4444px + 1.1111vw, 27px) + 20px );
	font-size: clamp(1rem, 0.9259rem + 0.3704vw, 1.25rem);
	font-family: var(--gp-font--libre-franklin);
	font-weight: 400;
	line-height: 1.4;
	text-transform: none;
	letter-spacing: 0;
	border-left: 2px solid rgba(255,255,255,.5);
}
.hk-pricing-accordion .pp-accordion-item .pp-accordion-button-icon {
	color: var(--primary-medium);
	justify-content: center;
	align-items: center;
	border: 1px solid var(--primary-medium);
	border-radius: 50px;	
}
.hk-pricing-accordion .pp-accordion-item .pp-accordion-button:hover .pp-accordion-button-icon { 
	background-color: var(--primary-medium);
	color: white;
	border-color: var(--primary-medium);
}
.hk-pricing-accordion .pp-accordion-item.pp-accordion-item-active .pp-accordion-button-icon {
	color: var(--primary-medium);
}
.hk-pricing-accordion .pp-accordion-item:not(.pp-accordion-item-active) .pp-accordion-button-icon.pp-accordion-open, 
.hk-pricing-accordion .pp-accordion-item.pp-accordion-item-active .pp-accordion-button-icon.pp-accordion-close {
	display: flex;
}
.hk-pricing-accordion .pp-accordion-item .pp-accordion-button-icon.pp-accordion-open { 
	width: auto;
	padding: clamp(8px, 5.6296px + 0.7407vw, 16px) clamp(16px, 13.6296px + 0.7407vw, 24px);
}
.hk-pricing-accordion .pp-accordion-item:not(.pp-accordion-item-active) .pp-accordion-button-icon.pp-accordion-open::before { 
	content: "Learn more";
	font-family: var(--button-extras-font);
	font-size: clamp(0.6875rem, 0.6319rem + 0.2778vw, 0.875rem);
	font-weight: 600;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
}
.hk-pricing-accordion .pp-accordion-item .pp-accordion-button-icon.pp-accordion-close { 
	width: clamp(32px, 28.1481px + 1.2037vw, 45px);
	height: auto;
	aspect-ratio: 1/1;
}
.hk-pricing-accordion .pp-accordion-item .pp-accordion-button-icon.pp-accordion-close::before { 
	content: "X";
	font-family: sans-serif;
	font-size: clamp(0.875rem, 0.8009rem + 0.3704vw, 1.125rem);
	font-weight: 400;
}

.hk-pricing-accordion .pp-accordion-button-label .hk-item-description .hk-item-price-container {
	display: block;
	width: fit-content;
	margin-top: 1.5em;
	padding: .35em .75em;
	background-color: rgba(255,255,255,.5) !important;
	font-size: 70%;
	border-radius: 4px;
	
}
.hk-pricing-accordion .pp-accordion-button-label .hk-item-description .hk-item-price-container .hk-item-price {
	font-size: 160% !important;
	font-weight: 400;
}

/* ACCORDION CONTENT */

.hk-pricing-accordion .pp-accordion-item .pp-accordion-content {
	position: relative;
	padding-top: clamp(20px, 14.0741px + 1.8519vw, 40px);
}
.hk-pricing-accordion .pp-accordion-content hr {
	margin-bottom: 1.5em;
	background: none;
	border: none;
	border-top: 1px solid var(--border-color);
}
.hk-pricing-accordion .pp-accordion-content .hk-item-price-container {
	display: block;
	margin-top: 2.5em;
	padding-top: 1.5em;
	border-top: 1px solid var(--border-color);
}
.hk-pricing-accordion .pp-accordion-content .hk-item-price {
	margin: 0 .15em;
	font-size: 180%;
	color: var(--blue-medium);
}
.hk-pricing-accordion .pp-accordion-button-label .hk-item-description .hk-item-price-container {
	display: block;
	width: fit-content;
	margin-top: 1.5em;
	padding: .35em .75em;
	background-color: var(--primary-medium);
	font-size: 70%;
	border-radius: 4px;
	
}
.hk-pricing-accordion .pp-accordion-button-label .hk-item-description .hk-item-price-container .hk-item-price {
	font-size: 180%;
	font-weight: 400;
}
.hk-pricing-accordion .pp-accordion-content .hk-item-price-container.no-top {
  border-top: none;
  padding-top: 0px;
  margin-top: 0px;
}
#pp-accordion-g6rzfvqleh9m-panel-5 .hk-item-price-container:not(.no-top) {
	display: none !important;
}
.hk-pricing-accordion .pp-accordion-content .pricing-note {
    font-size: 70%;
}

/* --- RESPONSIVE --- */

@media (max-width: 768px) {
	.hk-pricing-accordion .pp-accordion-button {
		flex-direction: column;
	}
	.hk-pricing-accordion .pp-accordion-item:not(.pp-accordion-item-active) .pp-accordion-button-icon.pp-accordion-open::before { 
		white-space: wrap;
	}
	.hk-pricing-accordion .pp-accordion-item.pp-accordion-item-active .pp-accordion-button-icon.pp-accordion-close { 
		display: none;
	}
}


/*/////////////////////////////////////////////////////
7. SEARCH RESULTS
/////////////////////////////////////////////////////*/

.search-results [data-node] .pp-content-post .pp-post-image {
	width: 15%;
}
.search-results [data-node] .pp-content-post .pp-post-image img {
	aspect-ratio: 1;
	object-fit: cover;
}
.search-results [data-node] .pp-content-post .pp-content-body {
	width: 85%;
}
.search-results [data-node] .pp-content-post .pp-content-body .pp-post-content .read-more {
	display: none;
}
.relevanssi-query-term {
	position: relative;
	z-index: 0;
	padding-bottom: .25em;
}
.relevanssi-query-term::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	right:0;
	bottom: 0;
	left: 0;
	border-bottom: 2px solid var(--secondary-medium);;
}

/* --- RESPONSIVE --- */

@media (max-width: 768px) {
	.search-results .rs-posts.rs-grid .pp-content-post {
		margin-bottom: 0;
	}
	.search-results [data-node] .pp-content-post .pp-post-image {
		max-width: 160px;
		width: auto;
	}
	.search-results [data-node] .pp-content-post .pp-content-body {
		width: 100%;
		padding-left: 0;
	}
}


/*/////////////////////////////////////////////////////
8. MISC
/////////////////////////////////////////////////////*/

.fl-builder-block-thumbnail {
	display: none;
}

/* --- responsive embed --- */
.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.embed-container iframe, .embed-container object, .embed-container embed, .embed-container video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/*--------------------------
LEGAL
--------------------------*/

/* LOCAL MENU */ 

.hop-legal [data-node] .pp-advanced-menu .menu > li.current_page_item > a {
	color: var(--primary);
	border-color: var(--primary);
	pointer-events: none;
}
.hop-legal .menu li {
	position: relative;
	padding-right: 10px;
	padding-left: 10px;
}
.hop-legal .menu li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: .5em;
	right: 0;
	bottom: .5em;
	width: 1px;
	background-color: var(--primary-medium);
}

/* HEADINGS & TEXT */ 

.hop-legal h2, 
.hop-legal h2 * {
	font-size: clamp(1.5625rem, 1.0995rem + 2.3148vw, 3.125rem); /* 25-50 */
}
.hop-legal h3, 
.hop-legal h3 * {
	font-size: clamp(1.3125rem, 0.9977rem + 1.5741vw, 2.375rem); /* 21-38 */
}
.hop-legal p+h2, .hop-legal ul+h2, .hop-legal ol+h2 {
	margin-top: .75em;
}
.hop-legal h2 {
	margin-bottom: .5em;
}

.hop-legal .fl-rich-text table {
	margin-top: 1.5em;
}

/* LISTS */ 

.hop-legal ol {
	counter-reset: item;
	list-style: none;
	padding-left: 1.8em;
}
.hop-legal ol > li {
	display: block;
	position: relative;
}
.hop-legal ol > li::before {
	content: counters(item, ".") ". ";
	counter-increment: item;
	position: absolute;
	left: -1.8em;
}
.hop-legal .fl-rich-text > ol > li::marker, 
.hop-legal .fl-rich-text > ol > li::before {
	font-weight: 600;
}
.hop-legal ol ol {
	counter-reset: item;
	margin-left: 0;
	padding-left: 2.5em;
}
.hop-legal ol ol > li::before {
	left: -2.5em;
}
.hop-legal :where(ul,ol) {
	margin-left: 0;
}
.hop-legal ol ul {
	list-style-type: none;
}


/*/////////////////////////////////////////////////////
9. STYLES TEMPLATE
/////////////////////////////////////////////////////*/

[class*="av-demo-font-"] {
	font-size: clamp(1.125rem, 0.9886rem + 0.6818vw, 1.5rem); /* 18-24 */
}
[class*="av-demo-font-"] h2, 
[class*="av-demo-font-"] h3 {
	margin-bottom: .75em; 
}
.av-demo-font-1, 
.av-demo-font-1 h2, 
.av-demo-font-1 h3 {
	font-family: var(--gp-font--aboreto); 
}
.av-demo-font-2, 
.av-demo-font-2 h2, 
.av-demo-font-2 h3 {
	font-family: var(--gp-font--libre-franklin); 
}
[class*="av-demo-font-"] p {
	margin-bottom: .5em;
}